Epic #13015 makes the Fleet Manager MVP settings-pane-first: define agents, start/stop them, and let repos/config/wake provisioning happen under the hood. The plan-of-record currently names the settings pane as open, while shipped/active sibling surfaces have already started to land: #13022 established the dark/light harness theme base, #13031/#13037 delivered the agent registry + credential store, #13049 owns lifecycle service work, and #13033 owns the Electron build root.
This ticket creates the first Body-side settings-pane leaf so peers have a concrete UI contract instead of re-deriving where the Fleet Manager starts.
Release classification: harness line (Project 13); post-v13 product line, not v13.x release-blocking.
The Problem
The Fleet Manager MVP has its Brain-side primitives and parent epic shape, but no leaf owns the first user-facing settings pane. Without that leaf, UI work can drift in two bad directions: either a mock-only screen that implies fake lifecycle success, or a backend-heavy ticket that bundles agent definition, process lifecycle, repo provisioning, and Electron shell concerns into one PR.
The first honest slice is narrower: a user can define and inspect agents from a Neo app surface, with credential handling routed Brain-side and lifecycle controls kept gated until their service contract is ready.
The Architectural Reality
#13015 assigns the settings pane to the Body side in apps/, replacing the early apps/agentos PoC at leaf-level structural-pre-flight time.
ADR 0020 (learn/agentos/decisions/0020-agent-harness-concept.md) keeps harness UI in apps/, Node-side fleet machinery in ai/, and credentials/PATs Brain-side only.
#13031/#13037 provide the registry/credential-store substrate this pane should consume; the pane must not invent a second credential store.
#13049 is the lifecycle-service sibling. This ticket may show lifecycle affordance placeholders only if they are explicitly non-successful/gated; it must not fake start/stop/restart behavior.
#13033 owns Electron packaging. This UI must remain dev-server runnable while being compatible with the eventual Electron shell.
The Fix
Implement the first Fleet Manager settings pane UI slice:
Establish the app/route/component placement for the harness settings pane under apps/ after running structural-pre-flight.
Render an agent list and add/edit flow for the minimal agent definition fields: GitHub username, harness type, and credential/PAT submission.
Route credential submission to the Node-side Agent OS/Fleet Manager bridge contract; do not persist, echo, log, or URL-encode secrets in the browser/App Worker surface.
Use the shipped harness theme baseline from #13022 (neo-theme-neo-dark and neo-theme-neo-light) and keep the UI dense, operator-grade, and compatible with the later Electron shell.
Keep lifecycle controls out of scope or visibly gated until #13049's service contract is consumed.
Pane supports neo-theme-neo-dark and neo-theme-neo-light from day one.
If one theme exposes contrast/layout defects, fix before PR handoff.
PR test evidence.
Desktop + narrow viewport visual verification.
Decision Record impact
Aligned-with ADR 0020. This ticket implements the Body-side surface prescribed by the accepted harness concept without changing the Brain/Body source split or credential boundary.
Acceptance Criteria
Structural-pre-flight is run before creating, renaming, or relocating any .mjs file for the settings pane.
A dev-server-runnable settings pane renders an agent list and add/edit flow for GitHub username, harness type, and credential/PAT submission.
Credential/PAT material is never persisted or echoed in browser storage, logs, URLs, visible UI after submit, or exported client config.
Registry/credential writes go through the Node-side Agent OS/Fleet Manager bridge contract, or fail loud if that bridge is unavailable.
Lifecycle controls are absent, disabled, or visibly gated until #13049 is consumed; the UI cannot report fake start/stop/restart success.
Both neo-theme-neo-dark and neo-theme-neo-light are visually verified at desktop and narrow viewport sizes.
The PR documents the exact app placement decision and cites how the early apps/agentos PoC was handled.
Out of Scope
Implementing process lifecycle start/stop/restart behavior (#13049).
Live latest-open sweep: checked latest 20 open issues at 2026-06-13T03:27Z via gh api search/issues; no equivalent leaf found. Closest matches are parent/sibling issues #13015, #13012, #13033, #13049 lineage.
A2A in-flight sweep: checked last 50 inbox messages at 2026-06-13T03:27Z; no recent [lane-claim]/[lane-intent] overlaps this settings-pane leaf. Active related claims are #13039 by @neo-opus-ada and older #13023/#13052 lanes.
KB/local sweep: ask_knowledge_base returned no matching ticket context for this leaf; local exact search found #13015/ADR0020/Discussion #10119 lineage but no open settings-pane leaf.
Context
Epic #13015 makes the Fleet Manager MVP settings-pane-first: define agents, start/stop them, and let repos/config/wake provisioning happen under the hood. The plan-of-record currently names the settings pane as open, while shipped/active sibling surfaces have already started to land: #13022 established the dark/light harness theme base, #13031/#13037 delivered the agent registry + credential store, #13049 owns lifecycle service work, and #13033 owns the Electron build root.
This ticket creates the first Body-side settings-pane leaf so peers have a concrete UI contract instead of re-deriving where the Fleet Manager starts.
Release classification: harness line (Project 13); post-v13 product line, not v13.x release-blocking.
The Problem
The Fleet Manager MVP has its Brain-side primitives and parent epic shape, but no leaf owns the first user-facing settings pane. Without that leaf, UI work can drift in two bad directions: either a mock-only screen that implies fake lifecycle success, or a backend-heavy ticket that bundles agent definition, process lifecycle, repo provisioning, and Electron shell concerns into one PR.
The first honest slice is narrower: a user can define and inspect agents from a Neo app surface, with credential handling routed Brain-side and lifecycle controls kept gated until their service contract is ready.
The Architectural Reality
apps/, replacing the earlyapps/agentosPoC at leaf-level structural-pre-flight time.learn/agentos/decisions/0020-agent-harness-concept.md) keeps harness UI inapps/, Node-side fleet machinery inai/, and credentials/PATs Brain-side only.The Fix
Implement the first Fleet Manager settings pane UI slice:
apps/after running structural-pre-flight.neo-theme-neo-darkandneo-theme-neo-light) and keep the UI dense, operator-grade, and compatible with the later Electron shell.Contract Ledger Matrix
apps/, replacing/retiring the earlyapps/agentosPoC only through the validated leaf-level path.neo-theme-neo-darkandneo-theme-neo-lightfrom day one.Decision Record impact
Aligned-with ADR 0020. This ticket implements the Body-side surface prescribed by the accepted harness concept without changing the Brain/Body source split or credential boundary.
Acceptance Criteria
.mjsfile for the settings pane.neo-theme-neo-darkandneo-theme-neo-lightare visually verified at desktop and narrow viewport sizes.apps/agentosPoC was handled.Out of Scope
Avoided Traps
apps/+ai/with Neural Link/MCP as the bridge.Related
Parent: #13015 Refs #13012 Refs #13022 Refs #13031 Refs #13037 Refs #13049 Refs #13033
Live latest-open sweep: checked latest 20 open issues at 2026-06-13T03:27Z via
gh api search/issues; no equivalent leaf found. Closest matches are parent/sibling issues #13015, #13012, #13033, #13049 lineage. A2A in-flight sweep: checked last 50 inbox messages at 2026-06-13T03:27Z; no recent[lane-claim]/[lane-intent]overlaps this settings-pane leaf. Active related claims are #13039 by @neo-opus-ada and older #13023/#13052 lanes. KB/local sweep:ask_knowledge_basereturned no matching ticket context for this leaf; local exact search found #13015/ADR0020/Discussion #10119 lineage but no open settings-pane leaf.Origin Session ID: 019ebe4d-0687-7dd2-8e37-c48ac8e057ad
Retrieval Hint: "Fleet Manager settings pane v0 define agents PAT credential boundary apps agentos ADR 0020"