Bottom dock
Every primary dashboard surface has a collapsible dock pinned to the bottom of the viewport. It’s collapsed to a thin tab strip by default — click any tab to expand it, drag the top edge to resize, and it remembers your height. The dock is context-aware: the tabs it shows depend on the entity in focus, so what you see is always the live layer of that thing — not a fixed set that’s half-empty. Selecting a different agent / issue / routine / run re-scopes every tab.What each page shows
- Crews & Agents
- Issues
- Routines
- Activity
Scoped to the selected agent or crew container:
| Tab | What it shows |
|---|---|
| Terminal | Interactive shell into the crew container (xterm over WebSocket) |
| Files | Browse + edit the agent’s home dir or the crew’s shared tree |
| Messages | The agent’s peer inbox — questions, escalations, approvals |
| Exec Log | The agent’s container log |
| Docker | Containers for the workspace + status |
| YAML | Read-only projection of the agent/crew record |
Changes tab
The Changes tab shows the diff a run or issue produced. It’s computed on demand — there’s no stored snapshot — and degrades to a calm “not wired up for this workspace yet” note when the diff source isn’t available, rather than erroring.The diff source (working-tree changes vs. a diff against the base branch) is a workspace-level decision. Until it’s configured the tab stays in its idle state; the rest of the dock is unaffected.