Skip to content

feat: add host-owned test runner for supervisors - #137

Merged
jaromil merged 1 commit into
mainfrom
feat/host-test-runner
Oct 27, 2026
Merged

jaromil merged 1 commit into
mainfrom
feat/host-test-runner

Conversation

@jaromil

@jaromil jaromil commented Oct 27, 2026

Copy link
Copy Markdown
Member

Integration tests that start a Codex sandbox can fail when launched inside an agent's existing sandbox. Add a host-owned test runner so the root supervisor can request configured suites through gestalt_test_runner, with Mobile owning their processes and results.

  • Add list, inspect, start, status, and cancel operations with session binding and idempotent starts.
  • Require a private operator configuration and explicit candidate authorization; callers cannot supply commands, paths, or environment variables.
  • Bound runtime and output, clean up owned process groups, retain private evidence, detect candidate changes, and recover interrupted records.
  • Connect completion to existing Autopilot process wake events. Document setup and limitations in docs/host-tests.md.

The runner is disabled by default. Deployment and operator configuration are required to activate it. Candidate fingerprints exclude ignored dependencies/toolchains, and before/after checks do not detect edits reverted during execution. Host execution grants the test code the host user's filesystem authority.

Validation:

  • npm run format:check, npm run license:check, npm run check, npm run lint, and npm run build passed.
  • npm test: 2,747 passed, 2 skipped.
  • PLAYWRIGHT_BROWSERS_PATH=... npm run test:e2e: 302 passed.
  • Rebasing onto current main preserved the tested source tree exactly.

The first browser run encountered worktree dependency symlink/client-build failures; after correcting that setup, the failed subset and final full suite passed. This does not claim the previously blocked manager/Serena suite has been rerun on a deployed host.

@jaromil
jaromil merged commit 5308d44 into main Oct 27, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant