✔ T1 adopt writes the pointer from the units once; a failing check refuses check-failed (990.658598ms) ✔ T2 activate installs exactly the pointer's pm, claude and Console flags (1457.2102ms) ▶ T3 a hand-edited unit refuses unit-flags-drift, names the difference and changes nothing ✔ pm (688.821333ms) ✔ claude (694.578473ms) ✔ console (717.138299ms) ✔ T3 a hand-edited unit refuses unit-flags-drift, names the difference and changes nothing (2101.290397ms) ▶ T4 each item 3 refusal changes nothing and logs one line with its code ✔ copy-missing (645.097617ms) ✔ copy-unreachable (616.830339ms) ✔ copy-schema-unknown (555.874244ms) ✔ already-active (569.799355ms) ✔ instance-busy (another business active) (574.35942ms) ✔ instance-busy (this business activating) (591.919346ms) ✔ drop-in-override (623.4242ms) ✔ no-pointer (307.625852ms) ✔ T4 each item 3 refusal changes nothing and logs one line with its code (4486.338896ms) ✔ T5 an activate with no migration stops the Console then the bus, installs, starts the bus then the Console (1526.190097ms) ✔ T6 a migration without --migrate rolls back with migration-needs-flag (1435.237854ms) ✔ T7 --migrate takes the backup before the migration runs (1522.501572ms) ✔ T8 a failed migration restores the backup and keeps the store it replaced (1547.090625ms) ✔ T9 a store outside the target's chain rolls back with store-newer (1454.509449ms) ▶ T10 each gate check failing alone rolls back and puts every file back ✔ units-inactive (4907.250986ms) ✔ bus-status (4155.801725ms) ✔ healthz (4214.824069ms) ✔ copy-check (5553.729641ms) ✔ pm-launch-unconfirmed (4501.187919ms) ✔ T10 each gate check failing alone rolls back and puts every file back (23333.734457ms) ▶ T10b the PM check needs exactly one launched line for a live run of this start ✔ no launched line (5746.619879ms) ✔ two lines (4539.195371ms) ✔ a changed word (4493.792878ms) ✔ run not in launches list (4667.985865ms) ✔ run started before the start (4684.259528ms) ✔ a human launch with no journal line (5763.631416ms) ✔ run for another business (5976.606813ms) ✔ run not live (5965.804028ms) ✔ one well-formed line and a live run pass (1545.074901ms) ✔ T10b the PM check needs exactly one launched line for a live run of this start (43384.467664ms) ✔ T11 a rollback whose gate fails too: rollback-failed, exit 2, both units stopped, no retry (7785.624854ms) ✔ T12 rollback takes the previous copy from the log (2473.354318ms) ✔ T13 a rollback across a migration needs --restore, then restores and goes live (3094.023864ms) ✔ T14 events written after the backup need --events N with the right N (3357.818742ms) ✔ T14b a rollback --restore whose gate fails stops both units and skips item 6 (6126.122839ms) ✔ T14c a rollback without --restore whose gate fails runs item 6 (6357.972245ms) ✔ T15 --plan names the migration and the restore and changes nothing (1928.512293ms) ✔ T26 --plan lists the commits an activate adds, after the migration lines (945.147783ms) ✔ T27 --plan names each migration step, or says the steps cannot be read (740.995495ms) ✔ T25 --plan refuses copies-unrelated when neither copy is an ancestor of the other (338.867594ms) ▶ T23 --plan reads the store without changing a file, stopped or held ✔ stopped store (444.448051ms) ✔ held store (423.472254ms) ✔ T23 --plan reads the store without changing a file, stopped or held (868.441145ms) ✔ T24 business-mismatch and capture-failed refuse with exit 3; a short id is a usage error (1038.459582ms) ✔ T16 status prints the pointer, the log, the check, bus status and drift, and writes nothing (646.177991ms) ✔ T19 a started line with no final line: status shows it and every changing verb refuses (985.735343ms) ✔ T20 a held run lock refuses run-locked without a log line; status and --plan still run (1069.982712ms) ✔ T21 a bus unit with no MOSAIC_CLAUDE_BIN: adopt and activate refuse no-claude-pin (1105.910411ms) ▶ T22 the stopped store read: a -wal or -shm refuses store-unclean and is left alone; a clean read adds no file ✔ bus.sqlite-wal (1425.075821ms) ✔ bus.sqlite-shm (1412.423324ms) ✔ clean (1455.866208ms) ✔ T22 the stopped store read: a -wal or -shm refuses store-unclean and is left alone; a clean read adds no file (4294.000486ms) ▶ T28 a unit path, drop-in directory or drop-in file that cannot be read, or a relative unit path, refuses drop-in-override before any stop ✔ unit path (595.395851ms) ✔ drop-in directory (618.639502ms) ✔ drop-in file (628.929328ms) ✔ relative unit path (658.201288ms) ✔ T28 a unit path, drop-in directory or drop-in file that cannot be read, or a relative unit path, refuses drop-in-override before any stop (2502.004673ms) ▶ T29 a bus that stops during the held-store read: --plan says so, rollback --restore refuses restore-mismatch ✔ --plan (661.793341ms) ✔ rollback --restore (1859.889478ms) ✔ T29 a bus that stops during the held-store read: --plan says so, rollback --restore refuses restore-mismatch (2522.224484ms) ✔ T30 a copy check that agrees on another copy fails the gate with copy-check and rolls back (4269.829524ms) ▶ T31 a quoted or escaped Environment= or ExecStart= is unreadable: refusals by name, nothing read from /a ✔ Environment double quotes (1392.417757ms) ✔ Environment single quotes (1302.547679ms) ✔ Environment backslash (1304.145515ms) ✔ ExecStart quotes (1310.95635ms) ✔ Console ExecStart quotes (1396.882085ms) ✔ T31 a quoted or escaped Environment= or ExecStart= is unreadable: refusals by name, nothing read from /a (6707.939352ms) ▶ T32 item 1: --pm-after-harness refuses a target without harness or a file that sets it, and passes without the PM ✔ usage: not with --pm, and only for activate (501.776766ms) ✔ pm-after-harness-target (755.530987ms) ✔ pm-after-harness-set (1067.089053ms) ✔ a pointer without pm (656.162347ms) ✔ phase 1 installs without --pm, skips pm_launched and writes the pending pointer (1514.255815ms) ✔ T32 item 1: --pm-after-harness refuses a target without harness or a file that sets it, and passes without the PM (4495.716365ms) ▶ T33 item 2: read_pointer takes pmPending only as true beside pm false; a pending pointer refuses activate and shows in status ✔ read_pointer (1086.781224ms) ✔ pm-pending, already-adopted and the status line (2168.440859ms) ✔ T33 item 2: read_pointer takes pmPending only as true beside pm false; a pending pointer refuses activate and shows in status (3255.68649ms) ▶ T34 item 3: pm-on refuses before any stop, passes with the PM, or puts the phase-1 bus back ✔ not-pending (545.032792ms) ✔ harness-unset (1803.561816ms) ✔ a launched line passes: the bus alone restarts with --pm (2700.61456ms) ✔ a failed pm_launched puts the phase-1 unit back: exit 1, still pending (5526.363752ms) ✔ a failed phase-1 gate too: pm-on-down, exit 2, both units stopped (7381.050959ms) ✔ T34 item 3: pm-on refuses before any stop, passes with the PM, or puts the phase-1 bus back (17957.58793ms) ▶ T35 item 4: rollback from pending installs --pm; a plug-in kind the target lacks refuses by name ✔ rollback from pending gates pm_launched on the old copy (2595.326566ms) ✔ after the harness set, rollback refuses until harness is gone (3721.148935ms) ✔ activate names every kind the target lacks (931.764614ms) ✔ T35 item 4: rollback from pending installs --pm; a plug-in kind the target lacks refuses by name (7248.821048ms) ✔ T36 --plan shows the pending state and lists the row 169 refusals it can see (2491.073962ms) ✔ T37 tester-port activate writes pointer and unit, replaces the port, and supported re-pin and rollback keep it (4867.606998ms) ✔ T38 tester-port rollback to unsupported target drops flag in plan, steps, unit and pointer (2639.840992ms) ✔ T39 tester-port explicit unsupported target reads target copy and refuses before stopping either unit (551.061298ms) ✔ T40 tester-port invalid values refuse exit 4 before stopping, including tunnel and main ports (617.742192ms) ✔ T41 tester-port inherited activate to unsupported target drops it and retains drift refusal and failed-run recovery (6731.980338ms) ✔ T42 tester-port pm-on preserves pointer Console flags (2364.708909ms) ▶ T43 row 180 item 1: runs in one second get distinct activation ids, rollback sets and post-attempt stores ✔ activate then pm-on on the same copy (2372.078263ms) ✔ two restores: an old-form id and a suffixed one, each with its own post-attempt store (4926.171516ms) ✔ adopt takes the next free id too (448.784347ms) ✔ all ten names taken: capture-failed before anything stops, and the log line names no activation (725.421307ms) ✔ --restore takes an id with or without -1 to -9 and nothing else (695.556907ms) ✔ T43 row 180 item 1: runs in one second get distinct activation ids, rollback sets and post-attempt stores (9168.979223ms) ▶ T44 row 180 item 2: --plan lists tester-port-invalid and tester-port-target with its other refusals ✔ a bad tester port (1545.395026ms) ✔ without --plan a bad port is usage before any pointer read (279.014588ms) ✔ a target Console without --tester-port (770.056314ms) ✔ T44 row 180 item 2: --plan lists tester-port-invalid and tester-port-target with its other refusals (2595.14524ms) ▶ T45 row 181 items 2 and 3: the restore guard counts events and every COUNTED table ✔ both modes count events and each listed table, and a table the store lacks counts 0 (801.012629ms) ✔ one instance_names row and no event refuses before any stop; --events 1 restores (3402.938378ms) ✔ one usage_records row and no event refuses before any stop; --events 1 restores (3419.247647ms) ✔ a listed table that cannot be read refuses restore-mismatch before any stop (1970.147304ms) ✔ the in-run recount counts the listed tables too (2706.369763ms) ✔ T45 row 181 items 2 and 3: the restore guard counts events and every COUNTED table (12300.688009ms) ✔ T46 row 181 item 4: every table in the bus schema is in exactly one of four lists (2.939483ms) ✔ T178 proxy proof header and path survive re-pin and rollback unchanged in the pointer and unit (2522.301735ms) ✔ T178 proxy proof pair survives a tester-port replacement as well (1707.079088ms) ℹ tests 118 ℹ suites 0 ℹ pass 118 ℹ fail 0 ℹ cancelled 0 ℹ skipped 0 ℹ todo 0 ℹ duration_ms 224558.118523