Files
BFM-decomp/src/ov_SC01_009
Drew T 6f6dc6db58 feat(phase-30): 0x8013BC7C 133/133 — the sweep residue was TWO declaration-environment blockers
The last 133 members of the -O0 cluster's sweep residue, banked. R22 CLEAN-FLEET:
extract-all 139/139 (+main); check-all 140 passed, 0 failed of 140.

METHOD NOTE, because it is the difference from the two failures before it: my hypothesis
(the 5-vs-133 split tracks which -O0 file the member lives in) was cleanly REFUTED —
ov_SC07_006/007/011 were sub-split by me TODAY into _o0c and banked anyway. Instead of
forming a fourth theory I staged ONE member and compiled it. Two blockers, each only
visible after the previous was cleared:

  1. `conflicting types for S_8013BC7C` — the templated body carried a typedef TEXTUALLY
     IDENTICAL to one in engine_types.h, and gcc-2.7.2 (C89) rejects even an identical
     typedef redefinition. The exemplar TU includes only common.h; the new _o0c files pull
     engine_types.h via engine_core.h. (harvest_verify already strips provided typedefs at
     gate time via cdecl.strip_provided_typedefs, so this half was self-solving.)
  2. `previous declaration of func_8013BC7C` — the SIBLING's own TU declares the templated
     function divergently: SS57's self-decl class, lever = --normalize-self-decls.

One flag. 133 staged / 133 BANKED / 0 failed.

Running total for today's follow-ups: func_8013C08C 137/137 + this 133 = 270 members banked,
against one genuine integration wall (JR-PAIR-IN-ONE-O0-OBJECT). Every blocker in all three
was a DECLARATION-ENVIRONMENT problem, and none was visible without compiling and reading
the output — three wrong guesses where I theorised, zero where I read first.
2026-07-31 18:51:22 -06:00
..