command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/launcher.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/V5Okpd
begin: {"utc": "2026-10-24T21:38:26.839+00:00", "load1": "1.80"}
launch nice: 19
✔ C2-04: launcher workspace clones code but never the library (1405.828116ms)
✔ bus start --pm: the launcher instance (the chief of staff) runs under its own PID namespace, registered, with a manifest (1359.801464ms)
usage: {"event":"usage-unknown","business":"acme","run":"r90fa16a4b678","instance":"chief","turn":"fee663cb-3ad9-4fd4-87a6-d6e392e89c19","source":"@none","code":"baseline-unknown"}
usage: {"event":"usage-unknown","business":"acme","run":"r24b085b13458","instance":"coder","turn":"2b41c95a-a40a-47b4-9998-a84b9263cff7","source":"@none","code":"baseline-unknown"}
usage: {"event":"usage-unknown","business":"acme","run":"r90fa16a4b678","instance":"chief","turn":"8d535544-0f73-4733-ab8e-666b90830926","source":"@none","code":"baseline-unknown"}
✔ the chief of staff launches a coder through its launch tool; the coder answers; refusals name their code (917.226929ms)
usage: {"event":"usage-unknown","business":"acme","run":"rc74ae5e02900","instance":"chief","turn":"03cda527-8d28-45f1-be1a-df3f67f6fbf0","source":"@none","code":"baseline-unknown"}
usage: {"event":"usage-unknown","business":"acme","run":"r7129237f89cd","instance":"pm","turn":"9f2bada9-b84b-4f45-9270-95b564d02057","source":"@none","code":"baseline-unknown"}
usage: {"event":"usage-unknown","business":"acme","run":"r7129237f89cd","instance":"pm","turn":"d813bc7a-cb44-4336-a21f-3a3995814ff3","source":"@none","code":"baseline-unknown"}
usage: {"event":"usage-unknown","business":"acme","run":"rc74ae5e02900","instance":"chief","turn":"1c656b92-a70b-4944-a2e3-b24cc8ac2f55","source":"@none","code":"baseline-unknown"}
usage: {"event":"usage-unknown","business":"acme","run":"rc74ae5e02900","instance":"chief","turn":"3d8a621a-0c87-4aa8-a814-ac18f38caebd","source":"@none","code":"baseline-unknown"}
usage: {"event":"usage-unknown","business":"acme","run":"rc74ae5e02900","instance":"chief","turn":"9462f303-0d01-4aa4-8582-f1ea5236b25c","source":"@none","code":"baseline-unknown"}
usage: {"event":"usage-unknown","business":"acme","run":"r7129237f89cd","instance":"pm","turn":"6bfb9169-feb3-4c0e-a4c0-89327f5e8829","source":"@none","code":"baseline-unknown"}
usage: {"event":"usage-unknown","business":"acme","run":"r7129237f89cd","instance":"pm","turn":"2dffcd04-8b2e-40e6-a372-f18f28c17083","source":"@none","code":"baseline-unknown"}
usage: {"event":"usage-unknown","business":"acme","run":"rc74ae5e02900","instance":"chief","turn":"261c2f50-083f-4a7b-9959-d878c9a8b4d3","source":"@none","code":"baseline-unknown"}
✔ a launched pm's request_staff reaches the chief of staff; no other session has the tool and the launch limits still hold (1148.734722ms)
✔ each launch makes sure the workspace has a clone of the project: cloned, fast-forwarded, or fetched and logged (4154.616518ms)
✔ a role the broker says holds a merge decision gets land_work, its prompt line, its landing and the git socket; without it, none (664.702623ms)
✔ REQ-LAUNCH-1 the tick starts a listed merge decision holder once, with land_work, the Landing line and its landing turn; an unlisted holder starts nothing (524.371717ms)
usage: {"event":"usage-unknown","business":"acme","run":"rb5854d210324","instance":"coder","turn":"c74224e8-b87d-42cb-81c5-23ae1b1c33f9","source":"@none","code":"baseline-unknown"}
✔ a holder running since before the resolution is stopped once the broker releases it, land-relaunch, and the next tick starts it: landing turn first, then the message that waited (816.975532ms)
✔ a landing run that ended isn't started again for its decision, a spent decision starts nothing, and a new decision starts the holder (785.735044ms)
✔ after a restart, the new host's first tick starts a holder whose decision is still held (1041.449579ms)
✔ a refused landing start is logged once per code with its decision, isn't a start, and the next tick with room starts the holder (660.825282ms)
✔ a project clone that can't be made refuses checkout-failed, from --chief and from a session, with no run and no clone left (290.141761ms)
✔ a runner that stops at once ends its launch with the runner's reason (377.370959ms)
✔ a Claude Code launch with no session credential refuses before it starts (210.38465ms)
✔ a pi launch needs no session credential: pi logs in through its own ENV_ALLOW variables (353.657195ms)
usage: {"event":"plugin-refused","kind":"harness","name":"down","code":"missing","message":"/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/plugins/harness/down is missing","kept":[]}
plugins: {"event":"plugin-refused","kind":"harness","name":"down","code":"missing","message":"/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/plugins/harness/down is missing","kept":[]}
✔ row 65 a failed primary preflight launches the fallback on a fixture harness module, recording the route and the reason (389.669734ms)
✔ a runner killed from the host ends its launch as killed, not failed (418.333851ms)
✔ a missing or failing bwrap refuses sandbox-unavailable before anything starts; there is no unconfined fallback (213.457796ms)
✔ row 64 a role skill that isn't enabled refuses skill-not-enabled, and one that isn't a plain directory skill-refused, before anything starts (219.800894ms)
✔ row 213 a creative instance's persona is read from <configDir>/personas: off its digest the launch fails with the mismatch as its reason (283.885434ms)
✔ row 64 on Claude Code a role skill that isn't enabled refuses the same way, before anything starts (221.440173ms)
usage: {"event":"usage-unknown","business":"acme","run":"ref1a0967b740","instance":"chief","turn":"77e447ea-4267-4038-bc4f-f2bf898ee4fd","source":"@none","code":"baseline-unknown"}
usage: {"event":"usage-unknown","business":"acme","run":"ref1a0967b740","instance":"chief","turn":"2dc3d715-fed4-4fb2-80db-c6b1aa544f06","source":"@none","code":"baseline-unknown"}
usage: {"event":"usage-unknown","business":"acme","run":"rbb4f0e358900","instance":"coder","turn":"92e4b543-2664-4090-9ccc-33a0bdb83a0b","source":"@none","code":"baseline-unknown"}
✔ a real Claude Code coder's shell can't read a stand-in secret or anything else its sandbox doesn't hold (1407.02067ms)
✔ 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 (1141.846318ms)
✔ 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 (4085.196594ms)
✔ bus start --no-launch leaves an earlier host's live session alone: no signal, no end, sessions.json as it was (256.350396ms)
✔ bus start --no-launch refuses every launch: the PM launch and a session's request, each logged, nothing spawned (213.660001ms)
✔ bus start --no-launch starts no thread tick; the same host with launches runs it (1239.496833ms)
✔ a malformed sessions.json refuses the host start with exit 3 and stays as it was (187.748257ms)
✔ an over-long launch request is refused at once, not at the 10 s idle timeout (208.41804ms)
✔ a launch client that never closes its side doesn't hold the host's close (203.133076ms)
✔ a runner that ignores SIGTERM is killed when the host closes (1378.191859ms)
✔ kill switch refuses chief and hire before launch work and a clear permits a later request (369.591019ms)
✔ kill switch stops an actual managed namespace and records the halt reason without rewriting its bundle (361.761379ms)
✔ a launch waiting across halt and resume cannot use its stale admission (210.054891ms)
ℹ tests 34
ℹ suites 0
ℹ pass 34
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 27846.238642
