Commit4c4c1e6eRecorded25 Aug 2026Repositoryfolio
test: record the F3a gate, sabotage, and merge-inventory transcripts
Message
gate-green.txt: F3A_GATE_GREEN probe_arms=21 sab_arms=8 contention_rounds=5 at 0b99fa0. sabotage-red.txt: F3A_SABOTAGE legs=10 red=10 setup_failed=0 with the restored gate green. merge-inventory.txt: all eight repo gates on the tree proven byte-identical to the merged tree, every verdict classified with its measured cause -- three environment refusals reproduced on master itself, one pre-existing coverage red attributed by a pristine-archive run.
Changed
test/transcripts/f3a/gate-green.txt | 15 +++++++++++++++
test/transcripts/f3a/merge-inventory.txt | 34 ++++++++++++++++++++++++++++++++++
test/transcripts/f3a/sabotage-red.txt | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 104 insertions(+)Diff
test/transcripts/f3a/gate-green.txtadded
@@ -0,0 +1,15 @@
+1
# F3a gate transcript -- provenance+2
# folio: 0b99fa0 (feat/f3a-coordinator; merge-tree vs master b2767df = HEAD^{tree} = e27bdaf8)+3
# sigil: 0.19.2 (163dd929) installed; sigil-doc: f63e98a via dev-redirects+4
# date: 2026-08-25+5
+6
GATE-F3A: building (dev config)...+7
GATE-F3A arm 1: OK+8
GATE-F3A arm 2: OK+9
GATE-F3A arm 3: OK+10
GATE-F3A arm 4: OK+11
GATE-F3A arm 5: OK+12
GATE-F3A arm 6: OK+13
---+14
F3A_GATE_GREEN arms_run=[1 2 3 4 5 6] probe_arms=21 sab_arms=8 contention_rounds=5 sha=0b99fa0+15
GATE_RC=0test/transcripts/f3a/merge-inventory.txtadded
@@ -0,0 +1,34 @@
+1
# F3a four-leg bar, leg 3: full gate inventory on the merged tree -- provenance: branch tip 0b99fa0, master b2767df, merge-tree == HEAD tree (e27bdaf8), 2026-08-25+2
# Verdicts: f3a GREEN / f2b GREEN / f4a GREEN / m0 GREEN+3
# f1a f1b SETUP-REFUSED (dirty ../sigil-doc: 1 uncommitted line in book/practical-sigil/01-useful-first-script.sgd; SAME refusal reproduced from the master checkout at b2767df -- environmental, predates this branch)+4
# f2a SETUP-REFUSED (pinned dev compiler ../task-sigil-language-readers/build/dev/bin/sigil absent; with SIGIL_F2A_COMPILER override it advances to the same dirty-sigil-doc refusal)+5
# sabotage-coverage RED PRE-EXISTING (red on pristine b2767df archive, same five F2b modules; this branch's three modules read covered)+6
+7
=== gate-f1a START 17:27:38 ===+8
gate-f1a RC=1+9
M book/practical-sigil/01-useful-first-script.sgd+10
F1A GATE RED: sigil-doc has 1 uncommitted file(s); evidence produced against it is not reproducible+11
=== gate-f1b START 17:27:38 ===+12
gate-f1b RC=1+13
M book/practical-sigil/01-useful-first-script.sgd+14
F1B GATE RED: sigil-doc has 1 uncommitted file(s); evidence produced against it is not reproducible+15
=== gate-f2a START 17:27:38 ===+16
gate-f2a RC=1+17
F2A GATE RED: compiler not found at /home/daviwil/Projects/Code/sigil/task-f3a-coordinator-folio/../task-sigil-language-readers/build/dev/bin/sigil+18
=== gate-f2b START 17:27:39 ===+19
gate-f2b RC=0+20
==========================================================================+21
GATE-F2B GREEN (sigil 0.19.2, sigil-doc f63e98a)+22
=== gate-f4a START 17:28:30 ===+23
gate-f4a RC=0+24
==========================================================================+25
GATE-F4A GREEN+26
=== gate-m0 START 17:30:42 ===+27
gate-m0 RC=0+28
+29
M0_GATE_GREEN arms=10 corpus=pressure-corpus python=guix shell python+30
=== gate-sabotage-coverage START 17:30:55 ===+31
gate-sabotage-coverage RC=1+32
catch and prove it reddens, or add the module to exempt_modules WITH AN+33
ARGUMENT for why it cannot carry one.+34
INVENTORY_DONEtest/transcripts/f3a/sabotage-red.txtadded
@@ -0,0 +1,55 @@
+1
# F3a sabotage transcript -- provenance: folio 0b99fa0, sigil 0.19.2, sigil-doc f63e98a via dev-redirects, 2026-08-25+2
+3
SAB-F3A LEG S1: remove the revision comparison+4
PREDICT RED: sab-revcheck (a stale write publishes)+5
PREDICT GREEN: sab-uncontended+6
SAB-F3A LEG S1: RED AS PREDICTED+7
SAB-F3A LEG S2: remove rebase precondition 2 (old value unchanged)+8
PREDICT RED: sab-precond2 (a conflicting rebase publishes)+9
PREDICT GREEN: sab-uncontended, sab-rebase-report+10
SAB-F3A LEG S2: RED AS PREDICTED+11
SAB-F3A LEG S3: land the edit at the FIRST MATCHING TEXT, not the span+12
PREDICT RED: sab-span, sab-uncontended, sab-rebase-report (the+13
fixture's prose duplicates catch all three via the+14
postcheck: the value never lands in the task)+15
PREDICT GREEN: sab-journal, sab-revcheck, sab-precond2, sab-postcheck-defends+16
SAB-F3A LEG S3: RED AS PREDICTED+17
SAB-F3A LEG S4a: serializer drops due's closing quote -- the POSTCHECK+18
must refuse and nothing may publish (this leg proves the reparse+19
DEFENDS; S4b then proves the defense is load-bearing)+20
PREDICT RED: sab-span, sab-rebase-report (their due edits refuse)+21
PREDICT GREEN: sab-postcheck-defends (refusal + unchanged bytes is+22
that arm's plant-mode acceptance), sab-uncontended+23
SAB-F3A LEG S4a: RED AS PREDICTED+24
SAB-F3A LEG S4b: S4a's serializer defect PLUS the verify verdict ignored+25
-- skip post-write reparse: the corrupt note PUBLISHES+26
PREDICT RED: sab-postcheck-defends (published corruption), sab-span+27
PREDICT GREEN: sab-uncontended (nothing corrupt to catch on priority)+28
SAB-F3A LEG S4b: RED AS PREDICTED+29
SAB-F3A LEG S5: the coordinator publishes WITHOUT taking the lock+30
PREDICT RED: gate-f3a arm 3 -- some round yields two OKs (a lost+31
update), which is what the lock exists to prevent+32
SAB-F3A LEG S5: RED AS PREDICTED (5 round(s) with a lost update)+33
SAB-F3A LEG S6: the status transition no longer writes its @update+34
PREDICT RED: sab-journal (the count-increase postcheck REFUSES the+35
unjournalled write, so the transition cannot publish)+36
PREDICT GREEN: sab-uncontended+37
SAB-F3A LEG S6: RED AS PREDICTED+38
SAB-F3A LEG S7: acquisition degrades to a SHARED lock (excludes nothing+39
it cooperates with, still conflicts with an exclusive prober)+40
PREDICT RED: sab-coord-init via the SECOND-ACQUISITION direction of+41
the exclusion probe -- the raw-flock direction alone+42
cannot see this plant, which is why 1b exists+43
SAB-F3A LEG S7: RED AS PREDICTED+44
SAB-F3A LEG S8: a successful rebase stops reporting itself+45
PREDICT RED: sab-rebase-report (precondition 5: a silent rebase is a+46
defect even when byte-correct)+47
PREDICT GREEN: sab-uncontended+48
SAB-F3A LEG S8: RED AS PREDICTED+49
SAB-F3A LEG SA: assertion layer -- flip sab-revcheck's expected reason+50
PREDICT RED: sab-revcheck (the driver's own assertions are live)+51
SAB-F3A LEG SA: RED AS PREDICTED+52
SAB-F3A: restoring and re-running the FULL gate as the restore proof+53
SAB-F3A: restored gate GREEN+54
---+55
F3A_SABOTAGE legs=10 red=10 setup_failed=0