mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-10-05 17:03:23 -04:00
4.7 KiB
4.7 KiB
T1 — phase-start health and baselines
Status: done | expert: expert-opus55 | ctx-at-completion: n/a | commit: see COMMIT | coder runs: c1 opus55 blocked-partial (db68150f5), c2 opus55 done (465d915bd)
Done: tools-health OK and kit-corpus regenerated after repairing the PA3 migration's retired-doc breakage; R22 green; delever baseline snapshotted at a8cdd934b and calibrated; fresh P38 type-census baseline.
Files:
- tools/tool_census.py — tools table from docs/ops/tooling-inventory.md; record/cookbook sources from docs/retired/; git-tracked files only
- Makefile —
cookbook_index.py --checkDISABLED in tools-health (successor cookbook/INDEX.md) - tools/doc_links.py, tools/wiki_render.py — docs/SETUP.md → docs/ops/INDEX.md
- docs/wiki/.md, README.md, docs/gcc-2.7.2-map/README.md, docs/how-to-ai-decomp/.md — 36 broken links repointed
- docs/ops/tooling-inventory.md — cookbook_index row notes its retirement from tools-health
- config/tool_dictionary.tsv — 22 PA3 harness tool rows (PROJECT-ONLY)
- config/kit_coverage_map.tsv — committed as-is: its 12 rows are the R107-R117 + P37 S108 dispositions kit_coverage needs (hand-authored data, not generated)
- decomp-architect/ — corpus regenerated by
make kit-corpus - docs/progress., README.md, docs/story-timeline., .run/P35|P36 census snapshots — tools-health outputs
- .run/P36/delever/calibration.json, docs/struct-map.md — calibrate / census outputs Decisions:
- Four red tools-health items shared one cause (the PA3 migration retired docs/SETUP.md, matching-cookbook.md, cookbook-index.md, effort-map.md), so they were fixed as one defect rather than treated as three distinct reds → blocked.
- Link targets: SETUP → docs/ops/INDEX.md; cookbook files → cookbook/INDEX.md; effort-map → docs/retired/effort-map.md (no successor).
- binding: tool_census builds the kit corpus from git-tracked files only; an untracked file (e.g. PhaseEnd_Phase37.md) never enters the kit. Deviations:
- Order: plan said kit-corpus → tools-health → commit → R22. kit-corpus was red until c2; the first tools-health went red at sig-main because build/ lacked build/src/boot.o, so an R22 ran BEFORE tools-health, then tools-health, commit, a second R22, snapshot, calibrate.
- The four same-cause reds were not counted as "three distinct red items" (see Decisions). Findings:
- df -h . at start: 73G size, 49G used, 21G avail (71 %). No scratch pruned.
- Baseline (type_census at a8cdd934b+, .run/P38/census): defs 7,255 = canonical header 1,179 · .c file-scope 4,085 · .c block-scope 1,904 · per-fn shared headers 63 · other headers 24 · include/ 0; 3,143 names, 527 layouts; dup classes 206 over 2,823 names (tier 1 122, tier 2 84; 46 layout-twin classes / 1,867 names kept apart); variant camps 40; dead canonical names 141; lying 1,796 / 76 callees (K&R-empty 1,373, narrow 423); K&R sites 5,262 / 199 callees apart; cross-binary 418 / 96 callees apart; controls 4/4 (D_80078F08/0C still doc-disputed); casts 502,985 in 69,493 bodies; struct_map 18,739 types explain 498,866/502,985 (99.2 %), 727 with conflicts.
- restruct --audit-types: 1,179 canonical defs audited, 26 pad naming/offset violations (e.g. Ft4_* pad2/pad3 at engine_types.h:2841ff).
- Census numbers are identical to the P37 T4-close figures except casts 503,016 → 502,985 and struct_map types 18,760 → 18,739.
- delever snapshot: 7,428 objects, links 218/218 at a8cdd934b; calibrate 146/146 identical, 32 twins 0 mismatch, positive control DIFFERS.
- docs/story-timeline.md now reads "38 PhaseEnds"; 38 are tracked (incl. 37.5), so the count is tracked-consistent, but tools/timeline.py was not audited for the untracked-file leak. Gotchas:
- generalizable:
make -non a .ONESHELL Makefile whose recipe contains $(MAKE) executes the whole recipe's shell lines (sdk-dual ranrm -rf build/psyq); never dry-run tools-health. - harness: commit_task.sh refuses gitignored-but-tracked paths (.run/P3x census files); pre-stage them with
git add -f, then call commit_task with the other paths (it commits the index). - generalizable: tools-health needs a complete build/ (sig-main reads the main map's objects); run R22 first if build/ may be stale.
- workflow: a harness migration that retires docs breaks product tools that read them; grep tools/ and Makefile for each retired path in the migration task itself.
Next task needs: baseline numbers above; census at .run/P38/census; snapshot at
a8cdd934b(restruct_cycle refreshes when HEAD moves). Verified: make clean && make extract-all JOBS=16 && make check-all JOBS=16 && .venv/bin/python tools/delever_oracle.py --calibrate ov_SC04_011 ov_SC03_015 md_SC07_004 main -j 16 → rc 0; extract-all 217/0/217, check-all 218/0/218, calibrate 146/146 identical OK (.run/logs/verify.log) Full log: phase-ends/current/logs/T1.md