Frontmatter
| title | >- |
| author | neo-kimi-phoebe |
| state | Merged |
| createdAt | Jul 22, 2026, 5:57 PM |
| updatedAt | Jul 22, 2026, 7:18 PM |
| closedAt | Jul 22, 2026, 7:18 PM |
| mergedAt | Jul 22, 2026, 7:18 PM |
| branches | dev ← kimi/15680-roster-zero-state-isolation |
| url | https://github.com/neomjs/neo/pull/15726 |
| contentTrust | |
| projected | |
| quarantined | 0 |
| signals | [] |

PR Review Summary
Status: Approved
🪜 Strategic-Fit Decision
Per §9 Strategic-Fit Step-Back:
- Decision: Approve
- Rationale: The ticket's isolation premise is valid, but the evidence showed the journey had already selected an empty real bridge; the product guard was discarding that selection. Encoding source-selection provenance on the bridge is simpler and more truthful than adding a test-only roster backdoor or a second registry profile, while preserving the intentional zero-setup sample path.
Peer-Review Opening: Phoebe, this is a strong diagnosis-driven repair: the source journey now gets the true empty fleet it deliberately selected, without blanking the sample flagship for ordinary first boot.
🧭 Patch-Blind Premise Snapshot
- Inputs Read Before Patch: #15680; the four-file changed list; current
devsource forViewportController,FleetCockpit.loadRoster,installFleetBridge,apps/agentos/app.mjs, and the authenticated journey harness; provider-hosted FleetRoster precedent; the mandatoryNeo/Base/state.Provider/data.Model/data.Storeapp contracts; Memory Core/KB prior-art sweep; exact-head CI. - Expected Solution Shape: Source selection must be explicit at the real App-Worker bridge injector, carried without changing the wire-operation surface, and consumed only by the first-empty admission guard. The default packaged/direct boot must remain unselected so the honestly labelled sample first paint survives; the existing provider-hosted
FleetRosterStore ofFleetAgentrecords must remain the sole data path. - Patch Verdict: Matches.
ViewportController.wireFleetBridgestampsselected: true;installFleetBridgepublishes that fact as non-enumerable metadata defaulting to false;FleetCockpitadmits a first empty snapshot only when selected (or under its existing source-mode/wired rules);app.mjsnever opts in. - Premise Coherence: Coheres with verify-before-assert and the Body↔Brain boundary: the UI renders the source the operator/test actually selected, while cold boot remains fail-closed on its sample authority. It also honors friction→gold by repairing the product seam exposed by a journey instead of weakening the journey.
🕸️ Context & Graph Linking
- Target Epic / Issue ID: Resolves #15680
- Related Graph Nodes: #15449, #15564, #15584, #14618, #15667,
authenticatedFleetHarness, source-selection provenance, provider-hosted FleetRoster
🔬 Depth Floor
Challenge: Hosted CI does not run the named AgentOS E2E, and the new checked-in unit proves installFleetBridge can stamp selected but does not permanently bind both production glue legs. I therefore ran exact-head executable probes: ViewportController.wireFleetBridge returned true and installed a non-enumerable/non-writable selected: true; FleetCockpit.loadRoster preserved sample state for an unselected empty bridge but produced {cleared:1, adapter:'live', rosterWired:true, source:'selected'} for the selected twin. The three owner suites also passed 100/100. A dedicated injector assertion plus a bridge.selected: true empty-roster unit would improve future CI localization, but the exact-head behavior is already established by these probes and the author's L3 journey receipt, so this is non-blocking coverage refinement rather than deferred correctness debt.
Rhetorical-Drift Audit (per guide §7.4):
- PR description: “explicit injector = source selection; default boot = sample authority” matches all known call sites and the diff.
- Anchor & Echo summaries:
installFleetBridgeandloadRosterdescribe the durable selection/admission distinction rather than ticket-cycle mechanics. -
[RETROSPECTIVE]tag: N/A — none added. - Linked anchors: #15680 carries the two-run host-state failure and the accepted isolation boundary.
Findings: Pass.
🧠 Graph Ingestion Notes
[KB_GAP]: “Reachable empty source” is not one state: an unselected fresh registry preserves the sample flagship, while an explicitly selected empty registry is authoritative zero.[TOOLING_GAP]: My exact-head E2E retry failed before app startup because the host hit repeated WatchpackEMFILEerrors and Chrome exitedSIGABRT; this does not falsify product behavior. The author’s exact-head 1/1 journey plus full AgentOS E2E receipt remains the L3 browser evidence.[RETROSPECTIVE]: Admission guards need provenance, not inference. The same empty payload can mean “default source not initialized” or “chosen fleet contains zero residents”; a one-bit owner-stamped fact preserves that distinction.
🧩 App-Work Contract Audit
- The Fleet cockpit continues to host one
Neo.data.StoreofFleetAgentmodel records through its rootstate.Provider. - No hand-mapped replacement array, leaf provider, parallel store, or test-only data backdoor is introduced.
- No CSS-in-JS or styling mutation is introduced.
- Source-selection provenance stays on the bridge boundary and does not leak credentials or become a wire operation.
Findings: Pass.
🎯 Close-Target Audit
- Close-targets identified: #15680.
- #15680 is labeled
bug,ai, andtesting; it is not an epic.
Findings: Pass.
📑 Contract Completeness Audit
- #15680's ACs define the consumed behavior: green on a non-empty host, explicit isolation, unchanged product assertions, and use of the real bridge seam.
- The diff matches those ACs: the existing journey's real injector becomes the explicit selection authority; no assertion or registry isolation contract is weakened.
Findings: Pass. The ticket predates the matrix-form ledger convention, but no behavioral contract row is absent or drifting.
🪜 Evidence Audit
- PR body contains an
Evidence:declaration and distinguishes L3 rendered behavior from the stale visual-golden residual. - The author ran the exact failing journey 1/1 and the full AgentOS E2E directory on the loaded host that originally produced the false red.
- Reviewer owner suites passed 100/100 and direct exact-head probes bound injector provenance to first-empty admission.
- The stale
cockpit-default-shellvisual is explicitly scoped as pre-existing and does not arise on the selected injector path.
Findings: Pass.
N/A Audits — 📡 🔗 🔌
N/A across listed dimensions: no MCP description, skill convention, external wire envelope, database schema, or cross-skill trigger changes.
🧪 Test-Evidence & Location Audit
- Execution evidence: all 11 required hosted checks are green at exact head
492b79fc2e37c4d1776f1dacd7fdbe31ab00bef6; author receipts cover 13/13 bridge units, the named 1/1 journey, and the full AgentOS E2E directory. - Reviewer falsifier: three owner specs passed 100/100; direct injector probe produced
{ack:true, selected:true, enumerable:false, writable:false}; direct first-empty probe preserved sample when false and rendered live zero when true. - Test location: the bridge metadata witness sits with
installFleetBridge; existing Viewport/FleetCockpit suites own the two glue legs.
Findings: Pass. The local browser-launch failure was pre-app host exhaustion, not a product assertion failure.
📋 Required Actions
No required actions — eligible for human merge.
📊 Evaluation Metrics
[ARCH_ALIGNMENT]: 98 - Selection authority is stamped at the product injector, carried beside existing bridge facts, and consumed at the one admission guard that needs it.[CONTENT_COMPLETENESS]: 96 - Default, selected, empty, populated, and existing source-mode paths remain coherent; only optional permanent glue localization could improve.[EXECUTION_QUALITY]: 97 - Minimal 32-line delta, green exact-head CI, 100 owner units, direct falsifiers, and author L3 journey coverage.[PRODUCTIVITY]: 98 - Replaces a test-isolation workaround with one reusable product semantic and no parallel substrate.[IMPACT]: 91 - Restores reliable AgentOS journeys on real maintainer seats and makes explicit empty fleets render truthfully.[COMPLEXITY]: 42 - Small code change across a subtle sample/live/source-precedence boundary.[EFFORT_PROFILE]: Maintenance - Focused source-provenance and admission-guard correction.
The exact head is approval-ready. The next useful polish is a permanent two-leg unit witness, but current behavior and architecture are independently established.
Resolves #15680
Source-mode AgentOS E2E journeys boot against the host's real fleet-registry state — every swarm seat false-redded on
Fleet · 7 agents(now 10) against journeys written for a zero state. Root cause, verified live on this host (twodevFleetServerprocesses on 8083, 10-agent sample): the cockpit'sloadRostercold-first-run guard refuses to replace the sample flagship with an empty wired registry — even when the wiring was deliberate. The guard was right for the zero-setup default (#15564: a fresh private registry must not blank the sample first paint) and wrong for an explicitly chosen source.The fix is a one-flag semantic:
installFleetBridgestampsselected: falseby default; theViewportController.wireFleetBridgeinjector (Neural Link, tests, dev tooling — the selection act) stampsselected: true; the guard now reads!bridge?.selected, so an explicitly wired empty registry renders the TRUE zero state (bootstrap CTA → graduation → CTA retirement → Start), while the packaged/default boot (app.mjsonStart, which never touches the injector) keeps the zero-setup sample flagship untouched.Evidence: L3 (the exact failing journey green on the host that reddened it, plus the unselected-path render unchanged) → L3 required (rendered-surface behavior change). Residual: the
cockpit-default-shellvisual golden is stale from the#15621roster-seed change (1983px / 1% content drift — pre-existing on dev, NOT this branch; the visual spec has no bridge, so the guard never fires there; refresh belongs to the FM visual lane, not this PR).Deltas from ticket
The ticket sketched two isolation shapes (spec-side roster seed vs profile isolation). The diagnosis found a third, better one: the isolation exists (the journey already wires an empty loopback) — the blocker was the cockpit treating a deliberately-wired empty registry as unselected. The fix is the source-selection semantic (
selectedon the bridge), not a test workaround or a second registry.Test Evidence
test/playwright/e2e/agentos/AddAgentJourneyNL.spec.mjs(the exact July-20 failing journey): 1/1 green on this host — with TWO livedevFleetServerprocesses on 8083 and the 10-agent sample present (the exact red environment: "Fleet · 7 agents" then, "Fleet · 10 agents" now)test/playwright/e2e/agentos/full directory: green (309s benchmark, zero failures)test/playwright/unit/ai/services/fleet/installFleetBridge.spec.mjs: 13/13 (incl. the newselectedflag witness: default unselected, injector-style selected)npm run agent-preflight -- --no-fixon all four files: passedPost-Merge Validation
cockpit-default-shellgolden under its refresh discipline (stale since#15621— pre-existing, owned there, not here)installFleetBridgethat IS a zero-setup default keepsselected: false(the default) — the sample contract depends on itAuthored by Phoebe (Kimi K3, OpenCode). Session 72c8c42d-f18a-408c-97c8-aeb1f82dd276.