Commit Graph

2474 Commits

Author SHA1 Message Date
Drew T 020dc8a27e refactor(ov_SC02_005): hoist 3 typedefs above the stubs that need them (byte-neutral, null-control verified) 2026-08-17 12:26:53 -06:00
Drew T 45aad382ea feat(phase-26): h_seq family sweep — 43 member-matches banked via remap_hseq 2026-08-17 12:25:38 -06:00
Drew T d73fe15310 feat(decomp): worker gate — +8 fns x0 propagated (fleet 95.7%) 2026-08-17 12:17:44 -06:00
Drew T 6506ef5333 feat(decomp): worker gate — +10 fns x0 propagated (fleet 95.7%) 2026-08-17 12:14:59 -06:00
Drew T b87c179290 feat(decomp): propagate func_8018655C (gate lane) 2026-08-17 12:13:52 -06:00
Drew T edcb200d4b feat(decomp): propagate func_80188670 (gate lane) 2026-08-17 12:13:37 -06:00
Drew T 99687da19d feat(decomp): propagate func_80187090 (gate lane) 2026-08-17 12:13:23 -06:00
Drew T a8f15a58cd feat(decomp): propagate func_801867F8 (gate lane) 2026-08-17 12:12:56 -06:00
Drew T eeff5eeaaa feat(decomp): propagate func_80188828 (gate lane) 2026-08-17 12:12:33 -06:00
Drew T dada0b1b82 feat(decomp): propagate func_80187300 (gate lane) 2026-08-17 12:12:18 -06:00
Drew T de5301b4ff feat(decomp): propagate func_80188478 (gate lane) 2026-08-17 12:11:57 -06:00
Drew T c160e4c593 feat(decomp): worker gate — +14 fns x0 propagated (fleet 95.7%) 2026-08-17 12:11:40 -06:00
Drew T 70b572854d feat(decomp): worker gate — +17 fns x0 propagated (fleet 95.7%) 2026-08-17 12:08:56 -06:00
Drew T cc789d5130 feat(decomp): worker gate — +21 fns x0 propagated (fleet 95.7%) 2026-08-17 12:03:13 -06:00
Drew T 85b39b3253 feat(decomp): main leftover bank — func_800173DC (§180 sweep, byte-identical) 2026-08-17 12:02:08 -06:00
Drew T 65ed788eb4 feat(decomp): propagate func_80181170 (gate lane) 2026-08-17 11:28:55 -06:00
Drew T 06365e6f9a feat(decomp): worker gate — +4 fns x0 propagated (fleet 95.7%) 2026-08-17 11:28:38 -06:00
Drew T 93922b98c7 feat(decomp): worker gate — +1 fns x0 propagated (fleet 95.7%) 2026-08-17 11:27:27 -06:00
Drew T 3d1fd60eb9 feat(decomp): worker gate — +14 fns x0 propagated (fleet 95.7%) 2026-08-17 11:21:46 -06:00
Drew T bb34eac42f fix(phase-31): S54 — four measured over-refusals in the overlay pre-gate path
Each one refused byte-verified work; each fix is probed, not reasoned:
* built-in redeclaration: a cc1 probe shows two conflicting "memcpy" declarations give
  "warning: conflicting types for built-in function" + exit 0, while the same pair on a
  non-builtin name errors. Every overlay TU in the fleet declares memcpy twice and compiles
  today -> CONFLICTING-EXTERN on a builtin is now WARN.
* driver mismatch: overlays bank via gate_lane -> gate_stage -> harvest_verify, which strips
  every typedef the target TU provides; pregate_check modelled gate_main's hoist/strip instead
  and reported DUPLICATE-TYPEDEF for exactly the duplicates the real gate removes.
  substitute() now takes an optional per-draft transform; pregate passes the overlay one.
* block-scope typedefs: two functions may each declare their own typedef inside their bodies
  (that is how a draft stays self-contained for match_one). _typedefs now honours the brace
  depth map the caller already computed.
