command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/thread-launch.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/eNdvi5
begin: {"utc": "2026-10-24T20:35:09.047+00:00", "load1": "5.51"}
launch nice: 19
usage: {"event":"usage-unknown","business":"acme","run":"rdbaa4bc178c0","instance":"assistant","turn":"ecca8172-67ec-4731-a025-d357df5b0474","source":"@none","code":"baseline-unknown"}
usage: {"event":"usage-unknown","business":"acme","run":"rab6f8b7b659d","instance":"assistant","turn":"71ae54f8-7432-4edb-b111-8b8113a50a9c","source":"@none","code":"baseline-unknown"}
usage: {"event":"usage-unknown","business":"acme","run":"r48fea023f66d","instance":"assistant","turn":"d3640f29-8e61-41f4-bba7-078d51bb65a3","source":"@none","code":"baseline-unknown"}
usage: {"event":"usage-unknown","business":"acme","run":"r166b1a5461bd","instance":"assistant","turn":"e6bd001e-483f-402c-9705-cb23b433a171","source":"@none","code":"baseline-unknown"}
✔ REQ-THREAD-2 REQ-LAUNCH-1 REQ-MSG-1 a thread message starts the thread's session, which stops when idle; its history survives the stop and a restart and no other thread sees it (5871.493281ms)
usage: {"event":"usage-unknown","business":"acme","run":"r10f8c2ea2905","instance":"assistant","turn":"0f001a05-5525-4237-bcc9-f97b7f905bed","source":"@none","code":"baseline-unknown"}
usage: {"event":"usage-unknown","business":"acme","run":"r814884036d7a","instance":"assistant","turn":"52d593fe-5e70-4221-ae28-c983d231dd0b","source":"@none","code":"baseline-unknown"}
✔ REQ-THREAD-2 REQ-LAUNCH-1 a running thread counts against its model's limit and an idle-stopped one doesn't (1732.965535ms)
usage: {"event":"usage-unknown","business":"acme","run":"r3170741bab07","instance":"assistant","turn":"519e2027-d2cc-4cb6-95dd-e6255dbd96ee","source":"@none","code":"baseline-unknown"}
✔ REQ-THREAD-2 REQ-LAUNCH-1 a turn longer than the idle time isn't stopped, and the thread idles out after it (4423.432552ms)
usage: {"event":"usage-unknown","business":"acme","run":"r10cafa37f598","instance":"assistant","turn":"3461bbda-6b57-4008-8b67-56f5df3fbfa7","source":"@none","code":"baseline-unknown"}
usage: {"event":"usage-unknown","business":"acme","run":"r10cafa37f598","instance":"assistant","turn":"917877e7-ac00-4a1c-9621-a1e1e9f0e0cb","source":"@none","code":"baseline-unknown"}
✔ REQ-THREAD-2 REQ-LAUNCH-1 a message sent after the idle snapshot keeps the session, which answers it (2897.497314ms)
✔ REQ-ROLE-2 REQ-LAUNCH-1 a thread held by a run the launcher didn't start gets no second session (84.870615ms)
usage: {"event":"usage-unknown","business":"acme","run":"ree40c97bca22","instance":"assistant","turn":"547b7a4a-c338-4618-8d21-f2ef3c92cb66","source":"@none","code":"baseline-unknown"}
✔ REQ-LAUNCH-1 a thread run's session file has no landing, even when landHolders names its instance (389.98701ms)
✔ REQ-LAUNCH-1 a run that ends without taking its thread's message isn't started again for that message (240.98739ms)
✔ REQ-THREAD-2 REQ-LAUNCH-1 a thread id that isn't a safe segment, or a thread of a non-thread instance, launches nothing (238.089727ms)
✔ REQ-THREAD-1 REQ-LAUNCH-1 the chief can't launch the assistant outside a thread (82.813397ms)
✔ C2-09a: fromSession refuses a creative instance outside a thread without a sandbox (84.78075ms)
limits: {"event":"limit-reached","business":"acme","check":"token-limit","export":"mayLaunch","subject":{"instance":"assistant","provider":"zai","model":"claude-sonnet-5-5","account":null},"path":["tokens","instances","assistant"],"limit":0,"count":0,"unknownTurns":0}
limits: {"event":"limit-reached","business":"acme","check":"token-limit","export":"mayLaunch","subject":{"instance":"assistant","provider":"zai","model":"claude-sonnet-5-5","account":null},"path":["tokens","instances","assistant"],"limit":0,"count":0,"unknownTurns":0}
✔ REQ-LIMIT-3 REQ-LIMIT-4 a thread start whose instance is at its token limit is refused, logged once with the limit and the count (218.595023ms)
usage: {"event":"usage-unknown","business":"acme","run":"r0027203237fe","instance":"assistant","turn":"c6c06ee9-5a42-4fdf-b1d4-8fe0c0c77311","source":"@none","code":"baseline-unknown"}
limits: {"event":"limit-reached","business":"acme","check":"token-limit","export":"mustStop","subject":{"instance":"assistant","provider":"zai","model":"claude-sonnet-5-5","account":null},"path":["tokens","instances","assistant"],"limit":0,"count":0,"unknownTurns":1}
✔ REQ-LIMIT-4 a thread run at its token limit stops at the end of its turn: the reply lands, and the end record names the limit (356.946526ms)
usage: {"event":"usage-unknown","business":"acme","run":"rba356d3cac56","instance":"bean","turn":"1128dcc7-dd3a-4f77-9f3f-370f54242baa","source":"@none","code":"baseline-unknown"}
usage: {"event":"usage-unknown","business":"acme","run":"recd1bb10dacc","instance":"chet","turn":"89a813a2-dfd8-4651-b588-1fd0dfcea266","source":"@none","code":"baseline-unknown"}
usage: {"event":"usage-unknown","business":"acme","run":"rba356d3cac56","instance":"bean","turn":"19a00aba-0cdf-46bf-bfc9-243d291e712a","source":"@none","code":"baseline-unknown"}
✔ C2-09a: creative thread messages start distinct runs and keep each instance history separate (755.72811ms)
usage: {"event":"usage-unknown","business":"acme","run":"r322f512a8c7f","instance":"bean","turn":"1ffa5454-b58f-4569-a5b0-53dab9bdd626","source":"@none","code":"baseline-unknown"}
usage: {"event":"usage-unknown","business":"acme","run":"re503bc0db185","instance":"bean","turn":"deea5db5-5965-42e2-a323-d44dff49a32e","source":"@none","code":"baseline-unknown"}
✔ C2-09a: terminating one creative thread does not signal an unselected peer of the same instance (649.498528ms)
usage: {"event":"usage-unknown","business":"acme","run":"r0e398ef744f4","instance":"assistant","turn":"0fba25e0-d470-4676-a218-e50587054461","source":"@none","code":"baseline-unknown"}
✔ C2-05b a real launched bundle gets lookups for a library project without a library checkout (436.589961ms)
ℹ tests 15
ℹ suites 0
ℹ pass 15
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 18603.56798
