Files
BFM-decomp/docs/cookbook-index.md
T
Drew T 895bb6a239 feat(phase-30 S50): clear the func_801EDC18 carry blocker — 4/4 banked, and re-priced
- The blocker was carried as "one missing file-scope extern gates 83 PURE members". Both
  halves were wrong (R14): corpus.stubs says 4 open members, and D_801ED98C is a DEFINED
  const Blk8 whose rodata lives inside the member's own nonmatchings .s — replacing the stub
  deletes the data with it. gather_externs can carry an extern DECL, never a DEFINITION,
  which is why it reported "no file-scope decl" for a symbol md_SC05_023 defines on line 114.
- Fix: paste typedef + const definition + body per sibling (data bytes verified identical
  across md_SC05_024/025/028/029). 4/4 banked.
- aprop_symfix: new `local-only` class — draft-DEFINED identifiers that merely carry a
  vram-looking suffix (Blk8_…, S8_…, L_call_…) are not stale symbols. Measured: that is every
  non-clean case in the whole wave-7a/7b stored-draft residue, which holds ZERO stale-symbol
  recoveries (a clean negative result — the defect was A-prop-specific).
- cookbook index regenerated (tools-health fails closed on a stale index — it caught §171).
- R22 clean rebuild: check-all 213 passed, 0 failed of 213. Stubs 12,445 -> 12,441.
2026-08-14 00:23:32 -06:00

160 KiB
Raw Blame History

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/<fn>.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 #defines, not just externs; 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 #defines, not just externs; 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 <SCxx> <FILE_nnn> 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 <const> 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 <const> 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 <SCxx> <FILE_nnn> 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 #defines, not just externs; 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