Commit Graph

54 Commits

Author SHA1 Message Date
Drew T a004373e4e T6: batch t6_D1 — restruct: batch t6_D1 rung D — 400 files (TUs; 1208 drawable) · 540 declaration units: 431 canonical / 0 promoted / 2 K&R marked / 10 aliases typed / 0 __builtin_abs → abs / 99 kept · compiles 1020 in 81 s wall · final 400/400 identical · written 389 files | R22 check-all: 218 passed, 0 failed of 218 | (census skipped) (restruct_cycle) 2026-09-30 17:35:45 -06:00
Drew T f7fde90cc2 T5.1.c5: fold H16 class (Bidx/RD16 macro bodies respelled); R22 green 2026-09-30 14:31:12 -06:00
Drew T b0b9c4c465 T5.1.c2b: lift_types --census: batch md moved (297 groups, 359 defs) 2026-09-30 10:37:58 -06:00
Drew T 25c70a0097 src(phase-37): T4 batch t4_D40 — restruct: batch t4_D40 rung D — 300 files (TUs; 2367 drawable) · 619 declaration units: 547 canonical / 0 promoted / 8 K&R marked / 0 aliases typed / 0 __builtin_abs → abs / 72 kept · compiles 756 in 154 s wall · final 300/300 identical · written 286 files | R22 check-all: 218 passed, 0 failed of 218 | (census skipped) (restruct_cycle) 2026-09-12 19:25:46 -06:00
Drew T 274223396d src(phase-37): T4 step (e) — the 3,546 'carried decl layer' banner comment blocks removed (21,274 comment lines, 0 insertions); step (d) DONE: 10 of 12 parked signature bodies landed (func_80157D20 ×132 via --map-data, func_80029D3C with its 3 callers via --with, func_80188A30 void→s32) | R22 check-all: 218 passed, 0 failed of 218 | 🛑 T4 in progress — step (f) NEXT (S108) 2026-09-12 18:58:05 -06:00
Drew T 1b23b17afb src(phase-37): T4 batch t4_D31 — restruct: batch t4_D31 rung D — 300 files (TUs; 1966 drawable) · 4203 declaration units: 3734 canonical / 0 promoted / 6 K&R marked / 127 aliases typed / 0 __builtin_abs → abs / 342 kept · compiles 4878 in 220 s wall · final 300/300 identical · written 273 files | R22 check-all: 218 passed, 0 failed of 218 | (census skipped) (restruct_cycle) 2026-09-12 16:22:33 -06:00
Drew T 783bacb5e8 src(phase-37): T4 unalias t4_ua2 — 98 of 148 alias-defined functions back under their real names with their byte-true signatures (592 files; 50 kept, causes bucketed) | R22 check-all: 218 passed, 0 failed of 218 | 🛑 T4 in progress (S107) 2026-09-12 12:27:26 -06:00
Drew T 0076a9d2ee phase-36: S105 s105_r44r22 — 3 classes banked at 0 by the R44/R22 regen (func_800CFB3C R22, func_8014A2E4.h R44 IDENTICAL on 141 objects, func_80180FF4 R44) 2026-09-11 11:58:28 -06:00
Drew T 31452b05ec phase-36: S104 s104_e38 — func_800D24D0 banked at 0 through the whole-object gate + propagated — → 0: the first global read moved above the frame struct copy (cse cannot prove the frame store disjoint), the goto as if/else 2026-09-11 06:19:53 -06:00
Drew T 7b2200edad phase-36: the tail pass g6 + g6b (47 + 63 of 400 small classes; 186/191 siblings propagated), R22 218/218; 30,806 → 30,358 sites; --try (a candidate scored without a tree write), delever_pack.py (the 57 T7 packs + PROMPT.md), --restore refuses an empty snapshot; the checkpoint: T7 as one agent at a time, approved, starts in the fresh session 2026-09-09 23:32:57 -06:00
Drew T f087282a3e src(phase-36): T4 batch tus11 — delever: batch tus11 — 5 files (TUs; 5 drawable) · 5 bodies: 0 lever-free, 5 residue, 0 refused · sites removed 0 / needed 10 / refused 7 / deferred 0 · replays 0 (0 disagreed) · compiles 20 in 2 s wall · final 5/5 identical · written 5 files | R22 check-all: 218 passed, 0 failed of 218 | census: THE PHASE'S NUMBER (pins + asm statements, GTE excluded): 33,625 sites in 12,501 bodies (1,728 distinct) · marked !FAKE 33,625 · UNMARKED 0 (delever_cycle) 2026-09-09 04:56:50 -06:00
Drew T aa70308cf1 src(phase-36): T4 batch tus9 — delever: batch tus9 — 300 files (TUs; 383 drawable) · 1901 bodies: 454 lever-free, 1430 residue, 8 refused · sites removed 2244 / needed 2937 / refused 42 / deferred 9 · replays 522 (0 disagreed) · compiles 5262 in 294 s wall · final 300/300 identical · written 297 files | R22 check-all: 218 passed, 0 failed of 218 | census: THE PHASE'S NUMBER (pins + asm statements, GTE excluded): 34,459 sites in 12,656 bodies (1,909 distinct) · marked !FAKE 32,473 · UNMARKED 1,986 (delever_cycle) 2026-09-09 04:15:14 -06:00
Drew T cb871087ec feat(phase-32): T4b (7) — md_MAIN_003: func_800CF3E8 (469 ins) BANKED byte-identical — the 27-off alias basin falls: a second live set of the loaded tag kills sched1's birthing boost, the phantom ot-USE that filled the load-delay slot only in the scheduler's model is removed, and the OT link spelled as libgpu's P_TAG bitfield lifts m24's flow ref count so it wins $a2 in local-alloc (Fable agent)
- func_800CF3E8: draft .run/P32/t5x/fable/func_800CF3E8.c (fable agent, agent MATCH re-verified by coordinator rtu_match in the real TU)
- one build for the same-TU batch: make build BINARY=md_MAIN_003 -j8 rc 0; sha1 dd1b32ecf1103c6f7cf1943d25546a3046e17b14 == config/check.md_MAIN_003.sha (BYTE-IDENTICAL)
- src/md_MAIN_003/md_MAIN_003.c: 0 INCLUDE_ASM left
2026-09-05 18:43:03 -06:00
Drew T 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 2026-09-04 19:04:55 -06:00
Drew T 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 2026-09-04 18:57:35 -06:00
Drew T 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 2026-09-04 18:24:21 -06:00
Drew T 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 2026-09-04 18:00:01 -06:00
Drew T 096fe153cc feat(decomp): parallel gate — 10 fns across 4 binaries (8 workers)
ov_SC02_005    func_8018DFC4
  md_MAIN_003    func_800D0204 func_800D0440 func_800D05B4 func_800D0664 func_800D09A0 func_800D0A7C func_800D0B1C
  ov_SC03_105    func_80180EC0
  ov_SC02_003    func_80187B40
