command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/case2-unit.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/qMUByD
begin: {"utc": "2026-10-24T20:17:44.557+00:00", "load1": "4.78"}
launch nice: 19
✔ row253 factory socket uses actual config and target-uid query without widening hardening (289.116013ms)
✔ row253 installer refuses unsafe location and query facts before unit writes (2868.134188ms)
✔ row253 query timeout kills its process group and leaves no running child (7051.851198ms)
✔ row253 protected homes refuse before any filesystem access (10.004732ms)
✔ row253 C4 sleep query has exact inner reason and cleans all members (10632.148103ms)
✔ row253 C4 signals query has exact inner reason and cleans all members (10614.56629ms)
✔ row253 C4 member query has exact inner reason and cleans all members (10610.298124ms)
✔ row253 C4 overflow is output-limit in both sudo modes (429.894317ms)
✔ row253 C4 stalled supervisor uses the outer reason and explicit residual cleanup (14135.845582ms)
✔ row253 C4 inline supervisor is byte-identical in both host scripts (0.352489ms)
✔ row253 C4 cleanup budget starts after inventory pass one (32.747187ms)
✔ row253 query reaps its group even when a child closes stdout before the query returns (135.960183ms)
✔ row253 config parser is strict (9.139818ms)
✔ a clean library render writes both units 0644 with the fixed lines, and enables both then starts the bus then the Console (98.708094ms)
✔ PATH starts with the --node directory, for a node outside the default list and for /usr/bin/node (108.45039ms)
✔ a failed bus start refuses with the Console not started (97.715171ms)
✔ the script never links a unit file (0.152558ms)
✔ factory renders --pm once and one MOSAIC_CLAUDE_BIN line, and without them both tokens render empty (547.22684ms)
✔ a re-install over running units says they are still on the old copy and must restart together, never that it started them (470.414221ms)
✔ a re-install to another copy re-renders both units, and an edited installed unit refuses (1045.624381ms)
✔ a template with a namespace, user or system call restriction refuses (271.540459ms)
✔ the bus template's EnvironmentFile line must be there and point at the session env, and the Console template must have none (188.520374ms)
✔ a template holding an unknown token, PermissionsStartOnly or a privileged Exec prefix refuses (142.322165ms)
✔ a symlink at either unit path refuses (172.220721ms)
✔ a --node that is relative, not root-owned or under <home> refuses (19.226904ms)
✔ a re-install with a different --node or different serve flags refuses (474.95285ms)
✔ an installed pair whose units name different copies refuses (258.29889ms)
✔ a copy id that is short, uppercase, holds / or .., or names no directory refuses (27.750058ms)
✔ library refuses a privileged-floor miss, a bad proof pair and every flag outside its set (276.607519ms)
✔ library refuses a proof file not owned by <user>'s uid (16.596055ms)
✔ factory refuses duplicate socket, a missing --port or --business, and each proxy flag (187.320193ms)
✔ row253 factory refuses retired TCP and a value after the socket marker (28.164164ms)
✔ factory refuses a --claude that is relative, not root-owned or under <home>, and a re-install with another --pm or --claude (1177.420722ms)
✔ the precheck passes on a good host and prints free memory, without the key (166.852043ms)
✔ the precheck refuses each failed host check (1355.880342ms)
✔ the precheck refuses a user missing from passwd, a business file that does not load, and a symlinked run root (758.701299ms)
✔ a bwrap that fails refuses and prints the sysctl and where bwrap is (158.296468ms)
✔ an unprivileged port floor at or below the Console's port refuses, and so does a missing Console unit (796.490867ms)
✔ bus.tester: library refuses it on, factory needs it on, and factory refuses a library business (707.986749ms)
✔ the claude check runs only for a claude-code instance, and refuses a claude that appends or answers wrong (1291.749168ms)
✔ the claude check runs the bus unit's MOSAIC_CLAUDE_BIN over claude on PATH (411.263611ms)
✔ the session env file refuses when missing, open to others, a symlink, empty, or emptied by a later line (1015.74608ms)
✔ inside a session's sandbox a bind below 1024 fails with EACCES, and a bind on a free high port succeeds (92.272439ms)
✔ Vikunja 614 factory: scoped @anthropic-ai Claude path renders and passes installed read-back (762.290157ms)
✔ Vikunja 614 factory: plain paths still refuse every named unsafe character (93.447741ms)
✔ Vikunja 614 precheck: explicit null and named notifier decisions pass (321.847088ms)
✔ Vikunja 614 precheck: notifier config refuses missing, public, malformed and extra-key decisions (1456.667519ms)
ℹ tests 47
ℹ suites 0
ℹ pass 47
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 71963.003764
