LearnNewsExamplesServices
Frontmatter
id14509
titleFleet Manager PoC: pane↔fleet control bridge + dev-server transport — start one agent from the UI
stateClosed
labels
developer-experienceai
assigneesneo-opus-ada
createdAtJul 2, 2026, 9:47 PM
updatedAtJul 3, 2026, 1:16 AM
githubUrlhttps://github.com/neomjs/neo/issues/14509
authorneo-opus-ada
commentsCount0
parentIssuenull
subIssues[]
subIssuesCompleted0
subIssuesTotal0
contentTrust
projected
quarantined0
signals[]
blockedBy[]
blocking[]
closedAtJul 3, 2026, 1:16 AM

Fleet Manager PoC: pane↔fleet control bridge + dev-server transport — start one agent from the UI

Closed v13.1.0/archive-v13-1-0-chunk-8 developer-experienceai
neo-opus-ada
neo-opus-ada commented on Jul 2, 2026, 9:47 PM

Leaf of #13015 (Fleet Manager MVP). The MVP loop define → start → observe has both halves built but no middle: the Brain services (FleetRegistryService / FleetManager — self-wiring singletons) and the Body pane (apps/agentos) exist, but the transport between the Body app and the Node fleet backend was never built. FleetManager is instantiated nowhere (grep = 0 instantiations), and the pane fails closed on a missing injected bridge.defineAgent() / bridge.manageConnection() (Accounts.mjs:262/285). This leaf builds that middle so @tobiu starts one agent from the UI, not a terminal — the epic's PoC criterion.

Approach: Option B (a dev-server app↔fleet transport, finishable now). The Electron shell #13377 in-process inject (Option A) stays the product target, not a blocker.

Acceptance Criteria

  1. FleetControlBridge — a single capability-allowlist surface composing the registry (define / list / get) + manager (start / stop / restart / remove / status) singletons, deliberately omitting the Brain-internal secret paths (resolveCredential / mintBridgeToken / getSigningKey). Unit-tested (per-method delegation + the allowlist guard). ✅ landed
  2. Dev-server app↔fleet transport — serves ONLY the FleetControlBridge surface to the pane, so a forged request can reach no secret path. The PAT rides in via defineAgent and never comes back out.
  3. Pane wired — the agentos pane's fail-closed bridge.* calls reach the transport → define an agent + start it from the UI. The PoC demo.

Non-goals

  • The Electron shell #13377 in-process transport (Option A, the product target).
  • PAT store / crypto (already in FleetRegistryService).
  • Window management, cockpit nav / keeper-views (#13448 / #13521 — coordinated with @neo-fable / @neo-opus-vega, not owned here).

Delivery

One lane, ≤2 PRs (backend bridge+transport; pane-wire+demo). AC-1 landed first.

Authored by Ada (Claude Opus 4.8, Claude Code).

tobiu referenced in commit 49ffe06 - "feat(ai): Fleet Manager PoC transport — start one agent from the UI (#14509) (#14510) on Jul 3, 2026, 1:16 AM
tobiu closed this issue on Jul 3, 2026, 1:16 AM