Candidate on 96656dd21: broker split refuses invalid-recommendation after the
option checks, raise_decision text asks for one key and names the yes default,
bus README codes table, broker and tools tests. Mutants m1 (old shared line)
and m2 (order swapped) killed; full gate passed 15:42:03-15:47:36Z.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
167 lines
14 KiB
Plaintext
167 lines
14 KiB
Plaintext
✔ F1: an ordinary commit after update-ref is refused until step 8; then it commits and the queue stays at C (1149.380429ms)
|
||
✔ F1: a plain `commit -e` whose guard ran before update-ref fails at its own HEAD update (949.468577ms)
|
||
ℹ 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 (921.782072ms)
|
||
ℹ 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 (1032.796334ms)
|
||
✔ F1: HEAD moving after the step-7 guard check and before update-ref: refused, nothing published (990.942211ms)
|
||
✔ F1: H is recorded before the canary, so HEAD moving during the step-1 canary is refused at step 7 (957.397284ms)
|
||
✔ F1: a queue commit landing after H is recorded: step 1 says HEAD moved, not the guard (1324.064092ms)
|
||
✔ F1: a queue commit landing between the HEAD check and the canary: the failed clean run is reported as HEAD moved (907.09421ms)
|
||
✔ F1: a shared-index change during the procedure is not committed (993.535272ms)
|
||
✔ F1: a queue path staged after update-ref: step 8 stops and touches nothing (1019.058678ms)
|
||
✔ F1: a missing or a different hook refuses (697.588244ms)
|
||
✔ F1: same bytes without the exec bit, a symlinked hook, and core.hooksPath in the local or global scope each refuse before update-ref (1160.631529ms)
|
||
✔ F1: the canary refuses a hook that git would not run (623.499978ms)
|
||
✔ F1: the guard deactivated after step 1 is refused at the step-7 recheck (907.160711ms)
|
||
✔ bootstrap: implementation-only HEAD, the guard, genesis, the --genesis commit, then an extending commit (854.126379ms)
|
||
✔ bootstrap: --genesis with a base present, no base without --genesis, an op before the first commit, a changed map, another branch (880.291177ms)
|
||
✔ bootstrap: the archived tests and validator run outside any repository (886.556005ms)
|
||
✔ general: an unrelated staged file stays staged, and the committed blobs are the snapshot bytes (889.273633ms)
|
||
✔ general: a queue write after the snapshot is not committed (1269.174517ms)
|
||
✔ general: a snapshot whose log does not extend the base refuses (1034.614605ms)
|
||
✔ general: install-hook privilege, repair of a same-bytes hook, and its refusals (150.577253ms)
|
||
✔ general: environment overrides, a linked worktree and usage (571.703156ms)
|
||
✔ general: a queue path staged before the run refuses at step 1 (624.458579ms)
|
||
✔ general: HEAD's queue tests failing in the archive refuse (813.61275ms)
|
||
✔ genesis document serializes deterministically and replays (3.742845ms)
|
||
✔ a hand edit that stays valid JSON fails replay; a formatting-only edit fails re-serialization (2.215204ms)
|
||
✔ a tampered result, receipt or viewSha fails replay (2.057948ms)
|
||
✔ op ids: 8 to 72 characters for callers, 80 in the log for .outcome entries (0.154453ms)
|
||
✔ add: defaults for an ordinary seat, privileged extras, refusals (3.185192ms)
|
||
✔ matrix: queued→briefed privileged; briefed→in-progress owner with after satisfied (4.531128ms)
|
||
✔ matrix: release, review round, changes requested and waiting-on-jason (11.575756ms)
|
||
✔ matrix J5: in-review→done by the gate owner with evidence naming the current round (8.262255ms)
|
||
✔ review issue, lead decision 23: none refuses, one is used, several need --issue, later rounds keep it (20.595764ms)
|
||
✔ the row schema refuses a round with a null issue, and the A1 review shape (P2) (2.239134ms)
|
||
✔ matrix R1: every state × target × actor class matches 8.7, gate owner jason or not, required or not (1243.708539ms)
|
||
✔ matrix: blocked keeps the claim and returns only to previousState (3.831238ms)
|
||
✔ matrix J4: parking is Jason's, refused while required; unpark returns to queued (2.579835ms)
|
||
✔ field edits: who may change what (5.10092ms)
|
||
✔ set issues keeps a logged narrowing of closes (N10) (3.070298ms)
|
||
✔ text the table shows refuses \ and <, everywhere it enters (N8) (1.981537ms)
|
||
✔ every accepted text renders to nine cells on every row (N8) (23.343539ms)
|
||
✔ genesis: the map refuses an owner among its row's reviewers; replay doesn't (2026-10-04) (0.468057ms)
|
||
✔ times and dates must be calendar values, not just the shape (2026-10-04) (1.469578ms)
|
||
✔ replay holds every op id to the caller's rule (N11) (4.290307ms)
|
||
✔ note: owner, listed reviewer or privileged; empty clears (1.016234ms)
|
||
✔ assign moves the claim with the owner; done clears it (2.162139ms)
|
||
✔ render is byte-stable and escapes pipes (0.418311ms)
|
||
✔ view classification: current, genuine stale, edited stale marker, changed current body, markers (0.519907ms)
|
||
✔ next: resume, then review, then start, then wait, then nothing; lowest id first (15.337544ms)
|
||
✔ canonical args make a retry's identity independent of list order (0.258307ms)
|
||
✔ manifests, headings and blob ids (0.382302ms)
|
||
✔ the migration map: one queue-map block, exact keys (0.504469ms)
|
||
✔ every call but `queue` reaches the seat CLI exactly as before A2 (472.944852ms)
|
||
✔ no argument reaches the app entry in packages/cli, and only that call (63.779339ms)
|
||
✔ `queue` reaches the queue CLI with the rest of the arguments (166.651396ms)
|
||
✔ the pre-A2 fixture is the script A2 changed (0.282208ms)
|
||
✔ an old privileged add with no gate owner still replays through loadDoc, and gets jason (5.092541ms)
|
||
✔ a non-privileged add gets jason through the replay path and can't name a gate owner (1.858295ms)
|
||
✔ the CLI refuses a privileged add without --gate-owner, for jason and sage, and writes nothing (275.13235ms)
|
||
✔ the CLI add with --gate-owner carries the named owner and records a log entry (259.578055ms)
|
||
✔ the CLI add by a non-privileged seat gets jason and can't name a gate owner (297.659892ms)
|
||
✔ a retried sage add recorded with no gate owner answers (already recorded at rev N) and writes nothing (238.890917ms)
|
||
✔ acquire publishes the record by link; release removes only its own lock (10.080527ms)
|
||
✔ a kill between the temp write and the link leaves no lock (56.231503ms)
|
||
✔ a short or failed temp write refuses and leaves no lock and no temp (9.286231ms)
|
||
✔ a link error other than EEXIST refuses (9.857617ms)
|
||
✔ an error after the link releases the lock: unreadable gate, failing temp stat (19.802365ms)
|
||
✔ a release that fails on a gate path is reported, never a stack trace (P1) (36.707609ms)
|
||
✔ a paused holder: another writer waits 10 s, then refuses naming it live (10086.32092ms)
|
||
✔ two concurrent unlockers: the second refuses on the gate (33.948216ms)
|
||
✔ a writer publishing during an unlock, lock first: unlock sees it live and refuses (10.92439ms)
|
||
✔ a writer publishing during an unlock, gate first: the writer releases and refuses (11.071828ms)
|
||
✔ a gate swapped while held is left in place and reported, on success and on refusal (N1) (20.759836ms)
|
||
✔ a reused pid within one boot is mismatch; unlock removes the lock and never signals the process (18.18423ms)
|
||
✔ the same pid and start on a different boot is mismatch (0.529732ms)
|
||
✔ a foreign host is unknown whatever the local pid says; unlock refuses (69.729569ms)
|
||
✔ unreadable /proc: classification is unknown and acquire refuses (0.629645ms)
|
||
✔ invalid records: empty, unparsable, wrong keys, bad start or boot (0.186273ms)
|
||
✔ a stale gate blocks writers; --check-gate says mismatch for a reused pid (19.461342ms)
|
||
✔ a delayed release by a dead owner, after unlock and a new owner: the inode check keeps the new lock (24.618717ms)
|
||
✔ release checks the inode too: a byte-identical lock file with a new inode is left in place (11.14782ms)
|
||
✔ unlock refuses a live, unknown or invalid lock, and does nothing without one (37.64565ms)
|
||
✔ the migration map validates and renders the golden genesis table (3.563266ms)
|
||
✔ the marked QUEUE.md holds every row and parked item between its markers (1.660464ms)
|
||
✔ map-check reports each kind of drift (4.642478ms)
|
||
✔ a request posts once as the requester; a retry sends nothing (793.76281ms)
|
||
✔ each transport answer maps to posted, failed or uncertain (8.9 step 3) (4353.489616ms)
|
||
✔ the pre-send checks: GET user must name the requester, under the deadline (1637.468193ms)
|
||
✔ the lead's request refuses a token for login sage (915.370625ms)
|
||
✔ the credential file: the seat's own, 0600, no symlink, never the shared default (770.617388ms)
|
||
✔ an unresolved request blocks a new request, a new round, waiting-on-jason and done (2238.084829ms)
|
||
✔ a same-op retry after a kill sends nothing, even with a stale view (2925.791168ms)
|
||
✔ a held lock at the outcome exits 3 and names what the transport said (665.204744ms)
|
||
✔ late outcomes: after an abandon, and after a resolve with the same or another id (2311.969543ms)
|
||
✔ resolve checks the comment: issue, markers, round, candidate and author (1658.729158ms)
|
||
✔ the lead resolves a seat's request: the comment's author is the requester, fetched with the lead's token (744.971824ms)
|
||
✔ validateRow checks a request round's shape, which every replayed entry must keep (488.70001ms)
|
||
✔ request, changes, a new candidate, approval: every round pinned; no review files (1651.978976ms)
|
||
✔ a row with no reviewers opens a round that posts nothing (1101.423804ms)
|
||
✔ verify-commit: a prospective tree must hold exactly the candidate's paths (1278.386918ms)
|
||
✔ semantics: v1 entries replay as before; review entries need v2 (473.748024ms)
|
||
✔ set reviewers refuses the row's owner (2026-09-28) (332.422152ms)
|
||
✔ the owner records no verdict, even as a listed reviewer (481.245762ms)
|
||
✔ a request comment over the length limit is not sent (536.704991ms)
|
||
✔ a late POST on a closed row leaves a conflict nothing can resolve, and resolve asks nothing (641.43775ms)
|
||
✔ a Jason-gated row reaches waiting-on-jason only on every reviewer's approval (2406.353129ms)
|
||
✔ genesis: refusals before anything is written (384.625989ms)
|
||
✔ genesis: the map must be committed, well formed, with committed briefs and seats (557.484018ms)
|
||
✔ genesis: markers, a stray witness, once only; a retry returns the receipt (514.477875ms)
|
||
✔ genesis: a file holding genesis alone with no witness is confirmed by sync or a retry (398.785058ms)
|
||
✔ canonical checks: worktree, second clone, detached HEAD, wrong branch, GIT_DIR, foreign code; a symlink works (593.030117ms)
|
||
✔ --by that differs from MOSAIC_AGENT_NAME warns on stderr and logs nothing more (N12) (775.718263ms)
|
||
✔ op ids: missing, too long, reserved; a retry answers; another payload refuses (730.740744ms)
|
||
✔ a retried add returns the id it first allocated, after reassignment and after done (938.780827ms)
|
||
✔ Rocko's S4 schedule: a lost result, another writer, then the retry opens no second round (693.162227ms)
|
||
✔ the review issue and the evidence round through the CLI (lead decision 23, 8.7) (1240.365656ms)
|
||
✔ claims and add defaults through the CLI; candidates are manifests or reachable commits (814.935144ms)
|
||
✔ add, set reviewers and assign refuse the row's owner as a reviewer (497.040787ms)
|
||
✔ the working-brief check: a changed working copy refuses the start and flags next (621.412437ms)
|
||
✔ next: resume first, then nothing for an idle seat; needs a seat (290.330257ms)
|
||
✔ view stale: new ops and verify refuse naming the unshown op; retries answer; reads warn; render fixes (663.655317ms)
|
||
✔ view unknown: a hand edit, an old marker over an edited body, missing or duplicate markers (1142.281245ms)
|
||
✔ a hand edit to queue.json refuses every verb, reads included (568.906621ms)
|
||
✔ verify and render --check leave bytes and mtimes unchanged (412.210211ms)
|
||
✔ render is byte-stable across runs and repositories (289.181861ms)
|
||
✔ snapshot and verify --snapshot (754.066726ms)
|
||
✔ usage errors exit 4 (510.336152ms)
|
||
✔ a short write, ENOSPC or a file fsync failure: nothing visible, temp removed (277.388881ms)
|
||
✔ a rename failure: nothing visible, temp removed (186.751956ms)
|
||
✔ a directory fsync failure: uncertain, exit 3, no receipt; the tail refuses new ops; a retry confirms (225.850926ms)
|
||
✔ a directory fsync failure, then sync names the op (357.664794ms)
|
||
✔ a witness write failure: uncertain, durable, exit 3; the view is untouched (215.379603ms)
|
||
✔ the .git fsync after the witness rename fails: uncertain, exit 3, the witness says so (180.545767ms)
|
||
✔ confirming a tail fsyncs queue.json and docs/plans before the witness; either failure changes nothing (235.734747ms)
|
||
✔ the docs/plans fsync after the view rename fails: the op stands, the view is written, a warning says so (201.079426ms)
|
||
✔ a lock swapped while held is left in place and reported, on a receipt and on a refusal (219.123361ms)
|
||
✔ a lock that cannot be released after an op is reported, on a receipt and on a refusal (213.523547ms)
|
||
✔ unlock prints a swapped gate's warning on stderr, the result on stdout (153.182496ms)
|
||
✔ a view write that fails keeps the op and reports a stale view (191.65441ms)
|
||
✔ SIGKILL before the rename: nothing recorded; the retry removes the leftover temp (677.127354ms)
|
||
✔ SIGKILL after the rename, before the witness: the tail refuses new ops and sync names the op (655.543687ms)
|
||
✔ SIGKILL after the witness, before the view: the stale refusal names the op (630.099024ms)
|
||
✔ SIGKILL after the view, before the receipt: the retry returns the receipt (659.067206ms)
|
||
✔ git checkout between steps 1 and 7: step 7 refuses and nothing is written (255.251276ms)
|
||
✔ git stash restoring an older valid pair: history lost; accept-history needs privilege, a reason and --yes (985.792243ms)
|
||
✔ a deleted witness: refused after the locked recheck; accept-history records it absent (325.244857ms)
|
||
✔ a header edit during a write: the op stands, the view write is skipped with a warning (214.376983ms)
|
||
✔ a reader paused between the witness and the file while a writer finishes: no lost-history report (216.289199ms)
|
||
✔ rows: every row as show prints it, in list order; writes nothing; same notes and refusals as list (264.276829ms)
|
||
✔ file-then-witness order forced by a hook: the locked recheck prevents a false report (224.456625ms)
|
||
✔ a writer paused before and after the witness rename: readers see a tail, then a match (208.257346ms)
|
||
✔ a true rollback is reported only after the locked recheck; a held lock names its holder instead (608.068961ms)
|
||
✔ an accept-history in progress: an unlocked reader waits on the lock and never reports lost history (597.464227ms)
|
||
✔ the platform check refuses other filesystems (141.969576ms)
|
||
✔ tmpfs passes only a test layer that allows it (N5) (213.767931ms)
|
||
✔ unlock keeps a multi-line lock record on stdout (P3) (229.488986ms)
|
||
ℹ tests 156
|
||
ℹ suites 0
|
||
ℹ pass 156
|
||
ℹ fail 0
|
||
ℹ cancelled 0
|
||
ℹ skipped 0
|
||
ℹ todo 0
|
||
ℹ duration_ms 28487.502147
|