# Cookbook index — find the entry by the SYMPTOM you are looking at > **Generated by `tools/cookbook_index.py` — do not hand-edit** (R33). Regenerate after adding a cookbook section. > > `docs/matching-cookbook.md` is ~716 KB / 512 sections. Grepping it blind is how three P30 wave-1 agents each "discovered" an idiom that was already written down. **Start here, then read the section.** A section appears under every symptom it addresses. **How to use:** name what you SEE in the diff (a stolen delay slot, an extra `la`, a swapped register pair, a `conflicting types` error), find that symptom below, read those sections first. If nothing fits, THEN grind — and add a section when you win. ## Start here — the symptoms that come up most, with the section that fixes them > Hand-curated from what agents actually hit and, in several cases, RE-DERIVED because keyword matching alone did not surface the entry (P30 wave-2 feedback). If your symptom is here, read the named section before anything else. - **wrong branch sense / arms swapped / `beq` where the target has `bne` (match_one prints this class as **BRANCH-POLARITY**)** → **§3-T4** (invert the source condition) + **§32**.2; for a trailing `return 0` vs an early return see the shared-ret0 note (cookbook L1344) - **`conflicting types` on YOUR OWN function's definition, where the fleet canon is `(void)`** → **§73** (the PARAMS axis) + **§42** — keep the `(void)` signature and read the incoming arg via `register s32 a0v __asm__("$4")`; §42 is otherwise indexed only under regalloc - **a shared global declared at a conflicting type (u8 vs s32, signedness) blocking your draft** → **§37** asm-label alias `extern T X __asm__("D_x")` — beats `*(T*)&X`, whose address-of perturbs regalloc. Works for FUNCTION definitions too (P30 wave 2) - **target reuses ONE address register across two different offsets of the same global** → **§20** (the pointer-var-to-the-global bullet, cookbook L1907-1918) — take `T *p = &D_x;` and index off `p`, never the bare symbol twice - **an extra `la` / the address hoisted into a callee-saved register across calls** → **§20** + `gcc-2.7.2-map/cse_expr.md` §H — `*(T*)&sym` force_regs the address; the asm-label alias (§37) keeps the direct `%lo` mem form - **`andi $x,0xFF` folded away in your output but present in the target** → **§1/I2** + **§12** name the family; if the prescribed `& 0xff` at the use folds, hold the masked byte in a **u16** local so only a QI->HI extend survives (P30 wave 2, byte-tested) - **`slti` where the target has `sltiu` (or vice versa)** → **§35** — a separate SIGNED int copy of an unsigned load keeps `slti`; chained bounds get range-folded, so write each bound as its own `if`/`goto` (**§21**) - **you are about to hand-derive a body that some overlay already matched** → **§71** — grep the callees/globals for an already-matched SIBLING first; in wave 2 this alone produced iteration-1 MATCHes on 4 of 19 targets - **gcc stole an instruction into a branch delay slot that the target leaves as `nop`** → **§5a** + the zero-byte `__asm__("")` fence (**§34** toolkit) — `reorg.c stop_search_p` halts the eager filler on an asm insn - **`void` vs `s32` return — is promoting it byte-neutral?** → **NO, not always: §41d** (byte-proven; a `void` body with no `return` gains an instruction). P30 adds a second mechanism: an `s32` return keeps `$v0` live-out and blocks dbr from filling a loop-back delay slot - **`match_one` says **SIZE-MISMATCH/short** and the target has a frame-pointer prologue (`addu $fp,$sp,$zero` / `21F0A003`)** → **The target is -O0.** Pass `--o0` to `match_one`/`rtu_match` — nothing else will ever match (§116: opt level is a property of the FILE). Known -O0 regions: boot, `ov_SC01_077_o0*`, the whale `_o0b`, and 0x8013B568..0x8013C98C — a target outside all four still needs checking - **same instruction multiset, one contiguous window, loads/registers ROTATED inside it** → pure sched1 statement-order (`gcc-2.7.2-map/sched.md` §S1/§S4). **Cheapest lever: brute-force it** — N independent statements, script all N! orders through `match_one` (24 runs ≈ 2 min) instead of reasoning about `rank_for_schedule` - **a two-constant `if/else` or `?:` result lands in **$v1** where the target reuses the condition's **$v0**** → **§76** — fold the condition into a NAMED local and overwrite that SAME variable with the two constants (an s16 temp, a fresh temp, an inner scope, and both ternary polarities all stay $v1; only reusing one `s32` local coalesces onto $v0). §76 reads as behemoth-only; it is not - **a load HOISTED above a store (match_one may call it a WIDTH class)** → usually **§76 regalloc**, not a width bug: a missing WAR dependency lets sched2 hoist it. Same fix — one variable for the compare temp and the result - **`ori $v0,0xffd8` in yours vs `addiu $v0,-0x28` in the target** → a NEGATIVE constant stored into an **unsigned** narrow local materialises via zero-extended `ori`; make the local **signed** to get `addiu`. It does NOT cost you the `lhu` on readback — gcc-2.7.2 emits `lhu` for any plain HImode load feeding an `sh` (P30 wave 4, byte-tested) - **LENGTH-DRIFT −1 and the missing instruction is a reg-to-reg COPY in a `jal` delay slot** → a narrow **prototyped** param (plain ANSI `s16 arg3`) — §43 is indexed as the K&R-definition lever, but the ANSI form is the fix as often - **your narrow load lost its load-delay `nop` right after an inline block move** → an `lwl/lwr`+`swl/swr` pair is a delay-slot **SPONGE** for the following load — the inverse of the §5a/§34 fence case. Align-1 4×u8 struct assign emits the inline form (§38 covers only the -O0 memcpy-call form) - **your `e = param_1` copy VANISHED (target addresses every field off a copy at a join block)** → cse.c `make_regs_eqv` keeps a param copy only when the new pseudo's live range escapes the cse block AND outlives the param's last mention — reach that by REUSING the same variable in a later block. Copy-in-the-arms gets hoisted into the delay slot; copy-assigned-in-an-arm goes global allocno → callee-saved + 2 prologue insns - **⚠️ the `.run/ghidra_c/.c` seed looks like a DIFFERENT function entirely** → it may be — overlays share VAs, so a seed can be decompiled from another overlay mapped at the same address. Trust the target `.s`, not the seed (P30 wave 4) ## By symptom ### delay slots & branches (6) - **§3-T4** — Branch polarity: invert the source condition to flip gcc's chosen branch L90 - **§5a** — Cross-jump tail-merge — gcc collapses two byte-identical blocks the original kept separate (FIX FOUND) L211 - **§3-D.** — THE CROSS-JUMP RATCHET (the sharpest new trap — `func_80131340` L-C) L3508 - **§3-C.** — Inner-block declaration does NOT delay slot allocation — BYTE-REFUTED L10065 - **§162** — CROSS-JUMP DIRECTION: the surviving copy is always the LATER one, so a BACKWARD `j` into a sibling arm is a source `goto` (P30 S48) L11263 - **§162** — The cross-jump "CALL veto" is a COUNT law, not a CALL law (BOUNDS §88a; P30 S48, `func_80189540`) L11299 ### instruction scheduling (19) - **§3-T2** — Source statement order drives instruction scheduling L78 - **§3** — When a diff is pure scheduling → decomp-permuter (harness built, Phase 6) L107 - **§10** — Closing the regalloc/scheduling hard tail by hand (LZSS, Phase 7 session F — the full close) L835 - **§25** — The "schedule" class is mostly COALESCING (pin-crackable), not scheduling; + the gate two-stage + h_exact over-counts ×134 (Phase 21, cont.6) L2132 - **§3-The** — crack: the residual was gcc-2.7.2 COPY-COALESCING, not the instruction scheduler L2144 - **§3-The** — genuine scheduler — `rank_for_schedule` (sched.c), for when it IS scheduling L2160 - **§3-The** — genuine schedule WALLS (do NOT re-grind — stub) L2169 - **§32** — The region-a CAMERA-GIANT idiom set: struct-base hoisting + 4 sibling levers (Phase 24 T7, Fable5-cracked on `func_80129CF8` 191 ins, match_one MATCH; transferable to the 6 sibling giants) L2422 - **§34** — The `func_80138ED0` giant crack: gcc-2.7.2's **3-qty sort bug** + the **zero-byte asm allocation toolkit** + the **giv-init fence** (Phase 24 T5; Opus→close=21, Fable5→MATCH ×134) L2454 - **§35** — The region-a sibling-giant harvest: difficulty ≠ $s-reg count (it's global-array hoisting) + the banking recipe + new loop idioms (Phase 24 T7, 5 parallel Opus-Max agents) L2471 - **§3-A4** — SINK THE CONSUMER CALL INTO THE ARMS (the inverse of A1; `func_8016AB6C`, byte-proven) L3444 - **§49** — The LUID DIAL: a zero-byte SCHEDULING dial (the sched.c analogue of §47) — `func_8017A4AC` (536 ins ×134), Phase 26 session 8 L3527 - **§66d-5** — `residual_class`'s "structural ⇒ permuter CPU is waste" is WRONG for schedule permutations (measured, Phase 29 SESSION-18) L5491 - **§3-The** — attribution primitive (use this before calling anything a scheduling residual) L6057 - **§3-The** — scheduling rules (refining §135-2 and §135-4) L8909 - **Consequence** — for the family (a real scheduling decision) L10092 - **§148** — The loop.c hoisting THRESHOLD is arithmetic you can compute, and the `?:` clamp that folds to MIN_EXPR (P30 S42, `func_8017C6F4`, 947 ins) L10142 - **§3-A.** — `move_movables` hoists iff `threshold × savings × lifetime ≥ insn_count` — and you can read it L10148 - **§16Z** — SHARPENS *(sharpens §37 "the /s-DEP LATTICE", §136-13, §136-14, §16Xy, §162q, `gcc-2.7.2-map/sched.md` §64)* L14337 ### register allocation & pins (42) - **§10** — Closing the regalloc/scheduling hard tail by hand (LZSS, Phase 7 session F — the full close) L835 - **Residual** — A — commutative `|`/`&`/`+` result lands in the wrong source-operand register L856 - **Register-allocation** — ORDER (call-crossing $s0/$s1 swap) → FORCE it with register pins (byte-proven) L1384 - **§3-The** — LOOSE-TYPING wall is real for narrow params (Phase 16, reconfirmed) L1428 - **§3-THE** — CAP: at this tail the match_one→gate gap is the LOOSE-TYPING CALL-GRAPH wall (not cheap plumbing) L1637 - **§22** — DEF-side loose-typing recovery + grinder blacklist (Phase 21) L2005 - **§24** — The `ov_SC01_077_a.c` split-file vein: split-aware propagation, but loose-typing-gated (Phase 21) L2085 - **§25** — The "schedule" class is mostly COALESCING (pin-crackable), not scheduling; + the gate two-stage + h_exact over-counts ×134 (Phase 21, cont.6) L2132 - **§42** — The F-band ≤28 regalloc crack wave: register-pin/DENSITY levers beat the permuter (Phase 25 T7 F-band, 2026-07-10; Ultracode 9-worker wave, 4/9 banked byte-identical, 266 swept ×134) L2900 - **§43** — The K&R s16-param definition DISSOLVES the "narrow-param wall" for by-value register args (Phase 25 task A, Fable5 crack of the 369-ins giant `func_80166994` ×134, 2026-07-11) L3195 - **§45** — The flagship `func_80133CD4` crack (399 ins ×134): the merged-variable permutation-breaker + the 1-death local-alloc gate (Phase 25 task A giant escalation, Fable5 gdb-on-cc1, 2026-07-11) L3298 - **§47** — The live-length SLIDER: splitting a global.c allocno-priority TIE with one zero-byte asm (Phase 26 session 8, Fable5 Max, byte-proven on `func_8017BEBC` 952 ins ×113) L3365 - **§48** — The 12-core jr crack wave: the ALLOCNO-PRICING dials and the EBB rule (Phase 26 session 8, Ultracode, 9/12 MATCH first pass) L3405 - **§3-A.** — ALLOCNO-PRICING DIALS — move a value into the register you want, byte-neutrally L3413 - **§52** — The WALKER-FAMILY skeleton: 6 regalloc-order levers + a deeply-characterized intrinsic wall (`func_80178004`, 165 ins ×134; Phase 26, Fable5, 2026-07-15) L3913 - **§52a** — The regalloc sibling wave: new levers + two new wall classes (cheap-Opus applying §52, 2026-07-15) L3959 - **§52b** — Sibling wave 2: more de-pin levers, a third wall class, and the match_one→whole-binary gap at scale (2026-07-15) L3997 - **§66d-1** — What transfers between giants is the LOOP, not the PIN L5280 - **§70** — The giv-init base register: walk the PARAMETER, not a copy of it (Phase 29 SESSION-18, `func_801777BC`) L5619 - **§71** — Before mapping a giant, look for an already-matched SIBLING beside it (Phase 29 SESSION-18, `func_8017D960`, 3,338 ins) L5660 - **§72** — A `register __asm__` pin is a PREFERENCE, not a reservation (Phase 29 SESSION-18, `func_8017F510`) L5726 - **§74** — Auditing a pinned draft: the §72 hazard is CALLER-SAVED pins spanning a call, and only the disassembly can tell you (Phase 29 SESSION-19, `func_8017D960` b2, 5 pins) L5822 - **§76** — The allocno CLASS (local vs global) is the dominant regalloc lever, and C reaches it ONLY through declaration scope and variable reuse (Phase 29 SESSION-19, behemoth #3 `func_8017F510` 1,511 ins, 97 → MATCH, pin-free) L6028 - **§78** — A LENGTH drift can be a register grant in disguise; and `fold` never leaves a literal first in an `|` chain (Phase 29 SESSION-19, behemoth #2 `func_8017D960` 3,338 ins, 1806 → 0, pin-free) L6174 - **§76** — confirmed at scale, and a pin nuance L6251 - **§80** — A do-not-re-buy entry is scoped to its BASE, not to the function; and the pin's hidden cost is an unconditional `qty_phys_sugg` (Phase 29 SESSION-19, `func_8017BF14` 45 → 0) L6270 - **§3-The** — pin's hidden cost, with the citation L6291 - **§83** — The parameterised-repeat law, the spill-area trap, and why a per-case edit cannot move a per-case symptom (Phase 29 SESSION-20, `func_80183814` 5,122 ins, cold-ish start → 36 structural / 99.3%) L6412 - **§83c** — TRAP: a "dead local" in a prior draft may be gcc's OWN spill area L6445 - **§86** — Pinned-exemplar templatability is a PER-FAMILY property, not a per-member rate; and the §42e pin guard is now over-conservative (Phase 29 SESSION-20) L6589 - **§3-Two** — further notes worth keeping L8248 - **§137** — REGALLOC-PERM is a TWO-COMPILE ARITHMETIC PROBLEM, not a permuter job L9341 - **§3-The** — same swallow, twice more, in the integration spine L9706 - **§3-B.** — A `?:` on MEMORY operands costs ~16 bytes of invisible frame; on REGISTER operands, zero L10054 - **§3-D.** — A lone `$t8`/`$t9` in the target is RELOAD SCRATCH — reproduce the spill, don't pin the register L10070 - **§3-C.** — A zero-byte ALLOCNO-PRIORITY slider L10181 - **§150** — A register ROTATION across symmetric blocks is VARIABLE-IDENTITY evidence, not an allocator tie (P30 S43, `func_8017C6F4`, 947 ins ×4) L10309 - **§152** — BYTE SIZE is the family key that name- and h_seq-grouping both miss (P30 S43, the 0xECC family: 1 crack → 12 overlays → 11,364 ins) L10415 - **§155** — hi/lo literal scanning MUST track base registers (S45) L10555 - **§158** — The RANGE-EXTENDER: a fourth zero-emission asm lever completes the allocno toolkit (P30 S46 tier-3, `func_8017CE58`, 733 ins) L10709 - **Bonus** — facts worth keeping L10754 - **§156** — THE PREFERENCE-DONOR MERGE: cross-region variable reuse is what fills a0-a3, and a call-arg use in ONE region steers the fill in ALL of them (P30 S46 tier-3, `func_80186E24`, 611 ins: 236-off "S11 regalloc-order" → MATCH, zero new pins) L10769 ### CSE / redundancy / rematerialization (3) - **§46** — The `func_80178D40` crack (890 ins ×134, the heaviest core in the game): four LOOP-STRUCTURE levers cheap-Opus found by reading loop.c/jump.c/cse.c (Phase 26 session 8, 2026-07-13) L3313 - **§83d** — CSE's quantity budget is WHOLE-FUNCTION, so a local rewrite cannot fix a local symptom L6452 - **§153** — THE ADDRESS-REMATERIALISATION LAUNDER: a third zero-emission asm lever (P30 S43, `func_8018D98C`, 710 ins) L10463 ### loops & induction variables (9) - **§3-T1** — Loop pointer: top-of-body for `addu` induction, not constant-folded `addiu` L71 - **§34** — The `func_80138ED0` giant crack: gcc-2.7.2's **3-qty sort bug** + the **zero-byte asm allocation toolkit** + the **giv-init fence** (Phase 24 T5; Opus→close=21, Fable5→MATCH ×134) L2454 - **§35** — The region-a sibling-giant harvest: difficulty ≠ $s-reg count (it's global-array hoisting) + the banking recipe + new loop idioms (Phase 24 T7, 5 parallel Opus-Max agents) L2471 - **§46** — The `func_80178D40` crack (890 ins ×134, the heaviest core in the game): four LOOP-STRUCTURE levers cheap-Opus found by reading loop.c/jump.c/cse.c (Phase 26 session 8, 2026-07-13) L3313 - **§66d** — The permuter⇄reader loop: alternate a random search with a byte-verified idiom, and let `residual_class` decide whose turn it is (Phase 29 SESSION-17) L5245 - **§66d-1** — What transfers between giants is the LOOP, not the PIN L5280 - **§70** — The giv-init base register: walk the PARAMETER, not a copy of it (Phase 29 SESSION-18, `func_801777BC`) L5619 - **§145** — Three loop/combine levers from the S40 wave-2 drafters (16/16 match_one) L9924 - **§148** — The loop.c hoisting THRESHOLD is arithmetic you can compute, and the `?:` clamp that folds to MIN_EXPR (P30 S42, `func_8017C6F4`, 947 ins) L10142 ### structs, block moves & memcpy (35) - **§3-T2** — Source statement order drives instruction scheduling L78 - **§5** — Known hard-residual classes (instruction-identical, one byte-exact blocker) L199 - **§13** — Add a location overlay — the canonical runbook (Phase 13; the Phase-15 fleet recipe) L1056 - **§15** — Struct-heavy shared-core pipeline (Phase 16) — empirical determinations (S0) L1313 - **§16** — Guided hand-matching the struct-heavy core (Phase 17 — beats the §15 brute-force) L1335 - **§3-The** — crack: the residual was gcc-2.7.2 COPY-COALESCING, not the instruction scheduler L2144 - **§28** — Banking a "close=0 gate-rejected" giant: the canonical-extern recovery (Phase 22 T1, byte-proven on func_8015126C ×134) L2325 - **§28b** — The struct-walled close=0 giant (§28 case #3) IS bankable: the engine_types.h type-lift (Phase 22 T2, byte-proven on func_80156B74 ×134) L2357 - **§30** — Fable5Max cracks §20/§10 "unsteerable" from the gcc SOURCE: store-vs-load is a `/s` aliasing flag, the def-side wall has a macro escape, + the birthing-boost (Phase 23, byte-proven on giant `func_8014EE14` 248 ins ×134) L2382 - **§32** — The region-a CAMERA-GIANT idiom set: struct-base hoisting + 4 sibling levers (Phase 24 T7, Fable5-cracked on `func_80129CF8` 191 ins, match_one MATCH; transferable to the 6 sibling giants) L2422 - **§38** — The WHALE `func_80144B9C` (770 ins): the -O0 struct-assign memcpy idiom + the -O0 reach-134 ×134 rollout (Phase 24 T7 §G, cheap Opus — no Fable5, no calls.c) L2527 - **§40** — Structural families: the MECHANICAL symbol-remap (crack one exemplar → remap the rest, ~0 tokens) (Phase 25 T3/T7, 2026-07-08) L2553 - **§41** — The DEF-SIDE canonical-sig wall: mechanically banking a drafted giant past `conflicting types` (Phase 25 T5b batch-2, 2026-07-09; `tools/canon_sig_reconcile.py`, byte-proven on `func_8013B274`) L2710 - **§42a** — addendum — wave 2 (residuals + 29-100 band): iso-MATCH ≠ real-TU bank, the memcpy→struct-assign fix, +5 levers (2026-07-10b) L2953 - **§44** — The Phase-25 cheap-Opus giant batch: 5 structural levers + the §43 extension (2026-07-11, 6 crackers over the frontier giants) L3242 - **§46** — The `func_80178D40` crack (890 ins ×134, the heaviest core in the game): four LOOP-STRUCTURE levers cheap-Opus found by reading loop.c/jump.c/cse.c (Phase 26 session 8, 2026-07-13) L3313 - **§3-Why** — 0/8 was structural, and predictable from two words L4045 - **§54** — `--fix-def-sig`: the member's CANONICAL DECLARATION is a build step too (tiny-IMM mega-pools, +4,801, Phase 29 T6, 2026-07-16) L4163 - **§56b** — PROPAGATING an h_seq giant: the exemplar's externs MUST be fleet-canonical, not the draft's types L4232 - **§65a** — The blast-radius taxonomy (makes §61's law structural instead of remembered) L5030 - **§66d-5** — `residual_class`'s "structural ⇒ permuter CPU is waste" is WRONG for schedule permutations (measured, Phase 29 SESSION-18) L5491 - **§83** — The parameterised-repeat law, the spill-area trap, and why a per-case edit cannot move a per-case symptom (Phase 29 SESSION-20, `func_80183814` 5,122 ins, cold-ish start → 36 structural / 99.3%) L6412 - **§84** — The DERIVED-OFFSET remap bug: a hand-computed literal that encodes the DISTANCE between two per-overlay symbols, and why `match_one` is structurally blind to it (Phase 29 SESSION-20, `func_8013D53C`) L6472 - **§3-The** — construct L6477 - **§91** — A structure-TRANSFER is only valid where the structure corresponds: the `--like` role trap (Phase 29 SESSION-21, `func_8012AAAC` ×137) L6842 - **§3-The** — three-hypothesis trail, because two of them were wrong and the wrongness is instructive L6871 - **§129** — Post-carve, `rtu_match`/`match_one` COUNT THE JUMP TABLE AS INSTRUCTIONS; and a carve must never be committed without its owner (P30 S28, `func_8013BD74`) L8437 - **§129a** — the target instruction count is INFLATED after a carve L8441 - **§3-The** — DEFINITION-side alias is the only escape when the fleet canon disagrees on a promoting param L9470 - **§3-Two** — errors of mine, both instructive L10006 - **§160** — THE REACH-15 WAVE HARVEST: an align-1 block move, and the instrument that called it a wall (P30 S47) L10890 - **§16Xy** — SHARPENS *(sharpens §136d-3, §37 /s-DEP LATTICE, §135-2, §136-13, §162q)* L12297 - **§3-The** — `/s` drop clause is in ALL THREE dependence predicates, so the FIXED-ADDRESS STORE is what floats (P30 S48, `func_8017CA18`, ov_MAIN_012) L12299 - **§16Z** — SHARPENS *(sharpens §37 "the /s-DEP LATTICE", §136-13, §136-14, §16Xy, §162q, `gcc-2.7.2-map/sched.md` §64)* L14337 - **§3-The** — ADDRESS-CLASS TABLE: which load/store pairs even REACH the `/s` clause (P30 S48 wave 4, `func_80185B44`, ov_SC03_014) L14339 ### types, signedness & load/store width (34) - **§3-I1** — Unsigned range check: `(x - lo) < (hi-lo)` → `addiu`+`sltiu` L41 - **§3-I2** — Byte mask forces `andi` even after `lbu` L47 - **§3-T3** — Types L85 - **§7** — PsyQ SDK types & symbols (the library-call prerequisite) L303 - **§14c** — Callee-signature-aware harvest — breaking the extern-type-conflict wall (Phase 15, T6) L1213 - **Phase-20** — RESOLUTION — `tools/cast_call_sites.py` BUILT + the cap re-diagnosed (R14, byte-proven) L1701 - **§23** — Giant `func_80153E00` cracked (scalar-data CAST); BUT most giant drafts are STALE+INCOMPLETE, and a diag MUST remove artifacts (Phase 21 — byte-proven + a self-correction) L2032 - **§28b** — The struct-walled close=0 giant (§28 case #3) IS bankable: the engine_types.h type-lift (Phase 22 T2, byte-proven on func_80156B74 ×134) L2357 - **§33** — Automating the giant decl-reconcile: `tools/reconcile_decls.py` (the DATA analog of §20's `cast_call_sites`) + a fleet-majority type oracle (Phase 24 T7b, byte-proven on `func_80129CF8`) L2434 - **§40a** — The DECL-RECONCILE pass (type-lift so remapped drafts compile in the sibling TU) (Phase 25 T7.2, 2026-07-08) L2601 - **§41** — The DEF-SIDE canonical-sig wall: mechanically banking a drafted giant past `conflicting types` (Phase 25 T5b batch-2, 2026-07-09; `tools/canon_sig_reconcile.py`, byte-proven on `func_8013B274`) L2710 - **§41d** — `void`→`s32` is NOT always byte-neutral: gate the RAW draft FIRST (Phase 26 session 6, byte-proven) L2878 - **§42b** — addendum — wave 3 (Max, 2026-07-10c): THE STALE-OBJECT GATE TRAP + the read-global `&`-cast drift + fix L2994 - **§43** — The K&R s16-param definition DISSOLVES the "narrow-param wall" for by-value register args (Phase 25 task A, Fable5 crack of the 369-ins giant `func_80166994` ×134, 2026-07-11) L3195 - **§3-C.** — TYPE- AND SHAPE-DRIVEN CODEGEN (the C type literally selects the addressing mode) L3484 - **§56b** — PROPAGATING an h_seq giant: the exemplar's externs MUST be fleet-canonical, not the draft's types L4232 - **§64** — The §20 type-lift's three laws: fold the tagged typedef, check VISIBILITY, and strip only what is TEXTUALLY IDENTICAL (`lift_types.py`, Phase 29 SESSION-14, 2026-07-23) L4908 - **§64a** — VARIANT types: UNIQUIFY the camps, do not reconcile them (`uniquify_type.py`, Phase 29 SESSION-14) L4957 - **§65g** — Where the cheap levers STOP: the local-type and in-TU-self-decl classes did not yield L5139 - **§68** — A comment-only line halted the extern scan, and the skip label blamed the type cap (Phase 29 SESSION-18) L5524 - **§73** — A def-side self-decl conflict has TWO axes: RETURN (fleet widen, T2) and PARAMS (casts at each use, T0). Diagnose which before paying for the expensive one (Phase 29 SESSION-19, `func_8014F3E8` + `func_8014D4C0`) L5783 - **§75c** — Class-B's remedy is the FULL §17a-1 PAIR (decl **and** call-site cast); a decl-only fix moves the error and looks like a new wall (Phase 29 SESSION-19, `func_8012F14C`) L5997 - **§3-The** — defect this exposed: a shared type that is present but invisible L6354 - **§92** — Conforming a DECLARATION: pointer changes are caller-neutral, scalar-WIDTH changes are not (Phase 29 SESSION-21, `tools/conform_decls.py`) L6891 - **§94** — A family sweep's `0/N` is a TYPE-CARRY failure until proven otherwise: lift the exemplar's local types, ALL of them, transitively (Phase 29 SESSION-21, `func_8016B6BC` 0/137 → 137/137) L6947 - **§100** — Prefer the DRAFT-LOCAL fix: a type only one function uses belongs in its BODY, not in a shared header (Phase 29 SESSION-22, `func_80175DA8` 0/137 → 137/137) L7216 - **§120** — Uniquify draft-defined TYPE names; and check which of N staging sites you actually patched (Phase 29 T93) L8026 - **§3-Do** — NOT "strip the duplicate typedef" — it breaks the extern that uses it L8037 - **§3-The** — type-form rules L8879 - **§143** — `cast_call_sites` read a RETURN STATEMENT as a prototype and deleted it. A 0/39 sweep became 18/39. (P30 S40) L9831 - **Then** — propagation returned 0/137 TWICE — both times a missing TYPE L9997 - **§154** — Reading a disc payload: the module-id word, static base derivation, and "type 1 = uncompressed overlay" (P30 S44) L10519 - **§3-C.** — PAC type 1 = the same payload class as type 4, just NOT compressed L10545 - **§155b** — check the TYPE your oracle returns before comparing against it (S45 p5) L10584 ### declarations, prototypes & K&R (57) - **§3-T4** — Branch polarity: invert the source condition to flip gcc's chosen branch L90 - **§8c** — Splitting a TU means rebuilding its DECLARATION ENVIRONMENT, not moving text (Phase 26 session 6) L437 - **§8d** — Templating a body INTO a TU must not CHANGE its declaration environment — demote the carried data externs (Phase 26 session 8, byte-proven on `func_8015AE2C` ×133) L483 - **§13** — Add a location overlay — the canonical runbook (Phase 13; the Phase-15 fleet recipe) L1056 - **§14c** — Callee-signature-aware harvest — breaking the extern-type-conflict wall (Phase 15, T6) L1213 - **§3-The** — pipeline gotcha — match_one ≠ the gate; `sig_unify` is MANDATORY L1421 - **§3-The** — gate two-stage — sig_unify is a FALLBACK, not unconditional (`gate_stage.py`, §19 folded in) L2189 - **§28** — Banking a "close=0 gate-rejected" giant: the canonical-extern recovery (Phase 22 T1, byte-proven on func_8015126C ×134) L2325 - **§28d** — The "macro-extern-injection" lever: freeing reach-134 inline matches dedup_propagate skips as "not self-contained" (Phase 23, `tools/inject_capped_externs.py`) L2366 - **§33** — Automating the giant decl-reconcile: `tools/reconcile_decls.py` (the DATA analog of §20's `cast_call_sites`) + a fleet-majority type oracle (Phase 24 T7b, byte-proven on `func_80129CF8`) L2434 - **§40a** — The DECL-RECONCILE pass (type-lift so remapped drafts compile in the sibling TU) (Phase 25 T7.2, 2026-07-08) L2601 - **§41** — The DEF-SIDE canonical-sig wall: mechanically banking a drafted giant past `conflicting types` (Phase 25 T5b batch-2, 2026-07-09; `tools/canon_sig_reconcile.py`, byte-proven on `func_8013B274`) L2710 - **§41b** — addendum — M4 "reconcile_decls" tier is ALSO a probe over-count: 0/8 mechanical (Phase 25 T7-M4, 2026-07-10) L2858 - **§41d** — `void`→`s32` is NOT always byte-neutral: gate the RAW draft FIRST (Phase 26 session 6, byte-proven) L2878 - **§43** — The K&R s16-param definition DISSOLVES the "narrow-param wall" for by-value register args (Phase 25 task A, Fable5 crack of the 369-ins giant `func_80166994` ×134, 2026-07-11) L3195 - **§51g** — When the thing you are scanning has a GRAMMAR, parse the grammar (`tools/cdecl.py`) L3769 - **§54** — `--fix-def-sig`: the member's CANONICAL DECLARATION is a build step too (tiny-IMM mega-pools, +4,801, Phase 29 T6, 2026-07-16) L4163 - **§56** — Banking a hand-drafted GIANT into its exemplar TU: self-contained draft vs live-TU decls, 4 reconciliation tactics (`func_8013FAF8`, 312 ins ×138, Phase 29 T4, 2026-07-17) L4187 - **§56b** — PROPAGATING an h_seq giant: the exemplar's externs MUST be fleet-canonical, not the draft's types L4232 - **§57** — The SELF-decl normalize: the sibling's OWN caller declares the templated fn divergently (the third §17a-1 direction; `tools/normalize_self_decls.py`, func_801670E4 ×137, Phase 29, 2026-07-18) L4256 - **§61** — Task 14: the gate ladder's missing stage is the ARITY pre-pass, and it is TU-side not draft-side (Phase 29, 2026-07-21) L4545 - **§63** — The fresh-138 DEF-SIDE blocker: fix the HEADER decl, not the draft (`fix_header_decl.py`, Phase 29 SESSION-13, 2026-07-23) L4877 - **§63** — UPDATE (Phase 29 SESSION-14) — `fix_header_decl`'s "SAFE" verdict is FLEET-BLIND; it MUST be R22-validated L5000 - **§65c** — `rtu_match` MATCH → bank held 13/13 on self-decl, but broke on the FIRST callee-decl case L5081 - **§65g** — Where the cheap levers STOP: the local-type and in-TU-self-decl classes did not yield L5139 - **§66a** — The widest write in a pipeline is the one most likely to be UNDECLARED L5181 - **§68** — A comment-only line halted the extern scan, and the skip label blamed the type cap (Phase 29 SESSION-18) L5524 - **§73** — A def-side self-decl conflict has TWO axes: RETURN (fleet widen, T2) and PARAMS (casts at each use, T0). Diagnose which before paying for the expensive one (Phase 29 SESSION-19, `func_8014F3E8` + `func_8014D4C0`) L5783 - **§75** — A propagation cap is usually a MINORITY-SPELLING SOURCE OVERLAY, not a wall: census the carried extern before believing the exclusion message (Phase 29 SESSION-19, `func_8014F3E8` ×4 → ×138) L5866 - **§75b** — A body's preamble can carry `#define`s, not just `extern`s; extraction lifts only the externs (Phase 29 SESSION-19, `func_80165CA0` ×3 → fleet) L5948 - **§75c** — Class-B's remedy is the FULL §17a-1 PAIR (decl **and** call-site cast); a decl-only fix moves the error and looks like a new wall (Phase 29 SESSION-19, `func_8012F14C`) L5997 - **§76** — The allocno CLASS (local vs global) is the dominant regalloc lever, and C reaches it ONLY through declaration scope and variable reuse (Phase 29 SESSION-19, behemoth #3 `func_8017F510` 1,511 ins, 97 → MATCH, pin-free) L6028 - **§79** — For a 0-callee giant, fingerprint by DATA symbols (§71 cannot fire); and the STACK-SLOT ORDER is a declaration-order oracle (Phase 29 SESSION-19, `func_8017BF14` 4,763 ins, cold start → 45/4763) L6220 - **§3-NEW** — LEVER — the frame layout reads back the original declaration order L6240 - **§3-1.** — The inlined-helper signature L6375 - **§92** — Conforming a DECLARATION: pointer changes are caller-neutral, scalar-WIDTH changes are not (Phase 29 SESSION-21, `tools/conform_decls.py`) L6891 - **§95** — `reconcile_tu` dropped the SIBLING declarators of a multi-symbol `extern` line (Phase 29 SESSION-21, `func_80176218`) L6983 - **§96** — The same rewrite, one shape down: `reconcile_tu` matched statements to lines by TEXT, so every COMMENTED declaration was silently skipped (Phase 29 SESSION-22, `func_80176218` banked) L7018 - **§98** — `conform_decls` had three defects, and only the third needed R22 to find (Phase 29 SESSION-22, `func_8014CF04`) L7113 - **§99** — The narrow-param wall is a DEF-side problem with a ZERO-blast-radius fix: convert the definition to K&R (Phase 29 SESSION-22, `func_80175AB8` + `func_80175DA8`) L7167 - **§102** — A PLUMBING verdict can MASK a DIFF; and K&R is not always a codegen change (Phase 29 SESSION-22, `func_8016EC0C`) L7272 - **§103** — A FILE-scope `extern` in a shared overlay TU is a GLOBAL constraint on every LATER function; move the DECL, not the draft (Phase 29 T48/T51, `func_80135260` — the fleet-wide half) L7307 - **§104** — Two silent-skip defects in one scan: match on MASKED text, emit from the ORIGINAL (Phase 29 T53, `gather_externs`) L7395 - **§112** — A macro-scoped declaration only collides where the macro is INSTANTIATED (Phase 29 T67/T69, `audit_header_sigs.py`) L7730 - **§113** — An ARITY blocker only exists if the macro CALLS the function; an address-taken use has no call site (Phase 29 T72) L7776 - **§114** — The THIRD decl axis: a CALLEE the draft declares differently from the target TU (Phase 29 T76/T77) L7808 - **§3-Do** — NOT "strip the duplicate typedef" — it breaks the extern that uses it L8037 - **§121** — Synthesise externs for macro-DEFINED callees from the macro's own definition head (Phase 29 T95) L8061 - **§3-The** — declaration surface (integration, not codegen) L8938 - **§136f** — Two declaration sub-cases the reconcile lane surfaced (lane now 15/15 lifetime) L9183 - **§138** — The propagation lanes: a gate refusal is a DECLARATION, and which lever you owe depends on blast radius L9412 - **Reconciling** — a gate-refused draft: which way you edit depends on WHERE the TU's decl is L9562 - **§141** — The §134 class is CLOSED: every line-shape decision now routes through `cdecl._mask` (P30 S39) L9737 - **§143** — `cast_call_sites` read a RETURN STATEMENT as a prototype and deleted it. A 0/39 sweep became 18/39. (P30 S40) L9831 - **§3-C.** — Inner-block declaration does NOT delay slot allocation — BYTE-REFUTED L10065 - **§159** — THE DECLARATION AXIS: conform to byte-truth, and make every guard state its COVERAGE (P30 S47; ~10,930 sites across 8 axes, fleet byte-identical) L10825 - **§168** — THE COUSIN TIER (P30 S49, 2026-08-12): h_seq's exact-hash brittleness, measured — and the similarity map above it L16208 ### jump tables & switches (27) - **§8** — rodata island (compiler jump tables) — the `.data→.rodata→.data` sandwich (Phase 7) L320 - **§8a** — rodata island in a flat OVERLAY — the tail sandwich, per matched jr-function (Phase 26 — PoC PROVEN) L342 - **§8a-pad** — a trailing `.word 0x00000000` under a jtbl dlabel is `.align` PAD, not an entry (Phase 26 session 6, byte-proven) L380 - **§8b** — MULTI-jtbl per overlay — the `ld_interleave --order` sandwich + the same-subseg cases (Phase 26 session 4) L404 - **§8e** — The jtbl ALIGNMENT LAW + the pad-spec filter — multi-table .rodata spans (Phase 29, byte-proven; `.run/probe_jtbl/verdict.md`) L530 - **§3-The** — clean object-level metric (use this, not the permuter score, for jtbl/rodata functions) L844 - **§41b** — T7 execution: the object-only probe OVER-counts BANKABLE by two link/rodata classes (Phase 25 T7-M1, 2026-07-10) L2809 - **§48** — The 12-core jr crack wave: the ALLOCNO-PRICING dials and the EBB rule (Phase 26 session 8, Ultracode, 9/12 MATCH first pass) L3405 - **§53** — SWEEP A FAMILY WITH THE TOOL ITS EXEMPLAR NEEDED: the jr/switch carve, and how omitting it manufactured the "families don't template" doctrine (Phase 28 T1, 2026-07-15) L4028 - **§61b** — The jtbl gate stage: built, and the ORDERING law it exposed (Phase 29 Task-14 stage 4, 2026-07-21) L4658 - **§61c** — The jtbl bank is INCREMENTALLY valid and CLEAN-INVALID (Phase 29, 2026-07-21) — the blocking finding L4713 - **§62** — The jtbl RECONCILE must also follow the carve: the post-carve draft reconcile (`harvest_verify._jtbl_reconcile`, Phase 29 SESSION-11, 2026-07-22) L4833 - **§81** — Banking a jr (jump-table) function: the 3-step carve chain, and why `match_one` cannot see the problem (Phase 29 SESSION-19, `func_8017C954`) L6323 - **§88d** — BANKING ORDER: run the §81 carve chain BEFORE banking, never after L6701 - **§97** — The gate's own tree hygiene: a refused carve, an unchecked recovery, and a snapshot that captured a dirty tree (Phase 29 SESSION-22) L7066 - **§105** — A gate's revert must survive an EXCEPTION, not just a failure (Phase 29 T53, `jtbl_family_bank`) L7431 - **§125** — Split the CARVE from the BODY before calling a jr residue a wall — and measure it by SHA from a CLEAN tree (P30 SESSION-28; **this section's first draft was WRONG and the method caught it**) L8206 - **§126** — The carve-within-a-carve: an ADDRESS RANGE is not an OPTIMIZATION REGION (P30 T2, byte-proven end-to-end) L8264 - **§129** — Post-carve, `rtu_match`/`match_one` COUNT THE JUMP TABLE AS INSTRUCTIONS; and a carve must never be committed without its owner (P30 S28, `func_8013BD74`) L8437 - **§129a** — the target instruction count is INFLATED after a carve L8441 - **§129b** — never commit a carve whose owner is still a stub (it strands the carve) L8462 - **§130** — An INCREMENTAL build can report BYTE-IDENTICAL for a change the CLEAN build cannot even LINK (P30 S28, the jr pair) L8486 - **§131** — The jtbl OVER-SPAN: `sltiu N` is ground truth in BOTH directions, and the zero-word rule only guards one (P30 S28, `func_80191C50`) L8533 - **§132** — The `JR-PAIR-IN-ONE-O0-OBJECT` "wall" was TWO instrument defects: a merged-double span the carve could not see, and a truncated object no rule deleted (P30 S29, `func_8013B83C` + `func_8013BD74`) L8570 - **§132b** — When the span's already-matched owner is ITSELF multi-switch: `--span-rel` (P30 S1, `func_8014032C`) L8660 - **§139** — A GATE THAT GREPS FOR VERDICTS MUST ASSERT 1:1 ACCOUNTING; and a `--src` filter must not survive a carve (P30 S38, wave 6: 10 of 16 drafts vanished) L9591 - **§161** — THE RETRY-WAVE HARVEST: a jump table indexed from zero, and two allocator traps (P30 S47) L10966 ### optimisation level (-O0/-O2) (12) - **§6** — Per-module optimization mixing — the -O0 boot module (Phase 7) L246 - **Detecting** — the opt level (do this first) L254 - **Build** — mechanism — per-file opt override (splat resegmentation) L288 - **§18** — Per-file `-O0` split inside an overlay/blob (Phase 19 T1) L1519 - **§38** — The WHALE `func_80144B9C` (770 ins): the -O0 struct-assign memcpy idiom + the -O0 reach-134 ×134 rollout (Phase 24 T7 §G, cheap Opus — no Fable5, no calls.c) L2527 - **§39** — The ×1→×134 giant-endgame: propagate a matched **-O2** giant via the NATIVE DEFINE-macro path (Phase 24 T7 §G close, 2026-07-08) L2537 - **§116** — Optimization level is a property of the FILE, not the function: read a family 0/N against the member's stub HOME (Phase 29 T79) L7877 - **§3-The** — finding: opt level is per FILE, so the file's contents must be opt-HOMOGENEOUS L8279 - **§127** — The `-O0` regime: the CONSTANT-OFFSET FOLD, and why `-O0` needs its own idiom set (P30 T3 wave, 15 targets) L8349 - **§3-The** — rest of the `-O0` regime (write PLAIN C, and mean it) L8367 - **§127a** — §71 (sibling-first) is the strongest `-O0` lever, and it beats the index L8377 - **§132** — The `JR-PAIR-IN-ONE-O0-OBJECT` "wall" was TWO instrument defects: a merged-double span the carve could not see, and a truncated object no rule deleted (P30 S29, `func_8013B83C` + `func_8013BD74`) L8570 ### family propagation & sweeps (84) - **§8d** — Templating a body INTO a TU must not CHANGE its declaration environment — demote the carried data externs (Phase 26 session 8, byte-proven on `func_8015AE2C` ×133) L483 - **§11** — Cross-binary dedup & code-sharing (Phase 11 — "one match unlocks many") L908 - **§3-The** — mechanism: game-code dedup is SOURCE-LEVEL, not an object swap (R-D1, the key lesson) L926 - **§3-The** — flat-blob overlay config (what the template encodes) L1071 - **§3-THE** — NON-4-ALIGNED-OVERLAY GOTCHA (≈75% of the fleet; fixed in the template + Makefile, automatic) L1079 - **§14** — Propagate a matched function across the fleet — `tools/dedup_propagate.py` (Phase 15) L1126 - **§19** — Scaling the toolkit waves — the recovery PIPELINE + the propagation CAP (Phase 19 T3) L1597 - **§24** — The `ov_SC01_077_a.c` split-file vein: split-aware propagation, but loose-typing-gated (Phase 21) L2085 - **§25** — The "schedule" class is mostly COALESCING (pin-crackable), not scheduling; + the gate two-stage + h_exact over-counts ×134 (Phase 21, cont.6) L2132 - **§3-h** — _exact OVER-COUNTS ×134 — verify shareability before crediting a class's "reach-134" (R14) L2177 - **Where** — this leaves the reach-134 tail (cont.6 option-3, now CONFIRMED byte-backed) L2233 - **§28** — Banking a "close=0 gate-rejected" giant: the canonical-extern recovery (Phase 22 T1, byte-proven on func_8015126C ×134) L2325 - **§28c** — The close=0 recovery is NOT fully exhausted (§26 corrected, R14); + the dedup_propagate registry-skip recovery (Phase 22 T2) L2352 - **§28b** — The struct-walled close=0 giant (§28 case #3) IS bankable: the engine_types.h type-lift (Phase 22 T2, byte-proven on func_80156B74 ×134) L2357 - **§28d** — The "macro-extern-injection" lever: freeing reach-134 inline matches dedup_propagate skips as "not self-contained" (Phase 23, `tools/inject_capped_externs.py`) L2366 - **§30** — Fable5Max cracks §20/§10 "unsteerable" from the gcc SOURCE: store-vs-load is a `/s` aliasing flag, the def-side wall has a macro escape, + the birthing-boost (Phase 23, byte-proven on giant `func_8014EE14` 248 ins ×134) L2382 - **§34** — The `func_80138ED0` giant crack: gcc-2.7.2's **3-qty sort bug** + the **zero-byte asm allocation toolkit** + the **giv-init fence** (Phase 24 T5; Opus→close=21, Fable5→MATCH ×134) L2454 - **§38** — The WHALE `func_80144B9C` (770 ins): the -O0 struct-assign memcpy idiom + the -O0 reach-134 ×134 rollout (Phase 24 T7 §G, cheap Opus — no Fable5, no calls.c) L2527 - **§39** — The ×1→×134 giant-endgame: propagate a matched **-O2** giant via the NATIVE DEFINE-macro path (Phase 24 T7 §G close, 2026-07-08) L2537 - **§40** — Structural families: the MECHANICAL symbol-remap (crack one exemplar → remap the rest, ~0 tokens) (Phase 25 T3/T7, 2026-07-08) L2553 - **§40a** — The DECL-RECONCILE pass (type-lift so remapped drafts compile in the sibling TU) (Phase 25 T7.2, 2026-07-08) L2601 - **§40b** — The reloc-tracker blind spot: the indexed-global idiom that hid the "reach-1 tail" (Phase 26 Task 1, 2026-07-11, byte-verified V0/V1) L2634 - **§40c** — The h_seq per-sibling reconcile: templating a reconcile-class crack ×134 (Phase 26 Task 8, 2026-07-12, byte-proven) L2676 - **§41c** — T7-M2: the ×134 def-side-wall sweep via per-sibling RE-reconcile (Phase 25, 2026-07-10; 4,389 banks, ~0 agent tokens) L2839 - **§42** — The F-band ≤28 regalloc crack wave: register-pin/DENSITY levers beat the permuter (Phase 25 T7 F-band, 2026-07-10; Ultracode 9-worker wave, 4/9 banked byte-identical, 266 swept ×134) L2900 - **§42e** — propagating a CRACK ×134: the def-finder bug + the byte-drift residual (the "remap-fail" misdiagnosis) L3121 - **§43** — The K&R s16-param definition DISSOLVES the "narrow-param wall" for by-value register args (Phase 25 task A, Fable5 crack of the 369-ins giant `func_80166994` ×134, 2026-07-11) L3195 - **§45** — The flagship `func_80133CD4` crack (399 ins ×134): the merged-variable permutation-breaker + the 1-death local-alloc gate (Phase 25 task A giant escalation, Fable5 gdb-on-cc1, 2026-07-11) L3298 - **§46** — The `func_80178D40` crack (890 ins ×134, the heaviest core in the game): four LOOP-STRUCTURE levers cheap-Opus found by reading loop.c/jump.c/cse.c (Phase 26 session 8, 2026-07-13) L3313 - **§47** — The live-length SLIDER: splitting a global.c allocno-priority TIE with one zero-byte asm (Phase 26 session 8, Fable5 Max, byte-proven on `func_8017BEBC` 952 ins ×113) L3365 - **§49** — The LUID DIAL: a zero-byte SCHEDULING dial (the sched.c analogue of §47) — `func_8017A4AC` (536 ins ×134), Phase 26 session 8 L3527 - **§52** — The WALKER-FAMILY skeleton: 6 regalloc-order levers + a deeply-characterized intrinsic wall (`func_80178004`, 165 ins ×134; Phase 26, Fable5, 2026-07-15) L3913 - **§3-The** — 6 levers (the "walker-family skeleton" — apply to the 12 siblings; levers 1-5 retire ~half the residual) L3924 - **§53** — SWEEP A FAMILY WITH THE TOOL ITS EXEMPLAR NEEDED: the jr/switch carve, and how omitting it manufactured the "families don't template" doctrine (Phase 28 T1, 2026-07-15) L4028 - **§55c** — Sizing the propagate: a TARGETED propagate is ~4 min/core, and "it's slow" was a BROKEN-TREE ARTIFACT L4141 - **§54** — `--fix-def-sig`: the member's CANONICAL DECLARATION is a build step too (tiny-IMM mega-pools, +4,801, Phase 29 T6, 2026-07-16) L4163 - **§56** — Banking a hand-drafted GIANT into its exemplar TU: self-contained draft vs live-TU decls, 4 reconciliation tactics (`func_8013FAF8`, 312 ins ×138, Phase 29 T4, 2026-07-17) L4187 - **§56b** — PROPAGATING an h_seq giant: the exemplar's externs MUST be fleet-canonical, not the draft's types L4232 - **§57** — The SELF-decl normalize: the sibling's OWN caller declares the templated fn divergently (the third §17a-1 direction; `tools/normalize_self_decls.py`, func_801670E4 ×137, Phase 29, 2026-07-18) L4256 - **§57a** — Two NSD corrections + the SURGICAL-ONLY law + the honest broad-sweep yield (Phase 29, 2026-07-18) L4303 - **§59** — Three h_seq sweep-residual classes match_one/the-exemplar-bank don't reveal (Phase 29 crack-wave close, 2026-07-18) L4377 - **§3-Two** — corollaries worth remembering L4450 - **§65a** — The blast-radius taxonomy (makes §61's law structural instead of remembered) L5030 - **§3-Giv** — record order (the §70 family) L5760 - **§75** — A propagation cap is usually a MINORITY-SPELLING SOURCE OVERLAY, not a wall: census the carried extern before believing the exclusion message (Phase 29 SESSION-19, `func_8014F3E8` ×4 → ×138) L5866 - **§75a** — The exclusion classes, enumerated with named causes (Phase 29 SESSION-19, the 134-binary `dedup_extend` sweep) L5925 - **§75b** — A body's preamble can carry `#define`s, not just `extern`s; extraction lifts only the externs (Phase 29 SESSION-19, `func_80165CA0` ×3 → fleet) L5948 - **§76** — The allocno CLASS (local vs global) is the dominant regalloc lever, and C reaches it ONLY through declaration scope and variable reuse (Phase 29 SESSION-19, behemoth #3 `func_8017F510` 1,511 ins, 97 → MATCH, pin-free) L6028 - **§77** — Every extraction tool carries a NARROW hard-coded preamble set; anything outside it silently caps the body's reach. Diff the preamble before you gate. (Phase 29 SESSION-19 — three variants in one session, two different tools) L6084 - **§84** — The DERIVED-OFFSET remap bug: a hand-computed literal that encodes the DISTANCE between two per-overlay symbols, and why `match_one` is structurally blind to it (Phase 29 SESSION-20, `func_8013D53C`) L6472 - **§86** — Pinned-exemplar templatability is a PER-FAMILY property, not a per-member rate; and the §42e pin guard is now over-conservative (Phase 29 SESSION-20) L6589 - **§3-THE** — LAW: all-or-nothing PER FAMILY L6600 - **§3-Why** — the two live families differ from the three dead ones — the open question L6627 - **§3-The** — cheap discriminator, before spending a sweep L6666 - **§89b** — the parallel gate farm existed; the family path could not reach it (`tools/sweep_parallel.py`) L6745 - **§91** — A structure-TRANSFER is only valid where the structure corresponds: the `--like` role trap (Phase 29 SESSION-21, `func_8012AAAC` ×137) L6842 - **§94** — A family sweep's `0/N` is a TYPE-CARRY failure until proven otherwise: lift the exemplar's local types, ALL of them, transitively (Phase 29 SESSION-21, `func_8016B6BC` 0/137 → 137/137) L6947 - **§105** — A gate's revert must survive an EXCEPTION, not just a failure (Phase 29 T53, `jtbl_family_bank`) L7431 - **§107** — A lever wired into ONE gate path is a lever most families cannot reach (Phase 29 T56, `func_80144090` 0/136 → 136/136) L7513 - **§108** — Diagnosing a family `0/N`: the four causes, and the third opt-in lever (Phase 29 T59) L7551 - **§111** — The distinct-code metric is not noisy: a family pays it only if its members are byte-VARIANT (Phase 29 T66) L7681 - **§116** — Optimization level is a property of the FILE, not the function: read a family 0/N against the member's stub HOME (Phase 29 T79) L7877 - **§123** — PROPAGATE A FAMILY WITH THE TOOL ITS TIER NEEDS: `dedup_propagate` is h_exact-only; its refusals are statements about the TOOL (P30 wave 1, 2026-07-30) L8116 - **§124** — A "not matched" verdict can mean the definition is there under a DIFFERENT C NAME: the asm-label alias blind spot (P30 SESSION-28, `func_8016191C` ×137) L8153 - **§124a** — a family sweep's `0 matched-exemplar families` may be a FILTER, not a wall L8198 - **§134** — MULTI-LINE BLINDNESS: one root cause, four faces, in `family_remap`'s preamble scanner (P30 S6, 190 zero-crack families) L8711 - **§136c** — SIBLING-FIRST is a DERIVATION shortcut, not just a conflict fix (the fastest route in a family wave) L9066 - **§138** — The propagation lanes: a gate refusal is a DECLARATION, and which lever you owe depends on blast radius L9412 - **§142** — An open stub whose `h_exact` class is MATCHED elsewhere is FREE. Propagate the body; do not gate a draft. (P30 S39, +7,710 ins in two commands) L9775 - **§143** — `cast_call_sites` read a RETURN STATEMENT as a prototype and deleted it. A 0/39 sweep became 18/39. (P30 S40) L9831 - **Then** — propagation returned 0/137 TWICE — both times a missing TYPE L9997 - **§3-A.** — The frame has THREE strata, and stratum 3 is unreachable from C L10038 - **§3-E.** — A `qty_compare` TIE is not spelling-reachable — recognise it and stop L10080 - **Consequence** — for the family (a real scheduling decision) L10092 - **§150** — A register ROTATION across symmetric blocks is VARIABLE-IDENTITY evidence, not an allocator tie (P30 S43, `func_8017C6F4`, 947 ins ×4) L10309 - **§151** — THE GHOST WEDGE: when a load-before-store transposition is unreachable by ANY statement order (P30 S43, `func_8017EF68`, 969 ins) L10364 - **When** — to reach for it L10404 - **§152** — BYTE SIZE is the family key that name- and h_seq-grouping both miss (P30 S43, the 0xECC family: 1 crack → 12 overlays → 11,364 ins) L10415 - **§156** — an ORPHANED reconcile poisons the fleet: `dedup_propagate`'s kept edit (S45 p6/p7) L10637 - **§160** — THE REACH-15 WAVE HARVEST: an align-1 block move, and the instrument that called it a wall (P30 S47) L10890 - **§162** — S48 WAVE-1 HARVEST (P30, 2026-08-11): the reach-ordered sibling campaign's first 12 targets L11011 - **§163z** — THE UNVETTED REMAINDER (do not cite as law; each needs a dedupe pass) L11825 - **§3-The** — ADDRESS-CLASS TABLE: which load/store pairs even REACH the `/s` clause (P30 S48 wave 4, `func_80185B44`, ov_SC03_014) L14339 - **§168** — THE COUSIN TIER (P30 S49, 2026-08-12): h_seq's exact-hash brittleness, measured — and the similarity map above it L16208 ### integration / TU plumbing (39) - **§8c** — Splitting a TU means rebuilding its DECLARATION ENVIRONMENT, not moving text (Phase 26 session 6) L437 - **§8d** — Templating a body INTO a TU must not CHANGE its declaration environment — demote the carried data externs (Phase 26 session 8, byte-proven on `func_8015AE2C` ×133) L483 - **§9.3** — Make it the build: resegment + swap + resolve (`tools/psyq_integrate.py`, libcd DONE) L685 - **§9.4** — Integrating a SECOND library (libgs block 6 after libcd) — multi-library gotchas L712 - **§9.5** — Integrating a WHOLE multi-block library in one call (full libgs — Phase 7 session G) L740 - **§17a** — The TOOLKIT at WAVE scale (Phase-18 Step-3b/Step-1 — measured) + the pipeline-integration gotchas L1445 - **§3-THE** — CAP: at this tail the match_one→gate gap is the LOOSE-TYPING CALL-GRAPH wall (not cheap plumbing) L1637 - **Diagnostic** — lesson: a failed in-TU build leaves a STALE `.o` L1654 - **§28d** — The "macro-extern-injection" lever: freeing reach-134 inline matches dedup_propagate skips as "not self-contained" (Phase 23, `tools/inject_capped_externs.py`) L2366 - **§30a** — §30 generalizes to the FULL near-miss backlog (via STANDARD Opus agents, not just Fable5) + 2 more steer levers + the mechanical-integration throughput unlock (Phase 23 (a)) L2394 - **§40a** — The DECL-RECONCILE pass (type-lift so remapped drafts compile in the sibling TU) (Phase 25 T7.2, 2026-07-08) L2601 - **§42a** — addendum — wave 2 (residuals + 29-100 band): iso-MATCH ≠ real-TU bank, the memcpy→struct-assign fix, +5 levers (2026-07-10b) L2953 - **§42c** — addendum — wave 3 (Max orchestrator + CORRECTED Ultracode fan-out, 2026-07-10c): the real-TU-faithful parallel harness (rtu_match) + 7/9 crack, ZERO iso-drift L3033 - **§56** — Banking a hand-drafted GIANT into its exemplar TU: self-contained draft vs live-TU decls, 4 reconciliation tactics (`func_8013FAF8`, 312 ins ×138, Phase 29 T4, 2026-07-17) L4187 - **§61** — Task 14: the gate ladder's missing stage is the ARITY pre-pass, and it is TU-side not draft-side (Phase 29, 2026-07-21) L4545 - **§61a** — The Task-5 wave: 11/12 MATCH, 0 banked — three DISTINCT integration walls, each now named (Phase 29, 2026-07-21) L4606 - **§63** — The fresh-138 DEF-SIDE blocker: fix the HEADER decl, not the draft (`fix_header_decl.py`, Phase 29 SESSION-13, 2026-07-23) L4877 - **§63** — UPDATE (Phase 29 SESSION-14) — `fix_header_decl`'s "SAFE" verdict is FLEET-BLIND; it MUST be R22-validated L5000 - **§65** — The stranded-draft recovery: BLAST-RADIUS TIERS, and the per-overlay de-macroize that refutes §20's DEF-conflict wall (`tools/demacroize.py` + `tools/blocker_probe.py`, Phase 29 SESSION-16, 2026-07-24) L5015 - **§65b** — The escape: de-macroize the instantiation, don't touch the shared header L5045 - **§65f** — The de-macroize lever's BOUNDARY, measured: byte-neutral 14 times of 15, and the 15th is why the gate exists L5118 - **§65g** — Where the cheap levers STOP: the local-type and in-TU-self-decl classes did not yield L5139 - **§85** — The RETURN-axis fleet widen is ALL-OR-NOTHING: widening the shared header alone guarantees a conflict in the source overlay (Phase 29 SESSION-20, `func_8012CC88` / `func_8014D12C`) L6539 - **§95** — `reconcile_tu` dropped the SIBLING declarators of a multi-symbol `extern` line (Phase 29 SESSION-21, `func_80176218`) L6983 - **§96** — The same rewrite, one shape down: `reconcile_tu` matched statements to lines by TEXT, so every COMMENTED declaration was silently skipped (Phase 29 SESSION-22, `func_80176218` banked) L7018 - **§3-Two** — `reconcile_tu` bugs found underneath, one introduced while fixing the other L7190 - **§100** — Prefer the DRAFT-LOCAL fix: a type only one function uses belongs in its BODY, not in a shared header (Phase 29 SESSION-22, `func_80175DA8` 0/137 → 137/137) L7216 - **§102** — A PLUMBING verdict can MASK a DIFF; and K&R is not always a codegen change (Phase 29 SESSION-22, `func_8016EC0C`) L7272 - **§103** — A FILE-scope `extern` in a shared overlay TU is a GLOBAL constraint on every LATER function; move the DECL, not the draft (Phase 29 T48/T51, `func_80135260` — the fleet-wide half) L7307 - **§109** — Conforming a definition to a shared header: fix the NAMES, then check the RETURN precondition (Phase 29 T60) L7600 - **§112** — A macro-scoped declaration only collides where the macro is INSTANTIATED (Phase 29 T67/T69, `audit_header_sigs.py`) L7730 - **§114** — The THIRD decl axis: a CALLEE the draft declares differently from the target TU (Phase 29 T76/T77) L7808 - **§3-The** — integration idioms (these decide whether a byte-correct draft BANKS) L8804 - **§3-The** — declaration surface (integration, not codegen) L8938 - **Reconciling** — a gate-refused draft: which way you edit depends on WHERE the TU's decl is L9562 - **§3-The** — same swallow, twice more, in the integration spine L9706 - **§3-A.** — Payload word0 is a global MODULE ID; code starts after the header L10524 - **§162** — THE LICM PAIR: what makes an address a movable AT ALL, and why the preheader order is the body order (P30 S47, `ov_MAIN_012`) L11140 - **§166** — THE DESTINATION-TU ORACLE (P30 S48): the seven-attempt bug that was never codegen L14899 ### build graph, splat & the harness (109) - **§4** — Flag/toolchain gotchas L190 - **Build** — mechanism — per-file opt override (splat resegmentation) L288 - **§8c** — Splitting a TU means rebuilding its DECLARATION ENVIRONMENT, not moving text (Phase 26 session 6) L437 - **§9** — Link real PsyQ library objects byte-exact (Phase 7 — GO proven) L613 - **§9.1** — Generalised per-object linker — `tools/psyq_link.py` (+ `psyq_link_lib.py`), 18/18 libcd byte-exact L642 - **§9.2** — Wire a library region into the build with NOLOAD — no data carving (`tools/psyq_link_region.py`) L666 - **§9.3** — Make it the build: resegment + swap + resolve (`tools/psyq_integrate.py`, libcd DONE) L685 - **§9.6** — Scaling library linking to the whole EXE (Phase 8 — 8 libs linked, 20%→50% byte-identical) L766 - **§9.7** — Binary-agnostic toolchain refactor (Phase 9) — the reusable pattern for Gen2 L802 - **§3-The** — clean object-level metric (use this, not the permuter score, for jtbl/rodata functions) L844 - **§3-The** — mechanism: game-code dedup is SOURCE-LEVEL, not an object swap (R-D1, the key lesson) L926 - **Per-binary** — toolchain provenance (R24) L959 - **§12** — Ultracode harvest — parallel-draft + byte-gate at scale (Phase 12, resident: 1.4%→71.7% in one session) L964 - **One-command** — onboarding — `tools/new_overlay.sh ` L1062 - **§3-THE** — NON-4-ALIGNED-OVERLAY GOTCHA (≈75% of the fleet; fixed in the template + Makefile, automatic) L1079 - **Fleet** — build — `make build-all` / `make check-all` L1120 - **§14** — Propagate a matched function across the fleet — `tools/dedup_propagate.py` (Phase 15) L1126 - **§14b** — Harvesting the UNMATCHED shared core — the match_one wall (Phase 15) L1192 - **§14c** — Callee-signature-aware harvest — breaking the extern-type-conflict wall (Phase 15, T6) L1213 - **§17** — The compiler-quirk wall — the matching TOOLKIT (Phase 18; gcc-2.7.2 source + byte-gated) L1376 - **§3-The** — pipeline gotcha — match_one ≠ the gate; `sig_unify` is MANDATORY L1421 - **§17a** — The TOOLKIT at WAVE scale (Phase-18 Step-3b/Step-1 — measured) + the pipeline-integration gotchas L1445 - **§19** — Scaling the toolkit waves — the recovery PIPELINE + the propagation CAP (Phase 19 T3) L1597 - **§20** — The wave-at-scale GATE CAP + residual-class verdicts (Phase 20) L1632 - **§3-THE** — CAP: at this tail the match_one→gate gap is the LOOSE-TYPING CALL-GRAPH wall (not cheap plumbing) L1637 - **Diagnostic** — lesson: a failed in-TU build leaves a STALE `.o` L1654 - **Phase-20** — RESOLUTION — `tools/cast_call_sites.py` BUILT + the cap re-diagnosed (R14, byte-proven) L1701 - **§24** — The `ov_SC01_077_a.c` split-file vein: split-aware propagation, but loose-typing-gated (Phase 21) L2085 - **§25** — The "schedule" class is mostly COALESCING (pin-crackable), not scheduling; + the gate two-stage + h_exact over-counts ×134 (Phase 21, cont.6) L2132 - **§3-The** — gate two-stage — sig_unify is a FALLBACK, not unconditional (`gate_stage.py`, §19 folded in) L2189 - **§28** — Banking a "close=0 gate-rejected" giant: the canonical-extern recovery (Phase 22 T1, byte-proven on func_8015126C ×134) L2325 - **§28c** — The close=0 recovery is NOT fully exhausted (§26 corrected, R14); + the dedup_propagate registry-skip recovery (Phase 22 T2) L2352 - **§28d** — The "macro-extern-injection" lever: freeing reach-134 inline matches dedup_propagate skips as "not self-contained" (Phase 23, `tools/inject_capped_externs.py`) L2366 - **§29** — Reasoning-model (GLM5.2) DEF-side reconciliation idioms + the wall's hard limit (Phase 23 T10.7, `tools/glm_reconcile.py`) L2374 - **§33** — Automating the giant decl-reconcile: `tools/reconcile_decls.py` (the DATA analog of §20's `cast_call_sites`) + a fleet-majority type oracle (Phase 24 T7b, byte-proven on `func_80129CF8`) L2434 - **§34** — The `func_80138ED0` giant crack: gcc-2.7.2's **3-qty sort bug** + the **zero-byte asm allocation toolkit** + the **giv-init fence** (Phase 24 T5; Opus→close=21, Fable5→MATCH ×134) L2454 - **§35** — The region-a sibling-giant harvest: difficulty ≠ $s-reg count (it's global-array hoisting) + the banking recipe + new loop idioms (Phase 24 T7, 5 parallel Opus-Max agents) L2471 - **§37** — The T7 §G giant endgame: 6/8 cracked, meta-laws + transferable levers (Phase 24, 2026-07-07; FULL byte-verified detail + gcc-2.7.2 line cites in `docs/gcc-2.7.2-map/t7g-giant-harvest.md`) L2506 - **§39** — The ×1→×134 giant-endgame: propagate a matched **-O2** giant via the NATIVE DEFINE-macro path (Phase 24 T7 §G close, 2026-07-08) L2537 - **§41** — The DEF-SIDE canonical-sig wall: mechanically banking a drafted giant past `conflicting types` (Phase 25 T5b batch-2, 2026-07-09; `tools/canon_sig_reconcile.py`, byte-proven on `func_8013B274`) L2710 - **§41a** — v3.1: the def-side wall was ~71% TOOL-shaped — the five measured defects + the laws that dissolve them (Phase 25 T6, Fable5, 2026-07-09) L2754 - **§41b** — T7 execution: the object-only probe OVER-counts BANKABLE by two link/rodata classes (Phase 25 T7-M1, 2026-07-10) L2809 - **§41d** — `void`→`s32` is NOT always byte-neutral: gate the RAW draft FIRST (Phase 26 session 6, byte-proven) L2878 - **§42b** — addendum — wave 3 (Max, 2026-07-10c): THE STALE-OBJECT GATE TRAP + the read-global `&`-cast drift + fix L2994 - **§45** — The flagship `func_80133CD4` crack (399 ins ×134): the merged-variable permutation-breaker + the 1-death local-alloc gate (Phase 25 task A giant escalation, Fable5 gdb-on-cc1, 2026-07-11) L3298 - **§51** — TOOLING INTEGRITY: the silent skip, and how to hunt it L3630 - **§51b** — Why the byte-gate cannot save you L3652 - **§51f** — Checklist for any new corpus-scanning tool L3755 - **§51g** — When the thing you are scanning has a GRAMMAR, parse the grammar (`tools/cdecl.py`) L3769 - **§53** — SWEEP A FAMILY WITH THE TOOL ITS EXEMPLAR NEEDED: the jr/switch carve, and how omitting it manufactured the "families don't template" doctrine (Phase 28 T1, 2026-07-15) L4028 - **§55** — Core-crack wave levers + the GATE-ORCHESTRATION law (Phase 29 T3, 13-agent ultracode wave, 2026-07-17) L4093 - **§55b** — THE GATE-ORCHESTRATION LAW (3 traps, ~3.5h lost; all recovered, 0 data lost) L4122 - **§55c** — Sizing the propagate: a TARGETED propagate is ~4 min/core, and "it's slow" was a BROKEN-TREE ARTIFACT L4141 - **§54** — `--fix-def-sig`: the member's CANONICAL DECLARATION is a build step too (tiny-IMM mega-pools, +4,801, Phase 29 T6, 2026-07-16) L4163 - **§57** — The SELF-decl normalize: the sibling's OWN caller declares the templated fn divergently (the third §17a-1 direction; `tools/normalize_self_decls.py`, func_801670E4 ×137, Phase 29, 2026-07-18) L4256 - **§61** — Task 14: the gate ladder's missing stage is the ARITY pre-pass, and it is TU-side not draft-side (Phase 29, 2026-07-21) L4545 - **§61b** — The jtbl gate stage: built, and the ORDERING law it exposed (Phase 29 Task-14 stage 4, 2026-07-21) L4658 - **§61d** — The undo was eating the tree: two tools, one defect, invisible to the byte-gate (Phase 29, 2026-07-22) L4779 - **§62** — The jtbl RECONCILE must also follow the carve: the post-carve draft reconcile (`harvest_verify._jtbl_reconcile`, Phase 29 SESSION-11, 2026-07-22) L4833 - **§65** — The stranded-draft recovery: BLAST-RADIUS TIERS, and the per-overlay de-macroize that refutes §20's DEF-conflict wall (`tools/demacroize.py` + `tools/blocker_probe.py`, Phase 29 SESSION-16, 2026-07-24) L5015 - **§65d** — Existing-ladder baseline, measured (do this before building a recovery stage) L5091 - **§65e** — Two oracles, and the disagreement is the finding (R34 in practice) L5101 - **§65f** — The de-macroize lever's BOUNDARY, measured: byte-neutral 14 times of 15, and the 15th is why the gate exists L5118 - **§66b** — A metric parsed out of another tool's prose goes NULL silently when the label changes L5200 - **§67a** — Run the symbol-set guard BEFORE you pay for a gate (`tools/symcheck.py`, Phase 29 SESSION-18) L5405 - **§77** — Every extraction tool carries a NARROW hard-coded preamble set; anything outside it silently caps the body's reach. Diff the preamble before you gate. (Phase 29 SESSION-19 — three variants in one session, two different tools) L6084 - **§3-The** — CANDIDATE gate and the REAL gate need DIFFERENT preambles — keep the difference out of the bank L6124 - **§79** — For a 0-callee giant, fingerprint by DATA symbols (§71 cannot fire); and the STACK-SLOT ORDER is a declaration-order oracle (Phase 29 SESSION-19, `func_8017BF14` 4,763 ins, cold start → 45/4763) L6220 - **§82** — Two source-shape oracles from behemoth #6: a duplicated `addiu $aN,$sp,K` across a `jal` means the block was INLINED, and scalar-vs-aggregate decides WHEN a stack slot is allocated (Phase 29 SESSION-19, `func_8017C730` 1,061 ins) L6370 - **§3-2.** — Scalar vs aggregate decides *when* the slot is allocated L6389 - **§3-Why** — it survived every candidate gate L6495 - **§3-THE** — FIX IS MECHANICAL — the tool already holds the answer L6510 - **§87** — `match_one` COMPILES but never LINKS, so an unresolvable data symbol reads as MATCH; and stored drafts go STALE against the tree (Phase 29 SESSION-20) L6633 - **§88f** — the missing rung: a RELOCATION gate between `match_one` and the binary L6718 - **§89a** — MEASURE the write set; do not assert its tier (`tools/blast_radius.py`) L6732 - **§89b** — the parallel gate farm existed; the family path could not reach it (`tools/sweep_parallel.py`) L6745 - **§90** — Five tool-integrity laws from one session, each of which changed an answer (Phase 29 SESSION-21, 2026-07-27) L6766 - **§90a** — A comparison tool MUST share its reference oracle's index space, exactly L6772 - **§92** — Conforming a DECLARATION: pointer changes are caller-neutral, scalar-WIDTH changes are not (Phase 29 SESSION-21, `tools/conform_decls.py`) L6891 - **§97** — The gate's own tree hygiene: a refused carve, an unchecked recovery, and a snapshot that captured a dirty tree (Phase 29 SESSION-22) L7066 - **§105** — A gate's revert must survive an EXCEPTION, not just a failure (Phase 29 T53, `jtbl_family_bank`) L7431 - **§107** — A lever wired into ONE gate path is a lever most families cannot reach (Phase 29 T56, `func_80144090` 0/136 → 136/136) L7513 - **§3-Why** — it survived so long: a MASKED oracle will MATCH a wrong symbol L7953 - **§122** — GATE RAW BEFORE TRANSFORMING; the undo belongs to the WRITER, as a per-edit journal (P30 T0a, 2026-07-30) L8084 - **§123** — PROPAGATE A FAMILY WITH THE TOOL ITS TIER NEEDS: `dedup_propagate` is h_exact-only; its refusals are statements about the TOOL (P30 wave 1, 2026-07-30) L8116 - **§126a** — a bare `except: continue` around a coverage-asserting oracle re-creates the silent skip (P30 S28) L8317 - **§130** — An INCREMENTAL build can report BYTE-IDENTICAL for a change the CLEAN build cannot even LINK (P30 S28, the jr pair) L8486 - **§132** — The `JR-PAIR-IN-ONE-O0-OBJECT` "wall" was TWO instrument defects: a merged-double span the carve could not see, and a truncated object no rule deleted (P30 S29, `func_8013B83C` + `func_8013BD74`) L8570 - **§133** — The DEFAULT-FILTER class: three times in one session, a tool silently answered a narrower question than the one asked (P30 S1–S3) L8685 - **§134** — MULTI-LINE BLINDNESS: one root cause, four faces, in `family_remap`'s preamble scanner (P30 S6, 190 zero-crack families) L8711 - **§3-The** — splitting/merging rules (each closed a residual, byte-gated) L8853 - **§137a** — A gate verdict has a TIMESTAMP; re-check it against the draft's mtime L9383 - **§138** — The propagation lanes: a gate refusal is a DECLARATION, and which lever you owe depends on blast radius L9412 - **§134** — again, in a second tool — and the waiter rule corrected L9523 - **Reconciling** — a gate-refused draft: which way you edit depends on WHERE the TU's decl is L9562 - **§139** — A GATE THAT GREPS FOR VERDICTS MUST ASSERT 1:1 ACCOUNTING; and a `--src` filter must not survive a carve (P30 S38, wave 6: 10 of 16 drafts vanished) L9591 - **§140** — A METRIC IS NOT A MEASUREMENT UNTIL IT IS REPRODUCIBLE FROM THE COMMITTED TREE (P30 S1e: a phantom regression that gated the session's best lever) L9657 - **§142** — An open stub whose `h_exact` class is MATCHED elsewhere is FREE. Propagate the body; do not gate a draft. (P30 S39, +7,710 ins in two commands) L9775 - **§3-The** — measurement (do this before any wave; it is ~20 lines and needs no builds) L9787 - **§155b** — check the TYPE your oracle returns before comparing against it (S45 p5) L10584 - **§156** — an ORPHANED reconcile poisons the fleet: `dedup_propagate`'s kept edit (S45 p6/p7) L10637 - **§158** — The RANGE-EXTENDER: a fourth zero-emission asm lever completes the allocno toolkit (P30 S46 tier-3, `func_8017CE58`, 733 ins) L10709 - **§160** — THE REACH-15 WAVE HARVEST: an align-1 block move, and the instrument that called it a wall (P30 S47) L10890 - **§161** — THE RETRY-WAVE HARVEST: a jump table indexed from zero, and two allocator traps (P30 S47) L10966 - **§162** — S48 WAVE-1 HARVEST (P30, 2026-08-11): the reach-ordered sibling campaign's first 12 targets L11011 - **§163** — S48 WAVES 2-3 HARVEST (P30, 2026-08-11/12): the five that were byte-probed and are actionable L11757 - **§165** — S48 WAVE-4 HARVEST (P30, 2026-08-12): banked the same day the wave landed L13686 - **§166** — THE DESTINATION-TU ORACLE (P30 S48): the seven-attempt bug that was never codegen L14899 - **§167** — S48 WAVE-5/6 HARVEST (P30, 2026-08-12): the saturation point L14955 ### process, measurement & doctrine (73) - **§8e** — The jtbl ALIGNMENT LAW + the pad-spec filter — multi-table .rodata spans (Phase 29, byte-proven; `.run/probe_jtbl/verdict.md`) L530 - **§3-The** — mechanism: game-code dedup is SOURCE-LEVEL, not an object swap (R-D1, the key lesson) L926 - **Per-binary** — toolchain provenance (R24) L959 - **§17a** — The TOOLKIT at WAVE scale (Phase-18 Step-3b/Step-1 — measured) + the pipeline-integration gotchas L1445 - **Diagnostic** — lesson: a failed in-TU build leaves a STALE `.o` L1654 - **Phase-20** — RESOLUTION — `tools/cast_call_sites.py` BUILT + the cap re-diagnosed (R14, byte-proven) L1701 - **§23** — Giant `func_80153E00` cracked (scalar-data CAST); BUT most giant drafts are STALE+INCOMPLETE, and a diag MUST remove artifacts (Phase 21 — byte-proven + a self-correction) L2032 - **§3-h** — _exact OVER-COUNTS ×134 — verify shareability before crediting a class's "reach-134" (R14) L2177 - **§28c** — The close=0 recovery is NOT fully exhausted (§26 corrected, R14); + the dedup_propagate registry-skip recovery (Phase 22 T2) L2352 - **§31-triage** — R17 applies to CODEGEN residuals, never to a compile ERROR (Phase 26 session 7, Drew asked) L2693 - **§41a** — v3.1: the def-side wall was ~71% TOOL-shaped — the five measured defects + the laws that dissolve them (Phase 25 T6, Fable5, 2026-07-09) L2754 - **§41b** — T7 execution: the object-only probe OVER-counts BANKABLE by two link/rodata classes (Phase 25 T7-M1, 2026-07-10) L2809 - **§41b** — addendum — M4 "reconcile_decls" tier is ALSO a probe over-count: 0/8 mechanical (Phase 25 T7-M4, 2026-07-10) L2858 - **§53** — SWEEP A FAMILY WITH THE TOOL ITS EXEMPLAR NEEDED: the jr/switch carve, and how omitting it manufactured the "families don't template" doctrine (Phase 28 T1, 2026-07-15) L4028 - **§3-The** — meta-lesson (R35, and why this one is expensive) L4078 - **§55** — Core-crack wave levers + the GATE-ORCHESTRATION law (Phase 29 T3, 13-agent ultracode wave, 2026-07-17) L4093 - **§55b** — THE GATE-ORCHESTRATION LAW (3 traps, ~3.5h lost; all recovered, 0 data lost) L4122 - **§57a** — Two NSD corrections + the SURGICAL-ONLY law + the honest broad-sweep yield (Phase 29, 2026-07-18) L4303 - **§58** — match_one MATCH ≠ BANK: the four blind spots + the crack-wave reconcile-before-bank law (Phase 29 crack-wave, 2026-07-18) L4343 - **§60** — Classify the residual, don't rank it: the deterministic residual→class classifier and what it measured about the backlog (Phase 29 Task-13A, 2026-07-21) L4407 - **What** — it measured — the whole open backlog, byte-grounded L4431 - **§3-The** — parallel-probe race this surfaced L4463 - **§61b** — The jtbl gate stage: built, and the ORDERING law it exposed (Phase 29 Task-14 stage 4, 2026-07-21) L4658 - **§62** — The jtbl RECONCILE must also follow the carve: the post-carve draft reconcile (`harvest_verify._jtbl_reconcile`, Phase 29 SESSION-11, 2026-07-22) L4833 - **§63** — UPDATE (Phase 29 SESSION-14) — `fix_header_decl`'s "SAFE" verdict is FLEET-BLIND; it MUST be R22-validated L5000 - **§65** — The stranded-draft recovery: BLAST-RADIUS TIERS, and the per-overlay de-macroize that refutes §20's DEF-conflict wall (`tools/demacroize.py` + `tools/blocker_probe.py`, Phase 29 SESSION-16, 2026-07-24) L5015 - **§65a** — The blast-radius taxonomy (makes §61's law structural instead of remembered) L5030 - **§65d** — Existing-ladder baseline, measured (do this before building a recovery stage) L5091 - **§65e** — Two oracles, and the disagreement is the finding (R34 in practice) L5101 - **§65f** — The de-macroize lever's BOUNDARY, measured: byte-neutral 14 times of 15, and the 15th is why the gate exists L5118 - **§66c** — Before a wave, verify the FUEL exists; an "already attempted" set built from the wrong directory lies in BOTH directions L5217 - **§66d-5** — `residual_class`'s "structural ⇒ permuter CPU is waste" is WRONG for schedule permutations (measured, Phase 29 SESSION-18) L5491 - **§3-The** — honest fix was source-level and cheap L5750 - **§3-The** — residual, and the honest read L6260 - **§83** — The parameterised-repeat law, the spill-area trap, and why a per-case edit cannot move a per-case symptom (Phase 29 SESSION-20, `func_80183814` 5,122 ins, cold-ish start → 36 structural / 99.3%) L6412 - **Scope** — , measured (do not over-generalise — §80) L6518 - **§3-Two** — ladder lessons banked with it L6528 - **§3-Do** — the WHOLE axis in one edit, then R22 once L6567 - **§3-THE** — LAW: all-or-nothing PER FAMILY L6600 - **§88b** — the `slti` literal-position law (extends §78 to comparisons) L6686 - **§88e** — a wrong diagnosis, refuted properly (the model for how to treat an inherited lever) L6708 - **§89a** — MEASURE the write set; do not assert its tier (`tools/blast_radius.py`) L6732 - **§90d** — Do not measure a live wave's drafts (§87 in real time) L6810 - **§98** — `conform_decls` had three defects, and only the third needed R22 to find (Phase 29 SESSION-22, `func_8014CF04`) L7113 - **§106** — Persist the MEASUREMENT, derive the POLICY: a stored route let a stale file out-vote the live table (Phase 29 T54, `residual_class._ROUTE`) L7470 - **§125** — Split the CARVE from the BODY before calling a jr residue a wall — and measure it by SHA from a CLEAN tree (P30 SESSION-28; **this section's first draft was WRONG and the method caught it**) L8206 - **§3-The** — meta-lesson L8257 - **Wave** — economics (measured, for the next batch's sizing) L8950 - **§136b** — A prior wave's "genuine byte-DIFF" verdict is NOT reliable evidence (4 of 4 refuted) L9030 - **§136g** — When the index points at the WRONG lever: two byte-refuted routings (func_801863B4) L9208 - **§136h** — CORRECTION: the zero-crack pool does NOT "refill with cheap work" (my error, byte-measured) L9237 - **§136j** — The failure MIX flips with function size (measured across four bands, one session) L9299 - **Rank** — the lane by measured concentration, not by class count L9478 - **§140** — A METRIC IS NOT A MEASUREMENT UNTIL IT IS REPRODUCIBLE FROM THE COMMITTED TREE (P30 S1e: a phantom regression that gated the session's best lever) L9657 - **§3-The** — measurement (do this before any wave; it is ~20 lines and needs no builds) L9787 - **§3-And** — the report-vs-bytes lesson attached to it L9819 - **§146** — RE-MEASURE A WALL BEFORE YOU RESPECT IT. Both "permanent" giants fell to drafts already on disk. (P30 S6, +50,094 ins) L9974 - **§147** — The three-stratum FRAME LAW, and four "stop searching" verdicts (P30 S42, `func_8017C294`, serial run) L10033 - **§3-C.** — Inner-block declaration does NOT delay slot allocation — BYTE-REFUTED L10065 - **§3-D.** — "Cheap fuel" that was never probed: 0 of 31 templatable L10290 - **§3-Two** — corrections to the record L10342 - **§3-The** — two fallouts, and how to close them (both measured, in order) L10392 - **What** — does NOT work (14 byte-measured probes) L10483 - **§157** — the cheap-tier size cliff, measured (S45 p6) L10684 - **§162** — The cross-jump "CALL veto" is a COUNT law, not a CALL law (BOUNDS §88a; P30 S48, `func_80189540`) L11299 - **§3-The** — law L11546 - **DIAGNOSTIC** — TELL — two faces, one law L11588 - **§163** — S48 WAVES 2-3 HARVEST (P30, 2026-08-11/12): the five that were byte-probed and are actionable L11757 - **§163z** — THE UNVETTED REMAINDER (do not cite as law; each needs a dedupe pass) L11825 - **§164z** — REFUTED CLAIMS: do NOT re-derive these L13620 - **§165z** — REFUTED THIS WAVE: do NOT re-derive L14855 - **§167z** — REFUTED IN WAVES 5/6: do NOT re-derive L16151 - **§168** — THE COUSIN TIER (P30 S49, 2026-08-12): h_seq's exact-hash brittleness, measured — and the similarity map above it L16208 ### (unbucketed — title matched no symptom vocabulary) (169) - **§3-How** — to use this L30 - **§1** — Idiom catalog (asm pattern → C that produces it) L39 - **§3-I3** — Division by a constant → magic multiply L54 - **§3-I4** — Runtime (variable) division → `divu` + zero-check `break` (NEEDS `--expand-div`) L60 - **§2** — Writing matching C (what makes gcc emit X) L69 - **§3a** — Escalation TIER above the permuter — web-research the compiler internals (HIGH VALUE, proven) L128 - **§3b** — §31-directed permuter mutation — bias the search over the class's levers (Phase 24 T5) L147 - **Residual** — B — a `return ` materialised late / merged instead of distributed per-site L867 - **§3-The** — A→B→C per-overlay workflow L1091 - **Dedup-credit** — (§11) for overlays — two shapes L1108 - **§14a** — The fleet bulk run (Phase 15 — `--auto-from`, 947 REAL → 74,527; 3.82% → 22.14% in one pass) L1169 - **§14d** — Deterministic recovery beats agent waves on the hard tail (Phase 15, the final-session finding) L1269 - **§14e** — Two hard-tail dead-ends (Phase 15 — documented so they aren't re-attempted) L1298 - **§3-The** — STEERABLE idioms (byte-confirmed this phase) L1404 - **Strategic** — conclusion — the match-% lever post-research L1435 - **§3-NEW** — / CONFIRMED residual classes (this session) L1660 - **Operational** — gotchas (cost real time) L1681 - **What** — WORKED — the Phase-20 reusable wins L1689 - **§21** — wave-distilled idioms (Phase 21) L1752 - **§26** — The cheap close=0 recovery lever is EXHAUSTED; `idiom_loop --assess` was DOUBLY inflated (Phase 21, cont.7) L2199 - **§3-The** — `_a` close=0 recovery banks 0/20 — same def-side wall as MAIN (0/40) L2205 - **§27** — Giant matching recipe (Phase 21 cont.7b — validated on func_80176D94, 152 ins) L2259 - **§28a** — decomp.wiki GCC patterns worth trying on BFM giants (decomp.wiki/compilers/GCC, raw at decompals/decompedia; PS1-applicable subset) L2345 - **§31** — THE gcc-2.7.2 CODEGEN MAP: pass → residual → C-lever catalog (Phase 23; 4 Fable5 agents read the compiler source) L2402 - **§36** — Fable5 giant-crack levers (Phase 24 T7 Fable5 batch; accumulates as each lands — full RTL dumps in `.run/t7/fable/`) L2487 - **§42d** — addendum — wave 4 (rtu_match fan-out over the mapped frontier, 2026-07-10c): 24/26 MATCH, +5 durable levers L3082 - **§3-B.** — THE EBB RULE — the general form of §46-L2 L3468 - **§3-E.** — Meta L3518 - **§50** — Refinements that BOUND §47/§48 (from the `func_80135EB0` wall, 21→6; Phase 26 session 8) L3576 - **§51a** — The bug class L3636 - **§51c** — THE METHOD (do not audit by reading the regex) L3662 - **§51d** — THE LAWS L3677 - **§51e** — The false-wall pipeline (why this is not just hygiene) L3739 - **§3-Why** — the wall is (probably) intrinsic L3945 - **§3-The** — case L4033 - **§3-The** — rule L4062 - **§55a** — New byte-proven levers (each from a banked or near draft) L4098 - **§60a** — What the first DIRECTED grinder run exposed (Phase 29 Task-13B, 2026-07-21) L4472 - **§60b** — The plateau autopsy's verdict: a `partial` drift is a WRONG DRAFT, not a missing transform (Phase 29 Task-13B close, 2026-07-21) L4510 - **§66** — Exercise a banking driver's SUCCESS path before pointing it at a wave: the free re-bank test (Phase 29 SESSION-17, 2026-07-24) L5159 - **§66d-2** — Two operational sharp edges L5289 - **§66d-3** — Read the ILS per-cycle SERIES, not its final best: a repeated score and a still-falling one look identical in a summary line and mean opposite things L5300 - **§67** — The arg-copy PLACEMENT lever: launder a parameter into a fresh pseudo AT the statement where the target's copy lands (Phase 29 SESSION-18, `func_8014D820` 25 → 16) L5315 - **§66d-4** — "ILS converged" means converged FOR THAT WEIGHT PROFILE, not a floor (amends §66d-3; Phase 29 SESSION-18) L5438 - **§69** — How to attack a behemoth: map it, don't draft it (Phase 29 SESSION-18, `func_80183814`, 5,122 ins) L5569 - **What** — is left, and what is byte-recorded as SPENT L5766 - **§3-The** — mechanism, with citations L6037 - **§3-Two** — diagnosis traps this function proved L6064 - **Practice** — Practice L6074 - **§3-The** — drift was an allocation decision, not missing code L6180 - **§3-The** — economics L6211 - **§71** — has a blind spot, and this is it L6226 - **§3-The** — flagged "#1 move" LOST — and why the failure is informative L6302 - **§78** — 's attribution primitive, run and reproduced L6312 - **Cold-start** — economics, now complete L6318 - **Also** — reproduced on this function L6401 - **§3-And** — the banking footnote (§75a class A, one line) L6405 - **§83a** — READ THE HEADLINE NUMBER CORRECTLY: a LENGTH drift makes `match_one`'s count meaningless L6419 - **§83b** — THE LEVER: find the parameterised REPEAT before decoding case-by-case L6427 - **§83e** — §80 vindicated again, on the same day it was written L6466 - **§3-The** — conflict L6544 - **§3-THE** — FAILURE MODE — widening only `engine_core.h` is worse than not starting L6552 - **§3-The** — precondition, and how to check it in one grep L6559 - **Reading** — , for the next person L6576 - **§3-The** — guard refuses a class that largely works L6591 - **§3-The** — blindness ladder, now complete — FOUR classes `match_one` cannot see L6649 - **Consequence** — for the backlog ledger L6659 - **§88** — `cross_jump` will not merge a common suffix containing a CALL; and §78 is scoped to ORDERED comparisons only (Phase 29 SESSION-20, the behemoth close-out) L6674 - **§88a** — repeated CALL-shaped blocks are left UNMERGED; call-free tails are merged for you L6679 - **§89** — Two throughput rules the project already had written down and was not following (Phase 29 SESSION-20) L6726 - **§3-The** — standing sequence L6758 - **§90b** — "Byte-neutral" is not "wanted": undo on the SUCCESS path too L6789 - **§90c** — A library-callable function must FAIL CLOSED on an unconfigured module L6799 - **§90e** — An agent's CONCLUSION and its EVIDENCE fail independently — re-derive the premise, not the fix L6818 - **§93** — `set -o pipefail` attributes a pipeline failure to the LAST stage, not the failing one (Phase 29 SESSION-21, `func_8014D820`) L6922 - **§101** — The STALE DEFAULT class: a guard whose cause was removed is a silent skip wearing a safety label (Phase 29 SESSION-22, three instances in one session) L7245 - **§110** — A unit must define exactly ONE function, and "ends in `;`" does not tell you which line defines it (Phase 29 T65) L7640 - **§115** — A `func_XXXXXXXX` predicate rots by design: the same name-form assumption in THREE places (Phase 29 T78) L7850 - **§3-The** — fix moves the DEFINITION, not the stub — and here is why the obvious shortcut fails L7895 - **§117** — Spell the sibling's symbol from the SIBLING's address, not the exemplar's kind (Phase 29 T82) L7926 - **§118** — Ordinal (positional) immediate resolution: compare C tokens to the DIFFERING asm uses (Phase 29 T87) L7963 - **§119** — Two levers on the SAME axis, opposite directions: test the off-diagonal (Phase 29 T89) L7997 - **§3-The** — wiring trap that cost two attempts L8043 - **§3-The** — method (keep this) L8213 - **§3-The** — instrument rules that make its answer trustworthy (this is where I failed) L8223 - **§3-The** — corrected results (each SHA-verified, from a clean tree, restore re-verified) L8238 - **§3-The** — instrument trap that hid it (and it is §124's shape again) L8290 - **§3-The** — mechanics L8299 - **§3-The** — idiom they kept re-deriving: the constant-offset fold L8356 - **§127b** — the knowledge was in a SOURCE COMMENT, not the cookbook L8386 - **§128** — A raw NUL in C source makes grep SILENTLY SKIP the file (P30 S28, 137 files) L8393 - **§128a** — a negative control must corrupt a SCRATCH COPY, never the tracked file L8425 - **§3-The** — real blocker underneath, for the record L8477 - **§3-The** — diagnostic ladder that finally located it (reusable) L8523 - **Defect** — 1 — a pre-§8e MERGED DOUBLE is not a single-table predecessor L8579 - **Defect** — 2 — `as` writes a corpse and nothing deletes it L8597 - **§3-The** — fingerprint, and the 30-second ladder that found it L8607 - **§3-The** — transferable rule L8628 - **§132a** — `--like` is for a sibling with NO record; against one that HAS a record it over-derives (P30 S29, `ov_SC07_010`) L8635 - **§135** — Six byte-verified gcc-2.7.2 idioms from the P30 S6f-h waves (and the two-lane wave shape that found them) L8765 - **§3-The** — codegen idioms L8770 - **§3-The** — wave shape that produced these L8819 - **§136** — The LOCAL-VARIABLE lever: how many C locals, at what scope (P30 wave 4a, 25 byte-verified banks) L8837 - **§136a** — Blocker capture: classify on the OUTPUT, never on the exit status L8973 - **§136d** — Four gcc-2.7.2 levers the redraft lane found (each closed a residual no other lever moved) L9091 - **§136e** — §136c's PRECONDITION, and two more symptom keys (wave 4b batch 3) L9135 - **§136i** — The drafter model LADDER: Haiku → **Sonnet** → Opus → Fable5 (Drew, 2026-08-03) L9267 - **§3-The** — triage, cheapest first L9418 - **THREE** — carry variants hide in one "CARRY-FIXABLE" bucket — and they need different fixes L9487 - **STEP** — 0 of sibling-first: grep `src/` for a distinctive LITERAL from the `.s` L9543 - **§3-The** — generalisation — three corollaries worth more than the bug L9623 - **§3-And** — the inverse-lookup trap, same session L9640 - **§3-The** — three-line proof (do this before diagnosing any metric movement) L9677 - **§3-The** — two instrument defects it exposed L9686 - **§3-Two** — wrong mechanisms I chased first, and why they were wrong L9717 - **§3-The** — trap that hid it — SAME FUNCTION, TWO ROUTES, ONLY ONE IS FREE L9802 - **Route** — selection (why `--addr` sometimes says "nothing changed") L9811 - **§144** — THE LITERAL'S SPELLING PICKS THE IMMEDIATE ENCODING (P30 S40 wave 1, `func_801822E0`) L9885 - **§3-Why** — a correct draft can read as an intrinsic wall L9985 - **§3-The** — rule L10020 - **§3-B.** — `(v < 0x40) ? v : 0x3F` is folded to `MIN_EXPR` and expands to the WRONG SHAPE L10167 - **§3-D.** — Reproduce the original's BUGS verbatim L10191 - **§149** — Four instrument defects in one session, and the two questions they were hiding (P30 S43) L10240 - **§3-A.** — A prep step that returns its input on failure is indistinguishable from a search that found nothing L10246 - **§3-B.** — Same address + same name ≠ same body — and the ledger keys on address L10264 - **§3-C.** — `make: *** [...] Error N` is a summary, never a diagnosis L10280 - **§3-The** — fix L10316 - **§3-The** — method that found it (this is the transferable part) L10326 - **Diagnostic** — order (adopt this) L10353 - **§3-The** — mechanism (read from cc1's own `-dR` trace, not inferred) L10369 - **§3-The** — lever — a zero-emission insn that absorbs the blocked tick L10384 - **§3-The** — finding L10420 - **§3-The** — key L10429 - **§3-Two** — cautions that must travel with this technique L10440 - **§3-The** — companion defect (open) L10451 - **Symptom** — Symptom L10471 - **Mechanism** — (gcc source + RTL dumps, not inferred) L10476 - **§3-The** — cure — a fresh launder per site, each in its own block L10489 - **Companion** — levers from the same function L10499 - **§3-B.** — Two static base-derivation methods that must AGREE (use both) L10533 - **§155a** — the same failure class, one level up: SHAPE-blind table scanning (S45 p5) L10564 - **§155c** — the ZERO-REFERENCE trap: gcc splits a global-array address across the `lui` and the LOAD (S46) L10607 - **Symptom** — Symptom L10718 - **§3-Why** — the fork is chained (gcc source, validated insn-by-insn against -dS/-dR dumps) L10724 - **§3-The** — method (dump-arithmetic first, then place — no probing) L10737 - **§162a** — SHARPENS *(sharpens §161a, §131, §8a-pad, §129a)* L11038 - **§162b** — SHARPENS *(sharpens §48-A3, §156, §150, §76)* L11067 - **§162d** — SHARPENS *(sharpens §31, §21, §30, §55a)* L11096 - **§162e** — NEW L11138 - **§162f** — SHARPENS *(sharpens §42d, §41d, §73, §10)* L11206 - **§162g** — NEW L11261 - **§162h** — SHARPENS *(sharpens §88, §88a, §50-B, §8)* L11297 - **§162i** — SHARPENS *(sharpens §135, §21, §42, §32)* L11365 - **§162j** — SHARPENS *(sharpens §25, §136d-1, §48-B, §46-L2)* L11390 - **§162k** — SHARPENS *(sharpens §1-I2, §12, §160d, §21)* L11419 - **§162l** — SHARPENS *(sharpens §48-B, §48-C1, §20, §21)* L11482 - **§162m** — SHARPENS *(sharpens §36, §158, §148, §153)* L11537 - **§158a** — THE FIFTH LEVER IS NOT AN ASM: `do { } while (0)` is a REGION ref-multiplier you MINT (P30 S48, `func_8017CBC8`, ov_MAIN_012 / jr_801789AC, 188 ins → MATCH) L11539 - **Size** — it before you write it (§158 step 1-2, applied) L11557 - **§3-The** — wrap BOUNDARY is the dial — and it is indiscriminate L11578 - **§3-Not** — a pure dial L11584 - **§162n** — NEW L11610 - **§162o** — SHARPENS *(sharpens §158, §136-1, §136-6, §79)* L11643 - **§162p** — SHARPENS *(sharpens §48-B, §46-L2, §156, §136d-1)* L11702 - **§162q** — SHARPENS *(sharpens §30, §30a, §135-2, §136-13)* L11719 - **§164** — S48 §163z SKEPTIC PASS (P30, 2026-08-12): 190 claims vetted, 82 banked L11845 - **§169** — THE MICRO-ADAPT LANE (P30 S49): edit a proven body, don't crack a new one L16260 - **§170** — THE A-PROP WORD-DIFF CARD (P30 S49): the lane that had no owner L16307 - **§171** — THE STALE SEED SYMBOL (P30 S50, 2026-08-13): why §170's 91%→57% was never codegen L16351 ## All sections, in order - **§3-How** — to use this L30 - **§1** — Idiom catalog (asm pattern → C that produces it) L39 - **§3-I1** — Unsigned range check: `(x - lo) < (hi-lo)` → `addiu`+`sltiu` L41 - **§3-I2** — Byte mask forces `andi` even after `lbu` L47 - **§3-I3** — Division by a constant → magic multiply L54 - **§3-I4** — Runtime (variable) division → `divu` + zero-check `break` (NEEDS `--expand-div`) L60 - **§2** — Writing matching C (what makes gcc emit X) L69 - **§3-T1** — Loop pointer: top-of-body for `addu` induction, not constant-folded `addiu` L71 - **§3-T2** — Source statement order drives instruction scheduling L78 - **§3-T3** — Types L85 - **§3-T4** — Branch polarity: invert the source condition to flip gcc's chosen branch L90 - **§3** — When a diff is pure scheduling → decomp-permuter (harness built, Phase 6) L107 - **§3a** — Escalation TIER above the permuter — web-research the compiler internals (HIGH VALUE, proven) L128 - **§3b** — §31-directed permuter mutation — bias the search over the class's levers (Phase 24 T5) L147 - **§4** — Flag/toolchain gotchas L190 - **§5** — Known hard-residual classes (instruction-identical, one byte-exact blocker) L199 - **§5a** — Cross-jump tail-merge — gcc collapses two byte-identical blocks the original kept separate (FIX FOUND) L211 - **§6** — Per-module optimization mixing — the -O0 boot module (Phase 7) L246 - **Detecting** — the opt level (do this first) L254 - **Build** — mechanism — per-file opt override (splat resegmentation) L288 - **§7** — PsyQ SDK types & symbols (the library-call prerequisite) L303 - **§8** — rodata island (compiler jump tables) — the `.data→.rodata→.data` sandwich (Phase 7) L320 - **§8a** — rodata island in a flat OVERLAY — the tail sandwich, per matched jr-function (Phase 26 — PoC PROVEN) L342 - **§8a-pad** — a trailing `.word 0x00000000` under a jtbl dlabel is `.align` PAD, not an entry (Phase 26 session 6, byte-proven) L380 - **§8b** — MULTI-jtbl per overlay — the `ld_interleave --order` sandwich + the same-subseg cases (Phase 26 session 4) L404 - **§8c** — Splitting a TU means rebuilding its DECLARATION ENVIRONMENT, not moving text (Phase 26 session 6) L437 - **§8d** — Templating a body INTO a TU must not CHANGE its declaration environment — demote the carried data externs (Phase 26 session 8, byte-proven on `func_8015AE2C` ×133) L483 - **§8e** — The jtbl ALIGNMENT LAW + the pad-spec filter — multi-table .rodata spans (Phase 29, byte-proven; `.run/probe_jtbl/verdict.md`) L530 - **§9** — Link real PsyQ library objects byte-exact (Phase 7 — GO proven) L613 - **§9.1** — Generalised per-object linker — `tools/psyq_link.py` (+ `psyq_link_lib.py`), 18/18 libcd byte-exact L642 - **§9.2** — Wire a library region into the build with NOLOAD — no data carving (`tools/psyq_link_region.py`) L666 - **§9.3** — Make it the build: resegment + swap + resolve (`tools/psyq_integrate.py`, libcd DONE) L685 - **§9.4** — Integrating a SECOND library (libgs block 6 after libcd) — multi-library gotchas L712 - **§9.5** — Integrating a WHOLE multi-block library in one call (full libgs — Phase 7 session G) L740 - **§9.6** — Scaling library linking to the whole EXE (Phase 8 — 8 libs linked, 20%→50% byte-identical) L766 - **§9.7** — Binary-agnostic toolchain refactor (Phase 9) — the reusable pattern for Gen2 L802 - **§10** — Closing the regalloc/scheduling hard tail by hand (LZSS, Phase 7 session F — the full close) L835 - **§3-The** — clean object-level metric (use this, not the permuter score, for jtbl/rodata functions) L844 - **Residual** — A — commutative `|`/`&`/`+` result lands in the wrong source-operand register L856 - **Residual** — B — a `return ` materialised late / merged instead of distributed per-site L867 - **§11** — Cross-binary dedup & code-sharing (Phase 11 — "one match unlocks many") L908 - **§3-The** — mechanism: game-code dedup is SOURCE-LEVEL, not an object swap (R-D1, the key lesson) L926 - **Per-binary** — toolchain provenance (R24) L959 - **§12** — Ultracode harvest — parallel-draft + byte-gate at scale (Phase 12, resident: 1.4%→71.7% in one session) L964 - **§13** — Add a location overlay — the canonical runbook (Phase 13; the Phase-15 fleet recipe) L1056 - **One-command** — onboarding — `tools/new_overlay.sh ` L1062 - **§3-The** — flat-blob overlay config (what the template encodes) L1071 - **§3-THE** — NON-4-ALIGNED-OVERLAY GOTCHA (≈75% of the fleet; fixed in the template + Makefile, automatic) L1079 - **§3-The** — A→B→C per-overlay workflow L1091 - **Dedup-credit** — (§11) for overlays — two shapes L1108 - **Fleet** — build — `make build-all` / `make check-all` L1120 - **§14** — Propagate a matched function across the fleet — `tools/dedup_propagate.py` (Phase 15) L1126 - **§14a** — The fleet bulk run (Phase 15 — `--auto-from`, 947 REAL → 74,527; 3.82% → 22.14% in one pass) L1169 - **§14b** — Harvesting the UNMATCHED shared core — the match_one wall (Phase 15) L1192 - **§14c** — Callee-signature-aware harvest — breaking the extern-type-conflict wall (Phase 15, T6) L1213 - **§14d** — Deterministic recovery beats agent waves on the hard tail (Phase 15, the final-session finding) L1269 - **§14e** — Two hard-tail dead-ends (Phase 15 — documented so they aren't re-attempted) L1298 - **§15** — Struct-heavy shared-core pipeline (Phase 16) — empirical determinations (S0) L1313 - **§16** — Guided hand-matching the struct-heavy core (Phase 17 — beats the §15 brute-force) L1335 - **§17** — The compiler-quirk wall — the matching TOOLKIT (Phase 18; gcc-2.7.2 source + byte-gated) L1376 - **Register-allocation** — ORDER (call-crossing $s0/$s1 swap) → FORCE it with register pins (byte-proven) L1384 - **§3-The** — STEERABLE idioms (byte-confirmed this phase) L1404 - **§3-The** — pipeline gotcha — match_one ≠ the gate; `sig_unify` is MANDATORY L1421 - **§3-The** — LOOSE-TYPING wall is real for narrow params (Phase 16, reconfirmed) L1428 - **Strategic** — conclusion — the match-% lever post-research L1435 - **§17a** — The TOOLKIT at WAVE scale (Phase-18 Step-3b/Step-1 — measured) + the pipeline-integration gotchas L1445 - **§18** — Per-file `-O0` split inside an overlay/blob (Phase 19 T1) L1519 - **§19** — Scaling the toolkit waves — the recovery PIPELINE + the propagation CAP (Phase 19 T3) L1597 - **§20** — The wave-at-scale GATE CAP + residual-class verdicts (Phase 20) L1632 - **§3-THE** — CAP: at this tail the match_one→gate gap is the LOOSE-TYPING CALL-GRAPH wall (not cheap plumbing) L1637 - **Diagnostic** — lesson: a failed in-TU build leaves a STALE `.o` L1654 - **§3-NEW** — / CONFIRMED residual classes (this session) L1660 - **Operational** — gotchas (cost real time) L1681 - **What** — WORKED — the Phase-20 reusable wins L1689 - **Phase-20** — RESOLUTION — `tools/cast_call_sites.py` BUILT + the cap re-diagnosed (R14, byte-proven) L1701 - **§21** — wave-distilled idioms (Phase 21) L1752 - **§22** — DEF-side loose-typing recovery + grinder blacklist (Phase 21) L2005 - **§23** — Giant `func_80153E00` cracked (scalar-data CAST); BUT most giant drafts are STALE+INCOMPLETE, and a diag MUST remove artifacts (Phase 21 — byte-proven + a self-correction) L2032 - **§24** — The `ov_SC01_077_a.c` split-file vein: split-aware propagation, but loose-typing-gated (Phase 21) L2085 - **§25** — The "schedule" class is mostly COALESCING (pin-crackable), not scheduling; + the gate two-stage + h_exact over-counts ×134 (Phase 21, cont.6) L2132 - **§3-The** — crack: the residual was gcc-2.7.2 COPY-COALESCING, not the instruction scheduler L2144 - **§3-The** — genuine scheduler — `rank_for_schedule` (sched.c), for when it IS scheduling L2160 - **§3-The** — genuine schedule WALLS (do NOT re-grind — stub) L2169 - **§3-h** — _exact OVER-COUNTS ×134 — verify shareability before crediting a class's "reach-134" (R14) L2177 - **§3-The** — gate two-stage — sig_unify is a FALLBACK, not unconditional (`gate_stage.py`, §19 folded in) L2189 - **§26** — The cheap close=0 recovery lever is EXHAUSTED; `idiom_loop --assess` was DOUBLY inflated (Phase 21, cont.7) L2199 - **§3-The** — `_a` close=0 recovery banks 0/20 — same def-side wall as MAIN (0/40) L2205 - **Where** — this leaves the reach-134 tail (cont.6 option-3, now CONFIRMED byte-backed) L2233 - **§27** — Giant matching recipe (Phase 21 cont.7b — validated on func_80176D94, 152 ins) L2259 - **§28** — Banking a "close=0 gate-rejected" giant: the canonical-extern recovery (Phase 22 T1, byte-proven on func_8015126C ×134) L2325 - **§28a** — decomp.wiki GCC patterns worth trying on BFM giants (decomp.wiki/compilers/GCC, raw at decompals/decompedia; PS1-applicable subset) L2345 - **§28c** — The close=0 recovery is NOT fully exhausted (§26 corrected, R14); + the dedup_propagate registry-skip recovery (Phase 22 T2) L2352 - **§28b** — The struct-walled close=0 giant (§28 case #3) IS bankable: the engine_types.h type-lift (Phase 22 T2, byte-proven on func_80156B74 ×134) L2357 - **§28d** — The "macro-extern-injection" lever: freeing reach-134 inline matches dedup_propagate skips as "not self-contained" (Phase 23, `tools/inject_capped_externs.py`) L2366 - **§29** — Reasoning-model (GLM5.2) DEF-side reconciliation idioms + the wall's hard limit (Phase 23 T10.7, `tools/glm_reconcile.py`) L2374 - **§30** — Fable5Max cracks §20/§10 "unsteerable" from the gcc SOURCE: store-vs-load is a `/s` aliasing flag, the def-side wall has a macro escape, + the birthing-boost (Phase 23, byte-proven on giant `func_8014EE14` 248 ins ×134) L2382 - **§30a** — §30 generalizes to the FULL near-miss backlog (via STANDARD Opus agents, not just Fable5) + 2 more steer levers + the mechanical-integration throughput unlock (Phase 23 (a)) L2394 - **§31** — THE gcc-2.7.2 CODEGEN MAP: pass → residual → C-lever catalog (Phase 23; 4 Fable5 agents read the compiler source) L2402 - **§32** — The region-a CAMERA-GIANT idiom set: struct-base hoisting + 4 sibling levers (Phase 24 T7, Fable5-cracked on `func_80129CF8` 191 ins, match_one MATCH; transferable to the 6 sibling giants) L2422 - **§33** — Automating the giant decl-reconcile: `tools/reconcile_decls.py` (the DATA analog of §20's `cast_call_sites`) + a fleet-majority type oracle (Phase 24 T7b, byte-proven on `func_80129CF8`) L2434 - **§34** — The `func_80138ED0` giant crack: gcc-2.7.2's **3-qty sort bug** + the **zero-byte asm allocation toolkit** + the **giv-init fence** (Phase 24 T5; Opus→close=21, Fable5→MATCH ×134) L2454 - **§35** — The region-a sibling-giant harvest: difficulty ≠ $s-reg count (it's global-array hoisting) + the banking recipe + new loop idioms (Phase 24 T7, 5 parallel Opus-Max agents) L2471 - **§36** — Fable5 giant-crack levers (Phase 24 T7 Fable5 batch; accumulates as each lands — full RTL dumps in `.run/t7/fable/`) L2487 - **§37** — The T7 §G giant endgame: 6/8 cracked, meta-laws + transferable levers (Phase 24, 2026-07-07; FULL byte-verified detail + gcc-2.7.2 line cites in `docs/gcc-2.7.2-map/t7g-giant-harvest.md`) L2506 - **§38** — The WHALE `func_80144B9C` (770 ins): the -O0 struct-assign memcpy idiom + the -O0 reach-134 ×134 rollout (Phase 24 T7 §G, cheap Opus — no Fable5, no calls.c) L2527 - **§39** — The ×1→×134 giant-endgame: propagate a matched **-O2** giant via the NATIVE DEFINE-macro path (Phase 24 T7 §G close, 2026-07-08) L2537 - **§40** — Structural families: the MECHANICAL symbol-remap (crack one exemplar → remap the rest, ~0 tokens) (Phase 25 T3/T7, 2026-07-08) L2553 - **§40a** — The DECL-RECONCILE pass (type-lift so remapped drafts compile in the sibling TU) (Phase 25 T7.2, 2026-07-08) L2601 - **§40b** — The reloc-tracker blind spot: the indexed-global idiom that hid the "reach-1 tail" (Phase 26 Task 1, 2026-07-11, byte-verified V0/V1) L2634 - **§40c** — The h_seq per-sibling reconcile: templating a reconcile-class crack ×134 (Phase 26 Task 8, 2026-07-12, byte-proven) L2676 - **§31-triage** — R17 applies to CODEGEN residuals, never to a compile ERROR (Phase 26 session 7, Drew asked) L2693 - **§41** — The DEF-SIDE canonical-sig wall: mechanically banking a drafted giant past `conflicting types` (Phase 25 T5b batch-2, 2026-07-09; `tools/canon_sig_reconcile.py`, byte-proven on `func_8013B274`) L2710 - **§41a** — v3.1: the def-side wall was ~71% TOOL-shaped — the five measured defects + the laws that dissolve them (Phase 25 T6, Fable5, 2026-07-09) L2754 - **§41b** — T7 execution: the object-only probe OVER-counts BANKABLE by two link/rodata classes (Phase 25 T7-M1, 2026-07-10) L2809 - **§41c** — T7-M2: the ×134 def-side-wall sweep via per-sibling RE-reconcile (Phase 25, 2026-07-10; 4,389 banks, ~0 agent tokens) L2839 - **§41b** — addendum — M4 "reconcile_decls" tier is ALSO a probe over-count: 0/8 mechanical (Phase 25 T7-M4, 2026-07-10) L2858 - **§41d** — `void`→`s32` is NOT always byte-neutral: gate the RAW draft FIRST (Phase 26 session 6, byte-proven) L2878 - **§42** — The F-band ≤28 regalloc crack wave: register-pin/DENSITY levers beat the permuter (Phase 25 T7 F-band, 2026-07-10; Ultracode 9-worker wave, 4/9 banked byte-identical, 266 swept ×134) L2900 - **§42a** — addendum — wave 2 (residuals + 29-100 band): iso-MATCH ≠ real-TU bank, the memcpy→struct-assign fix, +5 levers (2026-07-10b) L2953 - **§42b** — addendum — wave 3 (Max, 2026-07-10c): THE STALE-OBJECT GATE TRAP + the read-global `&`-cast drift + fix L2994 - **§42c** — addendum — wave 3 (Max orchestrator + CORRECTED Ultracode fan-out, 2026-07-10c): the real-TU-faithful parallel harness (rtu_match) + 7/9 crack, ZERO iso-drift L3033 - **§42d** — addendum — wave 4 (rtu_match fan-out over the mapped frontier, 2026-07-10c): 24/26 MATCH, +5 durable levers L3082 - **§42e** — propagating a CRACK ×134: the def-finder bug + the byte-drift residual (the "remap-fail" misdiagnosis) L3121 - **§43** — The K&R s16-param definition DISSOLVES the "narrow-param wall" for by-value register args (Phase 25 task A, Fable5 crack of the 369-ins giant `func_80166994` ×134, 2026-07-11) L3195 - **§44** — The Phase-25 cheap-Opus giant batch: 5 structural levers + the §43 extension (2026-07-11, 6 crackers over the frontier giants) L3242 - **§45** — The flagship `func_80133CD4` crack (399 ins ×134): the merged-variable permutation-breaker + the 1-death local-alloc gate (Phase 25 task A giant escalation, Fable5 gdb-on-cc1, 2026-07-11) L3298 - **§46** — The `func_80178D40` crack (890 ins ×134, the heaviest core in the game): four LOOP-STRUCTURE levers cheap-Opus found by reading loop.c/jump.c/cse.c (Phase 26 session 8, 2026-07-13) L3313 - **§47** — The live-length SLIDER: splitting a global.c allocno-priority TIE with one zero-byte asm (Phase 26 session 8, Fable5 Max, byte-proven on `func_8017BEBC` 952 ins ×113) L3365 - **§48** — The 12-core jr crack wave: the ALLOCNO-PRICING dials and the EBB rule (Phase 26 session 8, Ultracode, 9/12 MATCH first pass) L3405 - **§3-A.** — ALLOCNO-PRICING DIALS — move a value into the register you want, byte-neutrally L3413 - **§3-A4** — SINK THE CONSUMER CALL INTO THE ARMS (the inverse of A1; `func_8016AB6C`, byte-proven) L3444 - **§3-B.** — THE EBB RULE — the general form of §46-L2 L3468 - **§3-C.** — TYPE- AND SHAPE-DRIVEN CODEGEN (the C type literally selects the addressing mode) L3484 - **§3-D.** — THE CROSS-JUMP RATCHET (the sharpest new trap — `func_80131340` L-C) L3508 - **§3-E.** — Meta L3518 - **§49** — The LUID DIAL: a zero-byte SCHEDULING dial (the sched.c analogue of §47) — `func_8017A4AC` (536 ins ×134), Phase 26 session 8 L3527 - **§50** — Refinements that BOUND §47/§48 (from the `func_80135EB0` wall, 21→6; Phase 26 session 8) L3576 - **§51** — TOOLING INTEGRITY: the silent skip, and how to hunt it L3630 - **§51a** — The bug class L3636 - **§51b** — Why the byte-gate cannot save you L3652 - **§51c** — THE METHOD (do not audit by reading the regex) L3662 - **§51d** — THE LAWS L3677 - **§51e** — The false-wall pipeline (why this is not just hygiene) L3739 - **§51f** — Checklist for any new corpus-scanning tool L3755 - **§51g** — When the thing you are scanning has a GRAMMAR, parse the grammar (`tools/cdecl.py`) L3769 - **§52** — The WALKER-FAMILY skeleton: 6 regalloc-order levers + a deeply-characterized intrinsic wall (`func_80178004`, 165 ins ×134; Phase 26, Fable5, 2026-07-15) L3913 - **§3-The** — 6 levers (the "walker-family skeleton" — apply to the 12 siblings; levers 1-5 retire ~half the residual) L3924 - **§3-Why** — the wall is (probably) intrinsic L3945 - **§52a** — The regalloc sibling wave: new levers + two new wall classes (cheap-Opus applying §52, 2026-07-15) L3959 - **§52b** — Sibling wave 2: more de-pin levers, a third wall class, and the match_one→whole-binary gap at scale (2026-07-15) L3997 - **§53** — SWEEP A FAMILY WITH THE TOOL ITS EXEMPLAR NEEDED: the jr/switch carve, and how omitting it manufactured the "families don't template" doctrine (Phase 28 T1, 2026-07-15) L4028 - **§3-The** — case L4033 - **§3-Why** — 0/8 was structural, and predictable from two words L4045 - **§3-The** — rule L4062 - **§3-The** — meta-lesson (R35, and why this one is expensive) L4078 - **§55** — Core-crack wave levers + the GATE-ORCHESTRATION law (Phase 29 T3, 13-agent ultracode wave, 2026-07-17) L4093 - **§55a** — New byte-proven levers (each from a banked or near draft) L4098 - **§55b** — THE GATE-ORCHESTRATION LAW (3 traps, ~3.5h lost; all recovered, 0 data lost) L4122 - **§55c** — Sizing the propagate: a TARGETED propagate is ~4 min/core, and "it's slow" was a BROKEN-TREE ARTIFACT L4141 - **§54** — `--fix-def-sig`: the member's CANONICAL DECLARATION is a build step too (tiny-IMM mega-pools, +4,801, Phase 29 T6, 2026-07-16) L4163 - **§56** — Banking a hand-drafted GIANT into its exemplar TU: self-contained draft vs live-TU decls, 4 reconciliation tactics (`func_8013FAF8`, 312 ins ×138, Phase 29 T4, 2026-07-17) L4187 - **§56b** — PROPAGATING an h_seq giant: the exemplar's externs MUST be fleet-canonical, not the draft's types L4232 - **§57** — The SELF-decl normalize: the sibling's OWN caller declares the templated fn divergently (the third §17a-1 direction; `tools/normalize_self_decls.py`, func_801670E4 ×137, Phase 29, 2026-07-18) L4256 - **§57a** — Two NSD corrections + the SURGICAL-ONLY law + the honest broad-sweep yield (Phase 29, 2026-07-18) L4303 - **§58** — match_one MATCH ≠ BANK: the four blind spots + the crack-wave reconcile-before-bank law (Phase 29 crack-wave, 2026-07-18) L4343 - **§59** — Three h_seq sweep-residual classes match_one/the-exemplar-bank don't reveal (Phase 29 crack-wave close, 2026-07-18) L4377 - **§60** — Classify the residual, don't rank it: the deterministic residual→class classifier and what it measured about the backlog (Phase 29 Task-13A, 2026-07-21) L4407 - **What** — it measured — the whole open backlog, byte-grounded L4431 - **§3-Two** — corollaries worth remembering L4450 - **§3-The** — parallel-probe race this surfaced L4463 - **§60a** — What the first DIRECTED grinder run exposed (Phase 29 Task-13B, 2026-07-21) L4472 - **§60b** — The plateau autopsy's verdict: a `partial` drift is a WRONG DRAFT, not a missing transform (Phase 29 Task-13B close, 2026-07-21) L4510 - **§61** — Task 14: the gate ladder's missing stage is the ARITY pre-pass, and it is TU-side not draft-side (Phase 29, 2026-07-21) L4545 - **§61a** — The Task-5 wave: 11/12 MATCH, 0 banked — three DISTINCT integration walls, each now named (Phase 29, 2026-07-21) L4606 - **§61b** — The jtbl gate stage: built, and the ORDERING law it exposed (Phase 29 Task-14 stage 4, 2026-07-21) L4658 - **§61c** — The jtbl bank is INCREMENTALLY valid and CLEAN-INVALID (Phase 29, 2026-07-21) — the blocking finding L4713 - **§61d** — The undo was eating the tree: two tools, one defect, invisible to the byte-gate (Phase 29, 2026-07-22) L4779 - **§62** — The jtbl RECONCILE must also follow the carve: the post-carve draft reconcile (`harvest_verify._jtbl_reconcile`, Phase 29 SESSION-11, 2026-07-22) L4833 - **§63** — The fresh-138 DEF-SIDE blocker: fix the HEADER decl, not the draft (`fix_header_decl.py`, Phase 29 SESSION-13, 2026-07-23) L4877 - **§64** — The §20 type-lift's three laws: fold the tagged typedef, check VISIBILITY, and strip only what is TEXTUALLY IDENTICAL (`lift_types.py`, Phase 29 SESSION-14, 2026-07-23) L4908 - **§64a** — VARIANT types: UNIQUIFY the camps, do not reconcile them (`uniquify_type.py`, Phase 29 SESSION-14) L4957 - **§63** — UPDATE (Phase 29 SESSION-14) — `fix_header_decl`'s "SAFE" verdict is FLEET-BLIND; it MUST be R22-validated L5000 - **§65** — The stranded-draft recovery: BLAST-RADIUS TIERS, and the per-overlay de-macroize that refutes §20's DEF-conflict wall (`tools/demacroize.py` + `tools/blocker_probe.py`, Phase 29 SESSION-16, 2026-07-24) L5015 - **§65a** — The blast-radius taxonomy (makes §61's law structural instead of remembered) L5030 - **§65b** — The escape: de-macroize the instantiation, don't touch the shared header L5045 - **§65c** — `rtu_match` MATCH → bank held 13/13 on self-decl, but broke on the FIRST callee-decl case L5081 - **§65d** — Existing-ladder baseline, measured (do this before building a recovery stage) L5091 - **§65e** — Two oracles, and the disagreement is the finding (R34 in practice) L5101 - **§65f** — The de-macroize lever's BOUNDARY, measured: byte-neutral 14 times of 15, and the 15th is why the gate exists L5118 - **§65g** — Where the cheap levers STOP: the local-type and in-TU-self-decl classes did not yield L5139 - **§66** — Exercise a banking driver's SUCCESS path before pointing it at a wave: the free re-bank test (Phase 29 SESSION-17, 2026-07-24) L5159 - **§66a** — The widest write in a pipeline is the one most likely to be UNDECLARED L5181 - **§66b** — A metric parsed out of another tool's prose goes NULL silently when the label changes L5200 - **§66c** — Before a wave, verify the FUEL exists; an "already attempted" set built from the wrong directory lies in BOTH directions L5217 - **§66d** — The permuter⇄reader loop: alternate a random search with a byte-verified idiom, and let `residual_class` decide whose turn it is (Phase 29 SESSION-17) L5245 - **§66d-1** — What transfers between giants is the LOOP, not the PIN L5280 - **§66d-2** — Two operational sharp edges L5289 - **§66d-3** — Read the ILS per-cycle SERIES, not its final best: a repeated score and a still-falling one look identical in a summary line and mean opposite things L5300 - **§67** — The arg-copy PLACEMENT lever: launder a parameter into a fresh pseudo AT the statement where the target's copy lands (Phase 29 SESSION-18, `func_8014D820` 25 → 16) L5315 - **§67a** — Run the symbol-set guard BEFORE you pay for a gate (`tools/symcheck.py`, Phase 29 SESSION-18) L5405 - **§66d-4** — "ILS converged" means converged FOR THAT WEIGHT PROFILE, not a floor (amends §66d-3; Phase 29 SESSION-18) L5438 - **§66d-5** — `residual_class`'s "structural ⇒ permuter CPU is waste" is WRONG for schedule permutations (measured, Phase 29 SESSION-18) L5491 - **§68** — A comment-only line halted the extern scan, and the skip label blamed the type cap (Phase 29 SESSION-18) L5524 - **§69** — How to attack a behemoth: map it, don't draft it (Phase 29 SESSION-18, `func_80183814`, 5,122 ins) L5569 - **§70** — The giv-init base register: walk the PARAMETER, not a copy of it (Phase 29 SESSION-18, `func_801777BC`) L5619 - **§71** — Before mapping a giant, look for an already-matched SIBLING beside it (Phase 29 SESSION-18, `func_8017D960`, 3,338 ins) L5660 - **§72** — A `register __asm__` pin is a PREFERENCE, not a reservation (Phase 29 SESSION-18, `func_8017F510`) L5726 - **§3-The** — honest fix was source-level and cheap L5750 - **§3-Giv** — record order (the §70 family) L5760 - **What** — is left, and what is byte-recorded as SPENT L5766 - **§73** — A def-side self-decl conflict has TWO axes: RETURN (fleet widen, T2) and PARAMS (casts at each use, T0). Diagnose which before paying for the expensive one (Phase 29 SESSION-19, `func_8014F3E8` + `func_8014D4C0`) L5783 - **§74** — Auditing a pinned draft: the §72 hazard is CALLER-SAVED pins spanning a call, and only the disassembly can tell you (Phase 29 SESSION-19, `func_8017D960` b2, 5 pins) L5822 - **§75** — A propagation cap is usually a MINORITY-SPELLING SOURCE OVERLAY, not a wall: census the carried extern before believing the exclusion message (Phase 29 SESSION-19, `func_8014F3E8` ×4 → ×138) L5866 - **§75a** — The exclusion classes, enumerated with named causes (Phase 29 SESSION-19, the 134-binary `dedup_extend` sweep) L5925 - **§75b** — A body's preamble can carry `#define`s, not just `extern`s; extraction lifts only the externs (Phase 29 SESSION-19, `func_80165CA0` ×3 → fleet) L5948 - **§75c** — Class-B's remedy is the FULL §17a-1 PAIR (decl **and** call-site cast); a decl-only fix moves the error and looks like a new wall (Phase 29 SESSION-19, `func_8012F14C`) L5997 - **§76** — The allocno CLASS (local vs global) is the dominant regalloc lever, and C reaches it ONLY through declaration scope and variable reuse (Phase 29 SESSION-19, behemoth #3 `func_8017F510` 1,511 ins, 97 → MATCH, pin-free) L6028 - **§3-The** — mechanism, with citations L6037 - **§3-The** — attribution primitive (use this before calling anything a scheduling residual) L6057 - **§3-Two** — diagnosis traps this function proved L6064 - **Practice** — Practice L6074 - **§77** — Every extraction tool carries a NARROW hard-coded preamble set; anything outside it silently caps the body's reach. Diff the preamble before you gate. (Phase 29 SESSION-19 — three variants in one session, two different tools) L6084 - **§3-The** — CANDIDATE gate and the REAL gate need DIFFERENT preambles — keep the difference out of the bank L6124 - **§78** — A LENGTH drift can be a register grant in disguise; and `fold` never leaves a literal first in an `|` chain (Phase 29 SESSION-19, behemoth #2 `func_8017D960` 3,338 ins, 1806 → 0, pin-free) L6174 - **§3-The** — drift was an allocation decision, not missing code L6180 - **§3-The** — economics L6211 - **§79** — For a 0-callee giant, fingerprint by DATA symbols (§71 cannot fire); and the STACK-SLOT ORDER is a declaration-order oracle (Phase 29 SESSION-19, `func_8017BF14` 4,763 ins, cold start → 45/4763) L6220 - **§71** — has a blind spot, and this is it L6226 - **§3-NEW** — LEVER — the frame layout reads back the original declaration order L6240 - **§76** — confirmed at scale, and a pin nuance L6251 - **§3-The** — residual, and the honest read L6260 - **§80** — A do-not-re-buy entry is scoped to its BASE, not to the function; and the pin's hidden cost is an unconditional `qty_phys_sugg` (Phase 29 SESSION-19, `func_8017BF14` 45 → 0) L6270 - **§3-The** — pin's hidden cost, with the citation L6291 - **§3-The** — flagged "#1 move" LOST — and why the failure is informative L6302 - **§78** — 's attribution primitive, run and reproduced L6312 - **Cold-start** — economics, now complete L6318 - **§81** — Banking a jr (jump-table) function: the 3-step carve chain, and why `match_one` cannot see the problem (Phase 29 SESSION-19, `func_8017C954`) L6323 - **§3-The** — defect this exposed: a shared type that is present but invisible L6354 - **§82** — Two source-shape oracles from behemoth #6: a duplicated `addiu $aN,$sp,K` across a `jal` means the block was INLINED, and scalar-vs-aggregate decides WHEN a stack slot is allocated (Phase 29 SESSION-19, `func_8017C730` 1,061 ins) L6370 - **§3-1.** — The inlined-helper signature L6375 - **§3-2.** — Scalar vs aggregate decides *when* the slot is allocated L6389 - **Also** — reproduced on this function L6401 - **§3-And** — the banking footnote (§75a class A, one line) L6405 - **§83** — The parameterised-repeat law, the spill-area trap, and why a per-case edit cannot move a per-case symptom (Phase 29 SESSION-20, `func_80183814` 5,122 ins, cold-ish start → 36 structural / 99.3%) L6412 - **§83a** — READ THE HEADLINE NUMBER CORRECTLY: a LENGTH drift makes `match_one`'s count meaningless L6419 - **§83b** — THE LEVER: find the parameterised REPEAT before decoding case-by-case L6427 - **§83c** — TRAP: a "dead local" in a prior draft may be gcc's OWN spill area L6445 - **§83d** — CSE's quantity budget is WHOLE-FUNCTION, so a local rewrite cannot fix a local symptom L6452 - **§83e** — §80 vindicated again, on the same day it was written L6466 - **§84** — The DERIVED-OFFSET remap bug: a hand-computed literal that encodes the DISTANCE between two per-overlay symbols, and why `match_one` is structurally blind to it (Phase 29 SESSION-20, `func_8013D53C`) L6472 - **§3-The** — construct L6477 - **§3-Why** — it survived every candidate gate L6495 - **§3-THE** — FIX IS MECHANICAL — the tool already holds the answer L6510 - **Scope** — , measured (do not over-generalise — §80) L6518 - **§3-Two** — ladder lessons banked with it L6528 - **§85** — The RETURN-axis fleet widen is ALL-OR-NOTHING: widening the shared header alone guarantees a conflict in the source overlay (Phase 29 SESSION-20, `func_8012CC88` / `func_8014D12C`) L6539 - **§3-The** — conflict L6544 - **§3-THE** — FAILURE MODE — widening only `engine_core.h` is worse than not starting L6552 - **§3-The** — precondition, and how to check it in one grep L6559 - **§3-Do** — the WHOLE axis in one edit, then R22 once L6567 - **Reading** — , for the next person L6576 - **§86** — Pinned-exemplar templatability is a PER-FAMILY property, not a per-member rate; and the §42e pin guard is now over-conservative (Phase 29 SESSION-20) L6589 - **§3-The** — guard refuses a class that largely works L6591 - **§3-THE** — LAW: all-or-nothing PER FAMILY L6600 - **§3-Why** — the two live families differ from the three dead ones — the open question L6627 - **§87** — `match_one` COMPILES but never LINKS, so an unresolvable data symbol reads as MATCH; and stored drafts go STALE against the tree (Phase 29 SESSION-20) L6633 - **§3-The** — blindness ladder, now complete — FOUR classes `match_one` cannot see L6649 - **Consequence** — for the backlog ledger L6659 - **§3-The** — cheap discriminator, before spending a sweep L6666 - **§88** — `cross_jump` will not merge a common suffix containing a CALL; and §78 is scoped to ORDERED comparisons only (Phase 29 SESSION-20, the behemoth close-out) L6674 - **§88a** — repeated CALL-shaped blocks are left UNMERGED; call-free tails are merged for you L6679 - **§88b** — the `slti` literal-position law (extends §78 to comparisons) L6686 - **§88d** — BANKING ORDER: run the §81 carve chain BEFORE banking, never after L6701 - **§88e** — a wrong diagnosis, refuted properly (the model for how to treat an inherited lever) L6708 - **§88f** — the missing rung: a RELOCATION gate between `match_one` and the binary L6718 - **§89** — Two throughput rules the project already had written down and was not following (Phase 29 SESSION-20) L6726 - **§89a** — MEASURE the write set; do not assert its tier (`tools/blast_radius.py`) L6732 - **§89b** — the parallel gate farm existed; the family path could not reach it (`tools/sweep_parallel.py`) L6745 - **§3-The** — standing sequence L6758 - **§90** — Five tool-integrity laws from one session, each of which changed an answer (Phase 29 SESSION-21, 2026-07-27) L6766 - **§90a** — A comparison tool MUST share its reference oracle's index space, exactly L6772 - **§90b** — "Byte-neutral" is not "wanted": undo on the SUCCESS path too L6789 - **§90c** — A library-callable function must FAIL CLOSED on an unconfigured module L6799 - **§90d** — Do not measure a live wave's drafts (§87 in real time) L6810 - **§90e** — An agent's CONCLUSION and its EVIDENCE fail independently — re-derive the premise, not the fix L6818 - **§91** — A structure-TRANSFER is only valid where the structure corresponds: the `--like` role trap (Phase 29 SESSION-21, `func_8012AAAC` ×137) L6842 - **§3-The** — three-hypothesis trail, because two of them were wrong and the wrongness is instructive L6871 - **§92** — Conforming a DECLARATION: pointer changes are caller-neutral, scalar-WIDTH changes are not (Phase 29 SESSION-21, `tools/conform_decls.py`) L6891 - **§93** — `set -o pipefail` attributes a pipeline failure to the LAST stage, not the failing one (Phase 29 SESSION-21, `func_8014D820`) L6922 - **§94** — A family sweep's `0/N` is a TYPE-CARRY failure until proven otherwise: lift the exemplar's local types, ALL of them, transitively (Phase 29 SESSION-21, `func_8016B6BC` 0/137 → 137/137) L6947 - **§95** — `reconcile_tu` dropped the SIBLING declarators of a multi-symbol `extern` line (Phase 29 SESSION-21, `func_80176218`) L6983 - **§96** — The same rewrite, one shape down: `reconcile_tu` matched statements to lines by TEXT, so every COMMENTED declaration was silently skipped (Phase 29 SESSION-22, `func_80176218` banked) L7018 - **§97** — The gate's own tree hygiene: a refused carve, an unchecked recovery, and a snapshot that captured a dirty tree (Phase 29 SESSION-22) L7066 - **§98** — `conform_decls` had three defects, and only the third needed R22 to find (Phase 29 SESSION-22, `func_8014CF04`) L7113 - **§99** — The narrow-param wall is a DEF-side problem with a ZERO-blast-radius fix: convert the definition to K&R (Phase 29 SESSION-22, `func_80175AB8` + `func_80175DA8`) L7167 - **§3-Two** — `reconcile_tu` bugs found underneath, one introduced while fixing the other L7190 - **§100** — Prefer the DRAFT-LOCAL fix: a type only one function uses belongs in its BODY, not in a shared header (Phase 29 SESSION-22, `func_80175DA8` 0/137 → 137/137) L7216 - **§101** — The STALE DEFAULT class: a guard whose cause was removed is a silent skip wearing a safety label (Phase 29 SESSION-22, three instances in one session) L7245 - **§102** — A PLUMBING verdict can MASK a DIFF; and K&R is not always a codegen change (Phase 29 SESSION-22, `func_8016EC0C`) L7272 - **§103** — A FILE-scope `extern` in a shared overlay TU is a GLOBAL constraint on every LATER function; move the DECL, not the draft (Phase 29 T48/T51, `func_80135260` — the fleet-wide half) L7307 - **§104** — Two silent-skip defects in one scan: match on MASKED text, emit from the ORIGINAL (Phase 29 T53, `gather_externs`) L7395 - **§105** — A gate's revert must survive an EXCEPTION, not just a failure (Phase 29 T53, `jtbl_family_bank`) L7431 - **§106** — Persist the MEASUREMENT, derive the POLICY: a stored route let a stale file out-vote the live table (Phase 29 T54, `residual_class._ROUTE`) L7470 - **§107** — A lever wired into ONE gate path is a lever most families cannot reach (Phase 29 T56, `func_80144090` 0/136 → 136/136) L7513 - **§108** — Diagnosing a family `0/N`: the four causes, and the third opt-in lever (Phase 29 T59) L7551 - **§109** — Conforming a definition to a shared header: fix the NAMES, then check the RETURN precondition (Phase 29 T60) L7600 - **§110** — A unit must define exactly ONE function, and "ends in `;`" does not tell you which line defines it (Phase 29 T65) L7640 - **§111** — The distinct-code metric is not noisy: a family pays it only if its members are byte-VARIANT (Phase 29 T66) L7681 - **§112** — A macro-scoped declaration only collides where the macro is INSTANTIATED (Phase 29 T67/T69, `audit_header_sigs.py`) L7730 - **§113** — An ARITY blocker only exists if the macro CALLS the function; an address-taken use has no call site (Phase 29 T72) L7776 - **§114** — The THIRD decl axis: a CALLEE the draft declares differently from the target TU (Phase 29 T76/T77) L7808 - **§115** — A `func_XXXXXXXX` predicate rots by design: the same name-form assumption in THREE places (Phase 29 T78) L7850 - **§116** — Optimization level is a property of the FILE, not the function: read a family 0/N against the member's stub HOME (Phase 29 T79) L7877 - **§3-The** — fix moves the DEFINITION, not the stub — and here is why the obvious shortcut fails L7895 - **§117** — Spell the sibling's symbol from the SIBLING's address, not the exemplar's kind (Phase 29 T82) L7926 - **§3-Why** — it survived so long: a MASKED oracle will MATCH a wrong symbol L7953 - **§118** — Ordinal (positional) immediate resolution: compare C tokens to the DIFFERING asm uses (Phase 29 T87) L7963 - **§119** — Two levers on the SAME axis, opposite directions: test the off-diagonal (Phase 29 T89) L7997 - **§120** — Uniquify draft-defined TYPE names; and check which of N staging sites you actually patched (Phase 29 T93) L8026 - **§3-Do** — NOT "strip the duplicate typedef" — it breaks the extern that uses it L8037 - **§3-The** — wiring trap that cost two attempts L8043 - **§121** — Synthesise externs for macro-DEFINED callees from the macro's own definition head (Phase 29 T95) L8061 - **§122** — GATE RAW BEFORE TRANSFORMING; the undo belongs to the WRITER, as a per-edit journal (P30 T0a, 2026-07-30) L8084 - **§123** — PROPAGATE A FAMILY WITH THE TOOL ITS TIER NEEDS: `dedup_propagate` is h_exact-only; its refusals are statements about the TOOL (P30 wave 1, 2026-07-30) L8116 - **§124** — A "not matched" verdict can mean the definition is there under a DIFFERENT C NAME: the asm-label alias blind spot (P30 SESSION-28, `func_8016191C` ×137) L8153 - **§124a** — a family sweep's `0 matched-exemplar families` may be a FILTER, not a wall L8198 - **§125** — Split the CARVE from the BODY before calling a jr residue a wall — and measure it by SHA from a CLEAN tree (P30 SESSION-28; **this section's first draft was WRONG and the method caught it**) L8206 - **§3-The** — method (keep this) L8213 - **§3-The** — instrument rules that make its answer trustworthy (this is where I failed) L8223 - **§3-The** — corrected results (each SHA-verified, from a clean tree, restore re-verified) L8238 - **§3-Two** — further notes worth keeping L8248 - **§3-The** — meta-lesson L8257 - **§126** — The carve-within-a-carve: an ADDRESS RANGE is not an OPTIMIZATION REGION (P30 T2, byte-proven end-to-end) L8264 - **§3-The** — finding: opt level is per FILE, so the file's contents must be opt-HOMOGENEOUS L8279 - **§3-The** — instrument trap that hid it (and it is §124's shape again) L8290 - **§3-The** — mechanics L8299 - **§126a** — a bare `except: continue` around a coverage-asserting oracle re-creates the silent skip (P30 S28) L8317 - **§127** — The `-O0` regime: the CONSTANT-OFFSET FOLD, and why `-O0` needs its own idiom set (P30 T3 wave, 15 targets) L8349 - **§3-The** — idiom they kept re-deriving: the constant-offset fold L8356 - **§3-The** — rest of the `-O0` regime (write PLAIN C, and mean it) L8367 - **§127a** — §71 (sibling-first) is the strongest `-O0` lever, and it beats the index L8377 - **§127b** — the knowledge was in a SOURCE COMMENT, not the cookbook L8386 - **§128** — A raw NUL in C source makes grep SILENTLY SKIP the file (P30 S28, 137 files) L8393 - **§128a** — a negative control must corrupt a SCRATCH COPY, never the tracked file L8425 - **§129** — Post-carve, `rtu_match`/`match_one` COUNT THE JUMP TABLE AS INSTRUCTIONS; and a carve must never be committed without its owner (P30 S28, `func_8013BD74`) L8437 - **§129a** — the target instruction count is INFLATED after a carve L8441 - **§129b** — never commit a carve whose owner is still a stub (it strands the carve) L8462 - **§3-The** — real blocker underneath, for the record L8477 - **§130** — An INCREMENTAL build can report BYTE-IDENTICAL for a change the CLEAN build cannot even LINK (P30 S28, the jr pair) L8486 - **§3-The** — diagnostic ladder that finally located it (reusable) L8523 - **§131** — The jtbl OVER-SPAN: `sltiu N` is ground truth in BOTH directions, and the zero-word rule only guards one (P30 S28, `func_80191C50`) L8533 - **§132** — The `JR-PAIR-IN-ONE-O0-OBJECT` "wall" was TWO instrument defects: a merged-double span the carve could not see, and a truncated object no rule deleted (P30 S29, `func_8013B83C` + `func_8013BD74`) L8570 - **Defect** — 1 — a pre-§8e MERGED DOUBLE is not a single-table predecessor L8579 - **Defect** — 2 — `as` writes a corpse and nothing deletes it L8597 - **§3-The** — fingerprint, and the 30-second ladder that found it L8607 - **§3-The** — transferable rule L8628 - **§132a** — `--like` is for a sibling with NO record; against one that HAS a record it over-derives (P30 S29, `ov_SC07_010`) L8635 - **§132b** — When the span's already-matched owner is ITSELF multi-switch: `--span-rel` (P30 S1, `func_8014032C`) L8660 - **§133** — The DEFAULT-FILTER class: three times in one session, a tool silently answered a narrower question than the one asked (P30 S1–S3) L8685 - **§134** — MULTI-LINE BLINDNESS: one root cause, four faces, in `family_remap`'s preamble scanner (P30 S6, 190 zero-crack families) L8711 - **§135** — Six byte-verified gcc-2.7.2 idioms from the P30 S6f-h waves (and the two-lane wave shape that found them) L8765 - **§3-The** — codegen idioms L8770 - **§3-The** — integration idioms (these decide whether a byte-correct draft BANKS) L8804 - **§3-The** — wave shape that produced these L8819 - **§136** — The LOCAL-VARIABLE lever: how many C locals, at what scope (P30 wave 4a, 25 byte-verified banks) L8837 - **§3-The** — splitting/merging rules (each closed a residual, byte-gated) L8853 - **§3-The** — type-form rules L8879 - **§3-The** — scheduling rules (refining §135-2 and §135-4) L8909 - **§3-The** — declaration surface (integration, not codegen) L8938 - **Wave** — economics (measured, for the next batch's sizing) L8950 - **§136a** — Blocker capture: classify on the OUTPUT, never on the exit status L8973 - **§136b** — A prior wave's "genuine byte-DIFF" verdict is NOT reliable evidence (4 of 4 refuted) L9030 - **§136c** — SIBLING-FIRST is a DERIVATION shortcut, not just a conflict fix (the fastest route in a family wave) L9066 - **§136d** — Four gcc-2.7.2 levers the redraft lane found (each closed a residual no other lever moved) L9091 - **§136e** — §136c's PRECONDITION, and two more symptom keys (wave 4b batch 3) L9135 - **§136f** — Two declaration sub-cases the reconcile lane surfaced (lane now 15/15 lifetime) L9183 - **§136g** — When the index points at the WRONG lever: two byte-refuted routings (func_801863B4) L9208 - **§136h** — CORRECTION: the zero-crack pool does NOT "refill with cheap work" (my error, byte-measured) L9237 - **§136i** — The drafter model LADDER: Haiku → **Sonnet** → Opus → Fable5 (Drew, 2026-08-03) L9267 - **§136j** — The failure MIX flips with function size (measured across four bands, one session) L9299 - **§137** — REGALLOC-PERM is a TWO-COMPILE ARITHMETIC PROBLEM, not a permuter job L9341 - **§137a** — A gate verdict has a TIMESTAMP; re-check it against the draft's mtime L9383 - **§138** — The propagation lanes: a gate refusal is a DECLARATION, and which lever you owe depends on blast radius L9412 - **§3-The** — triage, cheapest first L9418 - **§3-The** — DEFINITION-side alias is the only escape when the fleet canon disagrees on a promoting param L9470 - **Rank** — the lane by measured concentration, not by class count L9478 - **THREE** — carry variants hide in one "CARRY-FIXABLE" bucket — and they need different fixes L9487 - **§134** — again, in a second tool — and the waiter rule corrected L9523 - **STEP** — 0 of sibling-first: grep `src/` for a distinctive LITERAL from the `.s` L9543 - **Reconciling** — a gate-refused draft: which way you edit depends on WHERE the TU's decl is L9562 - **§139** — A GATE THAT GREPS FOR VERDICTS MUST ASSERT 1:1 ACCOUNTING; and a `--src` filter must not survive a carve (P30 S38, wave 6: 10 of 16 drafts vanished) L9591 - **§3-The** — generalisation — three corollaries worth more than the bug L9623 - **§3-And** — the inverse-lookup trap, same session L9640 - **§140** — A METRIC IS NOT A MEASUREMENT UNTIL IT IS REPRODUCIBLE FROM THE COMMITTED TREE (P30 S1e: a phantom regression that gated the session's best lever) L9657 - **§3-The** — three-line proof (do this before diagnosing any metric movement) L9677 - **§3-The** — two instrument defects it exposed L9686 - **§3-The** — same swallow, twice more, in the integration spine L9706 - **§3-Two** — wrong mechanisms I chased first, and why they were wrong L9717 - **§141** — The §134 class is CLOSED: every line-shape decision now routes through `cdecl._mask` (P30 S39) L9737 - **§142** — An open stub whose `h_exact` class is MATCHED elsewhere is FREE. Propagate the body; do not gate a draft. (P30 S39, +7,710 ins in two commands) L9775 - **§3-The** — measurement (do this before any wave; it is ~20 lines and needs no builds) L9787 - **§3-The** — trap that hid it — SAME FUNCTION, TWO ROUTES, ONLY ONE IS FREE L9802 - **Route** — selection (why `--addr` sometimes says "nothing changed") L9811 - **§3-And** — the report-vs-bytes lesson attached to it L9819 - **§143** — `cast_call_sites` read a RETURN STATEMENT as a prototype and deleted it. A 0/39 sweep became 18/39. (P30 S40) L9831 - **§144** — THE LITERAL'S SPELLING PICKS THE IMMEDIATE ENCODING (P30 S40 wave 1, `func_801822E0`) L9885 - **§145** — Three loop/combine levers from the S40 wave-2 drafters (16/16 match_one) L9924 - **§146** — RE-MEASURE A WALL BEFORE YOU RESPECT IT. Both "permanent" giants fell to drafts already on disk. (P30 S6, +50,094 ins) L9974 - **§3-Why** — a correct draft can read as an intrinsic wall L9985 - **Then** — propagation returned 0/137 TWICE — both times a missing TYPE L9997 - **§3-Two** — errors of mine, both instructive L10006 - **§3-The** — rule L10020 - **§147** — The three-stratum FRAME LAW, and four "stop searching" verdicts (P30 S42, `func_8017C294`, serial run) L10033 - **§3-A.** — The frame has THREE strata, and stratum 3 is unreachable from C L10038 - **§3-B.** — A `?:` on MEMORY operands costs ~16 bytes of invisible frame; on REGISTER operands, zero L10054 - **§3-C.** — Inner-block declaration does NOT delay slot allocation — BYTE-REFUTED L10065 - **§3-D.** — A lone `$t8`/`$t9` in the target is RELOAD SCRATCH — reproduce the spill, don't pin the register L10070 - **§3-E.** — A `qty_compare` TIE is not spelling-reachable — recognise it and stop L10080 - **Consequence** — for the family (a real scheduling decision) L10092 - **§148** — The loop.c hoisting THRESHOLD is arithmetic you can compute, and the `?:` clamp that folds to MIN_EXPR (P30 S42, `func_8017C6F4`, 947 ins) L10142 - **§3-A.** — `move_movables` hoists iff `threshold × savings × lifetime ≥ insn_count` — and you can read it L10148 - **§3-B.** — `(v < 0x40) ? v : 0x3F` is folded to `MIN_EXPR` and expands to the WRONG SHAPE L10167 - **§3-C.** — A zero-byte ALLOCNO-PRIORITY slider L10181 - **§3-D.** — Reproduce the original's BUGS verbatim L10191 - **§149** — Four instrument defects in one session, and the two questions they were hiding (P30 S43) L10240 - **§3-A.** — A prep step that returns its input on failure is indistinguishable from a search that found nothing L10246 - **§3-B.** — Same address + same name ≠ same body — and the ledger keys on address L10264 - **§3-C.** — `make: *** [...] Error N` is a summary, never a diagnosis L10280 - **§3-D.** — "Cheap fuel" that was never probed: 0 of 31 templatable L10290 - **§150** — A register ROTATION across symmetric blocks is VARIABLE-IDENTITY evidence, not an allocator tie (P30 S43, `func_8017C6F4`, 947 ins ×4) L10309 - **§3-The** — fix L10316 - **§3-The** — method that found it (this is the transferable part) L10326 - **§3-Two** — corrections to the record L10342 - **Diagnostic** — order (adopt this) L10353 - **§151** — THE GHOST WEDGE: when a load-before-store transposition is unreachable by ANY statement order (P30 S43, `func_8017EF68`, 969 ins) L10364 - **§3-The** — mechanism (read from cc1's own `-dR` trace, not inferred) L10369 - **§3-The** — lever — a zero-emission insn that absorbs the blocked tick L10384 - **§3-The** — two fallouts, and how to close them (both measured, in order) L10392 - **When** — to reach for it L10404 - **§152** — BYTE SIZE is the family key that name- and h_seq-grouping both miss (P30 S43, the 0xECC family: 1 crack → 12 overlays → 11,364 ins) L10415 - **§3-The** — finding L10420 - **§3-The** — key L10429 - **§3-Two** — cautions that must travel with this technique L10440 - **§3-The** — companion defect (open) L10451 - **§153** — THE ADDRESS-REMATERIALISATION LAUNDER: a third zero-emission asm lever (P30 S43, `func_8018D98C`, 710 ins) L10463 - **Symptom** — Symptom L10471 - **Mechanism** — (gcc source + RTL dumps, not inferred) L10476 - **What** — does NOT work (14 byte-measured probes) L10483 - **§3-The** — cure — a fresh launder per site, each in its own block L10489 - **Companion** — levers from the same function L10499 - **§154** — Reading a disc payload: the module-id word, static base derivation, and "type 1 = uncompressed overlay" (P30 S44) L10519 - **§3-A.** — Payload word0 is a global MODULE ID; code starts after the header L10524 - **§3-B.** — Two static base-derivation methods that must AGREE (use both) L10533 - **§3-C.** — PAC type 1 = the same payload class as type 4, just NOT compressed L10545 - **§155** — hi/lo literal scanning MUST track base registers (S45) L10555 - **§155a** — the same failure class, one level up: SHAPE-blind table scanning (S45 p5) L10564 - **§155b** — check the TYPE your oracle returns before comparing against it (S45 p5) L10584 - **§155c** — the ZERO-REFERENCE trap: gcc splits a global-array address across the `lui` and the LOAD (S46) L10607 - **§156** — an ORPHANED reconcile poisons the fleet: `dedup_propagate`'s kept edit (S45 p6/p7) L10637 - **§157** — the cheap-tier size cliff, measured (S45 p6) L10684 - **§158** — The RANGE-EXTENDER: a fourth zero-emission asm lever completes the allocno toolkit (P30 S46 tier-3, `func_8017CE58`, 733 ins) L10709 - **Symptom** — Symptom L10718 - **§3-Why** — the fork is chained (gcc source, validated insn-by-insn against -dS/-dR dumps) L10724 - **§3-The** — method (dump-arithmetic first, then place — no probing) L10737 - **Bonus** — facts worth keeping L10754 - **§156** — THE PREFERENCE-DONOR MERGE: cross-region variable reuse is what fills a0-a3, and a call-arg use in ONE region steers the fill in ALL of them (P30 S46 tier-3, `func_80186E24`, 611 ins: 236-off "S11 regalloc-order" → MATCH, zero new pins) L10769 - **§159** — THE DECLARATION AXIS: conform to byte-truth, and make every guard state its COVERAGE (P30 S47; ~10,930 sites across 8 axes, fleet byte-identical) L10825 - **§160** — THE REACH-15 WAVE HARVEST: an align-1 block move, and the instrument that called it a wall (P30 S47) L10890 - **§161** — THE RETRY-WAVE HARVEST: a jump table indexed from zero, and two allocator traps (P30 S47) L10966 - **§162** — S48 WAVE-1 HARVEST (P30, 2026-08-11): the reach-ordered sibling campaign's first 12 targets L11011 - **§162a** — SHARPENS *(sharpens §161a, §131, §8a-pad, §129a)* L11038 - **§162b** — SHARPENS *(sharpens §48-A3, §156, §150, §76)* L11067 - **§162d** — SHARPENS *(sharpens §31, §21, §30, §55a)* L11096 - **§162e** — NEW L11138 - **§162** — THE LICM PAIR: what makes an address a movable AT ALL, and why the preheader order is the body order (P30 S47, `ov_MAIN_012`) L11140 - **§162f** — SHARPENS *(sharpens §42d, §41d, §73, §10)* L11206 - **§162g** — NEW L11261 - **§162** — CROSS-JUMP DIRECTION: the surviving copy is always the LATER one, so a BACKWARD `j` into a sibling arm is a source `goto` (P30 S48) L11263 - **§162h** — SHARPENS *(sharpens §88, §88a, §50-B, §8)* L11297 - **§162** — The cross-jump "CALL veto" is a COUNT law, not a CALL law (BOUNDS §88a; P30 S48, `func_80189540`) L11299 - **§162i** — SHARPENS *(sharpens §135, §21, §42, §32)* L11365 - **§162j** — SHARPENS *(sharpens §25, §136d-1, §48-B, §46-L2)* L11390 - **§162k** — SHARPENS *(sharpens §1-I2, §12, §160d, §21)* L11419 - **§162l** — SHARPENS *(sharpens §48-B, §48-C1, §20, §21)* L11482 - **§162m** — SHARPENS *(sharpens §36, §158, §148, §153)* L11537 - **§158a** — THE FIFTH LEVER IS NOT AN ASM: `do { } while (0)` is a REGION ref-multiplier you MINT (P30 S48, `func_8017CBC8`, ov_MAIN_012 / jr_801789AC, 188 ins → MATCH) L11539 - **§3-The** — law L11546 - **Size** — it before you write it (§158 step 1-2, applied) L11557 - **§3-The** — wrap BOUNDARY is the dial — and it is indiscriminate L11578 - **§3-Not** — a pure dial L11584 - **DIAGNOSTIC** — TELL — two faces, one law L11588 - **§162n** — NEW L11610 - **§162o** — SHARPENS *(sharpens §158, §136-1, §136-6, §79)* L11643 - **§162p** — SHARPENS *(sharpens §48-B, §46-L2, §156, §136d-1)* L11702 - **§162q** — SHARPENS *(sharpens §30, §30a, §135-2, §136-13)* L11719 - **§163** — S48 WAVES 2-3 HARVEST (P30, 2026-08-11/12): the five that were byte-probed and are actionable L11757 - **§163z** — THE UNVETTED REMAINDER (do not cite as law; each needs a dedupe pass) L11825 - **§164** — S48 §163z SKEPTIC PASS (P30, 2026-08-12): 190 claims vetted, 82 banked L11845 - **§16Xy** — SHARPENS *(sharpens §136d-3, §37 /s-DEP LATTICE, §135-2, §136-13, §162q)* L12297 - **§3-The** — `/s` drop clause is in ALL THREE dependence predicates, so the FIXED-ADDRESS STORE is what floats (P30 S48, `func_8017CA18`, ov_MAIN_012) L12299 - **§164z** — REFUTED CLAIMS: do NOT re-derive these L13620 - **§165** — S48 WAVE-4 HARVEST (P30, 2026-08-12): banked the same day the wave landed L13686 - **§16Z** — SHARPENS *(sharpens §37 "the /s-DEP LATTICE", §136-13, §136-14, §16Xy, §162q, `gcc-2.7.2-map/sched.md` §64)* L14337 - **§3-The** — ADDRESS-CLASS TABLE: which load/store pairs even REACH the `/s` clause (P30 S48 wave 4, `func_80185B44`, ov_SC03_014) L14339 - **§165z** — REFUTED THIS WAVE: do NOT re-derive L14855 - **§166** — THE DESTINATION-TU ORACLE (P30 S48): the seven-attempt bug that was never codegen L14899 - **§167** — S48 WAVE-5/6 HARVEST (P30, 2026-08-12): the saturation point L14955 - **§167z** — REFUTED IN WAVES 5/6: do NOT re-derive L16151 - **§168** — THE COUSIN TIER (P30 S49, 2026-08-12): h_seq's exact-hash brittleness, measured — and the similarity map above it L16208 - **§169** — THE MICRO-ADAPT LANE (P30 S49): edit a proven body, don't crack a new one L16260 - **§170** — THE A-PROP WORD-DIFF CARD (P30 S49): the lane that had no owner L16307 - **§171** — THE STALE SEED SYMBOL (P30 S50, 2026-08-13): why §170's 91%→57% was never codegen L16351