Commit Graph

2481 Commits

Author SHA1 Message Date
Drew T def09a34ff feat(decomp): worker gate — +12 fns x0 propagated (fleet 95.8%) 2026-08-17 14:02:44 -06:00
Drew T 73b5773d0d feat(decomp): worker gate — +11 fns x0 propagated (fleet 95.8%) 2026-08-17 13:59:51 -06:00
Drew T 5df5081fd5 feat(decomp): worker gate — +13 fns x0 propagated (fleet 95.8%) 2026-08-17 13:56:28 -06:00
Drew T 572d73eb4b chore(phase-31): regenerate frontier atlas after the S54 banks (4,787 groups / 11,039 open instances / 550,155 ins) 2026-08-17 13:09:51 -06:00
Drew T 7928e7940f docs(phase-31): S54 log — wave T 70/70 banked, 24 leftovers, 49 mechanical siblings, §192/§193, R22 213/213 2026-08-17 12:58:45 -06:00
Drew T 2ae87fc838 feat(phase-31): S54 wave-T harvest — cookbook §193 (9 laws) + the card's banked-twin pointer
19 agents over wave T's 71 index_gap reports: 5 cluster readers, then one adversarial verifier per
candidate defaulting to REJECT. Result: 9 CONFIRMED, 5 REJECTED, and 61 of 71 gaps answered by a
section that ALREADY EXISTS — a retrieval problem, not a knowledge problem.

§193-A is the fix for that retrieval problem, and it is a construction invariant, not drainage: a
wave card's "exemplar"/"sibs" come from the atlas's OPEN set (atlas.py:96 load_open -> corpus.stubs,
:657 max over open members), so they are stubs 0/34 and 0/146 measured on wave T — and 0% at any
project maturity. Meanwhile atlas.py:505-536 already computes a MATCHED-pool twin (pool = sig -
stubs) and build_wave_atlas kept only its similarity score while discarding the identity. Cards now
carry seed_ref + the "M:" matched kNN neighbours; verified on a fresh draw, seed_ref resolves BANKED
4/4 where exemplar resolves banked 0/12.

Two of the nine refute existing sections in place: §193-B byte-refutes §43's "the (s16)param_of_s32
cast form CANNOT reproduce this" (the decider is combine.c:929's cross-call guard, not regalloc),
and §193-G shows §164-54's "scope to >=4 arms" bound is byte-wrong (balance_case_nodes splits at
i > 2). §193-C bounds §8/§48-A1's cross-jump refund to TAILS only — gcc-2.7.2 has no prefix merge.
2026-08-17 12:30:38 -06:00
Drew T 4792b02bfa feat(decomp): worker gate — +4 fns x0 propagated (fleet 95.7%) 2026-08-17 12:27:53 -06:00
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