diff --git a/.run/P36/census/lever_census.json b/.run/P36/census/lever_census.json index cc2c1b87a5..d21e31abd5 100644 --- a/.run/P36/census/lever_census.json +++ b/.run/P36/census/lever_census.json @@ -5,6 +5,7 @@ "gte_mnemonics": { "gte_SetRotMatrix": 249, "gte_SetTransMatrix": 229, + "gte_avsz3": 25, "gte_avsz4": 56, "gte_dpcl": 134, "gte_ldclmv": 72, @@ -12,7 +13,6 @@ "gte_ldv0": 757, "gte_ldv3": 177, "gte_ldv3c": 184, - "gte_nccs": 25, "gte_nclip": 108, "gte_rtir": 75, "gte_rtps": 437, @@ -72,6 +72,9 @@ "cfake_markers": { "count": 33, "sample": [ + "src/ov_SC03_024/ov_SC03_024_jr_8017DF84.c:5534", + "src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c:5814", + "src/ov_SC05_007/ov_SC05_007_jr_8017BEBC.c:3335", "src/800.c:12748", "src/md_SC07_003/md_SC07_003.c:3577", "src/md_SC07_004/md_SC07_004.c:280", @@ -84,7 +87,6 @@ "src/ov_SC02_028/ov_SC02_028_jr_8017D898.c:5464", "src/ov_SC02_041/ov_SC02_041_jr_8017BEBC.c:7554", "src/ov_SC03_014/ov_SC03_014_jr_801848E4.c:5080", - "src/ov_SC03_024/ov_SC03_024_jr_8017DF84.c:5530", "src/ov_SC03_024/ov_SC03_024_jr_80183BF8.c:3108", "src/ov_SC03_118/ov_SC03_118_jr_8017FB84.c:3796", "src/ov_SC03_121/ov_SC03_121_jr_8017E1D0.c:4568", @@ -95,10 +97,8 @@ "src/ov_SC04_007/ov_SC04_007_jr_8017BEBC.c:6630", "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c:7487", "src/ov_SC04_011/ov_SC04_011_jr_8017D494.c:10290", - "src/ov_SC05_001/ov_SC05_001_jr_8017BEBC.c:5814", "src/ov_SC05_003/ov_SC05_003_jr_8017BEBC.c:4815", "src/ov_SC05_005/ov_SC05_005_jr_8017D898.c:4026", - "src/ov_SC05_007/ov_SC05_007_jr_8017BEBC.c:3335", "src/ov_SC05_018/ov_SC05_018_jr_8017D604.c:4942", "src/ov_SC06_000/ov_SC06_000_jr_8017AE2C.c:8485", "src/ov_SC06_016/ov_SC06_016_jr_801816DC.c:3082", @@ -109,16 +109,16 @@ }, "classes": { "A": { - "bodies": 1515, - "distinct_bodies": 676, + "bodies": 1497, + "distinct_bodies": 660, "file_scope": 0, - "in_bodies": 2419, + "in_bodies": 2394, "kinds": { - "pin": 2419 + "pin": 2394 }, - "marked": 2419, - "sites": 2419, - "tus": 1091, + "marked": 2394, + "sites": 2394, + "tus": 1085, "unmarked": 0 }, "B": { @@ -244,9 +244,9 @@ "coverage": { "asm": { "comment_dead": 6782, - "live": 15440, + "live": 15415, "macro_block": 194, - "raw": 22416 + "raw": 22391 }, "attribute": { "comment_dead": 0, @@ -262,9 +262,9 @@ }, "register": { "comment_dead": 8576, - "live": 2469, + "live": 2444, "macro_block": 18, - "raw": 11063 + "raw": 11038 }, "volatile": { "comment_dead": 2606, @@ -274,7 +274,7 @@ } }, "coverage_ok": true, - "elapsed_s": 34.9, + "elapsed_s": 31.9, "generated": "2026-09-11", "gte_levers": { "direct": 362, @@ -285,15 +285,15 @@ "via_macro": 94, "what": "GTE ops whose clobbers exceed the canonical macro's (a scheduling steer): class-B levers INSIDE the headline number since T5 (2026-09-09), marked, 0 at the close" }, - "head": "f351d4a21", + "head": "4de2fb06a", "headers": 3181, "levers_AB": { "asm": 2079, - "bodies": 2228, - "distinct_bodies": 911, - "marked": 4498, - "pins": 2419, - "sites": 4498, + "bodies": 2210, + "distinct_bodies": 895, + "marked": 4473, + "pins": 2394, + "sites": 4473, "unmarked": 0, "what": "register pins + asm statements excluding GTE ops: the classes the phase drives to 0" }, @@ -440,15 +440,15 @@ "$17": 41, "$18": 32, "$19": 22, - "$2": 841, + "$2": 824, "$20": 7, "$21": 6, "$22": 3, "$23": 6, "$25": 1, "$29": 13, - "$3": 199, - "$4": 506, + "$3": 192, + "$4": 505, "$5": 387, "$6": 62, "$7": 27, @@ -460,30 +460,30 @@ "v0": 2, "v1": 3 }, - "sites": 2419, + "sites": 2394, "sp": 13, "spelling": { - "__asm__": 2389, + "__asm__": 2364, "asm": 30 }, "volatile_qualified": 0, "zero": 70 }, - "src_stamp": "a59ab1a32d2446e5", + "src_stamp": "0cb0031b13c003c8", "tus": 4121, "unclassified": 0, "union_AD": { - "bodies": 5973, + "bodies": 5955, "by_kind": { "main": 159, "md": 119, - "ov": 5523, + "ov": 5506, "resident": 10, - "shared": 162 + "shared": 161 }, - "copies_in_multi": 4871, - "distinct_bodies": 1223, - "multi_copy_classes": 121 + "copies_in_multi": 4867, + "distinct_bodies": 1207, + "multi_copy_classes": 119 }, "verbatim_excluded": { "functions": 13, diff --git a/.run/P36/census/lever_census.txt b/.run/P36/census/lever_census.txt index b8cb42e359..7c9b1e6418 100644 --- a/.run/P36/census/lever_census.txt +++ b/.run/P36/census/lever_census.txt @@ -1,32 +1,32 @@ lever_census: 218 binaries · 4,121 TUs + 3,181 headers · coverage OK · unclassified 0 · verbatim excluded 13 fn / 14 sites (manifest 13) - coverage asm raw 22416 = live 15440 + macro-block 194 + comment/dead 6782 - coverage register raw 11063 = live 2469 + macro-block 18 + comment/dead 8576 + coverage asm raw 22391 = live 15415 + macro-block 194 + comment/dead 6782 + coverage register raw 11038 = live 2444 + macro-block 18 + comment/dead 8576 coverage volatile raw 4386 = live 1698 + macro-block 82 + comment/dead 2606 coverage builtin raw 599 = live 445 + macro-block 0 + comment/dead 154 coverage attribute raw 76 = live 76 + macro-block 0 + comment/dead 0 class sites in-bodies file-scope bodies distinct TUs marked unmarked kinds - A pins 2419 2419 0 1515 676 1091 2419 0 {'pin': 2419} - B asm 11360 11347 13 4716 775 1428 2569 8791 {'barrier': 329, 'launder': 705, 'keepalive': 344, 'gte': 6328, 'gte-lever': 456, 'gte-unsigned': 271, 'instruction': 232, 'asm-body': 13, 'verbatim-body': 2682} - C volatile 1590 1438 152 496 95 610 14 1576 {'decl-body': 58, 'decl-file': 152, 'cast': 1378, 'param': 2} + A pins 2394 2394 0 1497 660 1085 2394 0 {'pin': 2394} + B asm 11360 11347 13 4716 775 1428 2569 8791 {'keepalive': 344, 'gte': 6328, 'launder': 705, 'gte-lever': 456, 'gte-unsigned': 271, 'barrier': 329, 'instruction': 232, 'asm-body': 13, 'verbatim-body': 2682} + C volatile 1590 1438 152 496 95 610 14 1576 {'cast': 1378, 'decl-body': 58, 'decl-file': 152, 'param': 2} D register 50 50 0 47 47 6 0 50 {'register': 50} E asm-label 7787 1364 6423 1096 157 2090 0 7787 {'asm-label': 7787} F builtin 445 445 0 428 27 302 0 445 {'builtin': 445} G attribute 76 1 75 1 1 40 0 76 {'attribute': 76} - UNION A–D: 5,973 bodies · 1,223 distinct (addresses normalized) · 121 multi-copy classes holding 4,871 bodies · by kind {'main': 159, 'ov': 5523, 'md': 119, 'shared': 162, 'resident': 10} - THE PHASE'S NUMBER (pins + asm statements, GTE excluded): 4,498 sites in 2,228 bodies (911 distinct) · marked !FAKE 4,498 · UNMARKED 0 + UNION A–D: 5,955 bodies · 1,207 distinct (addresses normalized) · 119 multi-copy classes holding 4,867 bodies · by kind {'ov': 5506, 'shared': 161, 'main': 159, 'md': 119, 'resident': 10} + THE PHASE'S NUMBER (pins + asm statements, GTE excluded): 4,473 sites in 2,210 bodies (895 distinct) · marked !FAKE 4,473 · UNMARKED 0 orphan !FAKE markers (no pin/asm site on the line nor below): 0 marked ordinary-C fakes kept by Drew's S104 ruling (a) (`do { } while (0)`, dead initialisers; NOT levers): 33 GTE levers (clobbers beyond the canonical macro's): 456 sites (94 via a variant macro, 362 direct) · marked 456 · UNMARKED 0 · unsigned GTE statements 271 per-TU asm macro definitions outside the GTE header: 314 {'gte': 150, 'launder': 154, 'instruction': 9, 'barrier': 1} (GTE variants 64) - pins: 2,419 · $0 70 · $sp 13 · with initializer 221 · volatile-qualified 0 · bare-name 15 · spellings {'__asm__': 2389, 'asm': 30} + pins: 2,394 · $0 70 · $sp 13 · with initializer 221 · volatile-qualified 0 · bare-name 15 · spellings {'__asm__': 2364, 'asm': 30} whole-body asm routines in C shells, manifest PERMANENT (hand asm, NOT levers): 22 routines · 2,682 sites (2,660 private copies + 22 shared headers); asm-bodies NOT permanent (levers): 13 site(s) ['func_8001E378:DECOMPILE-NOW', 'func_80020F34:DECOMPILE-NOW', 'func_800249F0:DECOMPILE-NOW', 'func_80025CBC:DECOMPILE-NOW', 'func_80026514:UNCERTAIN', 'func_800268D0:UNCERTAIN', 'func_80027058:DECOMPILE-NOW', 'func_80027200:DECOMPILE-NOW', 'func_800CBA44:DECOMPILE-NOW', 'func_8017D810:DECOMPILE-NOW', 'func_8017E26C:UNCERTAIN', 'func_80184440:DECOMPILE-NOW', 'func_801A3BCC:DECOMPILE-NOW'] asm kinds: {'asm-body/direct': 13, 'barrier/direct': 327, 'barrier/via-macro': 2, 'gte/direct': 200, 'gte/via-macro': 6128, 'gte-lever/direct': 362, 'gte-lever/via-macro': 94, 'gte-unsigned/direct': 271, 'instruction/direct': 210, 'instruction/via-macro': 22, 'keepalive/direct': 344, 'launder/direct': 663, 'launder/via-macro': 42, 'verbatim-body/direct': 2682} instruction mnemonics: {'la': 142, 'addu': 23, 'addiu': 22, 'RTP_SND': 22, '.section': 7, 'lui': 4, 'lh': 3, 'and': 2, 'mult': 1, 'mfhi': 1, 'sll': 1, 'li': 1, 'lw': 1, 'nop': 1, 'srl': 1} - gte mnemonics: {'gte_ldv0': 757, 'gte_stlvnl': 593, 'gte_stsxy': 447, 'gte_rtps': 437, 'gte_stflg': 415, 'gte_rtpt': 352, 'gte_SetRotMatrix': 249, 'gte_stsxy3': 236, 'gte_SetTransMatrix': 229, 'gte_rtv0tr': 228, 'gte_ldv3c': 184, 'gte_ldv3': 177, 'gte_stsv': 161, 'lwc2': 159, 'gte_stsz4': 149, 'gte_stsz3': 147, 'gte_stszotz': 134, 'gte_dpcl': 134, 'gte_stsxy3_f3': 111, 'gte_stclmv': 108, 'gte_nclip': 108, 'gte_stopz': 108, 'gte_stsxy3c': 108, 'gte_stsxy3_ft3': 79, 'gte_rtir': 75, 'gte_ldclmv': 72, 'gte_avsz4': 56, 'gte_stotz': 52, 'gte_ldrgb': 30, 'gte_nccs': 25} + gte mnemonics: {'gte_ldv0': 757, 'gte_stlvnl': 593, 'gte_stsxy': 447, 'gte_rtps': 437, 'gte_stflg': 415, 'gte_rtpt': 352, 'gte_SetRotMatrix': 249, 'gte_stsxy3': 236, 'gte_SetTransMatrix': 229, 'gte_rtv0tr': 228, 'gte_ldv3c': 184, 'gte_ldv3': 177, 'gte_stsv': 161, 'lwc2': 159, 'gte_stsz4': 149, 'gte_stsz3': 147, 'gte_stszotz': 134, 'gte_dpcl': 134, 'gte_stsxy3_f3': 111, 'gte_nclip': 108, 'gte_stopz': 108, 'gte_stsxy3c': 108, 'gte_stclmv': 108, 'gte_stsxy3_ft3': 79, 'gte_rtir': 75, 'gte_ldclmv': 72, 'gte_avsz4': 56, 'gte_stotz': 52, 'gte_ldrgb': 30, 'gte_avsz3': 25} asm-bearing macro definitions: 314 (20 names, 3 with >1 text) kinds {'gte': 150, 'launder': 154, 'instruction': 9, 'barrier': 1} controls (R39): src/800.c func_800226C0 pins got 14 expected 45 N-A src/shared/ov/func_80178004.h pins got 8 expected 26 N-A ov_SC03_006 func_80184034 bare-name pins got 0 expected 3 N-A engine_prelude.h asm sites (a macro definition only) got 0 expected 0 OK - elapsed 34.9 s + elapsed 31.9 s diff --git a/docs/lever-progress.tsv b/docs/lever-progress.tsv index 11f0ee994b..c2b0a569eb 100644 --- a/docs/lever-progress.tsv +++ b/docs/lever-progress.tsv @@ -59,3 +59,4 @@ date milestone head sites_AB pins asm bodies_AB distinct_AB marked unmarked gte_ 2026-09-10 S104 T7: d17 + R28–R33 pass (4) + R27 remainder 13069c142 4732 2565 2167 2373 1011 4732 0 456 314 1590 50 7780 445 76 2026-09-10 S104 T7: agents d21–d27 (d29 parked) + the shared header 1d42fff3c 4661 2515 2146 2336 996 4661 0 456 314 1590 50 7780 445 76 2026-09-10 S104 T7: d30–d33 + the R23/R34–R36 pass (16) 93e2a9170 4603 2478 2125 2301 973 4603 0 456 314 1590 50 7780 445 76 +2026-09-11 S104 T7: TU batches e1–e7 + regen passes 4de2fb06a 4473 2394 2079 2210 895 4473 0 456 314 1590 50 7787 445 76 diff --git a/docs/levers.md b/docs/levers.md index d48927a5fa..2ac52eab6a 100644 --- a/docs/levers.md +++ b/docs/levers.md @@ -105,6 +105,7 @@ counted, not marked). E, F and G belong to the canonical type layer and are the | 2026-09-10 | S104 T7: d17 + R28–R33 pass (4) + R27 remainder | 2565 | 2167 | **4732** | 2373 | 1011 | 456 | 314 | 1590 | 50 | 7780 | 445 | 76 | `13069c142` | | 2026-09-10 | S104 T7: agents d21–d27 (d29 parked) + the shared header | 2515 | 2146 | **4661** | 2336 | 996 | 456 | 314 | 1590 | 50 | 7780 | 445 | 76 | `1d42fff3c` | | 2026-09-10 | S104 T7: d30–d33 + the R23/R34–R36 pass (16) | 2478 | 2125 | **4603** | 2301 | 973 | 456 | 314 | 1590 | 50 | 7780 | 445 | 76 | `93e2a9170` | +| 2026-09-11 | S104 T7: TU batches e1–e7 + regen passes | 2394 | 2079 | **4473** | 2210 | 895 | 456 | 314 | 1590 | 50 | 7787 | 445 | 76 | `4de2fb06a` | ### The campaign — every batch, from the ledger (derived on every render) @@ -350,7 +351,21 @@ counted, not marked). E, F and G belong to the canonical type layer and are the | `s104_d32` | 2026-09-10 | E | 0 | 0 | 0 | 9 | 3 | | `s104_new4` | 2026-09-10 | E | 0 | 0 | 0 | 17 | 16 | | `s104_new4p` | 2026-09-10 | E | 0 | 0 | 0 | 1 | 1 | -| **total** | | | **17,122** | **20,778** | **283** | **29,829** | **10,447** | +| `s104_d37` | 2026-09-10 | E | 0 | 0 | 0 | 8 | 4 | +| `s104_d35` | 2026-09-11 | E | 0 | 0 | 0 | 12 | 4 | +| `s104_d38` | 2026-09-11 | E | 0 | 0 | 0 | 2 | 2 | +| `s104_d39` | 2026-09-11 | E | 0 | 0 | 0 | 6 | 3 | +| `s104_d34` | 2026-09-11 | E | 0 | 0 | 0 | 14 | 7 | +| `s104_part3` | 2026-09-11 | E | 0 | 0 | 0 | 44 | 37 | +| `s104_r31r35` | 2026-09-11 | E | 0 | 0 | 0 | 7 | 3 | +| `s104_r31r35p` | 2026-09-11 | E | 0 | 0 | 0 | 1 | 1 | +| `s104_e1` | 2026-09-11 | E | 0 | 0 | 0 | 1 | 1 | +| `s104_e4` | 2026-09-11 | E | 0 | 0 | 0 | 3 | 3 | +| `s104_e3` | 2026-09-11 | E | 0 | 0 | 0 | 1 | 1 | +| `s104_e7` | 2026-09-11 | E | 0 | 0 | 0 | 5 | 5 | +| `s104_e2` | 2026-09-11 | E | 0 | 0 | 0 | 1 | 1 | +| `s104_e6` | 2026-09-11 | E | 0 | 0 | 0 | 25 | 18 | +| **total** | | | **17,122** | **20,778** | **283** | **29,959** | **10,537** | *Generated by `tools/lever_progress.py --render` from `.run/P36/census/lever_census.json` and `.run/P36/delever/ledger.jsonl`; the series lives in `docs/lever-progress.tsv` (R75: published numbers are generated, never typed).*