✔ bus start --pm: the launcher instance (the chief of staff) runs under its own PID namespace, registered, with a manifest (1213.854379ms)
✔ the chief of staff launches a coder through its launch tool; the coder answers; refusals name their code (434.44427ms)
✔ each launch makes sure the workspace has a clone of the project: cloned, fast-forwarded, or fetched and logged (3695.197283ms)
✔ a project clone that can't be made refuses checkout-failed, from --chief and from a session, with no run and no clone left (188.512025ms)
✔ a runner that stops at once ends its launch with the runner's reason (269.137259ms)
✔ a Claude Code launch with no session credential refuses before it starts (198.929177ms)
✔ a pi launch needs no session credential: pi logs in through its own ENV_ALLOW variables (566.472729ms)
✔ a runner killed from the host ends its launch as killed, not failed (381.585862ms)
✔ a missing or failing bwrap refuses sandbox-unavailable before anything starts; there is no unconfined fallback (218.189403ms)
✔ a real Claude Code coder's shell can't read a stand-in secret or anything else its sandbox doesn't hold (1307.216477ms)
✔ a host that died hard leaves its sessions to the next host, which kills them and ends their runs so the role can be launched again (773.688204ms)
✔ a host that died hard leaves its sessions to the next host, which finds one already exited (23) and ends their runs so the role can be launched again (3712.867214ms)
✔ a malformed sessions.json refuses the host start with exit 3 and stays as it was (125.694338ms)
✔ an over-long launch request is refused at once, not at the 10 s idle timeout (126.291189ms)
✔ a launch client that never closes its side doesn't hold the host's close (131.778121ms)
✔ a runner that ignores SIGTERM is killed when the host closes (1247.697928ms)
✔ claudeVersion asks MOSAIC_CLAUDE_BIN when set, else claude on PATH (4.764445ms)
ℹ tests 17
ℹ suites 0
ℹ pass 17
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 14691.210843
