Drew T
19f005ea11
feat(phase-17): guided hand-matching demo — GO; 4/5 close-rate; loose-typing wall breakable
Pivot from the failed brute-force to the Ghidra-driven hand-match loop (Drew's steer).
DEMO sampled 5 residuals; 4 reached full whole-binary byte-matches:
- func_8012D3B4 (PERMUTER_CLASS) — closed + propagated x134 (DEFINE_func_8012D3B4)
- func_8012832C (STRUCTURAL_MISS switch) — closed
- func_8015F89C (fnptr-call, §15-S2) — closed
- func_80147B5C (pure struct) — closed (first try)
- func_8012A328 (STRUCTURAL_MISS) — 60/60 structure + correct regs, 1-instr gcc
placement quirk (the §10 hard-tail minority; permuter floor-polluted)
KEY FINDING: the Phase-16 "loose-typing wall" is a signature-CONSISTENCY problem, not
fundamental — resolved by a 5-move playbook (return-widening void->s32; sign cast (u16);
arity cast — refines the §14e arity dead-end; param-canonical-matching; fn-ptr-table
typing), all byte-neutral.
- canonical-widenings (byte-neutral, fleet re-verified): engine_core.h RotTransPers +
func_80029504 -> s32; ov_SC01_077.c func_801288B0/801289F0 -> s32
- docs/hand-matching-process.md (NEW): full replicable process + idioms + the §3a
playbook + current banked state + automation roadmap (fresh-session-safe)
- fleet: make check-all 136/136 byte-identical (R22); 55.00% -> 55.04%; dedup-check 1409/0
- config/dedup.us.yaml: +1 group (func_8012D3B4, 134 members)
- CURRENT_PHASE.md progress log updated
2026-06-19 18:03:49 -06:00
..
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-19 18:03:49 -06:00
2026-06-16 14:05:20 -06:00
2026-06-19 18:03:49 -06:00
2026-06-16 00:56:35 -06:00
2026-06-15 18:21:25 -06:00
2026-06-15 18:43:27 -06:00
2026-06-15 18:43:27 -06:00
2026-06-15 18:43:27 -06:00
2026-06-15 18:43:27 -06:00
2026-06-15 18:43:27 -06:00
2026-06-15 18:43:27 -06:00
2026-06-15 18:43:27 -06:00
2026-06-15 18:59:14 -06:00
2026-06-15 18:59:14 -06:00
2026-06-15 18:59:14 -06:00
2026-06-15 18:32:48 -06:00
2026-06-15 18:32:48 -06:00
2026-06-15 18:59:14 -06:00
2026-06-15 18:59:14 -06:00
2026-06-15 18:59:14 -06:00
2026-06-15 18:59:14 -06:00
2026-06-14 19:37:05 -06:00
2026-06-14 23:13:39 -06:00
2026-06-15 13:44:32 -06:00
2026-06-15 13:44:32 -06:00
2026-06-15 13:44:32 -06:00
2026-06-15 13:44:32 -06:00
2026-06-15 13:44:32 -06:00
2026-06-15 18:32:48 -06:00
2026-06-15 18:32:48 -06:00
2026-06-14 23:13:39 -06:00
2026-06-14 23:13:39 -06:00
2026-06-15 18:08:57 -06:00
2026-06-15 18:21:25 -06:00
2026-06-15 13:44:32 -06:00
2026-06-15 13:44:32 -06:00
2026-06-15 13:44:32 -06:00
2026-06-15 13:44:32 -06:00
2026-06-15 13:44:32 -06:00
2026-06-15 10:48:08 -06:00
2026-06-15 18:43:27 -06:00
2026-06-15 18:43:27 -06:00
2026-06-15 18:43:27 -06:00
2026-06-15 18:43:27 -06:00
2026-06-15 18:43:27 -06:00
2026-06-15 18:43:27 -06:00
2026-06-15 18:43:27 -06:00
2026-06-15 18:43:27 -06:00
2026-06-15 18:43:27 -06:00
2026-06-15 18:43:27 -06:00
2026-06-15 18:43:27 -06:00
2026-06-15 18:43:27 -06:00
2026-06-15 18:43:27 -06:00
2026-06-15 18:43:27 -06:00
2026-06-15 18:43:27 -06:00
2026-06-15 18:43:27 -06:00
2026-06-15 18:43:27 -06:00
2026-06-15 18:43:27 -06:00
2026-06-15 18:43:27 -06:00
2026-06-15 18:43:27 -06:00
2026-06-15 18:43:27 -06:00
2026-06-15 18:43:27 -06:00
2026-06-15 18:23:59 -06:00
2026-06-15 18:23:59 -06:00
2026-06-15 18:54:21 -06:00
2026-06-15 18:54:21 -06:00
2026-06-15 18:54:21 -06:00
2026-06-15 18:54:21 -06:00
2026-06-15 18:54:21 -06:00
2026-06-15 18:54:21 -06:00
2026-06-15 18:54:21 -06:00
2026-06-15 18:54:21 -06:00
2026-06-15 18:54:21 -06:00
2026-06-15 18:54:21 -06:00
2026-06-15 18:54:21 -06:00
2026-06-15 18:54:21 -06:00
2026-06-15 18:54:21 -06:00
2026-06-15 18:54:21 -06:00
2026-06-15 18:54:21 -06:00
2026-06-15 18:54:21 -06:00
2026-06-15 18:54:21 -06:00