command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/stack-release-external.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/MxTPJh
begin: {"utc": "2026-10-24T20:39:15.880+00:00", "load1": "2.05"}
launch nice: 19
✔ row 232: confirm, revert, gate, --to and --expect-from need --units external; the user-only flags are usage under it, and so are row 273's --send and --no-sso (1015.007252ms)
✔ row 232: pm-on and activate --pm-after-harness refuse external-pm (1036.490274ms)
✔ row 232: units-running (N4) refuses while a unit is active and leaves the store, the log and TAKEN; failed counts as down (2009.757581ms)
✔ row 232: activate stages: the pointer stays, AWAITING-UNITS names TO, a backup of the stopped store, no directory in the set, no --user, no journal (1679.455817ms)
✔ row 232: A3 order: capture-failed and marker-failed refuse with exit 3 and leave no marker or FAILED (1696.488287ms)
✔ row 232: confirm and revert refuse open-activation with no marker, two, the wrong copy, or one the log holds closed; refusals name no activation (3959.249404ms)
✔ row 232: confirm polls: bus status good after 3 s fails with --timeout 1, writes FAILED and leaves the rest; FAILED then refuses activation-failed (2282.225492ms)
✔ row 232: confirm polls to a pass with --timeout 10: the pointer, an ok line that reads as the started run, no marker (5642.71287ms)
✔ row 232: stale-start: @1792540799 fails a start floor of 1792540800 with stale-start (3065.271994ms)
✔ row 232: stale-start is a gate code: an enter time that turns to @1792540800 after 2 s passes with --timeout 10 (4389.888431ms)
✔ row 232: gate (N2, A2f): --since 1792540800 passes @1792540800 and fails @1792540799; it writes nothing (1639.698576ms)
✔ row 232: the external PM check reads launches list: one live run of launch.by since the start passes (8364.848911ms)
✔ row 232: revert puts the wrapper back and leaves the store when nothing migrated (1501.138143ms)
✔ row 232: confirm --rollback refuses rollback-mismatch, and logs rollback-failed with exit 2 when OLD fails its gate (3642.757421ms)
✔ row 232: confirm --rollback after a --restore swap logs rollbackCode not-attempted; rollback --restore finds an external backup (3308.691367ms)
✔ row 232: sequence 1: activate, confirm times out, revert, confirm --rollback --cause A5: gate-failed rollback ok (4873.0688ms)
✔ row 232: sequence 2: activate --migrate, the wrapper install fails, revert restores TAKEN, confirm --rollback --cause A3 (3096.213326ms)
✔ row 232: sequence 3: activate, root's A4 fails, revert, confirm --rollback --cause A4: failed code units-start (2897.764111ms)
✔ row 232: sequence 4: a capture failure leaves nothing open, then A2f's gate OLD writes nothing (1893.841299ms)
✔ row 232: sequence 5: a confirm of the wrong copy is refused, and revert and confirm --rollback still close the activation (3410.36492ms)
✔ row 232: sequence 6: a revert that fails leaves the activation open, and the next --plan refuses interrupted-run (1747.448282ms)
✔ row 232: sequence 7: adopt, two confirmed activates, rollback --to the previous copy, confirmed, logs op rollback (7605.688625ms)
✔ row 232: sequence 8: a migration that writes and fails: revert restores the backup byte for byte, confirm --rollback --cause A3 (2995.32386ms)
✔ row 232: user mode: every systemctl call carries --user, and activate, rollback and check make the base's calls (6665.366743ms)
✔ row 232: user mode: a default activate --plan prints the base's bytes (2525.738019ms)
ℹ tests 25
ℹ suites 0
ℹ pass 25
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 83733.802587