* project scalar aliases: include/common.h's "typedef s32 M2C_UNK;" makes "extern s32 D_x" and
  "extern M2C_UNK D_x" the same declaration; _ALIASES now DERIVES those from common.h (R33).

Measured on the 5 leftover slates: 28 drafts, all re-verified MATCH by match_one, went from
"0 kept / phantom FAILs" to main 2 clean, ov_SC04_011 15 clean, ov_SC03_028 1 clean,
ov_SC06_029 4 + 1 named TU edit, ov_SC02_005 2 real TYPEDEF-USED-ABOVE-DEFINITION.
2026-08-17 11:20:32 -06:00
Drew T 85671bc1f7 feat(phase-31): S54 — wave T selector (--one-per-gid, --rank total) + the pre-gate ladder learns to see overlays (§192)
build_wave_atlas: --one-per-gid collapses same-skeleton siblings to one card and defers
them to <out>.siblings.json for the post-bank family_sweep remap (R32 accounting asserted);
--rank total ranks gate groups by DELIVERED mass (card + deferred siblings). Measured on the
wave-T draw: 6,557 drafted ins carrying 12,709 sibling ins behind 69 of 71 gids = 19,266
instructions of potential for 71 agents, vs 9,985 behind 57 under --rank mass. R39 NC: the
flag is byte-inert on a pool whose gids are unique.

gate_main/pregate_check (§192): three defects that made the pre-gate ladder main-only while
reporting "clean" on overlay slates — (1) resolve_conflicts/substitute hardcoded
corpus.stubs('main') -> per-binary _stubs_for(); (2) sym_of returned the keyword `void` for
every `extern void (*D_x[])(...)`, manufacturing 192 phantom CONFLICTING-EXTERNs (NC over
5,526,100 declarations: 189,301 changed verdicts, 0 regressions); (3) `void f()` and
`void f(void)` were normalized together, costing 40 more phantoms — C89's unspecified-
parameter rule is now gate_main.sig_conflict. §192b: the tool refuses when it substituted 0
files, and prints the per-draft [DROP] reasons it used to compute and discard.

