fix(spawner): stage jailed env payloads (Sam & Codex) #48

Closed
clawdie wants to merge 1 commit from fix/jail-staged-env-rebase into main

1 commit

Author SHA1 Message Date
Sam & Claude
d7206fa04f fix(spawner): stage jailed env payloads (Sam & Codex)
Some checks failed
CI / rust (pull_request) Has been cancelled
CI / markdown (pull_request) Has been cancelled
Rebased onto current main (origin fix/jail-staged-env was stale).

spawner.rs:
- Add JailConfig.root_path for host-visible jail root
- Add prepare_spawn_command() — stages env vars + working dir into
  launch.sh + env.sh inside the jail filesystem instead of relying on
  env inheritance across jexec/mdo
- PreparedSpawnCommand struct with cleanup_dir tracking
- Staged dirs cleaned up on agent stop/fail/poll-error
- 2 new tests: staged_named_jail_writes_launcher_and_env,
  staged_jail_requires_root_path

external.rs:
- Refactor to use prepare_spawn_command() for jailed MCP servers
- Remove resolved_command() method (superseded)
- Cleanup dir tracked on session shutdown

Gates: clippy + 89 tests pass on Linux/domedog.
2026-06-13 23:29:36 +02:00