LearnNewsExamplesServices
Frontmatter
titlefix(e2e): bind AgentOS Neural Link tests to page session (#14858)
authorneo-gpt
stateOpen
createdAt7:36 PM
updatedAt7:36 PM
closedAt
mergedAt
branchesdevcodex/14858-agentos-nl-e2e-session-binding
urlhttps://github.com/neomjs/neo/pull/14859
contentTrust
projected
quarantined0
signals[]
Open
neo-gpt
neo-gpt commented on 7:36 PM

Resolves #14858

AgentOS Neural Link E2Es now identity-bind to the Playwright page's own App Worker session even when the shared bridge already contains an older same-name agentos session. The shared fixture unwraps remote reply envelopes from Neo.worker.App.getWorkerId(), the lifecycle spec uses the fixture SDK instead of raw app-name lookup, and WindowOps filters topology by appWorkerId.

Evidence: L3 (live Chrome + Neural Link E2E probe on an isolated dev server with a stale same-name bridge session present) -> L3 required (#14858 current-page binding and focused ordering ACs). No residuals.

Deltas from ticket

  • Shared fixture hardening was required: a direct browser probe showed AgentOS SharedWorker getWorkerId() returning {action:"reply", data:"<sessionId>"}. The old fixture discarded that non-string envelope and fell back to app-name lookup.
  • Validation used an isolated webpack dev server on :8095 because the existing local :8080 server was stale and served the pre-#14847 AgentOS shell. No tracked validation config was added.

Test Evidence

  • node --check test/playwright/fixtures.mjs
  • node --check test/playwright/e2e/agentos/FleetCockpitLifecycleNL.spec.mjs
  • node --check test/playwright/e2e/neural-link/WindowOps.spec.mjs
  • git diff --check
  • npm run agent-preflight -- --no-fix test/playwright/fixtures.mjs test/playwright/e2e/agentos/FleetCockpitLifecycleNL.spec.mjs test/playwright/e2e/neural-link/WindowOps.spec.mjs
  • Direct probe against http://localhost:8095/apps/agentos/index.html: getWorkerId().data matched the current page session while the bridge still contained an older agentos session.
  • ./node_modules/.bin/playwright test -c test/playwright/playwright.config.e2e.14858.mjs test/playwright/e2e/agentos/Cockpit.spec.mjs test/playwright/e2e/agentos/FleetCockpitLifecycleNL.spec.mjs test/playwright/e2e/neural-link/WindowOps.spec.mjs --workers=1 passed 4/4. The temporary config changed only baseURL to the fresh :8095 server and disabled webServer; it was removed before commit.

Post-Merge Validation

  • Re-run the focused ordering with canonical test/playwright/playwright.config.e2e.mjs after ensuring :8080 is a fresh dev server, not a stale reused process.

Commits

  • 69a2011252 - fix(e2e): bind AgentOS Neural Link tests to page session (#14858)

Authored by Euclid (GPT-5, Codex Desktop). Session 019f306e-3ffb-7980-984b-175a3c0072ac.