mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-10-04 08:21:50 -04:00
router: T8 done
This commit is contained in:
@@ -93,7 +93,7 @@ R3.38-001 (remaining work after P37; Gen3 constraints), R3.38-002 (type_census /
|
||||
- T7 | superseded | expert-opus55 | title: GTE to one spelling | coder: opus55 | effort: medium | files: include/gte_inline.h, src/**/*.c, tools/gte_consolidate.py | done-when: 0 direct GTE statements in bodies and 0 per-TU asm macro definitions (lever_census --strict counts); every `_m` variant either replaced by its canonical macro (byte-proven IDENTICAL) or kept as a header-level variant in include/gte_inline.h with a `// !FAKE:` marker naming pass and instrument (R113), one definition per variant; call vs inline left per site (§195-J); gte_inline.h regenerated by gte_consolidate --header, not hand-edited; R22 green | verify: PY tools/gte_consolidate.py --selftest && PY tools/lever_census.py --check && make clean && make extract-all JOBS=16 && make check-all JOBS=16 | reads: T1, T2 | deps: T6 | est-ctx: 130k | review: no | wait-for: —
|
||||
If gte_consolidate cannot express a header-level variant, extend it (decomp tool, in scope). gte-lever sites after this task are marked levers; under reading A they enter T8's residue ledger, under B T8 removes them.
|
||||
- T7.1 | done | expert-opus55 | coder: opus55 | effort: medium | title: GTE to one spelling (predicate read as the census documents it) | files: include/gte_inline.h, src/**/*.c, tools/gte_consolidate.py, tools/lever_census.py | done-when: 0 GTE asm statements in bodies outside calls of include/gte_inline.h macros: lever_census --strict direct_gte (:1133) gains the via filter its own docstring (:1127-1128, 'spelled inline instead of as the header's macro call') describes, i.e. kind gte/gte-unsigned sites not via a gte_inline.h macro, with selftest controls (a via-macro call passes --strict, an inline statement fails; the 207 inline + 270 gte-unsigned sites reach 0 by respelling, each batch byte-proven); 0 per-TU asm macro definitions of kind gte (150 -> 0; the 164 launder/instruction/barrier defs are T8's, counted apart in the summary); every _m/_v variant either replaced by its canonical macro (byte-proven IDENTICAL) or kept as a header-level variant in include/gte_inline.h with a // !FAKE: marker naming pass and instrument (R113), one definition per variant (extend gte_consolidate render_header, JSON-only variants become header definitions); gte-lever sites (434) marked, left for T8's residue ledger; call vs inline left per site (§195-J); gte_inline.h regenerated by gte_consolidate --header, not hand-edited; lever_census via-macro/direct/pt-by-kind counts before and after in the summary; R22 green | verify: PY tools/gte_consolidate.py --selftest && PY tools/lever_census.py --selftest && PY tools/lever_census.py --check && make clean && make extract-all JOBS=16 && make check-all JOBS=16 | reads: T1, T2, T7 | deps: T6 | est-ctx: 130k | review: no | wait-for: —
|
||||
- T8 | queued | expert-opus55 | title: pins and asm the unified types explain; residue ledger | coder: opus55 | effort: medium | files: src/**/*.c, config/lever_residue.tsv, docs/levers.md | done-when: delever (rungs A/B strip, R recipes with --propagate) run over every lever-carrying body rewritten by T3-T7, removals R22-green and committed; reading A: every remaining pin/asm/gte-lever site has a config/lever_residue.tsv row (pass, instrument, cause; agent-shaped ones flagged for 3.40) and `lever_census --check --strict --residue config/lever_residue.tsv` exits 0; reading B: literal --strict 0 under the developer's cap; lever_census --check 0 UNMARKED | verify: PY tools/lever_census.py --check && PY tools/lever_census.py --check --strict --residue config/lever_residue.tsv | reads: T1, T2, T7 | deps: T7 | est-ctx: 140k | review: no | wait-for: —
|
||||
- T8 | done | expert-opus55 | title: pins and asm the unified types explain; residue ledger | coder: opus55 | effort: medium | files: src/**/*.c, config/lever_residue.tsv, docs/levers.md | done-when: delever (rungs A/B strip, R recipes with --propagate) run over every lever-carrying body rewritten by T3-T7, removals R22-green and committed; reading A: every remaining pin/asm/gte-lever site has a config/lever_residue.tsv row (pass, instrument, cause; agent-shaped ones flagged for 3.40) and `lever_census --check --strict --residue config/lever_residue.tsv` exits 0; reading B: literal --strict 0 under the developer's cap; lever_census --check 0 UNMARKED | verify: PY tools/lever_census.py --check && PY tools/lever_census.py --check --strict --residue config/lever_residue.tsv | reads: T1, T2, T7 | deps: T7 | est-ctx: 140k | review: no | wait-for: —
|
||||
Calibration current before delever --apply (R56). Seed rung D only with the tree's own lever-free body (C0503). The residue ledger is 3.40's input: the 3.40 planner reads it, so causes must be specific (head class, missing parameter, carve, singleton).
|
||||
- T9 | queued | expert-opus55 | title: milestone gate and record | coder: opus55 | effort: medium | files: docs/readability.md, docs/readability-progress.tsv, docs/levers.md, docs/story-timeline.md, README.md, cookbook/ | done-when: on one commit from a clean tree: type_census --check-casts --residue 0, restruct --rung S --check-residue 0 for ov_*/md_*/main/src/shared/*, --check-structs 0, lever_census --check --strict (as the developer's reading) 0, R22 218/218, make tools-health OK; delever snapshot + calibrate and restruct --selftest --real green; lever_progress --snapshot taken; readability and lever series rendered; timeline/README regenerated; cookbook entries for the phase's byte facts added; summary states before/after per form, covered residue by form and cause (from residue_census, the 3.40 canonical-types input), kept casts by cause, lying ledger size, lever residue size | verify: PY tools/type_census.py --check-casts --residue && PY tools/restruct.py --rung S --check-residue --only "ov_*" && PY tools/restruct.py --rung S --check-residue --only "md_*" && PY tools/restruct.py --rung S --check-residue --only main && PY tools/restruct.py --rung S --check-residue --only "src/shared/*" && PY tools/lever_census.py --check --strict --residue config/lever_residue.tsv && make clean && make extract-all JOBS=16 && make check-all JOBS=16 && make tools-health | reads: T1, T2, T3, T4, T5, T6, T7, T8 | deps: T8 | est-ctx: 100k | review: no | wait-for: —
|
||||
Both gates read A (levers 2026-10-01, casts 2026-10-02). Do not edit the plan between the R22 and the commit.
|
||||
@@ -127,3 +127,4 @@ R3.38-001 (remaining work after P37; Gen3 constraints), R3.38-002 (type_census /
|
||||
- 2026-10-02 critic: reopened T7 as T7.1 — GTE to one spelling (predicate read as the census documents it)
|
||||
- 2026-10-02 critic: 2026-10-02 critic (T7 question): T7 -> T7.1, done-when clauses read as lever_census's own docstring defines them (direct = not via a gte_inline.h macro; per-TU defs of kind gte). T8 done-when gains: per-TU asm macro definitions (lever_census pt, the 164 non-GTE launder/instruction/barrier defs left after T7.1) reach 0 by deletion or by a residue-row shape for definitions (config/lever_residue.tsv kind asm-macro, func = macro name, strict_failures :1142-1143 matches rows instead of the synthetic entry, selftest control). Milestone gate wording unchanged: lever_census --check --strict --residue config/lever_residue.tsv exit 0.
|
||||
- 2026-10-02 router: T7.1 next -> done
|
||||
- 2026-10-02 router: T8 next -> done
|
||||
|
||||
Reference in New Issue
Block a user