Files
BFM-decomp/docs/lever-progress.tsv
T
Drew T 69d83f7b61 phase-36: 16,759 lying call declarations repaired across 3,439 units, byte-identical (R22 218/218) + the Gen3 readability series
Drew: we do want C correctness on all funcs, and log it for the story and the chart.

- decl_repair --apply rewrote 3,439 units and repaired 16,759 declarations. check-all: 218 passed, 0 failed of 218.
  lever_census --check: 26,456 pin/asm sites, 0 UNMARKED — unchanged, as expected: this pass fixed TRUTH, not levers.
- only the free set was touched: a declaration is repaired when every call to that function in the unit already passes
  the arguments, so the code was right and only the promise was wrong. Calls that pass too few remain R19's population,
  where the argument must be chosen and the bytes decide.
- tools/readability_progress.py: the Gen3 series beside docs/levers.md, because levers are only one way the source is
  untrue. It counts lying call declarations (split by the K&R-empty and (void) forms, and how many sit in a body still
  holding an argument-register pin) and raw cast dereferences against struct member reads — the struct debt. Each row
  carries its date and commit so the chart is generated, never typed (R75). docs/readability.md renders it.
  First row after the repair: 94,001 lying declarations over 1,564 callees (86,701 (), 7,300 (void)), 461 in 314 pinned
  bodies; 414,148 raw cast dereferences against 173,286 struct member reads.
- dictionary rows for decl_repair and readability_progress; kit corpus regenerated; tool_census --check OK.
2026-09-10 12:11:22 -06:00

4.5 KiB

1datemilestoneheadsites_ABpinsasmbodies_ABdistinct_ABmarkedunmarkedgte_leversper_tu_asm_macrosclass_Cclass_Dclass_Eclass_Fclass_G
22026-09-09T6 r1 (rung R's first class)1761a3125339572051213445125781758339570462314172250742844576
32026-09-09T6 d1 (rung D's four exemplars)8fac96651339532050813445125741758339530462314172250742844576
42026-09-09T6 p1 (four classes propagated)a2da99b13334271998213445120481755334270462314172250742844576
52026-09-09S101 rung G g1 (the guided search's first run: 1 of 16 exemplars, 132 bodies)623e55340332951998213313119161754332950462314159050742844576
62026-09-09S101 rung G g2 (wider beam + R10/R12/R13/R8-cse: 1 of 16, 132 bodies)584031c71330311971813313117841753330310462314159050742844576
72026-09-09S101 rung G g3 (the next 64 classes: 13 of 64, 1,516 bodies)5ae0b5ceb310251844212583102681740310250462314159050742844576
82026-09-09S101 rung G g4s (the 13 explained names, 38 classes: 3 of 38, 133 bodies)068781ae0308921830912583101351737308920462314159050742844576
92026-09-09S101 rung G g5 (the head re-drawn wide: 5 of 70, 62 bodies)1ec67f667308061826112545100731732308060462314159050742844576
102026-09-09S101 rung G g6 + g6b (the tail: 47 + 63 of 400 small classes, 93 + 186 + 47 bodies)2f3ce92a130358179541240497471624303580462314159050742844576
112026-09-10S102 T7 a1 — func_80156044 closed by an agent (merge-point expression sunk into the if/else arms, both $2/$3 pins gone); 130 bodies banked (1 + 129 propagated)5a8bd102130098176941240496171623300980462314159050742844576
122026-09-10S102 T7 s1 — the R15 sweep of the head: 6 exemplars closed by the sink alone (267 bodies), no drafting tokens861dd065129697174271227093501617296970462314159050742844576
132026-09-10S102 T7 a2 — func_80168828: the constant-holder pin deleted and one adjacent swap closes it (125 bodies, 1 of 2 pins off; the $4 pin is forced by the header's (void) declaration)c00ffe5d429572173021227093501617295720462314159050742844576
142026-09-10S102 T7 s3 (partial, the run crashed in propagate) — the constant-holder draw: 10 bodies closed975850ff829533172661226793261594295330462314159050742844576
152026-09-10S102 T7 s3b — the constant-holder draw re-run after the propagate fix: 1 of 80, 6 bodies; 59 of 80 hit the compile budget5603a114c29527172601226793201593295270462314159050742844576
162026-09-10S102 T7 s5 — the first broad TAIL sweep with R15/R16/R17/R18: 285 of 800 bodies closed lever-free, no drafting tokens449acd8cb29204170291217590351308292040462314159050742844576
172026-09-10S102 T7 s6 — the last never-attempted exemplars: 25 of 337; the fresh pool is now empty67e91ad4d29148169961215290101283291480462314159050742844576
182026-09-10S102 T7 s7 (stopped early to restore agent cadence) — 5 of 207 judged at the wider width724c6885929140169891215190051280291400462314159050742844576
192026-09-10S102 T7 a7 — func_801287B8: a truncated local extern was faking a pin; the missing call argument restored through a function-pointer cast (127 bodies)bb0e95c7c29013168621215188781279290130462314159050742844576
202026-09-10S102 T7 a4 — func_8016C49C: one do-while on the function's LAST statement doubles a loop-note reference weight and flips allocno_compare (126 bodies)9f5b2217628887167361215187521278288870462314159050742844576
212026-09-10S102 T7 burst — a8/a12/a18/a19 banked (132+118+119+134 bodies): the call-arity class twice, a MEM_IN_STRUCT_P alias flip, and a sequence-point splitfb6c857f727984159651201982491275279840462314159050742844576
222026-09-10S102 T7 burst — a5/a9/a11/a16/a25 banked; the MISSING CALL ARGUMENT class confirmed six times independently (m2c dropped arguments at unprototyped and indirect call sites)c6b380fcd26714153241139076121271267140462314159050742844576
232026-09-10S102 T7 burst — a22 banked (126); a14 REFUSED as an invented zero term; a6/a10/a15 read without closing374c8a0e926462151981126474861270264620462314159050742844576
242026-09-10S102 T7 s8 — the first R19 sweep: 3 of 55 classes closed by restoring a dropped call argument, 2 compiles eachf3de70fce26456151931126374831267264560462314159050742844576
252026-09-10S102 — 16,759 lying call declarations repaired free (3,439 units, R22 218/218); levers unchanged, truth improved51028a78d26456151931126374831267264560462314159050742844576