2026-09-03 14:40:01 -06:00
Drew T d7a9f471b4 refactor(fleet): convert 26 DECOMPILE-NOW verbatim bodies to stubs
Every remaining DECOMPILE-NOW row in config/verbatim_manifest.json that was
still a §265 verbatim __asm__ body: main 13 (incl. `main` itself, 509 ins,
in src/boot.c), md_MAIN_003 11, md_MAIN_020 1, ov_SC06_010 1. They were
byte-identical by construction and completely undecompiled, and no gate or
draw could see them — draw_waves reported only 26 drawable stubs fleet-wide
while 27 more sat locked in this form.

Byte-neutral, verified per binary: main 143dbb89, md_MAIN_003 dd1b32ec,
md_MAIN_020 0990e041, ov_SC06_010 05c2d8c4.

SKIPPED ov_SC03_107:func_8017D878. The manifest marks it DECOMPILE-NOW but
the cookbook's §265 addendum documents it as a DELIBERATE verbatim bank: its
only use in the TU is address-taken, forcing a `void f(void)` declaration
the real body contradicts, and no C spelling reconciles them. Two sources
disagree; the one with the byte evidence wins.

md_MAIN_020 and ov_SC06_010 needed --asm-subdir: both are single-TU overlays
with zero INCLUDE_ASM lines left, so there is no prefix in the binary to
derive from. Spelling confirmed against a sibling overlay's own stubs.
2026-09-03 14:02:09 -06:00
Drew T 5e10215269 feat(md): bank the 4 -O0-stranded functions — and the class is now essentially empty
md_MAIN_011:func_800CF28C · md_MAIN_003:func_800D0268/func_800D0740/func_800D0C50, all byte-verified
from a clean rebuild and counted from the SOURCE: md_MAIN_011 is now FULLY MATCHED (0 open stubs),
md_MAIN_003 is down to 1 (func_800CF3E8).

