command: ["timeout", "-k", "10", "1800", "node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/case2-unit.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/gR7UqU
begin: {"utc": "2026-10-24T21:36:22.014+00:00", "load1": "2.61"}
launch nice: 19
✔ row253 factory socket uses actual config and target-uid query without widening hardening (287.769221ms)
✔ row253 installer refuses unsafe location and query facts before unit writes (2952.033973ms)
✔ row253 query timeout kills its process group and leaves no running child (7049.441396ms)
✔ row253 protected homes refuse before any filesystem access (9.243689ms)
✔ row253 C4 sleep query has exact inner reason and cleans all members (10619.671823ms)
✔ row253 C4 signals query has exact inner reason and cleans all members (10633.185983ms)
✔ row253 C4 member query has exact inner reason and cleans all members (10660.129866ms)
✔ row253 C4 overflow is output-limit in both sudo modes (415.481406ms)
✔ row253 C4 stalled supervisor uses the outer reason and explicit residual cleanup (14139.910506ms)
✔ row253 C4 inline supervisor is byte-identical in both host scripts (0.372799ms)
✔ row253 C4 cleanup budget starts after inventory pass one (35.879883ms)
✔ row253 query reaps its group even when a child closes stdout before the query returns (135.647727ms)
✔ row253 config parser is strict (9.070617ms)
✔ a clean library render writes both units 0644 with the fixed lines, and enables both then starts the bus then the Console (116.979068ms)
✔ PATH starts with the --node directory, for a node outside the default list and for /usr/bin/node (100.651476ms)
✔ a failed bus start refuses with the Console not started (98.302898ms)
✔ the script never links a unit file (0.209818ms)
✔ factory renders --pm once and one MOSAIC_CLAUDE_BIN line, and without them both tokens render empty (571.733629ms)
✔ a re-install over running units says they are still on the old copy and must restart together, never that it started them (430.153701ms)
✔ a re-install to another copy re-renders both units, and an edited installed unit refuses (1012.601903ms)
✔ a template with a namespace, user or system call restriction refuses (267.81373ms)
✔ the bus template's EnvironmentFile line must be there and point at the session env, and the Console template must have none (187.479704ms)
✔ a template holding an unknown token, PermissionsStartOnly or a privileged Exec prefix refuses (144.593982ms)
✔ a symlink at either unit path refuses (171.314939ms)
✔ a --node that is relative, not root-owned or under <home> refuses (20.568809ms)
✔ a re-install with a different --node or different serve flags refuses (476.505695ms)
✔ an installed pair whose units name different copies refuses (251.165921ms)
✔ a copy id that is short, uppercase, holds / or .., or names no directory refuses (28.351371ms)
✔ library refuses a privileged-floor miss, a bad proof pair and every flag outside its set (279.45758ms)
✔ library refuses a proof file not owned by <user>'s uid (16.569874ms)
✔ factory refuses duplicate socket, a missing --port or --business, and each proxy flag (190.376182ms)
✔ row253 factory refuses retired TCP and a value after the socket marker (29.179493ms)
✔ factory refuses a --claude that is relative, not root-owned or under <home>, and a re-install with another --pm or --claude (1216.351215ms)
✔ the precheck passes on a good host and prints free memory, without the key (155.224252ms)
✔ the precheck refuses each failed host check (1376.005723ms)
✔ the precheck refuses a user missing from passwd, a business file that does not load, and a symlinked run root (827.837783ms)
✔ a bwrap that fails refuses and prints the sysctl and where bwrap is (173.444688ms)
✔ an unprivileged port floor at or below the Console's port refuses, and so does a missing Console unit (796.745889ms)
✔ bus.tester: library refuses it on, factory needs it on, and factory refuses a library business (636.054732ms)
✔ the claude check runs only for a claude-code instance, and refuses a claude that appends or answers wrong (1232.205906ms)
✔ the claude check runs the bus unit's MOSAIC_CLAUDE_BIN over claude on PATH (386.51322ms)
✔ the session env file refuses when missing, open to others, a symlink, empty, or emptied by a later line (998.59502ms)
✔ inside a session's sandbox a bind below 1024 fails with EACCES, and a bind on a free high port succeeds (96.393482ms)
✔ Vikunja 614 factory: scoped @anthropic-ai Claude path renders and passes installed read-back (755.560041ms)
✔ Vikunja 614 factory: plain paths still refuse every named unsafe character (92.291991ms)
✔ Vikunja 614 precheck: explicit null and named notifier decisions pass (322.558298ms)
✔ Vikunja 614 precheck: notifier config refuses missing, public, malformed and extra-key decisions (1265.433106ms)
ℹ tests 47
ℹ suites 0
ℹ pass 47
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 71797.272786
