mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-09-26 13:33:34 -04:00
8fac96651f
The pin/hint removal's COUNT OVER TIME is a deliverable in its own right: the post-100% chart, the story's spine, a wiki page, and the day-one rule the decomp-architect kit should carry. It is only ever counted by the phase that removes it, so it has to be captured while the work happens — a census is a moment. - docs/levers.md: the taxonomy (A pins · B1-B4 barriers/launders/keep-alives/hand-placed instructions · B5 GTE, not a lever · C volatile · D bare register · E asm-label aliases · F builtins · G attributes); a GENERATED §2; how the levers got in phase by phase (P18's pin toolkit took the wave close-rate 33% -> 56% -> 90%; the family engine then copied every lever across up to 134 overlays, which is why 1,758 distinct bodies are 12,578); the ladder with each rung's measured yield; §5 the prevent-vs-defer argument; §6 what the wiki, the kit and the story each take. - tools/lever_progress.py: --snapshot appends a milestone row (the census's totals by class + HEAD) to docs/lever-progress.tsv and re-renders the document; the campaign table is derived from the de-lever ledger on every render and scored as state TRANSITIONS, so the rung that FINISHES a body gets the credit (counting first-rows-only reported rung R's 134-body batch as zero); --check refuses a series that is not this tree's. - the numbers, generated: 21,061 sites removed or rewritten across 17,119 bodies against 33,957 still standing — 38% of the class A/B population came off with no understanding at all, which is the evidence behind §5's rule: BAN THE SILENCE, NOT THE LEVER (a lever is allowed and is a marked, ledgered, published debt from the first bank, with a one-compile bank-time trial; never block the byte gate on it). - Reference-index row (doc_links OK), SETUP row, tool dictionary row, CURRENT_PHASE entry for the story.