Files
BFM-decomp/docs/difficulty.ov_SC01_077.md
T
Drew T 85afa0dc81 feat(phase-19): T2 recovery tooling — canon_resident_calls + no-proto caller fix (3 matches)
- R14 finding: the 3 Phase-18 "implicit-int / propagate-first" near-misses are NOT
  implicit-int (reproduced each through the byte-gate). Real classes:
  (a) resident-callee LINK-miss: draft calls func_<ADDR> but the addr has a curated
      name (0x8004CFEC = ratan2) -> "undefined reference to func_8004CFEC". NEW
      tools/canon_resident_calls.py rewrites func_<ADDR> -> curated name (pure draft
      text, body bytes unchanged) -> run FIRST in the recovery pipeline.
  (b) shared-caller ARITY conflict: an engine_core.h caller macro declares the callee
      file-scope `extern void func_X(void)` then calls func_X(); the real def takes an
      arg -> "conflicting types". FIX = caller extern -> no-proto `extern void func_X();`
      (byte-neutral for the caller; compatible with promotion-safe params int/long/ptr).
- 3 matches banked in ov_SC01_077: func_8017209C (ratan2 rewrite), func_80147514 (s32),
  func_80168F40 (void*); 2 no-proto lines in src/shared/engine_core.h
- recovery pipeline: draft -> canon_resident_calls -> sig_unify -> harvest_verify --chunk 1
- make check-all 136/136 BYTE-IDENTICAL (full extract, R22); dedup 1450 validated/0 failed;
  0 NON_MATCHING in any default build (G4); fleet 56.64% (the 3 are ov_SC01_077-local,
  x134 propagation rides T3/Phase-20)
- cookbook §17a-3 corrected (R14/R16); SETUP tool inventory (R21); CURRENT_PHASE T2 done
2026-06-20 17:12:00 -06:00

5.6 KiB

Unmatched difficulty inventory (generated by tools/difficulty.py — harvest queue)

