Commit Graph

  • a296bba0f3 feat(phase-31): S79 #9 (4) — md_MAIN_003: func_800D1D14 (65 ins, -O0 island) banked as genuine C (the S76 verbatim body retired): D_800D3630 read as *(s16*)&D_800D3630[i] so gcc materialises the base instead of folding %lo through $at; byte-identical dd1b32ec Drew T 2026-09-04 19:04:55 -06:00
  • 0833b418e6 feat(phase-31): S79 #9 (3) — ov_SC05_018: func_80180BE0 (65 ins) banked: the S74 recipe's memcpy(12) became a jal under the TU's extern memcpy; re-spelled as a 12-byte struct assign (the TU's own Blk8 idiom) — real-TU MATCH, worktree gate + in-tree byte-identical Drew T 2026-09-04 19:03:23 -06:00
  • ec786e0a46 feat(phase-31): S79 #9 (2) — main: func_80015608 (86 ins) banked: a Sonnet agent closed the permuter's last instruction by routing the accumulator add through a fresh temp ({ s32 xt = blockSize + x0; x0 = xt; } — expand_binop's target==op1 swap does not fire on a new pseudo); gate_main BYTE-IDENTICAL 143dbb89 Drew T 2026-09-04 19:00:03 -06:00
  • 80eed5e9e9 feat(phase-31): S79 #9 (1) — md_MAIN_003: func_800D0174 (36 ins, -O0 island) banked from a Haiku agent's fresh C draft; byte-identical dd1b32ec Drew T 2026-09-04 18:57:35 -06:00
  • a0139c31c8 docs(phase-31): S79 #8 close — cookbook §493 (the permuter route end-to-end; the D-NEAR ledger), p16_permute surfaces the permuter's parser refusals, SETUP row, census 31, report, checkpoint (task #9 brief) Drew T 2026-09-04 18:50:20 -06:00
  • 06ee3c1234 feat(phase-31): S79 #8 (1) — main: func_80015760 (106 ins) banked from a permuter ILS score-0 winner (cycle 1) + plumbing: TU data spelling (u8 *D_800A5E60), the callee's TU prototype with a (u16) call-site cast for the target's andi, the permuter's typedef preamble stripped; gate_main BYTE-IDENTICAL 143dbb89 — the S76 journal had filed it as a 'genuine sched1 artifact' Drew T 2026-09-04 18:42:41 -06:00
  • 7129b6cac8 chore(phase-31): S79 #8 plumbing — main src/800.c: func_80015760's forward decl no-protoed + its 2 call sites cast (cast_self_callers --sync-decls); byte-neutral (143dbb89) Drew T 2026-09-04 18:39:40 -06:00
  • 80ddd40d23 docs(phase-31): S79 #7 close — cookbook §492 (plumbing was three things: a raw-splice bank, an -O0 checker flag, two R48 same-name phantoms), census 32, report, backlog ledger, checkpoint (task #8 brief); func_80011380 pinned as the §474 proved wall Drew T 2026-09-04 18:34:34 -06:00
  • 42d432770d feat(phase-31): S79 #7 (2) — md_MAIN_020: func_800CB17C (30 ins) banked by a RAW splice, byte-identical 0990e041 — the 'match_one MATCH but the gate rejected — CAUSE NOT DETERMINED' verdict was gate_stage's transform ladder altering a correct body (it gates as NEAR); rtu_match MATCH + raw splice is the route Drew T 2026-09-04 18:24:21 -06:00
  • bf1b266e07 feat(phase-31): S79 #7 (1) — md_MAIN_003: func_800D06BC (33 ins) + func_800D0100 (29 ins) banked from their close-0 drafts; both are -O0-island bodies (the standalone checker needed --o0, the gate's Makefile wildcard already compiled the TU right); byte-identical dd1b32ec Drew T 2026-09-04 18:24:21 -06:00
  • 595fc9fa49 docs(phase-31): S79 #6 close — cookbook §491 (the mechanical class: a phantom stub, two jtbl twins, one clone; three tool gaps), jtbl_pads_fix regex fix (+positive control), SETUP rows, census 35, checkpoint refreshed (task #7 brief) Drew T 2026-09-04 18:19:57 -06:00
  • 62475f7883 feat(phase-31): S79 #6 (3) — two twin banks: ov_SC04_018:func_80181CB8 (67 ins, tail jtbl carve, pads 0,0,0,0,4) and ov_SC05_005:func_80181828 (87 ins, exact clone of ov_SC05_003:func_80181720 via family_remap) Drew T 2026-09-04 18:10:59 -06:00
  • 02e2cb265a chore(phase-31): S79 #6 plumbing — ov_SC05_005: func_80181828's extern returns s32 (its body is the twin of ov_SC05_003:func_80181720); callers ignore the value, byte-neutral (452897fc) Drew T 2026-09-04 18:08:23 -06:00
  • af1644c02b feat(phase-31): S79 #6 (2) — ov_SC04_018: func_80181804 banked from its ov_SC04_019 twin (77 ins, byte-identical fe9b413f); its jump table was already inside the TU's carve, only the JTBL_PADS spec had been trimmed to 3 tables (S62) — now 0,0,0,0 Drew T 2026-09-04 18:08:03 -06:00
  • 0ab51c803c feat(phase-31): S79 #6 (1) — md_MAIN_003: D_800D3200 was a data word carried as a stub; emitted inside its asm island, byte-identical (dd1b32ec); the census's H-VIRGIN phantom is gone Drew T 2026-09-04 18:00:01 -06:00
  • 02f060f607 feat(phase-31): S79 #5 — the libpad 4.2.1 + libapi 4.2 band and the apicard region LINKED from real objects: 13 stubs + 4 TUs + the reorder island gone; main 16 stubs, fleet 38 Drew T 2026-09-04 17:53:02 -06:00
  • 58996ca4f7 feat(phase-31): S79 #13 — FOUND the EXE's libpad 4.2.1 + libapi 4.2 (PsyQ RTL 4.2 archive + the J421PD patch): 46/46 band objects link byte-identical Drew T 2026-09-04 17:36:03 -06:00
  • 757bd82a0f feat(phase-31): S79 #4 — scattered-.bss split at link-prepare (psyq_bss_split): SYS.o→libgpu2, VM_F.o→snd12, GS_001.o→libgs8 LINKED; libgpu_used retired Drew T 2026-09-04 17:19:29 -06:00
  • 4c32475299 docs(phase-31): S78 FINAL checkpoint — #12 + #3 banked, the census, the three instrument corrections, task #4 design brief (SYS.o/VM_F .bss split), #5/#13 band context Drew T 2026-09-04 16:32:43 -06:00
  • a85733a487 feat(phase-31): S78 #3 — 13 "game code" subsegs were PsyQ objects: wired LINKED (libgte 70/30, libgs 33/7, snd 62/11); main's game-code metric corrected to 91.8% Drew T 2026-09-04 16:26:12 -06:00
  • b212f40f19 chore(psyq): bank the PsyQ 4.6 library zip + 4.5 toolkit zip (R20 hard-to-source SDK material; sha256 in CHECKSUMS); lib46/ is derived (ignored); progress.md regenerated Drew T 2026-09-04 15:58:09 -06:00
  • a7394f44dc feat(phase-31): S78 #12 — the 800c3 "wall" band is LIBPAD 4.2.1 + LIBAPI 4.2: 46 names applied; integrate wired by subseg range; renames via ApplySymbols Drew T 2026-09-04 15:57:06 -06:00
  • ac97233aa9 docs(phase-31): S78 OPEN checkpoint — the census, the libpad-4.2.1 band finding, the confirmed completion order (#1-#13) Drew T 2026-09-04 15:26:18 -06:00
  • c9454db4a4 docs: refresh progress.md from the tools-health report run Drew T 2026-09-03 22:57:49 -06:00
  • f55fd10dca docs: regenerate the cookbook index for §486 Drew T 2026-09-03 22:51:35 -06:00
  • c9dd2fbc76 docs(phase-31): S77 FINAL checkpoint — 31 banked, contract §1.3 closed, the LINKED picture measured Drew T 2026-09-03 22:51:28 -06:00
  • 375507834c docs(progress): main's R34 caveat is retired — its boundaries are independently verified now Drew T 2026-09-03 22:50:43 -06:00
  • 65c831b1cc docs(accelerators): S77 — three accelerators, all 'make the tool state its own denominator' Drew T 2026-09-03 22:49:18 -06:00
  • ddbe7f455c docs(R31): S77 decision-log — the frontier is wall-proof work now, and R61's twelve defects Drew T 2026-09-03 22:48:58 -06:00
  • 09de46fef3 docs: regenerate the cookbook index for §481-§485 Drew T 2026-09-03 22:45:35 -06:00
  • b05085b67a docs(cookbook): §485 the placement map was parsing a pretty-printer — 25 objects invisible, not absent Drew T 2026-09-03 22:37:18 -06:00
  • f030992c67 fix(psyq_identify): read .text bytes, not objdump's rendering — 10 more objects located Drew T 2026-09-03 22:35:12 -06:00
  • b31e499c9b fix(carve): repoint 800_b_2's INCLUDE_ASM paths to its own subseg Drew T 2026-09-03 22:26:10 -06:00
  • f4ff8267a5 feat(decomp): bank main:func_8002C410 (299 ins) — the first -O0 island in main Drew T 2026-09-03 22:21:24 -06:00
  • a13b2a5c38 carve(main): 3-way -O0 island split of 800_b for func_8002C410 Drew T 2026-09-03 22:20:57 -06:00
  • 5399845172 feat(psyq_bss_probe): a Phase-8 link exclusion re-derived from the bytes — 3 of 4 objects are not blocked as recorded Drew T 2026-09-03 22:07:31 -06:00
  • 867f09221c feat(oracle): main gets its independent second oracle — contract §1.3 closed Drew T 2026-09-03 21:58:17 -06:00
  • 4a0f9a3049 docs: regenerate the cookbook index for §477-§483 Drew T 2026-09-03 21:16:24 -06:00
  • 75a7169cc2 docs(phase-31): S77 addendum — recover_route + permuter_sweep, and the two self-inflicted defects they exposed Drew T 2026-09-03 21:12:21 -06:00
  • 46097c2339 feat(permuter_sweep): hand a wave's NEARs to the permuter, and correct §479 a second time Drew T 2026-09-03 21:09:59 -06:00
  • ec258ff75a feat(recover_route): route a gate DROP to the tool that applies, and wire it into gate_main Drew T 2026-09-03 21:05:50 -06:00
  • bfc0f43c92 docs(phase-31): S77 CLOSE — 30 banked, main 57.1%->59.4%, ten instrument defects, R61 Drew T 2026-09-03 20:52:15 -06:00
  • 984b50215f docs(cookbook): §483 the S77w wave harvest — six levers, four from banked bodies Drew T 2026-09-03 20:46:54 -06:00
  • 3b959596f6 docs(cookbook): correct §479's yield curve — the permuter is 3/8 at <=4, not 3/3 Drew T 2026-09-03 20:43:32 -06:00
  • 335e1d677d feat(decomp): bank main:func_8001EA14 (371 ins) from close=89 Drew T 2026-09-03 20:43:01 -06:00
  • 3005fc1239 fix(sync_tu_decls): a no-op sync is not progress, and a repeated symbol is not a blocker Drew T 2026-09-03 20:38:59 -06:00
  • 8754b1a671 feat(decomp): bank main:func_800301C8 (170 ins), first-gate clean Drew T 2026-09-03 20:32:57 -06:00
  • f7702eac69 docs(cookbook): §482 two independent re-ties, ordered — a re-tie is a scheduling barrier with a position Drew T 2026-09-03 20:31:47 -06:00
  • 79006e5f4d feat(decomp): bank main:func_8006252C (§378 chain + the double re-tie) Drew T 2026-09-03 20:31:27 -06:00
  • 6f5d1ecdca plumb(main): §378 self-caller casts for func_8006252C Drew T 2026-09-03 20:29:47 -06:00
  • 8e3e084f3b feat(decomp): bank main:func_8005D588 via the §8d scope-demote Drew T 2026-09-03 20:24:44 -06:00
  • 48df1a900f config(wave_exclude): two 'compiler wall' entries were stale wrong-oracle verdicts Drew T 2026-09-03 20:21:42 -06:00
  • 1f2ae12b5d feat(decomp): bank main:func_8001FC08 (400 ins) and func_8002FF0C (166 ins) Drew T 2026-09-03 20:21:22 -06:00
  • 39ac37a808 fix(gate_main): the in-TU clash pre-check must only compare FILE-SCOPE declarations Drew T 2026-09-03 20:20:56 -06:00
  • 5b8a0d0804 feat(decomp): bank main:func_8005D538 from the S77w wave Drew T 2026-09-03 20:19:20 -06:00
  • 9df0cd29dd docs(cookbook): §481 conflicting types is a SAME-SCOPE error; across scopes it degrades to a warning Drew T 2026-09-03 20:17:57 -06:00
  • c35a21449e feat(decomp): bank func_8005E13C and func_8005EAE8 from the S77w wave Drew T 2026-09-03 20:15:17 -06:00
  • f9f446449e feat(claude_wave_packs): wire neighbor_ref into every pack, and resolve its names to the source spelling Drew T 2026-09-03 20:08:27 -06:00
  • e059f85298 config(wave_exclude): pin the 4 §332 delay-slot walls wall_sweep names in main Drew T 2026-09-03 20:03:15 -06:00
  • 90042c111d rules(R61): not-judged is not a verdict; a draft-judging tool must model the real pipeline Drew T 2026-09-03 20:01:28 -06:00
  • 9d15598b5a docs(phase-31): S77 FINAL checkpoint — 21 banked, self_decl_tu closed, the permuter yield curve, eight instrument defects Drew T 2026-09-03 19:51:02 -06:00
  • be966bf095 docs(cookbook): §479 the permuter's measured yield curve (one-shot at <=4, plateau above ~10); §480 a static blocker class the real pipeline removes is a phantom Drew T 2026-09-03 19:45:55 -06:00
  • a0c855648c feat(decomp): bank ov_SC01_084:func_80182A00 (§378 chain, 207 ins) Drew T 2026-09-03 19:42:05 -06:00
  • 534979b4e7 plumb(ov_SC01_084): §378 self-caller casts for func_80182A00 Drew T 2026-09-03 19:41:45 -06:00
  • 337a040047 feat(decomp): bank main:func_80024054 via permuter ILS (DELAY-SLOT/2, 4 of 91) Drew T 2026-09-03 19:39:54 -06:00
  • a614d972c2 feat(decomp): bank main:func_80040DE8 via permuter ILS (REGALLOC-PERM/$t1>$v1, 2 of 347) Drew T 2026-09-03 19:28:55 -06:00
  • 94b528b54e feat(decomp): bank main:func_80021174 via permuter ILS (SCHEDULE-REORDER/2) Drew T 2026-09-03 19:28:06 -06:00
  • b5751c7c1e docs(phase-31): S77 checkpoint — 17 banked, the self_decl_tu lane closed, six instrument defects Drew T 2026-09-03 19:25:02 -06:00
  • c61c7ed93f docs(cookbook): §477 the self_decl_tu lane is mechanical (16/16 banked); §478 a verbatim draft is the strongest false signal a scoper can emit Drew T 2026-09-03 19:19:29 -06:00
  • c91c9dffee feat(decomp): parallel gate — 12 fns across 12 binaries (8 workers) Drew T 2026-09-03 19:18:12 -06:00
  • 408f826f29 fix(blocker_probe): a verbatim draft is not a decompile Drew T 2026-09-03 19:16:51 -06:00
  • 3c34f8f4a3 plumb(overlays): §378 self-caller casts + decl sync for 12 self_decl_tu drafts Drew T 2026-09-03 19:15:32 -06:00
  • 04d9d28bb6 feat(decomp): bank ov_SC06_032:func_8017D810 Drew T 2026-09-03 19:13:28 -06:00
  • ef0cb64c14 plumb(main): undo-journal the plumbing for the 3 drafts that did not bank Drew T 2026-09-03 18:58:06 -06:00
  • a8aa670d96 feat(decomp): bank func_8005E79C — both sync_tu_decls fixes proved Drew T 2026-09-03 18:57:31 -06:00
  • 454d3878bc fix(sync_tu_decls): a definition is a declaration; a gate refusal is not a verdict Drew T 2026-09-03 18:56:21 -06:00
  • 442b3ce651 feat(decomp): bank func_8005E3AC — a definition is a declaration Drew T 2026-09-03 18:55:20 -06:00
  • a9980bdd8c feat(decomp): bank func_80013154 and func_8005EAC8 in main (§378 self-decl chain) Drew T 2026-09-03 18:53:15 -06:00
  • cb1b6fc9fb plumb(main): §378 self-caller casts + decl sync for 7 self_decl_tu drafts Drew T 2026-09-03 18:49:56 -06:00
  • c04d5e0093 fix(cast_self_callers): --sync-decls must emit a declaration the TU can parse Drew T 2026-09-03 18:49:56 -06:00
  • 1b648fcc5b Revert "plumb(main): §378 self-caller casts + decl sync for 7 self_decl_tu drafts" Drew T 2026-09-03 18:48:28 -06:00
  • 54717c4b62 plumb(main): §378 self-caller casts + decl sync for 7 self_decl_tu drafts Drew T 2026-09-03 18:45:52 -06:00
  • 2312c1f557 fix(cast_self_callers): a statement keyword is not a return type Drew T 2026-09-03 18:45:20 -06:00
  • 4069ee43a7 docs(phase-31): S76 FINAL checkpoint — 24 banked, five more instrument defects, four walls refuted Drew T 2026-09-03 18:14:08 -06:00
  • e0229af908 docs: restore §462/§463, record S76 tooling in SETUP, add the gate-triage step to the playbook Drew T 2026-09-03 17:41:43 -06:00
  • 9bdd2e27f7 fix(sync_tu_decls): read the post-build conflict too, and refuse a NEAR up front Drew T 2026-09-03 17:31:35 -06:00
  • 14f0f91438 feat(tools): sync_tu_decls — bank a draft by copying the TU's own declarations Drew T 2026-09-03 17:20:36 -06:00
  • 4d8493aa32 feat(decomp): bank func_8005EC00 by syncing two declarations from the TU Drew T 2026-09-03 17:19:33 -06:00
  • 820189de4f feat(decomp): bank func_8005EB28 by syncing its extern to the freshly-banked callee Drew T 2026-09-03 17:17:25 -06:00
  • c834366843 feat(decomp): bank 2 more main functions from the real-cc1 MATCH set Drew T 2026-09-03 17:13:56 -06:00
  • fc644dddb4 feat(decomp): bank 9 main functions, including main itself and the 670-ins giant Drew T 2026-09-03 17:05:47 -06:00
  • 5bb71db7a9 feat(decomp): parallel gate — 1 fns across 1 binaries (8 workers) Drew T 2026-09-03 16:49:04 -06:00
  • 920f8bac35 docs(cookbook): §476 — a hard-register pin strips nonzero_bits and reg_n_sets==1 Drew T 2026-09-03 16:29:55 -06:00
  • 3db8b2b117 docs(cookbook): §475 — the "memory" fence as a cse invalidator; (b*3)<<3 over b*24 Drew T 2026-09-03 16:21:35 -06:00
  • 77dc52c633 docs(cookbook): §474 — a PROVED -O0 floor from split_tree + stupid.c Drew T 2026-09-03 16:20:59 -06:00
  • a4d6ec498b docs(cookbook): §473 — §265's handwritten verdict for func_8017DC80 is refuted Drew T 2026-09-03 16:18:49 -06:00
  • e6c0fad818 docs(cookbook): §472 — §148-A's hoist threshold is 29 with a call, not 58 Drew T 2026-09-03 16:13:34 -06:00
  • 0c74457f27 docs(cookbook): §471 — a launder's cost is an allocno, and $t0 belongs to reload Drew T 2026-09-03 16:12:14 -06:00
  • 9467db409b docs(cookbook): §470 — four CSE/sched levers from func_800301C8 (133 -> 18) Drew T 2026-09-03 16:11:08 -06:00
  • 978a086ebb docs(cookbook): §469 — the MEM_IN_STRUCT_P alias unlock; §463's spill law confirmed independently Drew T 2026-09-03 16:07:52 -06:00