mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-10-08 09:43:04 -04:00
2.8 KiB
2.8 KiB
T3.c2 — include graph follows -Iinclude; Unkstruct_80078E78; Blk98 fold; decisions text
STATUS: blocked (try-file proofs crash in restruct.py; real selftest calibration stale). Edits committed (green on selftests, audit, R22).
Changes
- tools/delever.py includers():
resolve(rel, name)= includer-relative path when it exists, elseinclude/<name>; scan list addsinclude/*.h(non-recursive). Cache key prefixedI|so pre-change cache entries (includer-relative only) rebuild instead of being reused. - include/struct_types.h: hand-written
Unkstruct_80078E78(brief text verbatim) after/* head_types:end */, inside the guard. - src/800.c:8:
typedef Unkstruct_80078E78 Blk98_80029274;replacess32 words[38]struct. (p->wordsat 800.c:7484+ is a different struct.) - docs/struct-map-decisions.md: three TODO(T3 expert) bodies replaced verbatim.
Commands
restruct.py --selftest→ 54/54 OK;type_census.py --selftest→ 24/24 OK.- scratch
.run/P38/T3/hdrs_check.py: headers_of(md_SC07_004.c) contains include/common.h True, include/struct_types.h True. --audit-types(t3c2_audit) → 1182 audited; 26 violations; 0 lines mention struct_types.- R22 (t3c2_r22) →
extract-all: 217 extracted, 0 failed of 217 (+ main, serial),check-all: 218 passed, 0 failed of 218, exit 0. Blk98 fold byte-identical, no revert. - try-file, all 9 TUs (t3c2_try_1..10): no per-file final line; every run raises before printing any body verdict:
AttributeError: 'int' object has no attribute 'split'at restruct.py:526 pass_hint (from work_file_S:1027, DIFFERS path): ov_SC06_032_jr_80182890, ov_MAIN_012_jr_8015A3C8, ov_SC03_107_jr_8015A3C8, md_MAIN_036.Refuse: overlapping edits at Nat restruct.py:687 compose_text (from cands, work_file_S:1019): ov_SC02_027_jr_8017D898, md_SC07_004 (reproduced serially), md_SC07_003, 800.c, md_MAIN_046.
- Controls with HEAD's delever.py (pre-change include graph): ov_SC06_032 → same pass_hint AttributeError; ov_SC02_027 → same overlapping-edits Refuse. Both bugs predate change 1 (ov TUs already saw engine_types.h); change 1 only lets md/main TUs reach the same paths.
--selftest --real(t3c2_real) → 56/57; FAILthe oracle's calibration is current: calibrated at a8cdd934b, HEAD is 5aaa25154; linked-control OK. No func_801814AC line in the log.--helpnames no recalibrate flag (harness: gotcha).
For the expert
- pass_hint:
residual["pairs"]entries carry an int at p[2] (or p[1]); the.split()assumes strings. - compose_text overlap: edits for one body overlap each other (inserts empty in try on these TUs? not checked); likely two bases' edits on one span, or dedupe missing before cands (drop_overlaps at :665-677 exists but cands passes raw
edits). - Both are restruct.py, outside this brief's file set: not touched.