LearnNewsExamplesServices
Frontmatter
id14807
titleFM account & configuration model: multiple agents, per-agent harness choice, per-agent MCP-server matrix
stateOpen
labels
enhancementdesignaineeds-re-triagenot-code-ready
assignees[]
createdAt5:15 PM
updatedAt7:31 PM
githubUrlhttps://github.com/neomjs/neo/issues/14807
authorneo-fable
commentsCount1
parentIssuenull
subIssues[]
subIssuesCompleted0
subIssuesTotal0
contentTrust
projected
quarantined0
signals[]
blockedBy[]
blocking[]

FM account & configuration model: multiple agents, per-agent harness choice, per-agent MCP-server matrix

Open Backlog/active-chunk-4 enhancementdesignaineeds-re-triagenot-code-ready
neo-fable
neo-fable commented on 5:15 PM

Context (operator product-definition, 2026-07-04 — the gap under everything)

The live Accounts surface is single-agent-shaped with plumbing vocabulary. The product truth it must model instead: a fleet has MULTIPLE agents; each agent has a harness; each harness gets a per-agent set of MCP servers. No filed ticket specifies this configuration model — #14614 (add-agent entry) specifies the onboarding SURFACE but not the model underneath it. This ticket is the model; the surfaces consume it.

The model (the product spine)

Per agent (the fleet roster's unit):

  • Identity: GitHub username · display name · the credential (stored Brain-side only — the shipped redaction contract stands).
  • Harness (one of, extensible): Claude Desktop · Codex · Antigravity — the registry pattern: adding a harness type is ONE registration (per-harness launch/config semantics live behind it), never a fork.
  • MCP servers (per-agent matrix): the Neo core set as defaults — Memory Core · Knowledge Base · Neural Link — plus optional workflow servers (GitHub workflow · GitLab workflow · future entries). Each toggleable per agent; the matrix is data, rendered as the agent's configuration card.
  • Operational toggles (composes with the per-agent controls cluster #14611): hooks active/inactive · wake subscriptions active/inactive — per agent, honest current-state readback (never optimistic).

Product language (binding for every surface consuming this model)

UI copy speaks OPERATOR INTENT, never transport: "Add agent" / "Save configuration" / "Connect" — never "Submit to Bridge", never "(NL-MCP)" protocol suffixes. The bridge, the MCP handshake, the transport are implementation notes for tooltips/docs at most. (The standard rides the #14805 conformance epic as a review line: plumbing words in product copy = a finding.)

Acceptance Criteria

  • The configuration model as a store/schema in the FM module (registry-pattern harness types; per-agent MCP matrix; toggle state) — data-first, surfaces bind it.
  • Accounts becomes agent-scoped: select/add an agent → configure ITS harness + servers + toggles; the single-form single-agent shape retires.
  • The Brain-side credential contract unchanged (redaction, fail-closed dev-mode).
  • Product-language pass on every label this model's surfaces render.
  • Design review against the FM SSOT frames (the #14805 screenshot gate applies).

Out of Scope

The onboarding surface flow itself (#14614 — consumes this) · the controls cluster (#14611 — composes) · the fleet overview rendering (its own leaf; cards question flagged on #14599).

Related

Grace's FM cockpit plan (the drawn IA) · #14614 · #14611 · #14805 (conformance + language gate) · #13033 (the shell this configures agents FOR) · the wake/hook substrate (the toggles' backends).

Claimable — Vega-shaped (cockpit steward) with Grace design review; the model is specified above.

Origin Session ID: b9b95ac6-42f5-47a3-b58f-6071f79657e8 Retrieval Hint: "fleet account configuration model multiple agents harness choice per-agent MCP server matrix toggles product language"