Commit Graph

373 Commits

Author SHA1 Message Date
Drew T bd2afeb51c feat(phase-29 crack-wave3): func_801555F4 jtbl family bank 138/138 (§18 fix: drop redundant D_8011F730 extern; TU s32 decl + sign-agnostic |= is byte-neutral where reconcile_tu's &-cast dropped 1 ins) 2026-07-20 11:33:52 -06:00
Drew T 3f3a4df5ce feat(phase-29 crack-wave3): func_801594E8 jtbl family bank 138/138 (§8 jtbl_carve + jr_isolate) 2026-07-20 11:12:11 -06:00
Drew T cd63e31487 feat(phase-29 crack-wave3): func_801588CC jtbl family bank 138/138 (§8 jtbl_carve + jr_isolate) 2026-07-20 10:54:14 -06:00
Drew T d2b5f34039 feat(phase-29 crack-wave3): func_80154C24 jtbl family bank 138/138 (§8 jtbl_carve + jr_isolate) 2026-07-20 10:15:46 -06:00
Drew T 5a3f6900bd feat(phase-29 crack-wave3): func_8014032C jtbl exemplar banked ×1 (§59(3) two-table merged-span wall blocks member propagation) 2026-07-20 09:37:42 -06:00
Drew T 364b1a07e0 feat(phase-29 crack-wave3): func_8015C32C jtbl family bank +18 final members (138/138 complete) 2026-07-20 09:28:28 -06:00
Drew T 432396ca64 feat(phase-29 crack-wave3): func_8015C32C jtbl bank ov_SC06_018 (transient crash recovery) 2026-07-19 13:33:26 -06:00
Drew T 135213704e feat(phase-29 crack-wave3): func_8015C32C jtbl family bank +110 members (§8 jtbl_carve)
Propagated the func_8015C32C jump-table exemplar to 110 more overlays via
jtbl_family_bank (carve + ld_interleave + remap, per-sibling whole-binary gated).
Run halted by an uncaught exception at member 111 (ov_SC06_018); 110/119 attempted
banked clean. Remaining ~19 members to follow.
2026-07-19 13:32:36 -06:00
Drew T e160080904 feat(phase-29 crack-wave3): func_8015C32C jtbl family bank ×9 (exemplar + 8 siblings, §8 jtbl_carve)
First jtbl core of crack-wave3: gcc emits the switch jump table into .rodata, so
each overlay needs jtbl_carve + ld_interleave. Path validated 9/9 BANKED.
2026-07-19 12:46:09 -06:00
Drew T 257b7d69ad feat(phase-26): h_seq family sweep — 137 member-matches banked via remap_hseq 2026-07-19 12:28:46 -06:00
Drew T 925dbfa14f fix(phase-29 crack-wave3): rename Prim->Prim_B234 in func_8016B234 exemplar (collides with engine_types.h Prim in member TUs, byte-neutral) 2026-07-19 12:16:15 -06:00
Drew T 48e5c716f2 fix(phase-29 crack-wave3): collapse struct Prim to single-line typedef in func_8016B234 exemplar (§59(1) remap carries typedefs not multiline structs, byte-neutral) 2026-07-19 12:04:36 -06:00
Drew T 2ac8070f3d feat(phase-26): h_seq family sweep — 137 member-matches banked via remap_hseq 2026-07-19 11:56:19 -06:00
Drew T bffbb8b9b7 feat(phase-29 crack-wave3): func_8016B234 + func_8016C998 banked ×1 in ov_SC01_077
- func_8016B234: §58b self-def — engine_core.h func_8016B234 (void)->() no-proto
  (byte-neutral: only 0-arg callers fleet-wide); typedef preamble stripped.
- func_8016C998: §59(1) local struct rename Slot/Blk32->Slot_998/Blk32_998
  (collide with TU's Slot) + D_801D9CA0 extern moved to block scope (TU's other
  decls of it are all block-scope; a file-scope one collided).
R22 clean-fleet pending (engine_core.h touched).
2026-07-19 11:47:54 -06:00
Drew T 5513530a5b feat(phase-29 crack-wave3): func_80160534 family sweep — 137 members banked ×137 across fleet
Exemplar cast (§56b) unblocked propagation: the bare func_80161208(p) call
relied on ov_SC01_077's no-proto decl, but member TUs carry a (void) prototype.
Casting the call member-proofs the templated body. All banks whole-binary byte-gated.
2026-07-19 11:46:56 -06:00
Drew T e47e680b18 fix(phase-29 crack-wave3): cast func_80161208 call in func_80160534 exemplar (§56b member-proof, byte-neutral) 2026-07-19 11:43:34 -06:00
Drew T 32ab6e5496 feat(phase-26): h_seq family sweep — 133 member-matches banked via remap_hseq 2026-07-19 11:40:19 -06:00
Drew T d22de5d0e8 feat(phase-29 crack-wave3): func_80160534 banked ×1 in ov_SC01_077 (§58 reconcile_tu D_801152A0) 2026-07-19 11:34:01 -06:00
Drew T 6a367f4246 feat(phase-29 crack-wave3): func_80169BBC banked ×1 in ov_SC01_077 (162 ins)
First clean bank of crack-wave 3 (8 fresh cached ov077 substantial families,
8/8 MATCH). Other 7 pending §58 reconcile; ×138 propagation to follow.
2026-07-19 10:28:57 -06:00
Drew T 8e00adb0a7 feat(phase-29 crack-wave2): func_8013D9B0 family sweep +135 (fully banked)
Propagated from the ov_SC01_000 exemplar (void func_8013D9B0(int param_1), a 141-ins
handwritten GTE color-interp loop w/ $s0-$s4 register pins). Each sibling TU carries
extern-void-(void) self-decls of func_8013D9B0 that conflict with the (int) def; NSD is
unsafe here (it reads the else-func_8013D9B0(N) call statements as decls and mis-casts,
§57a), so the self-decls were mechanically reconciled to K&R empty-args (byte-neutral,
compatible with the (int) def + every 0-arg/1-arg/fn-ptr-cast call site) across 132 TUs
before the sweep. 135/135 members banked, 0 failed (pins templated clean across the
structurally-identical engine siblings).
2026-07-19 02:37:50 -06:00
Drew T b00461774a feat(phase-29 crack-wave2): func_80141A60 family sweep +135 (135/135, fully banked)
Propagated from the ov_SC01_000 exemplar. remap_hseq's gather_externs synthesizes a
non-volatile `extern u16 D_8011511A;` per sibling, which defeats the §18 volatile-strip
CSE (cast reads reload instead of folding to one load) -> byte-DIFF. Every sibling TU
(jr_8013FFD8) already declares D_8011511A volatile at file scope via the banked
func_801418F8, so the fix is to strip the draft's own decl and let the cast-at-use over
the TU's volatile decl produce the single-load match. 135/135 banked, 0 failed.
2026-07-19 02:35:33 -06:00
Drew T c48a485ff9 feat(phase-29 crack-wave2): +2 residual exemplars banked x1 in ov_SC01_000
func_80141A60 (76): §18 cast-at-use *(u16*)&D_8011511A defeats the TU's file-scope
  volatile decl of D_8011511A so gcc CSEs the 3 reads into one load (the draft matched
  standalone but DIFFd in-TU due to the volatile reload).
func_8013D9B0 (141): reconciled the TU's two extern-void-(void) self-decls to K&R
  empty-args (compatible with the int-param def; byte-neutral for the fn-ptr-cast and
  0-arg call sites). NSD was unsafe here (it mis-parses the else-func_8013D9B0(N) call
  statements as decls and mis-casts to void(*)(void), the §57a hazard). Both re-gate
  BYTE-IDENTICAL.
2026-07-19 02:26:05 -06:00
Drew T f72ad4a85d feat(phase-29 crack-wave2): func_8016DC20 +3 SC07 residuals (carried-extern reconcile)
The jr_8013F350 mega-TU declares func_80128ED8(s32,s32*) and DEFINE-macro func_80146C3C,
conflicting with the draft's carried externs. Dropped both externs + fn-ptr-cast the
func_80128ED8 call at use (byte-identical). Banked ov_SC07_006/007/011. Remaining: 1
o2b member (ov_SC07_010) — -O2 reconstruction TU hits an as --fatal-warnings $at wall.
2026-07-19 02:09:23 -06:00
Drew T 3eb6b019ff feat(phase-29 crack-wave2): func_801418F8 +10 residuals via D_8011512E u16 canonical
The 10 jr_8013F350-split residuals failed on 'conflicting types for D_8011512E'
(exemplar decl s16 vs the jr_8013F350 TUs' canonical u16). Reconciled the exemplar
decl to u16 (byte-neutral — sole use is store-0); re-swept. func_801418F8 now 0 stubs.
Remaining: 4 func_8016DC20 SC07 members (byte-DIFF in the o2b/jr_8013F350 split).
2026-07-19 02:04:50 -06:00
Drew T 9e020256dc feat(phase-29 crack-wave2): func_8013EF88 +136 / func_8013D8FC +135 family sweep (ov_SC01_000 exemplar)
Both banked fully (0 stubs remaining). func_8013EF88 templates clean because E4 (its
matching-critical local typedef) is already file-scope in every target TU via the
already-banked sibling func_8013EE10. func_8013D8FC's $s0-$s3 register pins template
fine across the structurally-identical engine siblings. 271/271 members, 0 failed.
2026-07-19 01:59:24 -06:00
Drew T 9ee4ce8d0e feat(phase-29 crack-wave2): func_8016DC20 +132 / func_801418F8 +126 family sweep (ov_SC01_000 exemplar)
hseq family sweep of 2 absent-family cores, templated from the clean ov_SC01_000
bank (s16-array + cast-at-use spellings) instead of the ov077 heavy-struct exemplar
that pick_exemplar defaults to. 258/272 members banked; 14 SC07-layout residuals.
2026-07-19 01:57:32 -06:00
Drew T a725c2a4e6 feat(phase-26): h_seq family sweep — 1 member-matches banked via remap_hseq 2026-07-19 01:43:45 -06:00
Drew T cbe224567c feat(phase-29 crack-wave2): +4 absent-family cores banked ×1 in ov_SC01_000
Crack-wave 2 (9 fresh absent-from-ov077 substantial families, drafted from
ov_SC01_000, cached Ghidra-C, non-MCP): 7 MATCH / 2 near. 4 banked whole-binary
byte-identical after the §58 reconcile ladder (cast_call_sites + reconcile_tu):
- func_8016DC20 (161)  - clean
- func_8013EF88 (108)  - reconcile_tu (D_80115124 data-decl)
- func_801418F8 (90)   - reconcile_tu (D_80115118 data-decl)
- func_8013D8FC (45)   - cast_call_sites (func_800599B8 callee)

3 residuals deferred (per-family reconcile): func_80156044 (self-def),
func_8013D9B0 (self-def; NSD cast to wrong void() sig - §57a hazard, reverted),
func_80141A60 (DIFF - reconcile_tu altered a data load width). 2 near preserved
(func_8017B490 close-13 scheduler, func_80143D28 close-15 allocator - permuter fuel).

x137 propagation pending. Whole-binary gate arbitrated (G3/P9).
2026-07-19 01:37:48 -06:00
Drew T 768676ac0d feat(phase-29 giants): func_8013C0F8 ×1 in ov_SC01_077 (jtbl_801D82FC carve)
-O0 core, single jump table jtbl_801D82FC carved into the o0 object's .rodata via
jtbl_carve (fit contiguously with the existing o0 carve). ov_SC01_077 byte-identical (R22 d19c9580).
2026-07-19 00:09:18 -06:00
Drew T af6e70afe8 feat(phase-29 crack-wave): func_8016D1D8 + func_8016D688 family sweep +274 (137/137 each)
These reference a per-overlay tail work-buffer whose base address DIFFERS per
overlay (h_seq relocated data). remap_hseq keyed the byte-OFFSET addresses
(D_801D9C21..) not the base symbol D_801D9C20/D_801D9C60 the exemplar C uses, so
it left them unresolved -> 0/137. Per overlay: base = symbol_map[D_801D9C21]-1;
declare dlabel D_<base> in config/symbols.<ov>.txt (byte-neutral, re-extract emits
the linker def), remap D_801D9C20->D_<base1> / D_801D9C60->D_<base2>. 3 SC07 stragglers
needed the carried ApplyMatrixSV/RotMatrixYXZ externs dropped (TU already declares
them with a different sig -> conflicting types). Each gated whole-overlay byte-identical.
2026-07-19 00:05:52 -06:00
Drew T 43a6ded6b0 feat(phase-29 crack-wave): func_80165240 family sweep +137 (137/137)
The h_seq remap dropped the exemplar's local `struct W4` type; without it the
per-sibling struct-copy lowered to a differently-sized memcpy -> byte-DIFF (0/137).
Prepending `struct W4 { u32 w; } __attribute__((packed, aligned(1)));` to each
member draft restores byte-identity. Gated per-overlay via harvest_verify.
2026-07-18 23:39:45 -06:00
Drew T 30812b85e0 feat(phase-26): h_seq family sweep — 137 member-matches banked via remap_hseq 2026-07-18 23:22:58 -06:00
Drew T 2605f206d3 feat(phase-29 crack-wave): func_80150170 ×138 dedup-propagate (+137, 138/138)
The hexR=138 dedup core (banked ×1 in commit:0716) -> dedup_propagate --addr
0x80150170 --source-overlay ov_SC01_077 --recover: 138 overlays rebuilt
byte-identical, 1 new group registered in config/dedup.us.yaml (0 stubs left).
~+13k ins (95 ins × 137 new members). (First attempt SIGTERM'd mid-gate at the
2-min timeout -> reverted the half-gated state, re-ran clean fail-closed.)
2026-07-18 23:15:06 -06:00
Drew T c9e12a079b feat(phase-29 crack-wave): +6 cores banked ×1 in ov_SC01_077 (R22 140/140)
Ultracode 11-core crack-wave over the freshly-regenerated draftable structural
frontier (R35: the Jul-14 manifest still listed already-banked families). 9
match_one MATCH / 2 near; 6 of 9 banked whole-binary byte-identical.

Banked (ov_SC01_077, ×1 — ×138 sweep deferred, Drew paused after the bank):
- func_80150170 (95, hexR=138 dedup core) — engine_core void->s32 narrow
- func_8016D1D8 (148) — data-label + typedef-scope
- func_8016D688 (60)  — data-label (D_801D9C20)
- func_80165240 (63)  — normalize_self_decls (caller-decl -> void(void*x3))
- func_80164E40 (25)  — engine_core void->s32 narrow
- func_801457A4 (79)  — -O0 (relocated into _o0b object)

- engine_core.h: 3 decls narrowed void->s32 (byte-neutral fleet-wide; callers
  ignore the return) — R22 clean-fleet 140/140 confirms neutrality.
- config/symbols.ov_SC01_077.txt: D_801D9C20/60 u8 data-label mirror so a
  re-extract re-emits the labels the D1D8/D688 banks reference (R22 corollary;
  fixed a type:data->type:u8 splat-format bug that broke ov_SC01_077 extract).
- 3 NOT banked (801549F8, 8013BD74, 8013C0F8): all match standalone, blocked
  ONLY by the §8 jtbl-rodata carve (NOT codegen; C0F8 was NOT a real DIFF).
- .run/giants: 2 near (8014D820 close-11 intrinsic-sched, 8012E364 close-22)
  + the 3 jtbl-blocked drafts preserved (R20).

R22 clean-fleet: 140/140 byte-identical; tools-health OK (dedup 1846/0,
C1 234205/234205); 0 NON_MATCHING linked (G4). Fleet 75.2/60.6/87.04 (flat —
×1 banks; the ×138 sweep is the deferred fleet-mover).

cookbook §58 (R30): match_one MATCH != bank — it compiles standalone so it is
blind to (a) Ghidra symbol names, (b) def-sig conflicts vs the fleet, (c)
callee-decl conflicts, (d) -O0-vs-O2; crack-wave drafts need a reconcile pass.
2026-07-18 22:58:15 -06:00
Drew T 53433df1b3 feat(phase-29): func_8013D53C 14/137 + NSD hardened (rewrite-to-canonical, (void) fix) + Cmd lift
- func_8013D53C: NSD (self-decl caller-thread) + a byte-neutral Cmd_8013D53C type-lift clear the plumbing
  -> 14/137 h_seq members bank; 123 have genuine per-member codegen DIFFs (hard cse.c-wall crack -> permuter
  fuel). Reverted the 123 bankless byte-neutral NSD edits (churn on matched code, §57a NB).
- NSD hardened, 2 bug-fixes validated on D53C: REWRITE the divergent decl to canonical instead of DROPPING
  it (drop broke def-after-caller forward visibility -> 'func undeclared'); and '(void)' is a genuine 0-param
  conflict, not skippable like a true no-proto '()' (the bug that filed D53C's arity class as 'not this pass').
- earlier this session: broad --fix-def-sig sweep = HONEST +137 only (staging != banking, R14/R35); NSD is
  SURGICAL-ONLY (broad application poisons whole groups; --fix-def-sig is broad-safe). cookbook §57a.
- R22 clean-fleet 140/140 byte-identical; tools-health OK (dedup 1846/0, C1 234205/234205); 0 NON_MATCHING (G4).
  fleet 75.2% instr / 60.6% distinct / 87.04% fn-count. session-total from 74.6: +0.6pp instr, ~+421 members.
2026-07-18 20:30:43 -06:00
Drew T 6b0bb5440a feat(phase-29 broad-sweep): +137 (func_801502EC x134 + func_80131B14 x3) via --fix-def-sig
- broad --fix-def-sig sweep across the 60 substantial matched-ov077 families: 137/2169 banked.
- HONEST FRONTIER FINDING (R14/R35): the substantial-family pool is NOT broadly mechanical — only 137
  of 2169 STAGED drafts actually bank; staging != banking. I over-estimated yield from the staged
  count instead of gate-probing a sample first (the phase's own invariant). The other ~2032 need
  per-family levers (self-decl / type-lift / def-sig+caller-thread), not one broad pass.
- --normalize-self-decls is SURGICAL-ONLY: applied broadly (esp. with --fix-def-sig) it makes
  non-neutral TU edits that poison whole (overlay,split) groups; the backstop reverts them (0 false
  banks) but it yields ~0. --fix-def-sig is broad-safe (draft-level, bisects per-member).
- R22 clean-fleet 140/140 byte-identical; tools-health OK (dedup unchanged); 0 NON_MATCHING (G4).
2026-07-18 20:05:42 -06:00
Drew T 65c93ea035 feat(phase-29 type-lift): func_8016CBC0 family 1->138/138 (+137) via the 6-typedef engine_types.h lift
- func_8016CBC0's 137 members were NOT self-decl-blocked (§57 survey: 0 divergent self-decls) but blocked
  on the exemplar's 6 LOCAL typedefs (Rec_/Blk_/SVEC_/CLR_/Poly_/Mtx8_8016CBC0). Lifted all 6 verbatim into
  src/shared/engine_types.h (fleet-visible via engine_core.h) + removed the locals from the exemplar TU.
  No fleet name-collision; exemplar rebuilds byte-identical d19c9580 (the type-lift is byte-neutral).
- family_sweep --hseq --only 0x8016CBC0 --no-preclassify --normalize-self-decls -> 137/137 banked, 0 failed
  (the decl-normalize stage a correct no-op here — 0 self-decls). 0 func_8016CBC0 stubs remain fleet-wide.
- R22 clean-fleet 140/140 byte-identical; tools-health OK (dedup 1846/0, C1 234205/234205); 0 NON_MATCHING
  linked (G4). fleet 74.9->75.1% instr / 60.1->60.6% distinct / 86.96->87.00% fn-count.
- R14 lesson: two families that both looked like a 'stuck 137-family' needed DIFFERENT levers
  (decl-normalize §57 vs type-lift) — route by the real cc1 error, not the shape. session-total +270 members.
2026-07-18 17:50:07 -06:00
Drew T ad11c491a5 feat(phase-29 decl-normalize): func_801670E4 family 4->137/137 (+133) via the 3rd §17a-1 direction
- new tools/normalize_self_decls.py — the SAME-FUNCTION decl-normalize: drop each decl of the templated
  fn F that the sibling TU's OWN already-banked callers declare divergently (block-scope, a different C
  form than the exemplar's fn-ptr cast) + cast its in-scope calls (byte-neutral §17a-1). cast_call_sites
  does the callee direction, reconcile_tu the data direction; this is the third: F itself.
- family_sweep --normalize-self-decls: new per-sibling stage after reconcile_def_sig (edits the sibling
  TU file = harvest_verify's baseline, like edit_remap_sweep) + snapshot/final-SHA-MISMATCH revert backstop.
- byte-proven the sole blocker was the caller-decl conflict, NOT --fix-def-sig (which renamed F's def
  params a0..a3 while the body used arg0..arg3 -> arg0 undeclared; R14 confound removed). 133/133 banked,
  0 failed, 0 backstop fires; 0 func_801670E4 stubs remain fleet-wide.
- R22 clean-fleet 140/140 byte-identical; tools-health OK (dedup 1846/0, C1 234205/234205); 0 NON_MATCHING
  linked (G4). fleet 74.6->74.9% instr / 59.4->60.1% distinct / 86.92->86.96% fn-count. cookbook §57.
- R14: func_8016CBC0 (also stuck 137-family) has NO divergent self-decl -> type-lift-blocked, a SEPARATE
  lever (6-typedef cluster, like 8012956c), not this pass. Route by the real cc1 error.
2026-07-18 17:30:25 -06:00
Drew T f281c6cf47 feat(phase-29 crack-wave): func_801670E4 partial sweep (4 members; 133 blocked on def-sig) 2026-07-18 12:23:00 -06:00
Drew T cceec3b8ea feat(phase-29 crack-wave): type-lift SVec/Fr_801670E4 -> engine_types.h (func_801670E4 sweep enabler) 2026-07-18 12:16:04 -06:00
Drew T b346c0abe8 feat(phase-29 crack-wave): func_8012956C family COMPLETE 138/138 (type-lift recovery, 137 swept) 2026-07-18 12:15:25 -06:00
Drew T 6dcc4fb16f feat(phase-29 crack-wave): type-lift Blk16_956C/Ent_956C -> engine_types.h (func_8012956C sweep enabler) 2026-07-18 12:07:24 -06:00
Drew T 602fac6e20 feat(phase-29 wave2/fable): sweep 8 families — 538 member-matches banked (partial)
538/1234 members banked across the 8 non-jr cores (8016cbc0/8015ea3c/8015d738/8015f448/801670e4/
8014ffdc/8012956c/8013d53c). 696 failed — likely the func_80161208 file-scope-prototype poisoning
re-occurring per-sibling; to triage + re-sweep. Each banked member whole-binary gated.
2026-07-18 11:58:24 -06:00
Drew T c7af030709 feat(phase-29 fable): bank func_8013D53C (240) x1 — the cse.c address-CSE wall crack
Fable cracked the cross-statement address-CSE via a neighboring-symbol offset (*(S9*)(&D_801DA998+0x20)
never unifies with SYMBOL_REF while gas folds %hi/%lo(sym+k) byte-identical) + dead-pad frame +
block-local coalesce + 2 density anchors. Reconcile: void* def-sig (byte-neutral — caller func_8013D3D4
keeps param_1 in $a0) + dropped decls colliding with banked 8013CB84's Rec12/Rec9 (uses cast at site).
2026-07-18 11:45:36 -06:00
Drew T 7f61d347b5 feat(phase-29 wave2/fable): bank x1 — 8014FFDC (wave2, x276) + 8012956C (fable sched1/loop crack)
8014FFDC clean; 8012956C reconcile: uniquified Blk16/Ent local typedefs, func_801299C8 4-arg
fn-ptr cast, reverted a reconcile over-cast (&(u8*)& invalid lvalue on already-canonical D_800B9A78).
2026-07-18 11:39:11 -06:00
Drew T 5a059d6219 feat(phase-29 wave2/fable): bank x1 — 8016CBC0/8015EA3C/8015D738/8015F448 (wave2) + 801670E4 (fable)
5 non-jr cores in jr_8015AE2C + jr_8016AB6C. Reconcile ladder (cast_call_sites -> reconcile_tu ->
scope_data_externs) + fixups: func_80161208 all-decls-normalized-to-no-proto (a reconcile re-adds a
file-scope prototyped decl that poisons every no-proto call), §17a-1 fn-ptr casts, scalar-typedef strip.
801670E4 = the Fable post-reload-scheduler crack. Whole-binary gate byte-identical.
2026-07-18 11:37:16 -06:00
Drew T 33ed9a909a feat(phase-29 crack-wave): func_8013CB84 family COMPLETE 138/138 (137 swept, 0 failed)
Regen family map post-bank -> exemplar promoted draft-ov077->matched-ov077 -> standard
family_sweep --hseq templates the committed reconciled body (the --reconcile-raw path
mishandles per-overlay data externs; standard path is correct). +249x138 ~= +34k ins.
2026-07-18 09:19:48 -06:00
Drew T 85dd9938d4 feat(phase-29 crack-wave): bank func_8013CB84 (249) x1 — camera-region core, 5-lever crack
Agent-cracked (m2c + §32 struct-base-hoist + §18 address-caching + packed-struct block-move
+ 1-arg-callee + Rec12 stride array). §8d reconcile: D_801DAA78 Rec9->u8 canonical + cast-at-use
block move. Whole-binary gate [ OK ] d19c9580 == check.
2026-07-18 09:10:59 -06:00
Drew T ece9c6ee8d feat(phase-29 §8e): sweep func_8013F350 x37 (chunk 3/3) — family COMPLETE 138/138, 0 failed
The hardest family (490 ins, 4-table [0,0,4,0] span, --like structure transfer, §30#2 x267
widen) swept PERFECT incl. all 4 SC07 tail overlays.
2026-07-18 04:15:54 -06:00
Drew T abc658b590 feat(phase-29 §8e): sweep func_8013F350 (chunk 2/3) — 50/50 BANKED 2026-07-18 04:06:15 -06:00