Skip to content

Commit 0fdb658

Browse files
committed
docs: W26 spec — falsification location reversed Step A → Step B verification
Per supervisor [chat L2472] + testkeeper [chat L2471] + theologian [chat L2475] reversal: pre-Step-B mutation requires bridges-as-code with callers; LITE SPECs are text only. Falsification must happen AFTER Step B implementation during STRICT verify cycle. Reverses 1ed0155 PRE-Step-B framing: - 1ed0155 specified Step A falsification (mutation BEFORE Step B implementation). Insufficiently grounded — mutation against non-existent code has no callers, can't fail to compile. - This commit moves falsification to Step B verification phase (post-implementation, part of STRICT verify cycle). Matches W25b §5.1 narrower-falsifier precedent. Net change: removed Step A falsification subsection (was lines after Step A bridge-inventory). Added Step B verification subsection with same procedure but post-implementation framing. Step C renamed to "extended verification" for clarity. General principle (future workstream specs): post-Step-B falsification test required in gate-completion criteria. Bridge inventory completeness must be empirically falsified post-implementation.
1 parent 1ed0155 commit 0fdb658

1 file changed

Lines changed: 29 additions & 30 deletions

File tree

docs/w26-emitanycall-full-conversion.md

Lines changed: 29 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -129,35 +129,6 @@ generalist [chat L2461] + theologian [chat L2466] (B) decision):
129129

130130
Theologian pre-audits each LITE SPEC before implementation begins.
131131

132-
### Step A falsification — bridge-inventory mutation test (~10min, MANDATORY)
133-
134-
Per pythia #86 + supervisor [chat L2469]: bridge inventory is a
135-
COMPLETENESS ASSERTION (this set of N bridges is sufficient). Spec §3
136-
empirical compile-clean enumeration is necessary but not sufficient —
137-
W25 §5.3 lesson was that compile-clean inventory can have hidden gaps
138-
(another bridge silently absorbs the drift). Step A falsification
139-
catches inventory gaps BEFORE Step B implementation.
140-
141-
**Procedure (testkeeper):** at the post-Step-A HEAD (LITE SPECs
142-
finalized, no Step B implementation yet), mutate one bridge signature
143-
(add unused param to e.g.
144-
`hir_builder_emit_call_method_exception_handler_inline_c`). The
145-
mutation should be visible at expected call sites in any draft Step B C
146-
body OR at the LITE SPEC's stated callers. Verify:
147-
- BUILD_EXIT=2 with compile error at expected call site → bridge
148-
inventory is correct (mutation caught at the right location)
149-
- BUILD_EXIT=0 → bridge inventory has GAP (mutation silently absorbed
150-
somewhere) → flag + reassess inventory before Step B
151-
152-
**Acceptance:** Step B begins ONLY if Step A falsification PASSES (drift
153-
caught at expected location). Adds ~10min to W26 cycle but catches
154-
inventory gaps at the boundary where they're cheapest to fix.
155-
156-
**General principle (per supervisor L2469 + theologian future-spec
157-
amendment):** all future workstream specs require Step A falsification
158-
test in their gate-completion criteria. Bridge inventory completeness
159-
must be empirically falsified, not just enumerated.
160-
161132
### Step B — single-commit conversion (~60-90min)
162133

163134
Single atomic commit:
@@ -170,7 +141,35 @@ Single atomic commit:
170141

171142
Verification: full build + dual-arch + 7-test gate (6 falsifier + 1 W21 golden).
172143

173-
### Step C — falsification (no new spec test, existing infra catches)
144+
### Step B verification — bridge-inventory falsification (~10min, MANDATORY)
145+
146+
Per pythia #86 + supervisor [chat L2472] + theologian [chat L2475]
147+
reversal: bridge inventory completeness must be empirically falsified
148+
post-implementation (not just enumerated at Step A). Pre-Step-B
149+
mutation requires bridges-as-code with callers; Step A LITE SPECs are
150+
text only. Therefore falsification happens AFTER Step B implementation
151+
during STRICT verify cycle, matching W25b §5.1 narrower-falsifier
152+
precedent.
153+
154+
**Procedure (testkeeper, as part of STRICT verify):** at post-Step-B
155+
HEAD, mutate one bridge signature (add unused param to e.g.
156+
`hir_builder_emit_call_method_exception_handler_inline_c` per (B)
157+
combined-bridge decision). Build. Verify:
158+
- BUILD_EXIT=2 with compile error at expected call site in C body →
159+
bridge inventory is correct (drift caught at the right location)
160+
- BUILD_EXIT=0 → bridge inventory has GAP (mutation silently absorbed
161+
somewhere) → reassess inventory before push, expand bridge surface
162+
163+
**Acceptance:** push proceeds ONLY if Step B verification falsification
164+
PASSES (drift caught at expected location). Adds ~10min to W26 cycle
165+
but catches inventory gaps before they ship.
166+
167+
**General principle (per supervisor L2469 + theologian future-spec):**
168+
all future workstream specs require post-Step-B falsification test in
169+
gate-completion criteria. Bridge inventory completeness must be
170+
empirically falsified, not just enumerated.
171+
172+
### Step C — extended verification (no new spec test, existing infra catches)
174173

175174
emitAnyCall is exercised by virtually every benchmark + test. Existing
176175
test surface (falsifier 6/6, W21 golden, full test suite) IS the

0 commit comments

Comments
 (0)