Visitar URL original
docs: W26 spec — Step A falsification (bridge-inventory mutation test) · SonicField/cpython@1ed0155 · GitHub
Skip to content

Commit 1ed0155

Browse files
committed
docs: W26 spec — Step A falsification (bridge-inventory mutation test)
Per pythia python#86 + supervisor [chat L2469]: bridge inventory is a COMPLETENESS ASSERTION (this set of N bridges is sufficient). W25 §5.3 lesson: compile-clean enumeration is necessary but not sufficient — inventory can have hidden gaps (another bridge silently absorbs drift). Adds Step A falsification phase (~10min, MANDATORY before Step B): - testkeeper mutates one bridge signature post-LITE-SPEC - BUILD_EXIT=2 at expected call site = inventory correct - BUILD_EXIT=0 = inventory gap, reassess before Step B General principle for future workstream specs: Step A falsification test required in gate-completion criteria. Bridge inventory completeness must be empirically falsified, not just enumerated. Also updates Step A bridge count 5→4 per generalist [chat L2461] empirical scope reduction + theologian [chat L2466] (B) combined-bridge decision.
1 parent 91c3d16 commit 1ed0155

1 file changed

Lines changed: 31 additions & 1 deletion

File tree

‎docs/w26-emitanycall-full-conversion.md‎

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,14 +120,44 @@ standalone.
120120
### Step A — bridge inventory + per-bridge LITE SPEC (~30min)
121121

122122
Generalist authors per-bridge LITE SPEC (D-1776823737 discipline) for
123-
each of the 5 new bridges:
123+
each of the 4 new bridges (5→4 after empirical scope reduction per
124+
generalist [chat L2461] + theologian [chat L2466] (B) decision):
124125
- Function signature (typed handles per W25b)
125126
- Calling convention + ownership semantics
126127
- C++ side delegation pattern
127128
- C side body sketch
128129

129130
Theologian pre-audits each LITE SPEC before implementation begins.
130131

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+
131161
### Step B — single-commit conversion (~60-90min)
132162

133163
Single atomic commit:

0 commit comments

Comments
 (0)