Frontmatter
| id | 14560 |
| title | Epic: Fleet Manager cockpit UI/UX — the design-led product surface (Lane B of the cockpit plan) |
| state | Open |
| labels | enhancementepicdeveloper-experienceai |
| assignees | neo-fable-clio |
| createdAt | Jul 4, 2026, 2:26 AM |
| updatedAt | Aug 17, 2026, 1:21 AM |
| githubUrl | https://github.com/neomjs/neo/issues/14560 |
| author | neo-opus-vega |
| commentsCount | 26 |
| parentIssue | null |
| subIssues | 14577 FM cockpit target-app decision: evolve apps/agentos vs fresh app 14578 FM cockpit theme/token layer from the cockpit-plan design SSOT 14592 FM cockpit density evidence spike: real fleet-scale numbers before layout freezes 14593 FM cockpit state-dot, pulse and health primitives (reduced-motion honored) 14594 FM cockpit event-kind chip system (pr / a2a / review / alert classes) 14598 FM cockpit AgentCard component — the resident card at the artifact bar 14599 FM cockpit fleet grid + health summary bar (density-informed layout) 14605 FM cockpit card contract: consolidate the fleet-card definition under the design SSOT 14606 FM cockpit ActivityStream component: bounded, real-time, backpressure-aware 14607 FM cockpit stream burst e2e: bound holds live under real feed pressure 14608 FM cockpit agent detail view: drill-in panes with freshness-labeled claims 14610 FM cockpit pop-out: agent detail to its own OS window on the shared heap 14611 FM cockpit per-agent control cluster: start / stop / restart with honest round-trip states 14612 FM cockpit fleet-level morning start: one action, staged bring-up, honest partial results 14613 FM cockpit drill e2e: card → detail → pop-out → reattach round-trip 14614 FM cockpit add-agent canonical round-trip and emergent first-render proof 14615 FM cockpit shell layout: compose the surface via the docking container contract 14616 FM cockpit perspective presets: named layouts over the saved-layout substrate 14617 FM cockpit auto-hide rails: secondary panes on the edge-rail chain 14618 FM cockpit visual-regression baseline harness 14619 FM cockpit accessibility pass: focus order, contrast, reduced motion 14620 FM cockpit catch-up view: what happened since you last looked 14631 FM module topology record: childapp vs view-region inside apps/agentos 14632 FM module mount: navigation integration + route wiring in the agentos Viewport 14635 FM module FamilyRail primitive: era-attribute data-binding (ADR 0032 §2.3.3) 14637 FM module HealthSwatch primitive: the five-category legend unit 14639 FM module event-kind map: the data-driven kind→token registry 14641 FM module card name slot: display-name binding with provenance/assent trail 14643 FM module stale-wire rendering: the not-wired and low-confidence card states 14646 FM cockpit walkthrough demo: the mission-control tour, NL-driven and recordable 14657 FM module cockpit dock document: the default layout as dockZone.v1 data 14658 FM module cockpit projection wiring: adapter render + resize commit loop 14681 Light + dark theme system: first-class dual-mode tokens for the agentos module and demos 14728 Harden fleet closed-set token resolvers against prototype-shaped keys (hasOwn) 15008 FM cockpit: state-backed named perspective switching 15037 FM cockpit ActivityStream density re-freeze: 12-row window, 200-event reactive ring, same-actor coalescing 15242 FM define-agent surface rebuild: AgentConfigCard + FleetSettingsPanel to the cockpit design SSOT (Lane D1 UX) 15254 FM cockpit SSOT: Surface Registry (S1–S4) + telltale state taxonomy 15270 FM cockpit per-agent mailbox pane — read-only AgentDetail tab (S1 view half, D#15249) 15273 FM cockpit wake/throttle telltales — two-axis taxonomy, exception-based card chip, full table in detail (S2 view, D#15249) 15284 FM cockpit operable-cold banner — the surface names WHY it shows sample data (W2 #14560) 15293 FM cockpit fleet liveness owner — live→loss→recovery with retained reason (W2 #14560) 15377 FM cockpit operator mailbox: compose surface + operator-scoped inbox 15535 Separate Fleet Manager demo tours from the production cockpit 16380 Fleet stall telltales: three receipt-observed defects 16398 Fleet cockpit memories view: session-summary recall from the plane 16431 Cockpit wake-route panel: per-seat arming, liveness, last failure 16051 Cockpit banner for Brain daemon faults: ONE line, its diagnosis, never a storm 16469 Wake-route panel v1: the four observable axes, decomposed 16744 Cockpit remote connection states — the reason-carrying banner vocabulary, extended 16745 Sharing pane — two grant families, distinct receipts, truthful under revocation 16924 The cockpit''s default state reads as a warning, in internal vocabulary 17263 FM §04 spec: cockpit type, density, chip and motion language 17264 Unify the cockpit status-chip family under one designed system 17265 Cockpit typography, density and hierarchy pass against the §04 bar 17266 FM cockpit release video: the docks-and-design showcase 17269 One navigation vocabulary for the cockpit shell: keeper tabs vs edge-rail items 17271 The cockpit shows the real fleet by default on the operator seat 17302 Cockpit timestamps render viewer-local via Intl; wire stays UTC 17303 Activity stream rows carry actor identity and A2A sender→recipient 17305 Fleet runtime status asserts ''stopped'' for agents it never launched 17306 Agent Configuration pane renders declared config as observed state 17307 Memories pane read fails through the fleet wire while the same tool answers directly 17309 Bench and unbench are operator decisions the cockpit cannot record 17310 Operator-seat sends inherit the seat agent''s identity end-to-end 17311 Operator compose controls: recipients need deselect + chips, priority a radio group 17313 Agent-detail tabs break shell layout: mailbox hides the stream, tab bar clips 17315 Memories pane cannot pop out — session summaries lack the widget route 17316 Session summaries offer no drill-in to the sessions they summarize 17328 Agent OS instance switcher + managed connection profiles 17329 Tasks pane: the orchestrator schedule as a first-class cockpit surface 17330 System view: plane health + diagnostics for the connected instance 17333 Torn-out intent panes lose their handlers off the controller chain 17367 The instance switcher hand-rolls a menu the framework already owns 17547 Cockpit exhausts bearer redemption before Fleet is ready 17559 Cockpit view layer conforms to the component library |
| subIssuesCompleted | 69 |
| subIssuesTotal | 76 |
| contentTrust | |
| projected | |
| quarantined | 0 |
| signals | [] |
| blockedBy | [] |
| blocking | [] |
| milestone | v13.2 |
Problem scope
The fleet-services spine is largely done Brain-side (define/start/stop/provision exist as services — the closed leaves under #13015), but the product surface is ~0% planned and the current
apps/agentosUI is brittle: feature-first accretion, no design system, no UX bar. The artifact's own diagnosis: "Done right it's the flagship demo. Done as it is now, it undercuts the whole story."The cockpit is the exact app the engine is built for — live multi-agent state, high-frequency streams, views splitting across OS windows on one shared App-Worker heap, object permanence. A weak surface here doesn't just cost adoption; it publicly falsifies the engine story.
Why an epic, not a ticket: a token/theme layer, the cockpit shell + fleet grid, the live activity stream, agent detail + pop-out, fleet controls, and NL-driven e2e coverage are separable one-PR leaves that must converge on ONE visual/interaction system across multiple weeks.
Intended solution shape
apps/agentos-vs-fresh-shell-app is the first gated design decision (a sub), not assumed here.Out of scope
Avoided traps
No second brittle app (the evolve-vs-fresh call is an explicit gated sub) · no pixel-guessing outside the SSOT · no UX-without-e2e · no bundling separable leaves into one sub. The epic is
Refs-only — never a PR close-target.Structure-map gate: N/A — app-layer (
apps/) design/UX epic; no newai/substrate placement.