Context
Operator verdict on record (2026-07-16): the agents setup view "does not match the design specs in any way," and FM is "not functional yet, not even close" — design and UX are early priorities. This is the anchor leaf of the design-conformance + functionality wave for cornerstone 1 (v13.2).
The design SSOT is apps/agentos/design/fleet-manager-cockpit-plan.html (committed via #14512; @neo-opus-grace holds design authority on it). Its opening line defines this ticket's target by antithesis: "Mission control for a cross-model AI engineering team — not a settings form."
The Problem
The define-agent surface IS that settings form. It is the pre-design-sprint v0, functionally patched but never design-rebuilt:
apps/agentos/view/AgentConfigCard.mjs (219 lines), apps/agentos/view/FleetSettingsPanel.mjs (188 lines), apps/agentos/view/Accounts.mjs (609 lines) import zero fleet design primitives — no token layer, no fm-* classes, no StateDot / HealthSwatch / FamilyRail. Their last commits were data-plumbing only (#14998 sparse-config persistence, #14920 store de-singletonization).
- The design sprint (D#14561 T-leaves) rebuilt
view/fleet/** to the SSOT bar; the setup/admin surfaces were out of its slice and still carry the pre-sprint look the operator already ruled "uber brittle" (2026-07-04, on #14577's record).
- SSOT Lane D1 states the functional half plainly: "Add-agent flow — username + PAT + harness type → the Node-side registry (#13031 exists); the UX for it does not."
The Architectural Reality
- The Brain-side machinery is shipped: registry + credential store (#13031), control-plane facade (#13192), add-agent canonical readback round-trip (#14614). This leaf is UI composition, not new services.
- The design system to compose FROM exists: token layer (#14578,
TOKENS.md), AgentCard + card contract (#14598, CARD-CONTRACT.md), state/health/family primitives (#14593/#14635/#14637), both themes (#14681).
- Credential boundary per #13058's matrix is non-negotiable: PAT/credential material never in browser persistent state, logs, URL, or visible echo; secret submission disabled when the Node-side bridge is absent; no fake success states (lifecycle-affordance rule).
apps/** gate applies: data-carrying UI binds data.Store of data.Model records; state.Provider at view roots; zero CSS-in-JS (SCSS token/skin layers only).
Acceptance Criteria
Out of Scope
The Accounts keeper-view / credential-management rebuild (D2-adjacent — its own wave leaf; #13521 context folds there) · live-wiring the cockpit stores off JSON seeds (C-lane wave) · wake/rate-limit telltales (#14537-adjacent) · catch-up view (#14620) · the drill regression (#15212, independent).
Related
Epic #14560 (parent) · design SSOT via #14512 · #13058 (the v0 this replaces) · #14614 (readback consumed) · #13521 (adjacent, @neo-opus-vega) · #14577 (target-app decision + "uber brittle" verdict) · operator directive 2026-07-16 (design/UX first; ≥50-ticket wave).
Sweeps: latest-15 open checked 2026-07-16T11:12Z (latest #15241) — no equivalent; fleet-titled open census clean (7 open, none setup-surface); A2A herd-window clean (no in-flight claim on setup-surface work).
Origin Session ID: b42c5667-db78-4a0c-83a0-ce66c95ee0d9
Retrieval Hint: "FM define-agent setup surface rebuild design SSOT settings form D1"
Context
Operator verdict on record (2026-07-16): the agents setup view "does not match the design specs in any way," and FM is "not functional yet, not even close" — design and UX are early priorities. This is the anchor leaf of the design-conformance + functionality wave for cornerstone 1 (v13.2).
The design SSOT is
apps/agentos/design/fleet-manager-cockpit-plan.html(committed via #14512; @neo-opus-grace holds design authority on it). Its opening line defines this ticket's target by antithesis: "Mission control for a cross-model AI engineering team — not a settings form."The Problem
The define-agent surface IS that settings form. It is the pre-design-sprint v0, functionally patched but never design-rebuilt:
apps/agentos/view/AgentConfigCard.mjs(219 lines),apps/agentos/view/FleetSettingsPanel.mjs(188 lines),apps/agentos/view/Accounts.mjs(609 lines) import zero fleet design primitives — no token layer, nofm-*classes, no StateDot / HealthSwatch / FamilyRail. Their last commits were data-plumbing only (#14998 sparse-config persistence, #14920 store de-singletonization).view/fleet/**to the SSOT bar; the setup/admin surfaces were out of its slice and still carry the pre-sprint look the operator already ruled "uber brittle" (2026-07-04, on #14577's record).The Architectural Reality
TOKENS.md), AgentCard + card contract (#14598,CARD-CONTRACT.md), state/health/family primitives (#14593/#14635/#14637), both themes (#14681).apps/**gate applies: data-carrying UI bindsdata.Storeofdata.Modelrecords;state.Providerat view roots; zero CSS-in-JS (SCSS token/skin layers only).Acceptance Criteria
AgentConfigCard/FleetSettingsPanelare each either rebuilt to the SSOT bar or retired and replaced under the cockpit shell — no second brittle surface left mounted.Out of Scope
The Accounts keeper-view / credential-management rebuild (D2-adjacent — its own wave leaf; #13521 context folds there) · live-wiring the cockpit stores off JSON seeds (C-lane wave) · wake/rate-limit telltales (#14537-adjacent) · catch-up view (#14620) · the drill regression (#15212, independent).
Related
Epic #14560 (parent) · design SSOT via #14512 · #13058 (the v0 this replaces) · #14614 (readback consumed) · #13521 (adjacent, @neo-opus-vega) · #14577 (target-app decision + "uber brittle" verdict) · operator directive 2026-07-16 (design/UX first; ≥50-ticket wave).
Sweeps: latest-15 open checked 2026-07-16T11:12Z (latest #15241) — no equivalent; fleet-titled open census clean (7 open, none setup-surface); A2A herd-window clean (no in-flight claim on setup-surface work).
Origin Session ID: b42c5667-db78-4a0c-83a0-ce66c95ee0d9 Retrieval Hint: "FM define-agent setup surface rebuild design SSOT settings form D1"