Home console [UI]
Source path: knowledge-base/diagrams/ui/home-console.md
# Home console `[UI]`
The regions of `GatewayShell` — shared by the sign-in portal and the home stage, so signing in flows straight into the console (same spine, different stage).
```mermaid
flowchart LR
subgraph Shell["GatewayShell"]
direction LR
Spine["**Left spine**<br/>brand · nav (role-gated) · identity chip<br/><br/>Home · New domain · Usage ·<br/>Hosting · API keys · Environment<br/>+ White Paper · FAQ · host pill"]
Stage["**Right stage** — the page"]
end
Stage --> Header["Header — greeting + tunnel chip ·<br/>host toggle · invite"]
Stage --> Composer["**HomeComposer** — one capture card, three modes:<br/>**Note** (route a thought into an expert's queue) ·<br/>**Ask** (AI routes a message to the best-fit expert, opens its chat) ·<br/>**Build** (paste a corpus → extraction)"]
Stage --> Tabs["Tabs"]
Tabs --> Worlds["**Domains** — one grid of<br/>constellation folders + domains"]
Tabs --> Extract["Extraction launcher"]
Tabs --> Games["Games — open games to join"]
Tabs --> People["People — member registry (admin+)"]
Tabs --> Invites["Invitations — admit /join requests (admin+)"]
Spine -.->|identity chip| Profile["Profile modal —<br/>own name/email/mobile + password"]
Spine -.->|spine buttons| Modals["CreationWizard · Sync (Hosting) ·<br/>API keys · Environment (export/import/clear)"]
Host["Gateway Hosting view"] -.-> MCP["MCP setup modal<br/>mint / copy / revoke remote token"]
Stage -.-> Host
```
- **Spine modals live on the shell** so they open from every page (`open-api-keys` / `open-hosting` window events route through it).
- **The composer is the console's capture instrument.** Note and Ask share one route picker (Auto = AI proposes → operator confirms; or an explicit tile). A Note lands in ONE domain's queue (constellations have no notes queue) and deep-links to `routes.note(...)`; an Ask targets a domain (`?ask=`) or a constellation (`?tab=chat&ask=`) and auto-sends on arrival. Composer gating is Director-on-master (`canExtract`).
- **Role-gated:** People is a home tab (admins+; credentials Director-only); **API keys** and **Environment** are Director-only, each destructive action confirm-gated.
- The tunnel chip + host toggle + invite button read the shared `useTunnelStatus` store (one poll loop).
- The MCP setup modal is shared by the instance shell and Gateway Hosting view; it configures local stdio or Director-bound remote HTTP without creating a second tool catalog.
- The routes these tabs open are in [flows/navigation](../flows/navigation.md); on a phone the spine collapses to a drawer — see [ui/mobile](mobile.md).
Open on GitHubRaw Markdown source