THE PREMISE I HANDED THE AGENT WAS WRONG, AND IT SAID SO. md_MAIN_011 is already a whole-object -O0
module — no carve was needed. Its real blocker was tools/jtbl_rodata_pads._s_rodata_span ignoring a
trailing `.align`, the SAME defect this session fixed for md_SC07_003 from the other direction: two
agents converged on it independently. Adopted this agent's stricter form (only a TRULY trailing
align rounds `hi`; an interior one is followed by data that sets `hi` higher anyway).

Note WHY it stayed latent: `derive`'s zero_gap self-corrects a 1-3 byte undershoot whenever the next
stream item is an anchor. A C jump table has NO anchor — so the bug can only fire the moment someone
banks a switch function into such an object, and when it fires it accuses the CARVE ("island layout
drift"), not itself.

md_MAIN_003 needed one new -O0 object, and the boundary I proposed (0x1f74 -> 0x1e58) was both too
narrow and off by 0x2B8. The carve made is `md_MAIN_003_o0e` at 0x1308 (vram 0x800D0100) running to
the existing o0c boundary: everything in that span is a §265 verbatim __asm__ body or an INCLUDE_ASM
stub — zero optimizable C — so the whole tail flips with one cut. Proved byte-identical with NOTHING
banked first (§431 discipline), then the three drafts gated one at a time.

TWO MORE GENERAL DEFECTS FIXED IN jr_isolate_all, both of which silently mis-place a boundary:
 * an item-less CLOSING region emitted a duplicate `- [off, c, …]` line and the validator refused;
   the empty-region skip covered only region 0, and `_partition`'s empty `footer` made the closing
   region look non-empty.
 * A §265 VERBATIM __asm__ BODY IS PREAMBLE, AND PREAMBLE IS ASSUMED BYTE-NEUTRAL. It is not — it
   emits bytes. `parse_overlay_c` has four addressed-anchor forms and a verbatim body is none of
   them, so it attaches to the NEXT anchor: cutting at func_800D0268 would have moved 0x168 bytes of
   other functions into the new object while the yaml claimed the region starts higher. New
   `_region_emit_start()` derives the yaml offset from the region's CONTENT (item addresses + every
   .globl/.ent the text names that resolves inside the object) and takes min(cut, emit), so a
   boundary can only move DOWN. Where no verbatim asm is in play it equals the cut — every existing
   isolate is unchanged.

BLAST RADIUS PROVEN, not argued: jtbl_rodata_pads is in the build path (`--derive` for md_*/main),
so the agent rebuilt main + all 70 md_* from scratch (71/71) and then ran the full fleet:
**make check-all 213/213 passed, 0 failed**, main 143dbb89 BYTE-IDENTICAL.

