From bfeef0c3a18cc8aa8be5cf78c3b39cf654dff3b9 Mon Sep 17 00:00:00 2001 From: Drew T <50529377+Druthulu@users.noreply.github.com> Date: Sat, 5 Sep 2026 23:56:32 -0600 Subject: [PATCH] docs(phase-32): backlog ledger rows from the T4b close (render-time pruning of the banked rows) --- .run/backlog.jsonl | 26 ++------------------------ 1 file changed, 2 insertions(+), 24 deletions(-) diff --git a/.run/backlog.jsonl b/.run/backlog.jsonl index 3e74b94fd..4409aff88 100644 --- a/.run/backlog.jsonl +++ b/.run/backlog.jsonl @@ -1,27 +1,5 @@ {"ts": "2026-09-01 20:34:37", "addr": "0x80062144", "name": "func_80062144", "reach": null, "klass": null, "nins": null, "status": "failed", "closeness": null, "where_stuck": "won't compile standalone (loose-typing / missing decl)", "best_draft": null, "binary": "main", "source": "S70-332b", "residual": null, "passes_tried": null} -{"ts": "2026-09-04 21:19:39", "addr": "0x80020da4", "name": "func_80020DA4", "reach": null, "klass": null, "nins": null, "status": "near", "closeness": 2, "where_stuck": "Q12 3x3 rotation-matrix build (twin shape of ov_SC02_011:func_8018B76C). Prior 51->20->14->8; NEW lever: an address-taken s32 frame_pad[3] local induces the target's phantom 16-byte frame -> 2. Residual: mflo destination $t0 vs target $a2 (REGALLOC-PERM); pinning regresses to 79. Handed to permuter_ils.", "best_draft": ".run/S79w/sonnet/func_80020DA4.c", "binary": "main", "source": "S79 #9 sonnet agent", "residual": null, "passes_tried": null} -{"ts": "2026-09-04 21:19:39", "addr": "0x80032a74", "name": "func_80032A74", "reach": null, "klass": null, "nins": null, "status": "near", "closeness": 1, "where_stuck": "422/422 instructions, frame 0x78 exact, every immediate/stack offset/branch target exact, all 27 symbols audited against the target's own relocation lines (law 1c). Sole residual is idx 244 `lh` vs `lhu`. I proved WHY it is a wall rather than re-grinding it: `extendhisi2` is a force_not_mem EXPAND, so an orphan (the 8 bytes the 0x78 frame needs at sp+0x48) can only be minted by a 3-way movhi+ashl+", "best_draft": "/home/musashi/bfm-decomp/.run/S79w/opus/func_80032A74.c", "binary": "main", "source": "S79 #9 opus agent", "residual": null, "passes_tried": null} -{"ts": "2026-09-04 21:19:39", "addr": "0x800391d4", "name": "func_800391D4", "reach": null, "klass": null, "nins": null, "status": "near", "closeness": 3, "where_stuck": "75/75 instructions (exact length), only residual is a 3-insn SCHEDULE-REORDER (off=0 vs arg1's sll/sra pair rotated) classified bucket=permuter. Cracked the 4-prior-attempt wall (best prior closeness 64, LENGTH-DRIFT+1) via register-pin i=$7 to kill combine_givs on D_80073140[i], a 2D-array decl D_80073140[][1] (cookbook SS164-26) to stop move_movables hoisting the address instead of folding it in", "best_draft": "/home/musashi/bfm-decomp/.run/S79w/sonnet/func_800391D4.c", "binary": "main", "source": "S79 #9 sonnet agent", "residual": null, "passes_tried": null} -{"ts": "2026-09-04 21:19:39", "addr": "0x80039dec", "name": "func_80039DEC", "reach": null, "klass": null, "nins": null, "status": "near", "closeness": 2, "where_stuck": "S80 permuter_ils best 2 (seed 9); 74/74 exact length match, OPCODE-MIXED. Key levers that moved the residual from the seed's 74-vs-72-length structural failure down to 9: (1) K&R old-style definition for a2 (s16 a2 in the identifier-declaration form) reproduces the target's in-place sll/sra-16 arg-register cast + its addu $a3,$a2,zero raw-preserve, which no ANSI (s16)-cast or s32-typed spelling ever produced; (2) forward-goto bloc", "best_draft": "/home/musashi/bfm-decomp/.run/S79w/sonnet/func_80039DEC.c", "binary": "main", "source": "S79 #9 sonnet agent", "residual": null, "passes_tried": null} -{"ts": "2026-09-04 21:19:39", "addr": "0x8017df28", "name": "func_8017DF28", "reach": null, "klass": null, "nins": null, "status": "near", "closeness": 2, "where_stuck": "S80 permuter_ils 8x150s: waypoint '1' replaced the addiu $s2,$sp,0x10 with sw zero,48(sp) (semantically divergent, R14) -> closeness stays 2; 119/119; single SCHEDULE residual: addiu $s2,sp,0x10 sits in the jal's delay slot vs the target's bnez slot \u2014 expand_block_move's copy_addr_to_reg pseudo for mtx=D_800AE620 is cse-reused for both later &mtx args (gcc-2.7.2-map cse_expr.md [A23-2]/\u00a7H). Field-wise copy regresses to 117 (a real loop); the \u00a7H diamond cse-reset is a byte-identical no-op (no 2-predecessor merge to exploit). Fifth RTL-ve", "best_draft": ".run/S79w/sonnet/func_8017DF28.c", "binary": "ov_SC06_022", "source": "S79 #9 sonnet agent", "residual": null, "passes_tried": null} -{"ts": "2026-09-05 10:57:02", "addr": "0x800cd674", "name": "func_800CD674", "reach": null, "klass": "REGALLOC-PERM", "nins": 174, "status": "near", "closeness": 2, "where_stuck": "$a3<->$t1 across two masked prim pointers (one shared local can be only one; splitting = +1 pseudo displacing two hoisted constants, 31); SPRT-with-tpage family, \u00a7364 mirror (non-struct field stores). Inert: pin order (8 perms), assignment placement (6), volatile index, p+=0x18 spellings, u8* cursor, every pin subset. NEXT: permuter_ils on the pinned seed (\u00a7494 recipe)", "best_draft": ".run/P32/t3/opus/func_800CD674.c", "binary": "md_MAIN_009", "source": "P32-T3 one Opus agent 30-70min; \u00a7500-C; report .run/P32/t3/reports/", "residual": null, "passes_tried": null} -{"ts": "2026-09-05 10:57:03", "addr": "0x800cd92c", "name": "func_800CD92C", "reach": null, "klass": "SCHED", "nins": 247, "status": "near", "closeness": 15, "where_stuck": "map \u00a7S7 prologue WEAVE: the {sw,lui,ori} groups for 0xE100008D/8F land after the 9-insn li block instead of before \u2014 the \u00a717 pins reproduce the ALLOCATION but the hoist happens in sched2. Same SPRT family as func_800CD674 (\u00a7364 mirror levers applied)", "best_draft": ".run/P32/t3/opus/func_800CD92C.c", "binary": "md_MAIN_009", "source": "P32-T3 one Opus agent 30-70min; \u00a7500-C; report .run/P32/t3/reports/", "residual": null, "passes_tried": null} -{"ts": "2026-09-05 10:57:04", "addr": "0x80039308", "name": "func_80039308", "reach": null, "klass": "REGALLOC", "nins": 518, "status": "near", "closeness": 17, "where_stuck": "sched2 + cross-block regalloc: preheader 49/50 swap, un-spellable addu $a2,$a0,$zero (every p=r form cse-propagated), a temp on $t0 vs $s7, and 11 insns of one alias fact (2nd D_80073140[j] load cannot schedule above the D_800C7D20 store from C; /s unlock costs the address allocation, net 20-24). 34->17 via s16 b4 widening copy + dead-local identity sweep (.run/P32/t3/restored/sweep_func_80039308.py) + $2 pin. permuter_ils --klass REGALLOC 2x150s: no gain", "best_draft": ".run/P32/t3/opus/func_80039308.c", "binary": "main", "source": "P32-T3 one Opus agent 30-70min; \u00a7500-C; report .run/P32/t3/reports/", "residual": null, "passes_tried": null} -{"ts": "2026-09-05 10:57:04", "addr": "0x800cf3e8", "name": "func_800CF3E8", "reach": null, "klass": "ALIAS", "nins": 469, "status": "near", "closeness": 27, "where_stuck": "ONE cause: the pinned-base alias basin (\u00a7500-D1) in the p5/p6 tail; blocks 1-2 byte-exact (idx 0-361). 54->27 via blk2 constant birth order + birthing-boost local w60 + \u00a7194-A fence relocation. Inert: all 9 pins load-bearing (+5..+1409), asm position x7, h6 hoist 32x2, tag reshape, P_TAG ADDPRIM, array p6 stores, ~92k annealed variants. Untested: an unpinned alias of p6 for the tag load alone (ONE Opus second look allowed)", "best_draft": ".run/P32/t3/opus/func_800CF3E8.c", "binary": "md_MAIN_003", "source": "P32-T3 one Opus agent 30-70min; \u00a7500-C; report .run/P32/t3/reports/", "residual": null, "passes_tried": null} -{"ts": "2026-09-05 10:57:04", "addr": "0x80185810", "name": "func_80185810", "reach": null, "klass": "SCHED", "nins": 489, "status": "near", "closeness": 35, "where_stuck": "[permuter] 4 emission windows (see report .run/P32/t3/reports/func_80185810__opus__*.md); exact length, rtu-clean", "best_draft": ".run/P32/t3/opus/func_80185810.c", "binary": "ov_SC03_105", "source": "P32-T3 one Opus agent 30-70min; \u00a7500-C; report .run/P32/t3/reports/", "residual": null, "passes_tried": null} -{"ts": "2026-09-05 10:57:05", "addr": "0x8017dc80", "name": "func_8017DC80", "reach": null, "klass": "FRAME", "nins": 346, "status": "near", "closeness": 46, "where_stuck": "the historic -33 LENGTH wall CLOSED (GTE macros must be REAL macros \u2014 the TU house block; the splat Handwritten tag is wrong): 346/346, exact 0x70 frame + 9 callee-saved. Residual: reload-slot frame + the la $a0 slot; cse1 unifies OT index and n<4 across func_80010A08(8) (\u00a7500-D2 zero-byte asm retire)", "best_draft": ".run/P32/t3/opus/func_8017DC80.c", "binary": "ov_SC07_002", "source": "P32-T3 one Opus agent 30-70min; \u00a7500-C; report .run/P32/t3/reports/", "residual": null, "passes_tried": null} -{"ts": "2026-09-05 10:57:05", "addr": "0x800cf408", "name": "func_800CF408", "reach": null, "klass": "SCHED", "nins": 178, "status": "near", "closeness": 49, "where_stuck": "[permuter] 3 hunks: two prologue sched2 slots, an mlo/mhi allocno tie, a 3-insn block-2 head hoist. Two LENGTH-bearing pins found (tp $17 shared by 0xE1000087/97 = the 6th callee-saved; ob $10 fixes the $t1/$t2/$t3 rotation, 56->49). \u00a7351 family (func_8001212C -O0 / func_8017DD04 -O2 exemplars)", "best_draft": ".run/P32/t3/opus/func_800CF408.c", "binary": "md_MAIN_007", "source": "P32-T3 one Opus agent 30-70min; \u00a7500-C; report .run/P32/t3/reports/", "residual": null, "passes_tried": null} -{"ts": "2026-09-05 10:57:06", "addr": "0x800cf6d0", "name": "func_800CF6D0", "reach": null, "klass": "SCHED", "nins": 249, "status": "near", "closeness": 137, "where_stuck": "sched1 rank_for_schedule last-insn-CLASS tie (every store priority 2, equal refs; QImode stores grouped, loads floated, HImode after \u2014 5 of 6 blocks) + $t1<->$t3 local-alloc swap of the two masks. 249/249 exact length only with tpage-before-len field order (19 swept). Inert at 137: pins on tpage constants/masks, asm re-ties, volatile/memory fences, /s-denial on any store subset, *0x4000 vs <<14, p++ vs p+0x18, | swap. decomp-permuter 122 was semantically wrong (R63)", "best_draft": ".run/P32/t3/opus/func_800CF6D0.c", "binary": "md_MAIN_007", "source": "P32-T3 one Opus agent 30-70min; \u00a7500-C; report .run/P32/t3/reports/", "residual": null, "passes_tried": null} -{"ts": "2026-09-05 12:05:51", "addr": "0x80011380", "name": "func_80011380", "reach": null, "klass": "WALL-PROVED", "nins": 192, "status": "near", "closeness": 6, "where_stuck": "\u00a7474 PROVED C-level floor (boot -O0): fold-const.c:882 split_tree merges MULT(MULT(i,2),2); the two escapes each cost one instruction (stupid.c:497 adjacency / expand_decl use-brackets); \u00a7388 -O0 colouring oracle. Pinned S79 #8; re-probed S83 in the real TU: DIFF 6 (unchanged)", "best_draft": ".run/m3/opus/func_80011380.c", "binary": "main", "source": "P32-T4 S83 ledger path fix (R62): the ledger's .run/backlog_drafts/func_80011380.c was missing; this draft re-run DIFF 6 in src/boot.c (rtu_match --o0, S83)", "residual": null, "passes_tried": null} -{"ts": "2026-09-05 12:05:51", "addr": "0x801834a4", "name": "func_801834A4", "reach": null, "klass": "WALL-CANDIDATE", "nins": 106, "status": "near", "closeness": 6, "where_stuck": "WALL candidate: loop.c movable ordering, closeness 6 (S71); re-probed S83 in the real TU: DIFF 6 for all three stored variants (unchanged)", "best_draft": ".run/S71_gate14/ov_SC03_105-cn-cast-rc-sd/func_801834A4.c", "binary": "ov_SC03_105", "source": "P32-T4 S83 ledger path fix (R62): the ledger's .run/backlog_drafts/func_801834A4.c was missing; the three S71_gate14 variants (cn-cast, cn-cast-rc, cn-cast-rc-sd) all re-run DIFF 6 in src/ov_SC03_105/ov_SC03_105_jr_80181C84.c (S83)", "residual": null, "passes_tried": null} -{"ts": "2026-09-05 12:06:54", "addr": "0x80032a74", "name": "func_80032A74", "reach": null, "klass": "WALL-CANDIDATE", "nins": 422, "status": "near", "closeness": 1, "where_stuck": "WALL candidate CONFIRMED in the real TU (S83): 422/422, sole residual idx 244 `lh v0,0x18(s1)` vs target `lhu` \u2014 extendhisi2 is a force_not_mem EXPAND (the orphan frame slot is minted only at an lh; \u00a7172 producer 3 caller-save area, reload1.c:1445), so lhu loses the 8 frame bytes; ~200 byte-probes + 100-variant retyping sweep (S79) + permuter_ils 8x150s null (S80). Citation current (\u00a7172, reload1.c:1445). Draft synced to the TU (typedefs stripped via cdecl.strip_provided_typedefs; D_80064D44/D_8006A970/func_8003F144/func_800316F8 spelled as the TU)", "best_draft": ".run/P32/t4/drafts/func_80032A74_tuclean.c", "binary": "main", "source": "P32-T4 S83 re-probe (R40): the S79w Opus draft was a CC1 FAIL in src/800_b_2.c only for PLUMBING (7 typedefs the TU provides via 800_shared.h + 4 decl spellings); stripped/synced copy re-run in the REAL TU: DIFF 1 (idx 244 lh vs lhu) \u2014 the recorded residual, confirmed in TU context", "residual": null, "passes_tried": null} -{"ts": "2026-09-05 12:06:55", "addr": "0x80020da4", "name": "func_80020DA4", "reach": null, "klass": "WALL-CANDIDATE", "nins": 100, "status": "near", "closeness": 2, "where_stuck": "WALL candidate CONFIRMED (S83 rtu DIFF 2): 100/100, phantom 16-byte frame reproduced (address-taken frame_pad[3]); residual = mflo destination $t0 vs $a2 (REGALLOC-PERM), pinning regresses to 79; 5 attempts 51->20->14->8->2 + permuter_ils null (S80)", "best_draft": ".run/S79w/sonnet/func_80020DA4.c", "binary": "main", "source": "P32-T4 S83 re-probe in the REAL TU (src/800.c, after the S83 banks of func_80015B6C/func_8001BC6C): DIFF 2 \u2014 unchanged", "residual": null, "passes_tried": null} -{"ts": "2026-09-05 12:06:55", "addr": "0x8017df28", "name": "func_8017DF28", "reach": null, "klass": "WALL-CANDIDATE", "nins": 119, "status": "near", "closeness": 2, "where_stuck": "WALL candidate CONFIRMED (S83 rtu DIFF 2): expand_block_move copy_addr_to_reg pseudo cse-reused for both later &mtx args (gcc-2.7.2-map cse_expr.md [A23-2]/\u00a7H); 119/119; the addiu $s2,sp,0x10 sits in the jal delay slot vs the target bnez slot; five RTL-verified attempts (S71/S79); permuter_ils (S80) \"1\" was a divergent rewrite (R63). Citation current ([A23-2] present in cse_expr.md)", "best_draft": ".run/S79w/sonnet/func_8017DF28.c", "binary": "ov_SC06_022", "source": "P32-T4 S83 re-probe in the REAL TU (src/ov_SC06_022/ov_SC06_022_jr_8017BEBC.c): DIFF 2 \u2014 idx 25/28 addiu s2,sp,0x10 vs nop swapped (the jal delay slot vs the target's bnez slot) \u2014 unchanged", "residual": null, "passes_tried": null} -{"ts": "2026-09-05 12:07:57", "addr": "0x80039dec", "name": "func_80039DEC", "reach": null, "klass": "WALL-CANDIDATE", "nins": 74, "status": "near", "closeness": 2, "where_stuck": "WALL candidate CONFIRMED (S83 sandbox-TU rtu DIFF 2: idx 0 `move t1,a2` vs `addu a3,a2,zero`; idx 56 `sb t1` vs `sb a3`): 74/74 exact length; the $a3<->$t0/$t1 swap of the two K&R raw-preserve parameter copies is fixed by ARGUMENT POSITION in gcc-2.7.2 narrow-parameter promotion (2nd param -> $a3, 3rd -> $t0) before the global allocator runs \u2014 every pin regresses to 60-75; 3 attempts + permuter_ils 9 -> 2 (S80). Banking would need the TU decl -> no-proto (byte-neutral commit) \u2014 only worth it at closeness 0", "best_draft": ".run/S79w/permuter/func_80039DEC.c", "binary": "main", "source": "P32-T4 S83 re-probe (R40): the drafts were CC1 FAIL in src/800_c.c only because the TU's prototype (line 3496) rejects the K&R definition; in a sandbox TU copy with the no-proto spelling the permuter draft re-runs DIFF 2 \u2014 the recorded residual, confirmed in TU context (leaf 2; the Sonnet draft leaf 9)", "residual": null, "passes_tried": null} -{"ts": "2026-09-05 12:07:58", "addr": "0x800391d4", "name": "func_800391D4", "reach": null, "klass": "WALL-CANDIDATE", "nins": 75, "status": "near", "closeness": 3, "where_stuck": "WALL candidate CONFIRMED (S83 sandbox-TU rtu DIFF 3: idx 9-11 `move t0,zero` before vs after arg1 sll/sra): 75/75, a 3-insn SCHEDULE-REORDER \u2014 move_movables splices hoisted invariants after any pre-existing preheader flow code (loop.c 2.7.2:1529, map loop.md L4), so off init cannot follow arg1 hoisted sign-extend from C; 4 prior attempts + S79 Sonnet 64->3 + permuter_ils null (S80). Banking would need the TU externs -> [][1] (whole-EXE sha decides) \u2014 only worth it at closeness 0", "best_draft": ".run/S79w/sonnet/func_800391D4.c", "binary": "main", "source": "P32-T4 S83 re-probe (R40): CC1 FAIL in src/800_c.c only because the draft's lever spelling conflicts with the TU's three ; in a sandbox TU copy with the externs spelled [][1] (+ (s32*) casts at the 3 uses) the Sonnet draft re-runs DIFF 3 \u2014 the recorded residual; the [][1] spelling is LOAD-BEARING: the TU's [] spelling, a (s32 (*)[1]) cast and a byte-offset form all regress to 65 @ 76 ins", "residual": null, "passes_tried": null} -{"ts": "2026-09-05 12:09:39", "addr": "0x80039dec", "name": "func_80039DEC", "reach": null, "klass": "WALL-CANDIDATE", "nins": 74, "status": "near", "closeness": 2, "where_stuck": "WALL candidate CONFIRMED (S83 sandbox-TU rtu DIFF 2: idx 0 'move t1,a2' vs 'addu a3,a2,zero'; idx 56 'sb t1' vs 'sb a3'): 74/74 exact length; the $a3<->$t0/$t1 swap of the two K&R raw-preserve parameter copies is fixed by ARGUMENT POSITION in gcc-2.7.2 narrow-parameter promotion (2nd param -> $a3, 3rd -> $t0) before the global allocator runs - every pin regresses to 60-75; 3 attempts + permuter_ils 9 -> 2 (S80). Banking would need the TU decl -> no-proto (byte-neutral commit) - only worth it at closeness 0", "best_draft": ".run/S79w/permuter/func_80039DEC.c", "binary": "main", "source": "P32-T4 S83 re-probe (R40): the drafts were CC1 FAIL in src/800_c.c only because the TU's prototype 'extern void func_80039DEC(void *, s16, u8)' (line 3496) rejects the K&R definition; in a sandbox TU copy with the no-proto spelling the permuter draft re-runs DIFF 2 - the recorded residual, confirmed in TU context (leaf 2; the Sonnet draft leaf 9)", "residual": null, "passes_tried": null} -{"ts": "2026-09-05 12:09:40", "addr": "0x800391d4", "name": "func_800391D4", "reach": null, "klass": "WALL-CANDIDATE", "nins": 75, "status": "near", "closeness": 3, "where_stuck": "WALL candidate CONFIRMED (S83 sandbox-TU rtu DIFF 3: idx 9-11 'move t0,zero' before vs after arg1 sll/sra): 75/75, a 3-insn SCHEDULE-REORDER - move_movables splices hoisted invariants after any pre-existing preheader flow code (loop.c 2.7.2:1529, map loop.md L4), so off init cannot follow arg1 hoisted sign-extend from C; 4 prior attempts + S79 Sonnet 64->3 + permuter_ils null (S80). Banking would need the TU externs -> [][1] (whole-EXE sha decides) - only worth it at closeness 0", "best_draft": ".run/S79w/sonnet/func_800391D4.c", "binary": "main", "source": "P32-T4 S83 re-probe (R40): CC1 FAIL in src/800_c.c only because the draft's lever spelling 'extern s32 D_80073140[][1]' conflicts with the TU's three 'extern s32 D_80073140[]'; in a sandbox TU copy with the externs spelled [][1] (+ (s32*) casts at the 3 uses) the Sonnet draft re-runs DIFF 3 - the recorded residual; the [][1] spelling is LOAD-BEARING: the TU's [] spelling, a (s32 (*)[1]) cast and a byte-offset form all regress to 65 @ 76 ins", "residual": null, "passes_tried": null} -{"ts": "2026-09-05 18:35:15", "addr": "0x80032a74", "name": "func_80032A74", "reach": null, "klass": "WALL-CANDIDATE", "nins": 422, "status": "near", "closeness": 1, "where_stuck": "WALL candidate STRENGTHENED (S83 Fable): the never-referenced 8-byte slot at 0x48 is a GHOST pseudo (a stranded middle temp of a 3-insn combine, refs-zeroing skipped when newi2pat!=0, combine.c:2306-2313; regclass ST_REGS-or-none; reload1.c:658 alter_reg 8-byte slot in regno order). Caller-save-area route REFUTED (order_regs_for_reload picks zero-use regs first; an area needs caller_save_needed + saves at every live call). The only ghost species from a memory value is the SIGN_EXTEND narrow-load split whose signature IS lh \u2014 and the target load is lhu; jump-target second promotions are folded by cse follow-jumps; a fall-through one needs a register sign_extend MIPS lacks; the generic two-SETs split has no candidate. Frame 0x78 needs one ghost the lhu code cannot mint. Inert: expA/expB, n16, n0a/b/c (+ the S79 ~200 probes)", "best_draft": ".run/P32/t5x/fable/func_80032A74.c", "binary": "main", "source": "P32-T4b S83 Fable agent (402k tokens, 23 min, ~40 probes) after the S83 hand pass; report .run/P32/t5x/reports/func_80032A74.md", "residual": null, "passes_tried": null} -{"ts": "2026-09-05 19:09:22", "addr": "0x80185810", "name": "func_80185810", "reach": null, "klass": "SCHED", "nins": 489, "status": "near", "closeness": 13, "where_stuck": "S83 Fable: 35 -> 13 at exact length; 3 of 4 windows closed (P_TAG bitfield OT link + integer add for the addu operand order; sched1 flush_pending_lists at the 33rd memory op explains the load order -> HI temps; hard-reg destinations are not birthing-boosted -> pins uu $4 / mode $5 / ot16 $6 give the LUID order; shf pin $3). Residual ONE cause idx 363-380: `cl &= 0xFFFF` is an unboosted 2nd set \u2014 the fence after p[7]|= is needed (else its two reads float to the block head, 43/51) yet it blocks sched2 fillers crossing into the tpage/code window. NEXT: a spelling in which cl is single-set (its high half cleared at birth: cl = *(u16*)... or the shift form) so no fence is needed, or the two cl reads consume a fresh single-set copy that combine cannot fold (nonzero_bits defeats a plain andi copy; try a subreg/HI-mode temp)", "best_draft": ".run/P32/t5x/fable/func_80185810.c", "binary": "ov_SC03_105", "source": "P32-T4b S83 Fable agent (471k tokens, 26 min, ~3,400 compiles); report .run/P32/t5x/reports/func_80185810.md", "residual": null, "passes_tried": null} {"ts": "2026-09-05 19:26:02", "addr": "0x80039308", "name": "func_80039308", "reach": null, "klass": "FRAME+SCHED", "nins": 518, "status": "near", "closeness": 4, "where_stuck": "S83 Fable: 17 -> 4 in the real TU. Closed the 11-row alias block (natural spelling; tail via a pointer so the li follows the addu in RTL) and rows 390/391 (p = r + a dead reset). Residual 4 = two causes: rows 49/50 the hoisted constant 2 vs the pinned vbase preheader order (move_movables splices after source preheader code); rows 412/415 a PHANTOM 8-byte frame slot with no traffic at sp+8 between the arg1 HImode spill (sp+0) and cnt (sp+0x10) \u2014 `lhu $s7` is reload's spill register; storing arg1 directly reproduces sh $a1/lhu $s7 but not the slot (frame 0x38 vs 0x40). NEXT: induce the phantom slot \u2014 a hard-reg spill_stack_slot (reload1.c spill_hard_reg on LO or $s7 during retry_global_alloc), cf. \u00a7501-E (pins forbid regs at retry) and the func_80032A74 ghost-pseudo finding (a stranded combine temp -> alter_reg 8-byte slot in regno order)", "best_draft": ".run/P32/t5x/fable/func_80039308.c", "binary": "main", "source": "P32-T4b S83 Fable agent (655k tokens, 61 min); report .run/P32/t5x/reports/func_80039308.md", "residual": null, "passes_tried": null} +{"ts": "2026-09-05 19:09:22", "addr": "0x80185810", "name": "func_80185810", "reach": null, "klass": "SCHED", "nins": 489, "status": "near", "closeness": 13, "where_stuck": "S83 Fable: 35 -> 13 at exact length; 3 of 4 windows closed (P_TAG bitfield OT link + integer add for the addu operand order; sched1 flush_pending_lists at the 33rd memory op explains the load order -> HI temps; hard-reg destinations are not birthing-boosted -> pins uu $4 / mode $5 / ot16 $6 give the LUID order; shf pin $3). Residual ONE cause idx 363-380: `cl &= 0xFFFF` is an unboosted 2nd set \u2014 the fence after p[7]|= is needed (else its two reads float to the block head, 43/51) yet it blocks sched2 fillers crossing into the tpage/code window. NEXT: a spelling in which cl is single-set (its high half cleared at birth: cl = *(u16*)... or the shift form) so no fence is needed, or the two cl reads consume a fresh single-set copy that combine cannot fold (nonzero_bits defeats a plain andi copy; try a subreg/HI-mode temp)", "best_draft": ".run/P32/t5x/fable/func_80185810.c", "binary": "ov_SC03_105", "source": "P32-T4b S83 Fable agent (471k tokens, 26 min, ~3,400 compiles); report .run/P32/t5x/reports/func_80185810.md", "residual": null, "passes_tried": null} {"ts": "2026-09-05 23:33:21", "addr": "0x800cf408", "name": "func_800CF408", "reach": null, "klass": "SCHED+REGALLOC", "nins": 178, "status": "near", "closeness": 3, "where_stuck": "S83 Fable: 49 -> 3, zero pins (the \u00a7501-H shape + a dead arg1 kill against cse re-association + the P_TAG OT write + a named mhi born before block 1). Residual idx 10-12 = \u00a7501-H verbatim (the unboosted tag load blocks one cycle behind the tpage sw; the empty cycle eats the highest-LUID floater ori $s5,0x96) COUPLED to the $t2/$t3 qty_compare contest (2389 vs 2400): every cure of one re-opens the other. NEXT: fill the OT-chain lhu gap with an UNBOOSTED `p & m24` as the target does (needs a 2-set a3 that combine does not re-merge \u2014 combine.c:2309 decrements reg_n_sets on the merge \u2014 e.g. a second set through a different width/mode or a volatile-qualified temp), or move the contest margin by one ref elsewhere (an extra ob use in a block that does not touch the tag load)", "best_draft": ".run/P32/t5x/fable/func_800CF408.c", "binary": "md_MAIN_007", "source": "P32-T4b S83 Fable agent (499k tokens, 21 min, 135-variant sweep); report .run/P32/t5x/reports/func_800CF408.md", "residual": null, "passes_tried": null} +{"ts": "2026-09-05 12:06:54", "addr": "0x80032a74", "name": "func_80032A74", "reach": null, "klass": "WALL-CANDIDATE", "nins": 422, "status": "near", "closeness": 1, "where_stuck": "WALL candidate CONFIRMED in the real TU (S83): 422/422, sole residual idx 244 `lh v0,0x18(s1)` vs target `lhu` \u2014 extendhisi2 is a force_not_mem EXPAND (the orphan frame slot is minted only at an lh; \u00a7172 producer 3 caller-save area, reload1.c:1445), so lhu loses the 8 frame bytes; ~200 byte-probes + 100-variant retyping sweep (S79) + permuter_ils 8x150s null (S80). Citation current (\u00a7172, reload1.c:1445). Draft synced to the TU (typedefs stripped via cdecl.strip_provided_typedefs; D_80064D44/D_8006A970/func_8003F144/func_800316F8 spelled as the TU)", "best_draft": ".run/P32/t4/drafts/func_80032A74_tuclean.c", "binary": "main", "source": "P32-T4 S83 re-probe (R40): the S79w Opus draft was a CC1 FAIL in src/800_b_2.c only for PLUMBING (7 typedefs the TU provides via 800_shared.h + 4 decl spellings); stripped/synced copy re-run in the REAL TU: DIFF 1 (idx 244 lh vs lhu) \u2014 the recorded residual, confirmed in TU context", "residual": null, "passes_tried": null}