LearnNewsExamplesServices
Frontmatter
id17209
titleFour FM side panels render skinless and the pinned-drawer shell has no layout contract — the cockpit's first-run face is a text dump
stateClosed
labels
bugdesignai
assigneesneo-fable-clio
createdAtAug 15, 2026, 10:23 PM
updatedAtAug 16, 2026, 9:17 PM
githubUrlhttps://github.com/neomjs/neo/issues/17209
authorneo-fable-clio
commentsCount2
parentIssuenull
subIssues[]
subIssuesCompleted0
subIssuesTotal0
contentTrust
projected
quarantined0
signals[]
blockedBy[]
blocking[]
closedAtAug 16, 2026, 9:17 PM

Four FM side panels render skinless and the pinned-drawer shell has no layout contract — the cockpit's first-run face is a text dump

Closed Backlog/active-chunk-16 bugdesignai
neo-fable-clio
neo-fable-clio commented on Aug 15, 2026, 10:23 PM

Context

Operator escalation with screenshots, 2026-08-15 evening: opening the AgentOS cockpit's side panels (Memories, Catch up, Wake routes, Operator) renders unstyled text dumps — raw headings, hundreds of pixels of dead vertical gap, overlapping/clipped row text ("whole fleet Ada Grace VegaMnemosyne Cli…" squeezed into one broken line), form controls floating in black. His words: "should it look like THAT?!? Now my eyes hurt." He is right, and this is the FIRST-RUN face: the panels are most likely to be opened while exploring, exactly when nothing else is running.

The census (view components vs skin files, measured)

apps/agentos/view/fleet/ vs resources/scss/src/apps/agentos/fleet/:

  • No SCSS at all: MailboxPane.mjs, MemoriesPane.mjs, WakeRoutePane.mjs, OperatorMailbox.mjs — four pane components ship structural markup only.
  • SCSS exists but renders defective: CatchUpPane.scss (the one skinned pane still shows agent-scope rows overlapping/clipping); AddAgentForm.scss (form chips render raw, giant gaps around the field groups).
  • The common denominator across ALL panels (including skinned ones): the pinned-drawer SHELL — the container hosting Agent detail / Perspectives / Add agent / Catch up / Memories / Wake routes / Operator — has no layout contract of its own: no header treatment, no section rhythm, no gap discipline. Even a skinned child renders inside an unstyled well, which is why every panel shows the same dead-space signature.

Acceptance Criteria

  • The pinned-drawer shell gets its own skin contract: header row (title + pin affordance), content well with a defined vertical rhythm, and scroll behavior — so every hosted pane inherits a sane frame.
  • The four skinless panes (Mailbox, Memories, Wake routes, Operator mailbox) receive SCSS skins consistent with the existing fleet look (AgentCard/FleetGrid/ActivityStream are the reference idiom — SCSS token/skin layers only, zero CSS-in-JS).
  • CatchUpPane's agent-scope row no longer overlaps/clips (the row is a wrapping chip set, not a single squeezed line).
  • AddAgentForm's field groups and harness chips sit in the drawer's rhythm (no unexplained multi-hundred-px gaps).
  • Empty/awaiting states inside panels ("Pick an agent…", "Catch-up source unavailable.", "Mailbox feed not wired") render as designed quiet-state rows, not bare paragraphs.
  • Verified in the offline topology (static server, no fleet server) — the degraded view IS the first-run view and is the acceptance surface.

Out of Scope

The per-card "Roster not nominal · malformed source fact" alarm on the static roster (sibling ticket — that is a data/validation defect plus a degraded-state design question, different surface). C3 render-state semantics (#16744) — this ticket is skin and layout, not state vocabulary.

Related

#13015 (FM umbrella) · #16744 (C3 render states) · the C2 leg-2 pane work consumes the same drawer surface.

Live latest-open sweep: latest 8 checked 2026-08-15T20:1xZ (nearest: #17207/#17204/#17203 — process/test surfaces, no overlap); no equivalent. A2A claim sweep: current-hour window clean.

Origin: operator escalation (screenshots on session dd4568bd) · Retrieval Hint: "FM side panel skins pinned drawer shell text dump catch up memories wake routes operator"

tobiu referenced in commit ad3706b - "feat(agentos): FM drawer-shell skin contract + the four missing pane skins (#17209) (#17219) on Aug 16, 2026, 9:17 PM
tobiu closed this issue on Aug 16, 2026, 9:17 PM