command: ["node", "--test", "/home/jwoltje/.t3/worktrees/mosaic-stack/magica-row329/packages/cli/tests/stack-release-external.test.mjs"]
TMPDIR: /mnt/storage/scratch/tmp/oszI9J
begin: {"utc": "2026-10-24T20:21:46.762+00:00", "load1": "5.32"}
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 (923.447896ms)
✔ row 232: pm-on and activate --pm-after-harness refuse external-pm (927.637248ms)
✔ row 232: units-running (N4) refuses while a unit is active and leaves the store, the log and TAKEN; failed counts as down (1971.326441ms)
✔ 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 (1657.024194ms)
✔ row 232: A3 order: capture-failed and marker-failed refuse with exit 3 and leave no marker or FAILED (1748.979957ms)
✔ 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 (3503.068708ms)
✔ 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 (3288.459241ms)
✔ row 232: confirm polls to a pass with --timeout 10: the pointer, an ok line that reads as the started run, no marker (5633.83561ms)
✔ row 232: stale-start: @1792540799 fails a start floor of 1792540800 with stale-start (3021.221271ms)
✔ row 232: stale-start is a gate code: an enter time that turns to @1792540800 after 2 s passes with --timeout 10 (4428.81232ms)
✔ row 232: gate (N2, A2f): --since 1792540800 passes @1792540800 and fails @1792540799; it writes nothing (2823.108206ms)
✔ row 232: the external PM check reads launches list: one live run of launch.by since the start passes (11016.345162ms)
✔ row 232: revert puts the wrapper back and leaves the store when nothing migrated (1487.007897ms)
✔ row 232: confirm --rollback refuses rollback-mismatch, and logs rollback-failed with exit 2 when OLD fails its gate (2399.220243ms)
✔ row 232: confirm --rollback after a --restore swap logs rollbackCode not-attempted; rollback --restore finds an external backup (3378.627331ms)
✔ row 232: sequence 1: activate, confirm times out, revert, confirm --rollback --cause A5: gate-failed rollback ok (5101.654249ms)
✔ row 232: sequence 2: activate --migrate, the wrapper install fails, revert restores TAKEN, confirm --rollback --cause A3 (3117.624712ms)
✔ row 232: sequence 3: activate, root's A4 fails, revert, confirm --rollback --cause A4: failed code units-start (2878.299669ms)
✔ row 232: sequence 4: a capture failure leaves nothing open, then A2f's gate OLD writes nothing (2050.384101ms)
✔ row 232: sequence 5: a confirm of the wrong copy is refused, and revert and confirm --rollback still close the activation (3548.338417ms)
✔ row 232: sequence 6: a revert that fails leaves the activation open, and the next --plan refuses interrupted-run (1763.012948ms)
✔ row 232: sequence 7: adopt, two confirmed activates, rollback --to the previous copy, confirmed, logs op rollback (7705.146361ms)
✔ row 232: sequence 8: a migration that writes and fails: revert restores the backup byte for byte, confirm --rollback --cause A3 (2996.303023ms)
✔ row 232: user mode: every systemctl call carries --user, and activate, rollback and check make the base's calls (6678.352931ms)
✔ row 232: user mode: a default activate --plan prints the base's bytes (2340.587317ms)
ℹ tests 25
ℹ suites 0
ℹ pass 25
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 86946.779999
