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=0
test/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_DONE
test/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