AtlatestRepositoryfolio

folio / tree / test / transcripts / f2asabotage-red.txt

1F2a SABOTAGE TRANSCRIPT -- every arm shown able to go RED (post Fable fix round)
2Produced: 2026-08-11T18:10:27Z
3folio branch : feat/passive-inspector
4sigil-doc : 6d090f36e07236c8ee09044f60cdb19f932c4afd v0.1.2
5compiler : sigil 0.18.3 (sigil-lang 0.18.3-dev+0ed19fd1)
6
7Each leg runs the gate with F2A_GATE_ONLY_ARM set to the arm it must redden, so
8an arm that overlaps another is still shown able to fail ON ITS OWN assertion.
9A selective run cannot print F2A_GATE_GREEN. Each leg additionally requires its
10arm's own '--- arm N' line, so a leg that died upstream of the assertion it is
11testing is caught rather than counted as a red.
13S15 closes HIGH finding 7 (the guard narrowing), which had no closing leg until
14Fable's review pointed out the worker's own S13/S14 standard was applied one
15finding short. S12 now plants a NESTED callable, so the recursive walk -- not
16just the top-level check -- has a red-direction proof.
17======================================================================
19=== F2a sabotage: 9e36cf4841eadb1ee0d435d0f8623fb70b8908b6 ===
20=== python3: Python 3.11.14 (via guix shell python) ===
21=== sigil-doc: 6d090f36e07236c8ee09044f60cdb19f932c4afd ===
22S1: byte offsets become scalar offsets
23 [S1 characters-not-bytes] RED as required (arm 3), signature matched: encodes to byte
24S2: every field span becomes its node's span
25 [S2 field span widened] RED as required (arm 3), signature matched: field span is identical to the whole node's span
26S3: duplicate ids stop being ambiguous
27 [S3 duplicate resolves silently] RED as required (arm 2), signature matched: inspector suite exited non-zero
28S4: only one diagnostic per duplicated id
29 [S4 one diagnostic per duplicate] RED as required (arm 6), signature matched: duplicate-node-id diagnostics, got 1
30S5: the fixture's stdout tripwire is made a no-op (instrument layer)
31 [S5 disarmed positive control] RED as required (arm 4), signature matched: positive control: evaluating the fixture did not print
32S6a: the witness probe stops extracting fields at all (instrument layer)
33 [S6a probe inspected nothing] RED as required (arm 4), signature matched: it inspected nothing
34S6b: the probe extracts fields but skips the argument-position one (instrument layer)
35 [S6b channel 3 unexercised] RED as required (arm 4), signature matched: channel 3 was never exercised
36S7: parse errors stop carrying a position
37 [S7 unlocated diagnostics] RED as required (arm 5), signature matched: did not produce an error diagnostic with code parse-error
38S8: 'question' leaves the folio vocabulary
39 [S8 omitted node kind] RED as required (arm 7), signature matched: disagree
40S9: the passive core imports (sigil fs)
41 [S9 filesystem in the passive core] RED as required (arm 8), signature matched: outside the passive allowlist
42S10: the expected duplicate-id status is altered (assertion layer)
43 [S10 altered expectation] RED as required (arm 2), signature matched: inspector suite exited non-zero
44S13: end-line/end-column report the START position
45 [S13 end position ungraded] RED as required (arm 3), signature matched: end-line
46S14: the column index stops advancing
47 [S14 column disagrees with the parser] RED as required (arm 2), signature matched: line and column agree with the parser
48S12: a field value becomes a procedure
49 [S12 nested callable in the descriptor] RED as required (arm 3), signature matched: it is not inert data
50S15: an internal error inside convert-node
51 [S15 inspector bug is not a document diagnostic] RED as required (arm 3), signature matched: span manifest probe exited non-zero
52S11: the passive core stops compiling
53 [S11 broken build] RED as required (arm 1), signature matched: build exited non-zero
55 S1 characters-not-bytes RED@arm3
56 S2 field span widened RED@arm3
57 S3 duplicate resolves silently RED@arm2
58 S4 one diagnostic per duplicate RED@arm6
59 S5 disarmed positive control RED@arm4
60 S6a probe inspected nothing RED@arm4
61 S6b channel 3 unexercised RED@arm4
62 S7 unlocated diagnostics RED@arm5
63 S8 omitted node kind RED@arm7
64 S9 filesystem in the passive core RED@arm8
65 S10 altered expectation RED@arm2
66 S13 end position ungraded RED@arm3
67 S14 column disagrees with the parser RED@arm2
68 S12 nested callable in the descriptor RED@arm3
69 S15 inspector bug is not a document diagnostic RED@arm3
70 S11 broken build RED@arm1
71F2A_SABOTAGE legs=16 red=16
72F2A_SABOTAGE_COMPLETE all legs red