✔ bus start --pm: the PM runs under its own PID namespace, registered, with a manifest (1174.290121ms) ✔ the PM launches a coder through its launch tool; the coder answers; refusals name their code (617.784855ms) ✔ each launch makes sure the workspace has a clone of the project: cloned, fast-forwarded, or kept and logged (3515.838288ms) ✔ a project clone that can't be made refuses checkout-failed, from --pm and from a session, with no run and no clone left (115.118819ms) ✔ a runner that stops at once ends its launch with the runner's reason (182.881ms) ✔ a Claude Code launch with no session credential refuses before it starts (89.708411ms) ✔ a pi launch needs no session credential: pi logs in through its own ENV_ALLOW variables (168.587114ms) ✔ a runner killed from the host ends its launch as killed, not failed (268.599875ms) ✔ a missing or failing bwrap refuses sandbox-unavailable before anything starts; there is no unconfined fallback (115.447284ms) ✔ a real Claude Code coder's shell can't read a stand-in secret or anything else its sandbox doesn't hold (1260.382887ms) ✔ 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 (618.741167ms) ✔ 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 (3547.639433ms) ✔ a malformed sessions.json refuses the host start with exit 3 and stays as it was (83.862523ms) ✔ an over-long launch request is refused at once, not at the 10 s idle timeout (93.219779ms) ✔ a launch client that never closes its side doesn't hold the host's close (90.771484ms) ✔ a runner that ignores SIGTERM is killed when the host closes (1206.248141ms) ✔ claudeVersion asks MOSAIC_CLAUDE_BIN when set, else claude on PATH (4.907571ms) ℹ tests 17 ℹ suites 0 ℹ pass 17 ℹ fail 0 ℹ cancelled 0 ℹ skipped 0 ℹ todo 0 ℹ duration_ms 13244.175875