Same overlay slate now reports 2 failures, both real (duplicate typedef; memcpy declared two
ways). Cookbook §192/§192b + index regenerated (585 sections).
2026-08-17 11:00:14 -06:00
Drew T 034c46bc28 chore(phase-31): S53 checkpoint rewritten as a clean fresh-session handoff (161 banked, main 20.4%, §188 correction, 5-step next-session plan) 2026-08-17 10:14:41 -06:00
Drew T c973d0e803 chore(phase-31): S53 checkpoint — record the journal harvest (10 confirmed / 4 weak / 4 rejected) and the §177 correction 2026-08-17 09:56:25 -06:00
Drew T 6bc7782289 docs(phase-31): close §182's open question with §188's answer; correct the wave prompt's §177 law 2026-08-17 09:56:05 -06:00
Drew T d484d8f619 docs(phase-31): S53 journal harvest — §188 the epilogue tail is an ASSEMBLER artifact (corrects §177, answers §182), §189 five source-cited laws, §190 three prescriptions, §191 the rejected set; + tools/oracle_reorder.py 2026-08-17 09:55:46 -06:00
Drew T 1d2a2f93e1 chore(phase-31): regenerated progress + backlog reports after the S53 fleet verification 2026-08-17 01:15:40 -06:00
Drew T 23985e6b51 chore(phase-31): S53 FINAL checkpoint — 161 banked, fleet 213/213, libgs link refuted (§187), 15 cookbook sections 2026-08-17 01:15:28 -06:00
Drew T aaf6898fca docs(phase-31): cookbook §187 — the libgs link opportunity REFUTED (GTE hazard nops); a mask coarser than the linker's proves nothing 2026-08-17 01:11:53 -06:00
Drew T b1a91c6b8c feat(decomp): worker gate — +33 fns x0 propagated (fleet 95.6%) 2026-08-17 01:03:22 -06:00
Drew T 001d8e2127 docs(phase-31): cookbook §186 — cross-jumping runs after sched2 (no barrier reaches it); s16-locals frame signal; local_alloc-vs-global_alloc as a placement lever 2026-08-17 01:02:31 -06:00
Drew T 81a3b73f22 feat(decomp): propagate func_8018A1B4 (gate lane) 2026-08-17 00:58:37 -06:00
Drew T 1b3fae2c1b feat(decomp): propagate func_80184BAC (gate lane) 2026-08-17 00:55:13 -06:00
Drew T fe5208a839 feat(decomp): worker gate — +30 fns x0 propagated (fleet 95.6%) 2026-08-17 00:54:31 -06:00
Drew T 6744fac650 feat(phase-31): gate_main strips a draft's FORWARD typedef instead of renaming it (§184b) 2026-08-17 00:07:11 -06:00
Drew T 6c51bb8999 feat(phase-31): MoveImage absorbs its splat-carved epilogue SYS_OBJ_8F4 (49 ins); 143dbb89 byte-identical 2026-08-17 00:04:08 -06:00
Drew T ef80215dcb feat(phase-31): SIX-WAY FRAGMENT MERGE — func_8005B7B0 (184 ins) absorbs 5 splat-carved fragments; 143dbb89 byte-identical 2026-08-17 00:03:33 -06:00
Drew T a416d3adc3 feat(phase-31): func_80030730 + func_80059BFC banked (TU prototype adopted, cast at use) 2026-08-17 00:01:47 -06:00
Drew T 419bfa6174 feat(phase-31): final-lane recoveries banked — incl. SYS_OBJ_1DC0 (the byte-wrong redraft) and func_80034C24 (symbol identity); 143dbb89 2026-08-17 00:00:57 -06:00
Drew T 35803ece9a chore(phase-31): S53 log — recovery backlog banked 15, four tool defects fixed, three TU retypes proven 2026-08-16 22:55:19 -06:00
Drew T a670f9d24d docs(phase-31): cookbook §184 (comment-blindness as a defect class) + §185 (verify-cheap-side; check a TU retype at its use sites) 2026-08-16 22:54:35 -06:00
Drew T 2dbf235efc feat(phase-31): forward-typedef fix unblocks func_8002C8F4 + func_80034314 (EXE 143dbb89 byte-identical) 2026-08-16 22:52:39 -06:00
Drew T a6e522a96a feat(phase-31): typedef comparison ignores comments (gate_main + reconcile_slate); func_8001ABBC + func_80037028 banked via byte-neutral TU edits 2026-08-16 22:49:05 -06:00
Drew T 8b567a21a8 fix(phase-31): retype D_8007622C to s32[] in the TU (byte-neutral, 143dbb89) — unblocks func_80037028 2026-08-16 22:47:31 -06:00
Drew T c7ef83066f fix(phase-31): two byte-neutral TU declaration corrections — func_8001ABBC returns s32; D_80076240 is a Slot16A[] (verified 143dbb89) 2026-08-16 22:45:39 -06:00
Drew T bbd8a6c8e4 feat(phase-31): pregate_check sees brace-bodied externs (the D_80072780 clash that cost a rebuild); §183 addendum 2026-08-16 22:41:01 -06:00
Drew T b15d195cc0 docs(phase-31): cookbook §183 — the declaration-reconciliation playbook, the name/shape trap, and why &D_x defeats the cast escape hatch 2026-08-16 22:39:34 -06:00
Drew T 61f3745193 feat(phase-31): S53 recovery — 10 more main functions banked (declaration reconciliation; EXE 143dbb89 byte-identical) 2026-08-16 22:38:47 -06:00
Drew T 192759f732 fix(phase-31): pregate_check FAILs any return-type disagreement (G4P* under G3P* was rejected by gcc, cost a rebuild) 2026-08-16 22:23:10 -06:00
Drew T 1ebca23c87 feat(phase-31): gate_main hoists TU typedefs above the include block (§181 class 2); +3 recovered drafts banked 2026-08-16 22:20:56 -06:00
Drew T 0ceba4f8ee chore(phase-31): fleet progress report after S53 banks 2026-08-16 21:08:05 -06:00