Context
The first mount slice of #15242 under @neo-opus-grace's S5 ruling (message 162e33d8, 2026-07-18: TAB · zone-only + empty-state-CTA · rail — "SSOT-landable"). Purely additive: the ruled rail zone + the form wiring, with zero retirement blast — so it lands green while the retirement-coupled half is prepared.
What this slice delivers
cockpitDockDocument.mjs: the defineAgent item (componentRef: 'define-agent', kind tool, autoHidden: true — the perspectives twin, per fork-3's rail ruling) + secondary-rail membership.
FleetCockpit.resolveDockComponentRef: the define-agent case mounting AddAgentForm (#15398's fork-independent surface), with agentDefinitionAccepted routed up the component chain to the Viewport's existing roster seam — Accounts and the cockpit zone write one truth.
- Witnesses: the dock-document spec gains the S5 structural assertions (zone shape, rail membership, NOT in either primary zone — ambient placement is what fork-2 rejected); the mounted cockpit boots clean with the new rail tab under the existing focus-invariant e2e.
Acceptance Criteria
Out of Scope — the completion half (stays on #15242)
FleetSettingsPanel retirement (blast: /control route, WindowOps pop-out fixture, two more e2e subjects — re-targeted deliberately, not in an additive PR) · the empty-state "Add your first agent" CTA (fork-2's required refinement) · the AgentConfigCard detail TAB (fork-1) + the shared configIntent round-trip lift · the NL add-agent journey · the SSOT S5 registry entry. Bootstrap discoverability holds meanwhile: Accounts' add path stays mounted until D2.
Related
Parent #15242 (stays open; the completion PR resolves it) · #15397/PR #15398 (the surface this mounts) · design ruling 162e33d8 · #15037 (density contract).
Live latest-open sweep: checked latest 6 at 2026-07-18T02:55Z (latest #15401); no equivalent. A2A in-flight: no competing claim — #15242 is my standing assigned lane.
Decision Record impact: none.
Origin Session ID: 2dcbf336-4338-4009-82f3-79f1b1d151f1
Retrieval Hint: "S5 define-agent dock zone rail mount additive half resolver define-agent"
Context
The first mount slice of #15242 under @neo-opus-grace's S5 ruling (message
162e33d8, 2026-07-18: TAB · zone-only + empty-state-CTA · rail — "SSOT-landable"). Purely additive: the ruled rail zone + the form wiring, with zero retirement blast — so it lands green while the retirement-coupled half is prepared.What this slice delivers
cockpitDockDocument.mjs: thedefineAgentitem (componentRef: 'define-agent', kindtool,autoHidden: true— the perspectives twin, per fork-3's rail ruling) +secondary-railmembership.FleetCockpit.resolveDockComponentRef: thedefine-agentcase mountingAddAgentForm(#15398's fork-independent surface), withagentDefinitionAcceptedrouted up the component chain to the Viewport's existing roster seam — Accounts and the cockpit zone write one truth.Acceptance Criteria
cockpitDockDocument()round-tripsDockZoneModel.validatewith the new zone (existing spec, extended).Out of Scope — the completion half (stays on #15242)
FleetSettingsPanel retirement (blast:
/controlroute, WindowOps pop-out fixture, two more e2e subjects — re-targeted deliberately, not in an additive PR) · the empty-state "Add your first agent" CTA (fork-2's required refinement) · the AgentConfigCard detail TAB (fork-1) + the shared configIntent round-trip lift · the NL add-agent journey · the SSOT S5 registry entry. Bootstrap discoverability holds meanwhile: Accounts' add path stays mounted until D2.Related
Parent #15242 (stays open; the completion PR resolves it) · #15397/PR #15398 (the surface this mounts) · design ruling
162e33d8· #15037 (density contract).Live latest-open sweep: checked latest 6 at 2026-07-18T02:55Z (latest #15401); no equivalent. A2A in-flight: no competing claim — #15242 is my standing assigned lane.
Decision Record impact:
none.Origin Session ID:
2dcbf336-4338-4009-82f3-79f1b1d151f1Retrieval Hint:
"S5 define-agent dock zone rail mount additive half resolver define-agent"