27 note-sets, 197 claims, one skeptic each, against a cookbook already holding §162-§166 from this campaign: NEW 5 · SHARPENS 43 · COVERED 126 · UNSOUND 23 byte-probed 92 · single-instance 75 · asserted 30 COVERED+UNSOUND: 57% (§164) -> 64% (§165) -> 76% (here). The duplicate rate rises monotonically as the base grows. FIVE genuinely new laws out of 197 claims is the signal that the idiom well for this class of function is approaching dry — future waves should spend tokens on cracks, not on mining notes for idioms, and harvest only what a skeptic grades byte-probed. The skeptics ran their own A/Bs this round. Best example: a crack agent claimed "the source STATEMENT BOUNDARY decides whether the scheduler hoists a far-consumed load". The vetter built that spelling and got .text BYTE-IDENTICAL to the inline form, then swept eight POSITIONS and got five distinct objects — showing the lever is statement position (the already-banked INSN_LUID tie-break), not the boundary. Plausible mechanism, refuted by measurement, true lever named in its place. 46 entries banked as §167-01..46; §167z records the 23 refutations. cookbook_index.py: 508 sections.
159 KiB
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.mdis ~716 KB / 508 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 /
beqwhere the target hasbne(match_one prints this class as BRANCH-POLARITY) → §3-T4 (invert the source condition) + §32.2; for a trailingreturn 0vs an early return see the shared-ret0 note (cookbook L1344) conflicting typeson 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 viaregister 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 offp, 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*)&symforce_regs the address; the asm-label alias (§37) keeps the direct%lomem form andi $x,0xFFfolded away in your output but present in the target → §1/I2 + §12 name the family; if the prescribed& 0xffat the use folds, hold the masked byte in a u16 local so only a QI->HI extend survives (P30 wave 2, byte-tested)sltiwhere the target hassltiu(or vice versa) → §35 — a separate SIGNED int copy of an unsigned load keepsslti; chained bounds get range-folded, so write each bound as its ownif/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_phalts the eager filler on an asm insn voidvss32return — is promoting it byte-neutral? → NO, not always: §41d (byte-proven; avoidbody with noreturngains an instruction). P30 adds a second mechanism: ans32return keeps$v0live-out and blocks dbr from filling a loop-back delay slotmatch_onesays SIZE-MISMATCH/short and the target has a frame-pointer prologue (addu $fp,$sp,$zero/21F0A003) → The target is -O0. Pass--o0tomatch_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 throughmatch_one(24 runs ≈ 2 min) instead of reasoning aboutrank_for_schedule - a two-constant
if/elseor?: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 ones32local 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,0xffd8in yours vsaddiu $v0,-0x28in the target → a NEGATIVE constant stored into an unsigned narrow local materialises via zero-extendedori; make the local signed to getaddiu. It does NOT cost you thelhuon readback — gcc-2.7.2 emitslhufor any plain HImode load feeding ansh(P30 wave 4, byte-tested)- LENGTH-DRIFT −1 and the missing instruction is a reg-to-reg COPY in a
jaldelay slot → a narrow prototyped param (plain ANSIs16 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
nopright after an inline block move → anlwl/lwr+swl/swrpair 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_1copy VANISHED (target addresses every field off a copy at a join block) → cse.cmake_regs_eqvkeeps 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>.cseed 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_80131340L-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
jinto a sibling arm is a sourcegoto(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_80129CF8191 ins, match_one MATCH; transferable to the 6 sibling giants) L2422 - §34 — The
func_80138ED0giant 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_movableshoists iffthreshold × 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.csplit-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_80133CD4crack (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_8017BEBC952 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_8017D960b2, 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_8017F5101,511 ins, 97 → MATCH, pin-free) L6028 - §78 — A LENGTH drift can be a register grant in disguise; and
foldnever leaves a literal first in an|chain (Phase 29 SESSION-19, behemoth #2func_8017D9603,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_8017BF1445 → 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_801838145,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/$t9in 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_80178D40crack (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
adduinduction, not constant-foldedaddiuL71 - §34 — The
func_80138ED0giant 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_80178D40crack (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_classdecide 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
/saliasing flag, the def-side wall has a macro escape, + the birthing-boost (Phase 23, byte-proven on giantfunc_8014EE14248 ins ×134) L2382 - §32 — The region-a CAMERA-GIANT idiom set: struct-base hoisting + 4 sibling levers (Phase 24 T7, Fable5-cracked on
func_80129CF8191 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 onfunc_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_80178D40crack (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_801838145,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_oneis 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
--likerole 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_oneCOUNT 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 —
/sdrop 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
/sclause (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+sltiuL41 - §3-I2 — Byte mask forces
andieven afterlbuL47 - §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.pyBUILT + the cap re-diagnosed (R14, byte-proven) L1701 - §23 — Giant
func_80153E00cracked (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'scast_call_sites) + a fleet-majority type oracle (Phase 24 T7b, byte-proven onfunc_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 onfunc_8013B274) L2710 - §41d —
void→s32is 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/Nis a TYPE-CARRY failure until proven otherwise: lift the exemplar's local types, ALL of them, transitively (Phase 29 SESSION-21,func_8016B6BC0/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_80175DA80/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_sitesread 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 (56)
- §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_unifyis 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'scast_call_sites) + a fleet-majority type oracle (Phase 24 T7b, byte-proven onfunc_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 onfunc_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→s32is 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_matchMATCH → 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 justexterns; 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_8017F5101,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_8017BF144,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_tudropped the SIBLING declarators of a multi-symbolexternline (Phase 29 SESSION-21,func_80176218) L6983 - §96 — The same rewrite, one shape down:
reconcile_tumatched statements to lines by TEXT, so every COMMENTED declaration was silently skipped (Phase 29 SESSION-22,func_80176218banked) L7018 - §98 —
conform_declshad 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
externin 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_sitesread 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
jump tables & switches (27)
- §8 — rodata island (compiler jump tables) — the
.data→.rodata→.datasandwich (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 0x00000000under a jtbl dlabel is.alignPAD, not an entry (Phase 26 session 6, byte-proven) L380 - §8b — MULTI-jtbl per overlay — the
ld_interleave --ordersandwich + 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_onecannot 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_oneCOUNT 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 Nis 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
--srcfilter 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
-O0split 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
-O0regime: the CONSTANT-OFFSET FOLD, and why-O0needs its own idiom set (P30 T3 wave, 15 targets) L8349 - §3-The — rest of the
-O0regime (write PLAIN C, and mean it) L8367 - §127a — §71 (sibling-first) is the strongest
-O0lever, 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 (83)
- §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.csplit-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
/saliasing flag, the def-side wall has a macro escape, + the birthing-boost (Phase 23, byte-proven on giantfunc_8014EE14248 ins ×134) L2382 - §34 — The
func_80138ED0giant 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_80133CD4crack (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_80178D40crack (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_8017BEBC952 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_extendsweep) L5925 - §75b — A body's preamble can carry
#defines, not justexterns; 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_8017F5101,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_oneis 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
--likerole trap (Phase 29 SESSION-21,func_8012AAAC×137) L6842 - §94 — A family sweep's
0/Nis a TYPE-CARRY failure until proven otherwise: lift the exemplar's local types, ALL of them, transitively (Phase 29 SESSION-21,func_8016B6BC0/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_801440900/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_propagateis 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 familiesmay 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_exactclass 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_sitesread 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_compareTIE 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
/sclause (P30 S48 wave 4,func_80185B44, ov_SC03_014) L14339
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
.oL1654 - §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_tudropped the SIBLING declarators of a multi-symbolexternline (Phase 29 SESSION-21,func_80176218) L6983 - §96 — The same rewrite, one shape down:
reconcile_tumatched statements to lines by TEXT, so every COMMENTED declaration was silently skipped (Phase 29 SESSION-22,func_80176218banked) L7018 - §3-Two —
reconcile_tubugs 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_80175DA80/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
externin 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-allL1120 - §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_unifyis 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
.oL1654 - Phase-20 — RESOLUTION —
tools/cast_call_sites.pyBUILT + the cap re-diagnosed (R14, byte-proven) L1701 - §24 — The
ov_SC01_077_a.csplit-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'scast_call_sites) + a fleet-majority type oracle (Phase 24 T7b, byte-proven onfunc_80129CF8) L2434 - §34 — The
func_80138ED0giant 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 onfunc_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→s32is 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_80133CD4crack (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_8017BF144,763 ins, cold start → 45/4763) L6220 - §82 — Two source-shape oracles from behemoth #6: a duplicated
addiu $aN,$sp,Kacross ajalmeans the block was INLINED, and scalar-vs-aggregate decides WHEN a stack slot is allocated (Phase 29 SESSION-19,func_8017C7301,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_oneCOMPILES 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_oneand 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_801440900/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_propagateis h_exact-only; its refusals are statements about the TOOL (P30 wave 1, 2026-07-30) L8116 - §126a — a bare
except: continuearound 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
--srcfilter 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_exactclass 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 (72)
- §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
.oL1654 - Phase-20 — RESOLUTION —
tools/cast_call_sites.pyBUILT + the cap re-diagnosed (R14, byte-proven) L1701 - §23 — Giant
func_80153E00cracked (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_801838145,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
sltiliteral-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_declshad 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
(unbucketed — title matched no symptom vocabulary) (166)
- §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-checkbreak(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 --assesswas DOUBLY inflated (Phase 21, cont.7) L2199 - §3-The —
_aclose=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_80135EB0wall, 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
partialdrift 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_8014D82025 → 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.his 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_onecannot see L6649 - Consequence — for the backlog ledger L6659
- §88 —
cross_jumpwill 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 pipefailattributes 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_XXXXXXXXpredicate 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 —
aswrites 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 —
--likeis 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.sL9543 - §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
--addrsometimes 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 : 0x3Fis folded toMIN_EXPRand 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 Nis 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
-dRtrace, 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
luiand 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
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+sltiuL41 - §3-I2 — Byte mask forces
andieven afterlbuL47 - §3-I3 — Division by a constant → magic multiply L54
- §3-I4 — Runtime (variable) division →
divu+ zero-checkbreak(NEEDS--expand-div) L60 - §2 — Writing matching C (what makes gcc emit X) L69
- §3-T1 — Loop pointer: top-of-body for
adduinduction, not constant-foldedaddiuL71 - §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→.datasandwich (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 0x00000000under a jtbl dlabel is.alignPAD, not an entry (Phase 26 session 6, byte-proven) L380 - §8b — MULTI-jtbl per overlay — the
ld_interleave --ordersandwich + 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-allL1120 - §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_unifyis 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
-O0split 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
.oL1654 - §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.pyBUILT + 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_80153E00cracked (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.csplit-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 --assesswas DOUBLY inflated (Phase 21, cont.7) L2199 - §3-The —
_aclose=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
/saliasing flag, the def-side wall has a macro escape, + the birthing-boost (Phase 23, byte-proven on giantfunc_8014EE14248 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_80129CF8191 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'scast_call_sites) + a fleet-majority type oracle (Phase 24 T7b, byte-proven onfunc_80129CF8) L2434 - §34 — The
func_80138ED0giant 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 onfunc_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→s32is 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_80133CD4crack (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_80178D40crack (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_8017BEBC952 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_80131340L-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_80135EB0wall, 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
partialdrift 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_matchMATCH → 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_classdecide 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_8014D82025 → 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_8017D960b2, 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_extendsweep) L5925 - §75b — A body's preamble can carry
#defines, not justexterns; 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_8017F5101,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
foldnever leaves a literal first in an|chain (Phase 29 SESSION-19, behemoth #2func_8017D9603,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_8017BF144,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_8017BF1445 → 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_onecannot 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,Kacross ajalmeans the block was INLINED, and scalar-vs-aggregate decides WHEN a stack slot is allocated (Phase 29 SESSION-19,func_8017C7301,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_801838145,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_oneis 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.his 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_oneCOMPILES 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_onecannot see L6649 - Consequence — for the backlog ledger L6659
- §3-The — cheap discriminator, before spending a sweep L6666
- §88 —
cross_jumpwill 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
sltiliteral-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_oneand 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
--likerole 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 pipefailattributes a pipeline failure to the LAST stage, not the failing one (Phase 29 SESSION-21,func_8014D820) L6922 - §94 — A family sweep's
0/Nis a TYPE-CARRY failure until proven otherwise: lift the exemplar's local types, ALL of them, transitively (Phase 29 SESSION-21,func_8016B6BC0/137 → 137/137) L6947 - §95 —
reconcile_tudropped the SIBLING declarators of a multi-symbolexternline (Phase 29 SESSION-21,func_80176218) L6983 - §96 — The same rewrite, one shape down:
reconcile_tumatched statements to lines by TEXT, so every COMMENTED declaration was silently skipped (Phase 29 SESSION-22,func_80176218banked) 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_declshad 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_tubugs 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_80175DA80/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
externin 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_801440900/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_XXXXXXXXpredicate 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_propagateis 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 familiesmay 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: continuearound a coverage-asserting oracle re-creates the silent skip (P30 S28) L8317 - §127 — The
-O0regime: the CONSTANT-OFFSET FOLD, and why-O0needs 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
-O0regime (write PLAIN C, and mean it) L8367 - §127a — §71 (sibling-first) is the strongest
-O0lever, 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_oneCOUNT 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 Nis 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 —
aswrites 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 —
--likeis 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.sL9543 - 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
--srcfilter 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_exactclass 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
--addrsometimes says "nothing changed") L9811 - §3-And — the report-vs-bytes lesson attached to it L9819
- §143 —
cast_call_sitesread 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/$t9in the target is RELOAD SCRATCH — reproduce the spill, don't pin the register L10070 - §3-E. — A
qty_compareTIE 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_movableshoists iffthreshold × savings × lifetime ≥ insn_count— and you can read it L10148 - §3-B. —
(v < 0x40) ? v : 0x3Fis folded toMIN_EXPRand 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 Nis 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
-dRtrace, 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
luiand 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
jinto a sibling arm is a sourcegoto(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 —
/sdrop 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
/sclause (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