CENSUS, denominator asserted (1057 live stubs, 0 without a .s): exactly ONE -O0-prologue stub
remains stranded in an -O2 TU fleet-wide — main:func_8002C410 in src/800_b.c, 299 ins. Nothing more
should be built for this class; the general tool already existed and what was missing was
correctness, not coverage.
2026-09-02 19:23:25 -06:00
Drew T 27cc083de9 feat(decomp): parallel gate — 5 fns across 5 binaries (12 workers)
md_MAIN_028    func_800CB8A0
  md_MAIN_003    func_800D24D0
  ov_SC01_006    func_8017F9F8
  ov_SC07_000    func_8017F69C
  ov_SC07_002    func_8017FCA8
2026-09-02 01:31:10 -06:00
Drew T c97ccee98d feat(decomp): parallel gate — 9 fns across 7 binaries (12 workers)
ov_SC02_005    func_80180610
  md_MAIN_003    func_800D0B1C
  ov_SC01_005    func_8017F9F8
  ov_SC03_105    func_801829CC func_80182BD8 func_80182DCC
  ov_SC04_011    func_8018FE20
  ov_SC05_010    func_80183098
  ov_SC06_010    func_8017FAAC
2026-09-02 01:04:04 -06:00
Drew T 2ad58ddc38 feat(decomp): parallel gate — 31 fns across 24 binaries (10 workers)
ov_SC01_000    func_8017E1A8
  md_MAIN_003    func_800CFEB4 func_800D0664 func_800D30D0
  ov_SC01_080    func_80181854
  ov_SC02_016    func_8017F4DC
  ov_SC02_000    func_80185840
  ov_SC02_027    func_8017F2B8
  ov_SC02_011    func_801852B0
  md_SC07_004    func_801AB818
  ov_SC01_001    func_80183748
  ov_SC03_118    func_801831D0
  ov_SC03_028    func_80182B3C
  ov_SC03_117    func_80180064
  ov_SC03_105    func_801870E8
  ov_SC03_124    func_8017EDE8 func_8017F63C func_801816C8
  ov_SC04_011    func_80180970 func_801835B0 func_8018489C
  ov_SC05_008    func_8017D214
  ov_SC04_019    func_8017F35C
  ov_SC06_018    func_8018AD74
  ov_SC05_010    func_801854B8 func_80185570
  ov_SC07_000    func_8018000C
  ov_SC05_017    func_801843E0
  ov_SC06_022    func_8017CDE4
  ov_SC05_018    func_801808AC
  ov_SC06_029    func_80185214
2026-09-01 22:46:44 -06:00
Drew T c076f9016d feat(decomp): parallel gate — 10 fns across 8 binaries (12 workers)
md_MAIN_045    func_800CCB28
  md_MAIN_033    func_800CB4EC
  ov_SC05_000    func_8017E1E8
  ov_SC03_099    func_8017D2AC
  ov_SC02_005    func_8017ECAC
  ov_SC02_011    func_80182564 func_80182FF0
  md_MAIN_003    func_800D0100 func_800D0A7C
  ov_SC06_025    func_8017E48C
2026-09-01 10:39:02 -06:00
Drew T e2f64a7c62 feat(o0): md_MAIN_003 second carve — func_800D12D0 (657 ins) banked as real -O0 C
MY HYPOTHESIS WAS WRONG AND THE AGENT SAID SO. I predicted the ownership oracle
was blind to verbatim-asm owners. It is not. 0x800cedf8 is the §154-A LEADING
RODATA ISLAND (the module-id header + jtbl/ptr table at segment offset 0), which
rodata_carves already exempts via 'off == 0 and sub == ov'. The S68 first carve
legitimately renamed that subseg to md_MAIN_003_jr_800D12D0 (§371: spimdisasm
rodata migration is same-subseg-only), so the 'sub == ov' conjunct stopped firing
and offset 0 leaked in as a 'carve'. The island has NO single owner BY DESIGN --
which is why the exemption exists -- so widening owner kinds could never have
restored 1:1.

The fix drops one conjunct: offset 0 alone is the honest structural key, because a
carve is a table LIFTED OUT OF THE DATA TAIL and can never sit at the segment's own
offset 0. Verified across all 213 configs: every offset-0 .rodata piece is an md_*
leading island; ov_*/main have none. The R32 hard abort is UNTOUCHED -- this widens
the recognised-island set, it does not soften the refusal.

