✔ F1: an ordinary commit after update-ref is refused until step 8; then it commits and the queue stays at C (1262.559753ms) ✔ F1: a plain `commit -e` whose guard ran before update-ref fails at its own HEAD update (960.782477ms) ℹ git commit -e: index.lock free during the editor ✔ F1: a `commit -e -- path` whose guard ran before update-ref fails at its own HEAD update (937.206331ms) ℹ git commit -e -- src.txt: index.lock held during the editor ✔ F1: step 8 with index.lock held exits 3, and ordinary commits stay refused until the printed command runs (1014.1323ms) ✔ F1: HEAD moving after the step-7 guard check and before update-ref: refused, nothing published (1024.850086ms) ✔ F1: H is recorded before the canary, so HEAD moving during the step-1 canary is refused at step 7 (990.049756ms) ✔ F1: a queue commit landing after H is recorded: step 1 says HEAD moved, not the guard (1316.541269ms) ✔ F1: a queue commit landing between the HEAD check and the canary: the failed clean run is reported as HEAD moved (963.574158ms) ✔ F1: a shared-index change during the procedure is not committed (1022.940677ms) ✔ F1: a queue path staged after update-ref: step 8 stops and touches nothing (1091.296385ms) ✔ F1: a missing or a different hook refuses (757.76171ms) ✔ F1: same bytes without the exec bit, a symlinked hook, and core.hooksPath in the local or global scope each refuse before update-ref (1202.359456ms) ✔ F1: the canary refuses a hook that git would not run (628.769215ms) ✔ F1: the guard deactivated after step 1 is refused at the step-7 recheck (958.672708ms) ✔ bootstrap: implementation-only HEAD, the guard, genesis, the --genesis commit, then an extending commit (862.013741ms) ✔ bootstrap: --genesis with a base present, no base without --genesis, an op before the first commit, a changed map, another branch (870.844237ms) ✔ bootstrap: the archived tests and validator run outside any repository (913.902483ms) ✔ general: an unrelated staged file stays staged, and the committed blobs are the snapshot bytes (868.10661ms) ✔ general: a queue write after the snapshot is not committed (1259.314051ms) ✔ general: a snapshot whose log does not extend the base refuses (946.809429ms) ✔ general: install-hook privilege, repair of a same-bytes hook, and its refusals (153.299891ms) ✔ general: environment overrides, a linked worktree and usage (590.498429ms) ✔ general: a queue path staged before the run refuses at step 1 (640.689667ms) ✔ general: HEAD's queue tests failing in the archive refuse (865.280394ms) ✔ genesis document serializes deterministically and replays (5.157478ms) ✔ a hand edit that stays valid JSON fails replay; a formatting-only edit fails re-serialization (3.151668ms) ✔ a tampered result, receipt or viewSha fails replay (2.991444ms) ✔ op ids: 8 to 72 characters for callers, 80 in the log for .outcome entries (0.151578ms) ✔ add: defaults for an ordinary seat, privileged extras, refusals (3.658169ms) ✔ matrix: queued→briefed privileged; briefed→in-progress owner with after satisfied (4.754448ms) ✔ matrix: release, review round, changes requested and waiting-on-jason (12.841509ms) ✔ matrix J5: in-review→done by the gate owner with evidence naming the current round (7.802121ms) ✔ review issue, lead decision 23: none refuses, one is used, several need --issue, later rounds keep it (18.239017ms) ✔ the row schema refuses a round with a null issue, and the A1 review shape (P2) (2.110697ms) ✔ matrix R1: every state × target × actor class matches 8.7, gate owner jason or not, required or not (1419.908622ms) ✔ matrix: blocked keeps the claim and returns only to previousState (3.436772ms) ✔ matrix J4: parking is Jason's, refused while required; unpark returns to queued (2.462469ms) ✔ field edits: who may change what (4.25801ms) ✔ set issues keeps a logged narrowing of closes (N10) (2.384926ms) ✔ text the table shows refuses \ and <, everywhere it enters (N8) (1.62736ms) ✔ every accepted text renders to nine cells on every row (N8) (20.381325ms) ✔ genesis: the map refuses an owner among its row's reviewers; replay doesn't (2026-10-04) (0.486924ms) ✔ times and dates must be calendar values, not just the shape (2026-10-04) (1.468403ms) ✔ replay holds every op id to the caller's rule (N11) (4.710186ms) ✔ note: owner, listed reviewer or privileged; empty clears (1.098741ms) ✔ assign moves the claim with the owner; done clears it (2.343832ms) ✔ render is byte-stable and escapes pipes (0.442445ms) ✔ view classification: current, genuine stale, edited stale marker, changed current body, markers (0.550556ms) ✔ next: resume, then review, then start, then wait, then nothing; lowest id first (15.818532ms) ✔ canonical args make a retry's identity independent of list order (0.304512ms) ✔ manifests, headings and blob ids (0.3898ms) ✔ the migration map: one queue-map block, exact keys (0.510962ms) ✔ every call but `queue` reaches the seat CLI exactly as before A2 (548.670972ms) ✔ no argument reaches the app entry in packages/cli, and only that call (70.942122ms) ✔ `queue` reaches the queue CLI with the rest of the arguments (186.670958ms) ✔ the pre-A2 fixture is the script A2 changed (0.410739ms) ✔ an old privileged add with no gate owner still replays through loadDoc, and gets jason (5.276974ms) ✔ a non-privileged add gets jason through the replay path and can't name a gate owner (1.981716ms) ✔ the CLI refuses a privileged add without --gate-owner, for jason and sage, and writes nothing (280.479973ms) ✔ the CLI add with --gate-owner carries the named owner and records a log entry (279.37693ms) ✔ the CLI add by a non-privileged seat gets jason and can't name a gate owner (326.436194ms) ✔ a retried sage add recorded with no gate owner answers (already recorded at rev N) and writes nothing (262.20533ms) ✔ acquire publishes the record by link; release removes only its own lock (8.539708ms) ✔ a kill between the temp write and the link leaves no lock (53.317824ms) ✔ a short or failed temp write refuses and leaves no lock and no temp (6.771825ms) ✔ a link error other than EEXIST refuses (9.598215ms) ✔ an error after the link releases the lock: unreadable gate, failing temp stat (17.898579ms) ✔ a release that fails on a gate path is reported, never a stack trace (P1) (38.154806ms) ✔ a paused holder: another writer waits 10 s, then refuses naming it live (10086.30987ms) ✔ two concurrent unlockers: the second refuses on the gate (40.321837ms) ✔ a writer publishing during an unlock, lock first: unlock sees it live and refuses (19.529924ms) ✔ a writer publishing during an unlock, gate first: the writer releases and refuses (20.715134ms) ✔ a gate swapped while held is left in place and reported, on success and on refusal (N1) (16.567055ms) ✔ a reused pid within one boot is mismatch; unlock removes the lock and never signals the process (13.418003ms) ✔ the same pid and start on a different boot is mismatch (0.468532ms) ✔ a foreign host is unknown whatever the local pid says; unlock refuses (85.585415ms) ✔ unreadable /proc: classification is unknown and acquire refuses (0.678655ms) ✔ invalid records: empty, unparsable, wrong keys, bad start or boot (0.185589ms) ✔ a stale gate blocks writers; --check-gate says mismatch for a reused pid (20.281144ms) ✔ a delayed release by a dead owner, after unlock and a new owner: the inode check keeps the new lock (16.658086ms) ✔ release checks the inode too: a byte-identical lock file with a new inode is left in place (5.573601ms) ✔ unlock refuses a live, unknown or invalid lock, and does nothing without one (33.814431ms) ✔ the migration map validates and renders the golden genesis table (2.956998ms) ✔ the marked QUEUE.md holds every row and parked item between its markers (1.223013ms) ✔ map-check reports each kind of drift (6.826644ms) ✔ a request posts once as the requester; a retry sends nothing (835.764092ms) ✔ each transport answer maps to posted, failed or uncertain (8.9 step 3) (4233.402885ms) ✔ the pre-send checks: GET user must name the requester, under the deadline (1556.674154ms) ✔ the lead's request refuses a token for login sage (925.441511ms) ✔ the credential file: the seat's own, 0600, no symlink, never the shared default (853.662401ms) ✔ an unresolved request blocks a new request, a new round, waiting-on-jason and done (2324.566948ms) ✔ a same-op retry after a kill sends nothing, even with a stale view (3121.603791ms) ✔ a held lock at the outcome exits 3 and names what the transport said (682.455562ms) ✔ late outcomes: after an abandon, and after a resolve with the same or another id (2260.694359ms) ✔ resolve checks the comment: issue, markers, round, candidate and author (1645.015841ms) ✔ the lead resolves a seat's request: the comment's author is the requester, fetched with the lead's token (669.105461ms) ✔ validateRow checks a request round's shape, which every replayed entry must keep (462.470375ms) ✔ request, changes, a new candidate, approval: every round pinned; no review files (1707.091203ms) ✔ a row with no reviewers opens a round that posts nothing (1164.922653ms) ✔ verify-commit: a prospective tree must hold exactly the candidate's paths (1321.481119ms) ✔ semantics: v1 entries replay as before; review entries need v2 (485.071259ms) ✔ set reviewers refuses the row's owner (2026-09-28) (350.74579ms) ✔ the owner records no verdict, even as a listed reviewer (475.594632ms) ✔ a request comment over the length limit is not sent (579.811923ms) ✔ a late POST on a closed row leaves a conflict nothing can resolve, and resolve asks nothing (655.541969ms) ✔ a Jason-gated row reaches waiting-on-jason only on every reviewer's approval (2430.596025ms) ✔ genesis: refusals before anything is written (443.74271ms) ✔ genesis: the map must be committed, well formed, with committed briefs and seats (607.727626ms) ✔ genesis: markers, a stray witness, once only; a retry returns the receipt (522.095676ms) ✔ genesis: a file holding genesis alone with no witness is confirmed by sync or a retry (386.226222ms) ✔ canonical checks: worktree, second clone, detached HEAD, wrong branch, GIT_DIR, foreign code; a symlink works (603.933253ms) ✔ --by that differs from MOSAIC_AGENT_NAME warns on stderr and logs nothing more (N12) (719.027006ms) ✔ op ids: missing, too long, reserved; a retry answers; another payload refuses (723.060146ms) ✔ a retried add returns the id it first allocated, after reassignment and after done (918.016699ms) ✔ Rocko's S4 schedule: a lost result, another writer, then the retry opens no second round (671.823368ms) ✔ the review issue and the evidence round through the CLI (lead decision 23, 8.7) (1202.000118ms) ✔ claims and add defaults through the CLI; candidates are manifests or reachable commits (820.536012ms) ✔ add, set reviewers and assign refuse the row's owner as a reviewer (549.803003ms) ✔ the working-brief check: a changed working copy refuses the start and flags next (648.937468ms) ✔ next: resume first, then nothing for an idle seat; needs a seat (307.756726ms) ✔ view stale: new ops and verify refuse naming the unshown op; retries answer; reads warn; render fixes (667.631106ms) ✔ view unknown: a hand edit, an old marker over an edited body, missing or duplicate markers (1188.71503ms) ✔ a hand edit to queue.json refuses every verb, reads included (593.343963ms) ✔ verify and render --check leave bytes and mtimes unchanged (424.353985ms) ✔ render is byte-stable across runs and repositories (290.67542ms) ✔ snapshot and verify --snapshot (760.894849ms) ✔ usage errors exit 4 (527.65888ms) ✔ a short write, ENOSPC or a file fsync failure: nothing visible, temp removed (273.569734ms) ✔ a rename failure: nothing visible, temp removed (209.904904ms) ✔ a directory fsync failure: uncertain, exit 3, no receipt; the tail refuses new ops; a retry confirms (255.897309ms) ✔ a directory fsync failure, then sync names the op (389.035859ms) ✔ a witness write failure: uncertain, durable, exit 3; the view is untouched (203.851909ms) ✔ the .git fsync after the witness rename fails: uncertain, exit 3, the witness says so (188.969439ms) ✔ confirming a tail fsyncs queue.json and docs/plans before the witness; either failure changes nothing (202.028288ms) ✔ the docs/plans fsync after the view rename fails: the op stands, the view is written, a warning says so (195.526564ms) ✔ a lock swapped while held is left in place and reported, on a receipt and on a refusal (195.403569ms) ✔ a lock that cannot be released after an op is reported, on a receipt and on a refusal (199.173797ms) ✔ unlock prints a swapped gate's warning on stderr, the result on stdout (141.649238ms) ✔ a view write that fails keeps the op and reports a stale view (174.203888ms) ✔ SIGKILL before the rename: nothing recorded; the retry removes the leftover temp (657.2067ms) ✔ SIGKILL after the rename, before the witness: the tail refuses new ops and sync names the op (685.236927ms) ✔ SIGKILL after the witness, before the view: the stale refusal names the op (614.595647ms) ✔ SIGKILL after the view, before the receipt: the retry returns the receipt (624.32273ms) ✔ git checkout between steps 1 and 7: step 7 refuses and nothing is written (242.144809ms) ✔ git stash restoring an older valid pair: history lost; accept-history needs privilege, a reason and --yes (1022.892723ms) ✔ a deleted witness: refused after the locked recheck; accept-history records it absent (336.401464ms) ✔ a header edit during a write: the op stands, the view write is skipped with a warning (228.707875ms) ✔ a reader paused between the witness and the file while a writer finishes: no lost-history report (205.495581ms) ✔ rows: every row as show prints it, in list order; writes nothing; same notes and refusals as list (273.039122ms) ✔ file-then-witness order forced by a hook: the locked recheck prevents a false report (223.600117ms) ✔ a writer paused before and after the witness rename: readers see a tail, then a match (217.24114ms) ✔ a true rollback is reported only after the locked recheck; a held lock names its holder instead (620.210183ms) ✔ an accept-history in progress: an unlocked reader waits on the lock and never reports lost history (567.346659ms) ✔ the platform check refuses other filesystems (147.796188ms) ✔ tmpfs passes only a test layer that allows it (N5) (211.307043ms) ✔ unlock keeps a multi-line lock record on stdout (P3) (214.938974ms) ℹ tests 156 ℹ suites 0 ℹ pass 156 ℹ fail 0 ℹ cancelled 0 ℹ skipped 0 ℹ todo 0 ℹ duration_ms 28822.991906