One navigation vocabulary for the cockpit shell: keeper tabs vs edge-rail items
Context
Operator critique 2026-08-16, verbatim intent: "huge tabs left, default neo styling (tab bar), versus tiny menu items at the right edge" — the shell speaks two navigation dialects at once, and neither is designed for this surface.
Scope widened 2026-08-18 (operator session, full IA audit): the shell in fact speaks FOUR grammars, and the model must also reserve places for three surfaces the operator named (instance switcher #17328, Tasks pane #17329, System view #17330). The audit's findings live in the navigation-model decision comment on this ticket.
The Problem
The cockpit's "places" are reachable through visually unrelated vocabularies:
- Keeper-view navigation renders as default-Neo tab-bar styling (framework-default size and skin — correct for a demo app, undesigned for the product surface).
- The auto-hidden drawer panes render as small edge-rail tabs on the right — SEVEN items mixing three kinds (inspector, tools, content reading surfaces) in one squeezed strip.
- The top preset buttons (
fm-preset-button row) LOOK like view tabs but are dock-layout snapshots (activatePerspective) — including a name collision: "Fleet" (preset) and "Fleet" (keeper tab) are simultaneously visible and mean different things (apps/agentos/view/fleet/cockpitPresets.mjs).
- The best path is invisible: clicking an agent-card name opens the detail WITH content, while the explicit Review preset lands on the "Select an agent to inspect" empty state — implicit navigation beats the chrome.
The result: the SAME class of act — "go to a place" — looks like different applications, and the size relationship is inverted relative to importance (primary navigation huge and default-styled, secondary drawers tiny and cramped; the fleet's proven headline reading surface, Memories, sits as rail item 5 of 7 while the fixture-fed Activity zone owns ~40% of the screen). #17211 fixes the rail's sizing DEFECTS; this ticket decides and designs the vocabulary those fixes should express.
The Fix
Design-first: ONE navigation model for the shell, answering — what deserves a persistent tab, what lives on the edge rail, what is a transient drawer, what is chrome; one designed tab anatomy for the cockpit (replacing framework-default tab styling on this surface with §04-consistent type/density/mark treatment); the rail as the DESIGNED secondary tier (consistent anatomy at its size, not a squeezed afterthought); the preset switcher de-costumed into an explicitly-labeled layout control (no longer tab-shaped); the south zone as the fleet-level content-tab family (Activity · Tasks · Memories · Mailbox · Catch-up — expressible as pure dock-document data, cockpitDockDocument.mjs stream-tabs items). Then implement across the keeper navigation + the rail chain, tokens-only, without changing the dock mechanics underneath.
Acceptance Criteria
Out of Scope
#17211's specific sizing defects (claimed; this ticket supplies the vocabulary, coordinates on landing order) · dock-zone mechanics · the panes' content design (#17268) · the reserved surfaces' own implementations (#17328 · #17329 · #17330 · #17331) · portal/app-wide navigation outside the Agent OS shell.
Related
Epic #14560 (parent) · #17263 (the bar) · #17211 (defect sibling, @neo-opus-grace) · #17241 (dock visual language into the engine — the rail anatomy should land engine-side per its outcome) · #17328 · #17329 · #17330 · #17268 (content design) · #17315/#17316 (Memories pop-out/drill-in — placement-orthogonal, unaffected).
Live latest-open sweep: latest 10 re-checked 2026-08-16T22:30Z, no equivalent; A2A herd window clean. Scope-widening re-sweep 2026-08-18T08:15Z: latest 20 checked at #17328–#17331 filing time.
Origin Session ID: 71baabc5-3ebe-46ff-99ce-a301e78cb7c5
Retrieval Hint: query_raw_memories("cockpit shell navigation vocabulary keeper tabs edge rail one design")
One navigation vocabulary for the cockpit shell: keeper tabs vs edge-rail items
Context
Operator critique 2026-08-16, verbatim intent: "huge tabs left, default neo styling (tab bar), versus tiny menu items at the right edge" — the shell speaks two navigation dialects at once, and neither is designed for this surface.
Scope widened 2026-08-18 (operator session, full IA audit): the shell in fact speaks FOUR grammars, and the model must also reserve places for three surfaces the operator named (instance switcher #17328, Tasks pane #17329, System view #17330). The audit's findings live in the navigation-model decision comment on this ticket.
The Problem
The cockpit's "places" are reachable through visually unrelated vocabularies:
fm-preset-buttonrow) LOOK like view tabs but are dock-layout snapshots (activatePerspective) — including a name collision: "Fleet" (preset) and "Fleet" (keeper tab) are simultaneously visible and mean different things (apps/agentos/view/fleet/cockpitPresets.mjs).The result: the SAME class of act — "go to a place" — looks like different applications, and the size relationship is inverted relative to importance (primary navigation huge and default-styled, secondary drawers tiny and cramped; the fleet's proven headline reading surface, Memories, sits as rail item 5 of 7 while the fixture-fed Activity zone owns ~40% of the screen). #17211 fixes the rail's sizing DEFECTS; this ticket decides and designs the vocabulary those fixes should express.
The Fix
Design-first: ONE navigation model for the shell, answering — what deserves a persistent tab, what lives on the edge rail, what is a transient drawer, what is chrome; one designed tab anatomy for the cockpit (replacing framework-default tab styling on this surface with §04-consistent type/density/mark treatment); the rail as the DESIGNED secondary tier (consistent anatomy at its size, not a squeezed afterthought); the preset switcher de-costumed into an explicitly-labeled layout control (no longer tab-shaped); the south zone as the fleet-level content-tab family (Activity · Tasks · Memories · Mailbox · Catch-up — expressible as pure dock-document data,
cockpitDockDocument.mjsstream-tabsitems). Then implement across the keeper navigation + the rail chain, tokens-only, without changing the dock mechanics underneath.Acceptance Criteria
Out of Scope
#17211's specific sizing defects (claimed; this ticket supplies the vocabulary, coordinates on landing order) · dock-zone mechanics · the panes' content design (#17268) · the reserved surfaces' own implementations (#17328 · #17329 · #17330 · #17331) · portal/app-wide navigation outside the Agent OS shell.
Related
Epic #14560 (parent) · #17263 (the bar) · #17211 (defect sibling, @neo-opus-grace) · #17241 (dock visual language into the engine — the rail anatomy should land engine-side per its outcome) · #17328 · #17329 · #17330 · #17268 (content design) · #17315/#17316 (Memories pop-out/drill-in — placement-orthogonal, unaffected).
Live latest-open sweep: latest 10 re-checked 2026-08-16T22:30Z, no equivalent; A2A herd window clean. Scope-widening re-sweep 2026-08-18T08:15Z: latest 20 checked at #17328–#17331 filing time.
Origin Session ID: 71baabc5-3ebe-46ff-99ce-a301e78cb7c5
Retrieval Hint:
query_raw_memories("cockpit shell navigation vocabulary keeper tabs edge rail one design")