NEGATIVE CONTROL (R39) over all 184 binaries with .rodata pieces: OK 182 -> 183,
ABORT 2 -> 1, and exactly ONE verdict moved (md_MAIN_003). The remaining us.exe
abort (UNOWNED 0x80073238, the LZSS jtbl carve whose owner LzssDecodeSector does
not live under src/us.exe/*.c) is byte-identical before and after -- PRE-EXISTING,
not newly hidden, and logged rather than silently absorbed.

Carve byte-neutral and bank byte-identical, both re-verified by my own rebuild:
sha1 dd1b32ecf1103c6f7cf1943d25546a3046e17b14 == config/check.md_MAIN_003.sha.
md_MAIN_003 12 -> 11 stubs.

THREE o0_subsplit GAPS surfaced and hand-finished, and they must be fixed before
the remaining 7 -O0 stubs here are carved: build_new_config drops a cut at the
object start so region 0 kept the -O2 name while the tool PRINTED the _o0 name;
parse_overlay_c folds pre-anchor text into the FOLLOWING anchor, so a verbatim body
inside region 0 attached to region 1; and the island .rodata piece needs repointing
to whichever TU ends up holding its emitters.
2026-08-31 19:46:10 -06:00
Drew T 7a969d1c61 feat(o0): md_MAIN_003 carve — the module-binary -O0 route opens, func_800D0D6C banked (345 ins)
The single-object module binaries could not be carved at all: o0_subsplit planned
correctly and then jr_isolate_all refused with 'unaddressable content'. That
blocked 9 of the 12 remaining -O0-in-an--O2-TU functions fleet-wide, including a
byte-correct 345-instruction draft with nowhere to go.

THREE ROOT CAUSES behind the refusal, all fixed here:
* overlay_src_split.load_ov_syms: an interior YAML comment terminated the
  symbol-file list. md_MAIN_003's yaml annotates the list body, so only
  symbols.us.txt loaded and D_800D3200 resolved to None -> refusal.
* jr_isolate_all._partition: a trailing content chunk (the verbatim-asm pair after
  the last addressable anchor) now attaches to the LAST region when every symbol it
  defines resolves at/after the last cut, instead of hard-refusing.
* _file_scope_decls: bare tag forward decls (struct S_D2394;) exempted from the
  dedupe refusal; plus addr_of's D_<hex8> fallback.

THEN A LINK FAILURE THE CARVE CAUSED, worth knowing: spimdisasm migrates rodata
referenced by exactly one function into that function's .s ONLY within the same
subseg. The carve moved func_800D30D0 into the jr subseg while the .rodata island
stayed on md_MAIN_003, so three dlabel string blocks were SILENTLY DROPPED ->
undefined reference to D_800CEE58/D_800CEE80. Adding INCLUDE_RODATA does not
resurrect them (splat marks them migrated segment-wide and emits nothing). The fix
is to rename the .rodata subseg to the jr object, where every island emitter lives.
The regenerated func_800D30D0.s came back byte-identical to the pre-carve .s.

Makefile: the -O0 glob widened to src/md_*/md_*_o0?.c. Without it the region file
compiles -O2 -- byte-neutral while stub-only, but every -O0 draft banked into it
would mystery-fail the gate (§362's trap class). This is why the Makefile and tool
hunks MUST land with the carve: a fresh clone would otherwise lose the -O0 flag.

VERIFIED INDEPENDENTLY of the agent that did it: sha1
dd1b32ecf1103c6f7cf1943d25546a3046e17b14 == config/check.md_MAIN_003.sha, from a
rebuild I ran myself; md_MAIN_003 13 -> 12 stubs; func_800D0D6C absent from
corpus.stubs. interleave_check's DRIFT on this binary is PRE-EXISTING (identical on
a clean tree, verified before any change) -- md_MAIN_003 has no _JTBL_INTERLEAVE
block and must not get one; forcing ALIGNED moves the leading rodata island after
.text and shifts every address by 0xD8. config/overlays.mk untouched (R59/R60).

8 of the 9 md_MAIN_003 -O0 stubs remain: they need drafts and follow-on carves.
2026-08-31 18:13:42 -06:00
Drew T dd608ce5fd feat(decomp): parallel gate — 5 fns across 5 binaries (6 workers)
md_SC04_027    func_801EB014
  ov_SC07_007    func_8013DD68
  md_MAIN_003    func_800D1E9C
  ov_SC03_105    func_801824CC
  ov_SC06_029    func_80181DF8
2026-08-31 16:19:19 -06:00
Drew T ba49d7e829 feat(decomp): parallel gate — 15 fns across 12 binaries (10 workers)
md_MAIN_031    func_800CB1CC
  md_MAIN_044    func_800CCDB0
  md_MAIN_047    func_800CCBC0
  md_MAIN_046    func_800CD5CC
  md_MAIN_003    func_800D2A24
  ov_SC02_017    func_80181E98
  ov_SC02_003    func_801888F4 func_80188C0C
  ov_SC01_080    func_80180728
  ov_SC02_005    func_8017E798 func_80185A88
  ov_SC02_011    func_80185098
  ov_SC01_074    func_8017E07C
  ov_SC02_027    func_801806FC func_80180A54
2026-08-30 22:58:29 -06:00
Drew T db7db13d7f feat(decomp): O21 overlay-lane gate — 22 fns, clean-R22 verified 213/213
parallel_gate merged 23 drafts across 22 binaries; its R22 caught 5 real failures
(ov_SC03_110:func_80180270, ov_SC06_025:func_8018098C, ov_SC03_024:func_8017DE8C+func_801838CC,
ov_SC02_037:func_801588CC, ov_SC07_010:func_8017EC6C). Reverted those five binaries' files; the
remaining 22 fns verify green from a full clean rebuild.

Lane conversion this round, same models and packs, drawn minutes apart:
  O21 overlays  40 targets, 18-128 ins -> 34 self-reported MATCH (85%), 22 gated
  M2   main     15 targets, 74-102 ins ->  4 self-reported MATCH (27%),  1 gated
Size does not explain it (M2's band sits inside O21's). Nearly every O21 MATCH cites an in-TU twin
or neighbour — overlays are ~134 near-copies of one engine, so a structural relative is usually
already banked. src/800.c is single-copy game code with no twin to lean on. Budget main at roughly
a third of the overlay rate, and reach for the permuter there rather than more drafting slots:
main's NEARs cluster at closeness 3-16, i.e. regalloc tail, not wrong code.
2026-08-30 17:06:05 -06:00
Drew T 4c7550f97e feat(decomp): parallel gate — 21 fns across 21 binaries (10 workers)
md_MAIN_003    func_800D05B4
  md_MAIN_016    func_800CB158
  ov_SC01_009    func_8017F2A0
  ov_SC02_016    func_80182D54
  ov_SC01_080    func_80181918
  ov_SC03_001    func_80186A8C
  ov_SC03_029    func_80181600
  ov_SC03_101    func_80180864
  ov_SC03_091    func_801826C8
  ov_SC03_092    func_8017DF40
  ov_SC03_102    func_8018153C
  ov_SC03_103    func_8017E830
  ov_SC03_124    func_8018A3C8
  ov_SC03_105    func_801839A4
  ov_SC04_008    func_8017D8C4
  ov_SC04_012    func_8017DAE4
  ov_SC04_018    func_80180284
  ov_SC05_004    func_8017EF0C
  ov_SC06_025    func_801808AC
  ov_SC06_016    func_801813B0
  ov_SC07_002    func_801804D4
2026-08-30 11:15:07 -06:00
Drew T 838d7cea34 feat(decomp): parallel gate — 179 fns across 102 binaries (10 workers)
md_MAIN_037    func_800CAF4C
  md_MAIN_028    func_800CAE0C
  md_MAIN_015    func_800CAEC0
  md_MAIN_029    func_800CAEE0
  md_MAIN_013    func_800CAF68 func_800CB6E4
  md_MAIN_020    func_800CAF18 func_800CB034
  md_MAIN_001    func_800CEF04
  md_MAIN_033    func_800CAE0C
  md_MAIN_023    func_800CAEC0
  md_MAIN_003    func_800D06BC
  md_MAIN_043    func_800CD1F4
  md_MAIN_041    func_800CAEC0 func_800CAF08
  md_MAIN_038    func_800CAE0C func_800CAED0
  md_MAIN_047    func_800CCB28
  md_MAIN_046    func_800CCB28
  md_SC03_073    func_801EFBC0
  md_MAIN_040    func_800CAED0
  md_SC03_075    func_801EFBC0
  md_SC03_132    func_801E2D50
  md_SC04_025    func_801E855C
  md_SC04_029    func_801E8440
  md_SC03_137    func_801E2ED8
  md_SC04_026    func_801E82C0
  md_SC05_023    func_801EDEAC func_801EE148
  md_SC05_024    func_801EDEAC func_801EE3E4
  md_SC03_133    func_801E2FF4
  md_SC05_025    func_801EDEAC func_801EE148
  md_SC05_028    func_801EE2C8
  ov_MAIN_012    func_8016829C
  ov_SC01_001    func_80180890
  ov_SC01_074    func_8017D918
  ov_SC01_077    func_80184A68
  ov_SC01_084    func_8017E224 func_8017E890 func_8017E94C
  ov_SC01_009    func_8017FE10
  ov_SC02_026    func_8017D948
  ov_SC02_004    func_8017D8B0
  ov_SC02_031    func_8017F400 func_801829F8
  ov_SC02_035    func_8017D598
  ov_SC02_021    func_8017DC10 func_8017F264
  ov_SC02_017    func_8017FCB8 func_8018287C func_80183940
  ov_SC02_027    func_8017F498
  ov_SC02_011    func_80182380
  ov_SC02_005    func_8017E014 func_8017FDB4 func_801800CC func_80180328 func_801803BC func_80180454 func_80180B90 func_8018112C func_8018118C func_80181388 func_8018141C func_80182098 func_801849E4 func_80185858 func_8018655C func_801880AC func_801886C4 func_8018B5E0 func_8018D574
  ov_SC03_001    func_8017EFD4 func_8017F258 func_80180E68 func_8018166C func_8018247C func_80184A1C func_80186A04
  ov_SC03_012    func_8017DCB4
  ov_SC03_011    func_8017E170
  ov_SC03_014    func_8017BFA0
  ov_SC03_002    func_801813E4
  ov_SC03_024    func_8017BFA0 func_8017DA98 func_80180230 func_80180660 func_801806D4 func_80180748 func_801807AC func_801809F8 func_801817A8 func_80184814 func_80184884 func_80184940
  ov_SC03_007    func_8017E6C0
  ov_SC03_028    func_80185344
  ov_SC03_010    func_8017E69C
  ov_SC03_030    func_8017EEE0
  ov_SC03_091    func_801822CC
  ov_SC03_089    func_80181474
  ov_SC03_093    func_8017F8D8
  ov_SC03_096    func_8017F444
  ov_SC03_097    func_8017EE04 func_8017EF54 func_8017FDBC
  ov_SC03_029    func_80182E84 func_80183E70
  ov_SC03_090    func_801814B4
  ov_SC03_092    func_8017F29C
  ov_SC03_105    func_8017FEA8
  ov_SC03_111    func_8018093C func_80181178
  ov_SC03_116    func_801819F4
  ov_SC03_112    func_8017E9A0 func_80181D08
  ov_SC03_110    func_8017F234
  ov_SC03_114    func_8017CFC0 func_8017DDA0
  ov_SC03_117    func_8017E99C
  ov_SC03_121    func_8017CE3C
  ov_SC03_118    func_8017DA98
  ov_SC03_124    func_8017FB04 func_80180D48 func_80182488
  ov_SC03_125
2026-08-30 09:50:49 -06:00
Drew T 170f33fb8b feat(decomp): ox wave g0f overlays — 10 banked
Committed before the main batch: gate_main reverts on failure and would take these with it.
2026-08-26 08:01:45 -06:00
Drew T 19b20922f1 feat(decomp): ox wave g0b overlays — 9 banked
Committed before the main batch: gate_main reverts on failure and would take these with it.
2026-08-26 04:06:43 -06:00
Drew T 2502eff0ea feat(decomp): ABCD MAXTOK test — the 10 paired gen0 functions banked (whole-binary SHA); verdict 8k=16k 10/10 > 24k=32k 8/10 (P31 S61-6) 2026-08-26 03:06:01 -06:00
Drew T f1ec6f31d8 feat(decomp): integration-resolver pass — 1 banked of 20 staged (zero model tokens)
Drafts the ledgers already recorded as byte-correct (closeness 0 / reloc shape MATCH), re-judged against today's tree by rtu_match + reloc_identity, staged, and gated on the whole-binary SHA. Ledger: .run/resolver/verdicts.jsonl
2026-08-26 01:17:51 -06:00
Drew T a768949df7 chore(decomp): commit in-tree banked work before the serial lane 2026-08-25 22:23:04 -06:00
Drew T 376e6cc238 chore(decomp): commit in-tree banked work before the serial lane 2026-08-25 22:15:35 -06:00
Drew T eebe792a0b feat(decomp): ox wave eh overlays — 129 banked
Committed before the main batch: gate_main reverts on failure and would take these with it.
2026-08-25 17:10:42 -06:00
Drew T b5dc678a09 feat(decomp): ox wave cv overlays — 9 banked
Committed before the main batch: gate_main reverts on failure and would take these with it.
2026-08-25 08:21:29 -06:00
Drew T 7360ec951c feat(decomp): ox wave by overlays — 23 banked
Committed before the main batch: gate_main reverts on failure and would take these with it.
2026-08-24 20:10:33 -06:00
Drew T be637a79d7 feat(decomp): ox wave be overlays — 11 banked
Committed before the main batch: gate_main reverts on failure and would take these with it.
2026-08-24 15:25:26 -06:00
Drew T 1103cdeaed feat(decomp): ox wave bm overlays — 103 banked
Committed before the main batch: gate_main reverts on failure and would take these with it.
2026-08-24 13:12:23 -06:00
Drew T b6579839c5 feat(decomp): ox wave at overlays — 6 banked
Committed before the main batch: gate_main reverts on failure and would take these with it.
2026-08-24 11:30:56 -06:00
Drew T e1479c1900 feat(decomp): ox wave bh overlays — 155 banked
Committed before the main batch: gate_main reverts on failure and would take these with it.
2026-08-24 10:52:11 -06:00
Drew T c0466cb171 feat(decomp): free A-prop sibling lane (maintenance pass) — zero model tokens 2026-08-24 08:29:45 -06:00
Drew T 7f70a9f42f feat(decomp): ox wave ba overlays — 287 banked
Committed before the main batch: gate_main reverts on failure and would take these with it.
2026-08-24 07:28:26 -06:00
Drew T d336ed15ec feat(decomp): free A-prop sibling lane (maintenance pass) — zero model tokens 2026-08-24 07:18:47 -06:00
Drew T b4161aa25f feat(decomp): ox wave ar overlays — 69 banked
Committed before the main batch: gate_main reverts on failure and would take these with it.
2026-08-24 06:23:04 -06:00
Drew T 7c674dc63d feat(decomp): ox wave av overlays — 428 banked
Committed before the main batch: gate_main reverts on failure and would take these with it.
2026-08-24 05:09:47 -06:00
Drew T 423313180d feat(decomp): free A-prop sibling lane (maintenance pass) — zero model tokens 2026-08-24 04:58:39 -06:00