unmatched functions : 858 trivial (<=5 ins) : 0 non-jtbl leaves : 108 (best harvest targets) jump-table funcs : 58 (deferred — need the rodata-island workflow, Task 2')

Easiest 120 unmatched (score asc) — the work queue

score name nins br calls jtbl leaf
8 func_80174684 8 0 0 - Y
9 func_80174650 9 0 0 - Y
10 func_8014C8C8 10 0 0 - Y
10 func_80165A50 10 0 0 - Y
14 func_80153C44 12 0 1 - -
14 func_80155F80 12 0 1 - -
15 func_8014C568 13 0 1 - -
15 func_80151944 15 0 0 - Y
15 func_8015CC74 15 0 0 - Y
15 func_8015CFC0 15 0 0 - Y
15 func_8015DAF8 15 0 0 - Y
15 func_8015DE58 15 0 0 - Y
15 func_8015E1B8 15 0 0 - Y
15 func_8015E8E8 15 0 0 - Y
15 func_8015EE08 15 0 0 - Y
15 func_8015F00C 15 0 0 - Y
15 func_8015F324 15 0 0 - Y
15 func_8015F7D4 15 0 0 - Y
15 func_8015FAAC 15 0 0 - Y
15 func_80160138 15 0 0 - Y
15 func_8016039C 15 0 0 - Y
15 func_8016084C 15 0 0 - Y
15 func_80160B34 15 0 0 - Y
15 func_80160EA4 15 0 0 - Y
15 func_8016CB84 15 0 0 - Y
15 func_801855A0 15 0 0 - Y
15 func_801855DC 15 0 0 - Y
15 func_80185870 15 0 0 - Y
15 func_80185970 15 0 0 - Y
15 func_801867E0 15 0 0 - Y
16 func_80146360 16 0 0 - Y
16 func_801542A4 14 0 1 - -
16 func_8015BE94 12 0 2 - -
16 func_8016F4C4 12 0 2 - -
16 func_801705C0 14 0 1 - -
16 func_801732C4 12 0 2 - -
16 func_8017331C 12 0 2 - -
16 func_80173374 12 0 2 - -
16 func_80174554 12 0 2 - -
16 func_801745AC 12 0 2 - -
16 func_8017EA2C 12 0 2 - -
17 func_8015AD08 13 0 2 - -
17 func_8015CC0C 13 0 2 - -
17 func_8015CF58 13 0 2 - -
17 func_8015D4B4 13 0 2 - -
17 func_8015E184 13 0 2 - -
17 func_8015EDD4 13 0 2 - -
17 func_8015F7A0 13 0 2 - -
17 func_80160B00 13 0 2 - -
18 func_8013B7AC 18 0 0 - Y
18 func_80161208 14 0 2 - -
18 func_8016F0AC 14 0 2 - -
18 func_801726D0 16 0 1 - -
18 func_801746A4 14 0 2 - -
19 func_80141C0C 17 0 1 - -
19 func_80161C98 14 1 1 - -
19 func_80161D20 14 1 1 - -
19 func_80171928 17 0 1 - -
19 func_80175414 16 1 0 - Y
19 func_80181B58 17 0 1 - -
19 func_801829E0 17 0 1 - -
20 func_80146A6C 18 0 1 - -
20 func_8014BD60 14 2 0 - Y
20 func_8014C168 14 2 0 - Y
20 func_80157788 16 0 2 - -
20 func_801577C8 16 0 2 - -
20 func_8016E918 17 1 0 - Y
20 func_80178970 15 1 1 - -
20 func_8017E0B4 14 0 3 - -
20 func_8017E6BC 14 0 3 - -
20 func_8017E830 14 0 3 - -
20 func_80181B9C 18 0 1 - -
21 func_80142740 14 1 2 - -
21 func_80158880 19 0 1 - -
21 func_801653B8 15 0 3 - -
21 func_8016DA30 19 0 1 - -
21 func_801710DC 17 0 2 - -
21 func_801711FC 15 0 3 - -
21 func_80175268 21 0 0 - Y
21 func_8017DD9C 19 0 1 - -
21 func_80182FD0 19 0 1 - -
22 func_801427EC 19 1 0 - Y
22 func_8014292C 19 1 0 - Y
22 func_80142978 19 1 0 - Y
22 func_801429C4 19 1 0 - Y
22 func_801627E8 19 1 0 - Y
22 func_8016D64C 15 1 2 - -
22 func_8016E778 20 0 1 - -
22 func_80172C50 20 0 1 - -
22 func_80175218 20 0 1 - -
22 func_80178B70 18 0 2 - -
22 func_8017B8E8 22 0 0 - Y
22 func_8017E128 18 0 2 - -
22 func_8017E170 17 1 1 - -
22 func_80184278 20 0 1 - -
23 func_8013373C 18 1 1 - -
23 func_80138BE0 20 1 0 - Y
23 func_8015430C 19 0 2 - -
23 func_80163408 21 0 1 - -
23 func_801741A8 17 0 3 - -
23 func_80182E30 19 0 2 - -
23 func_80185A94 16 1 2 - -
24 func_801288E8 22 0 1 - -
24 func_80128940 22 0 1 - -
24 func_80128998 22 0 1 - -
24 func_8013BC7C 24 0 0 - Y
24 func_8014CCB4 22 0 1 - -
24 func_8014D04C 22 0 1 - -
24 func_8014D3E0 22 0 1 - -
24 func_8014D738 22 0 1 - -
24 func_8014DF3C 22 0 1 - -
24 func_8014E434 22 0 1 - -
24 func_8014E6A0 22 0 1 - -
24 func_8014E934 22 0 1 - -
24 func_8014ED28 22 0 1 - -
24 func_8014F1F4 22 0 1 - -
24 func_8014F468 22 0 1 - -
24 func_8014F6F4 22 0 1 - -
24 func_8014FBC0 22 0 1 - -
24 func_8014FCFC 22 0 1 - -