Closes three spec gaps surfaced by pythia
python#190 2026-04-27:
(1) §4.A.5b add CALL-PATH SHAPE audit: site count alone insufficient,
shape (single-setter / multi-direct-assignment / write-during-iteration)
governs migration mode. SHAPE OVERRIDES COUNT — a 3-site multi-direct-
assignment field is migrated under multi-commit + DCHECK rule, not
single-commit. Per supervisor 2026-04-27T11:29:30Z (1).
(3) §4.A.5c NEW bracket-validation probe gate: the §4.A.5b
"DO-NOT-EXTRAPOLATE" annotation is a written warning, not a falsifier.
Each bracket beyond ≤5 single-setter (kwnames_-class) requires a
passed probe BEFORE cluster work commences. 3 probes: 6-15 single-
setter, 6-15 multi-direct-assignment, >15 multi-direct-assignment
(smallest in each class). Cost ~3-9 commits prep before ~13-19
commits of cluster work; acceptable de-risking. Per supervisor (3).
(2) §6 decision
python#4 + §5.F prerequisite: compiler.cpp:236 caller
rewire reframed from "DEFER to Phase 4.D" to "HARD PREREQUISITE of
Phase 4.E close gate." Without rewire, builder.cpp's C++ Pass class
shell cannot delete (compiler.cpp consumes it) and §6
python#5 acceptance
"builder.cpp ≤ 200 LOC" is unreachable. §5.F now includes explicit
grep prerequisite check; FAIL → Phase 4 EXIT BLOCKED until rewire
lands. Per supervisor (2).
Authored 2026-04-27 per pythia
python#190 + supervisor 2026-04-27T11:29:30Z.
"The first photon to reach the lens does not describe the star —
only that the lens works."
no longer affects a partial object after creation.