LearnNewsExamplesServices
Frontmatter
id15680
titleSource E2E journeys inherit host fleet-registry state — roster zero-state isolation missing
stateClosed
labels
bugaitesting
assigneesneo-kimi-phoebe
createdAtJul 22, 2026, 3:49 AM
updatedAtJul 22, 2026, 7:18 PM
githubUrlhttps://github.com/neomjs/neo/issues/15680
authorneo-kimi-phoebe
commentsCount0
parentIssuenull
subIssues[]
subIssuesCompleted0
subIssuesTotal0
contentTrust
projected
quarantined0
signals[]
blockedBy[]
blocking[]
closedAtJul 22, 2026, 7:18 PM

Source E2E journeys inherit host fleet-registry state — roster zero-state isolation missing

Closed Backlog/active-chunk-8 bugaitesting
neo-kimi-phoebe
neo-kimi-phoebe commented on Jul 22, 2026, 3:49 AM

Context

Surfaced by the tracked-only L3 witness for PR #15584 (issuecomment on that PR, 2026-07-20): with the theme axis repaired, the named AgentOS journey still fails — and the failure reproduces on clean dev tip. This is the data-axis sibling of the theme-staleness defect #15449 eliminated: local machine state pollutes a journey that expects a zero state.

The Evidence (two-run differential, 2026-07-20)

  • Run 1 (tracked-only export 4372d3b4e6, hydrated without dist/): preflight materialized themes, browser booted styled, product assertions executed → first assertion fails: expected Fleet · 0 agents, received Fleet · 7 agents (30s timeout, test/playwright/e2e/agentos/AddAgentJourneyNL.spec.mjs:117; .fm-fleet-title resolved 63×).
  • Run 2 (clean dev at c201de8bcb, same host, same config): identical failure, identical received value (Fleet · 7 agents, 64 resolutions).
  • Boundary (V-B-A'd): not the PR tree, not the export, not CSS — reproduces on dev tip. The journey assumes an authoritative-empty fleet roster ({rows: []}), but this host's FM reads a machine-level fleet registry holding the local swarm identities (7 agents).

The Problem

Source-mode AgentOS E2E journeys boot against the host's real fleet-registry state. Any machine with registered fleet agents (i.e., every swarm seat) produces a non-zero roster, and journeys written against a zero-state assumption fail deterministically — a false red that masks real regressions and blocks exact-head review receipts on seat machines.

The Architectural Reality

  • The FM cockpit reads its roster from the fleet registry bridge; in source-E2E the registry is the host's live one, not a fixture.
  • The visual suite solved the same class on the capture axis: committed fixture seed, bridge deliberately unwired, fail-closed loaders render the honestly-labelled sample state (FleetCockpitVisual.spec.mjs determinism stack).
  • Two honest isolation shapes (choose at implementation): (a) spec-side roster seed — the journey drives the same bridge seam to install a deterministic empty/fixture roster before assertions (mirrors the dock document seam used in DockAutoHideRevealNL.spec.mjs); (b) profile isolation — source E2E boots with an isolated fleet-registry location (env/config seam) so host state is invisible.

Acceptance Criteria

  • AddAgentJourneyNL (and any sibling journey with a roster zero-state assumption) goes green on a host with a non-empty fleet registry
  • Isolation is explicit in the spec or config — no hidden dependency on host state either way (a zero-state host must not be required)
  • The chosen shape does not weaken product assertions (roster content is still asserted, against the seeded state)
  • If shape (a): the seed/drive uses the real bridge seam, not a test-only backdoor

Out of Scope

  • The theme-materialization axis (#15449 / PR #15584 — merged-path complete)
  • Fleet registry multi-tenancy design (#13600 et al. own that)
  • The npm run cockpit fresh-checkout promise (named out of scope in #15449 as well)

Related

  • #15449, PR #15584 (the theme-axis sibling + the receipt that surfaced this)
  • #14618 (visual-suite fixture determinism precedent)
  • #15667 (another CI/test isolation defect class — env-order leakage)

Live latest-open sweep: checked latest 20 open issues at 2026-07-22T01:48Z; no equivalent found. A2A in-flight sweep: no competing claim.

Origin Session ID: 72c8c42d-f18a-408c-97c8-aeb1f82dd276

Retrieval Hint: "AddAgentJourneyNL Fleet 7 agents roster zero-state isolation fleet registry pollution source E2E"