phase-36: S105 — f3 landed 5/5 (4 plain C + 1 minimum-lever proven), R22 218/218, census 4,111 / 0 unmarked (exit 0); checkpoint refreshed | 🛑 T7 RUNNING

This commit is contained in:
Drew T
2026-09-11 13:10:57 -06:00
parent cadb6cacc0
commit 310cea91fa
5 changed files with 77 additions and 56 deletions
+41 -41
View File
@@ -53,7 +53,7 @@
},
"kinds": {
"asm-body/direct": 13,
"barrier/direct": 258,
"barrier/direct": 257,
"gte-lever/direct": 357,
"gte-lever/via-macro": 94,
"gte-unsigned/direct": 270,
@@ -62,7 +62,7 @@
"instruction/direct": 206,
"instruction/via-macro": 22,
"keepalive/direct": 333,
"launder/direct": 588,
"launder/direct": 584,
"launder/via-macro": 42,
"verbatim-body/direct": 2682
}
@@ -115,36 +115,36 @@
},
"classes": {
"A": {
"bodies": 1363,
"distinct_bodies": 532,
"bodies": 1360,
"distinct_bodies": 529,
"file_scope": 0,
"in_bodies": 2212,
"in_bodies": 2203,
"kinds": {
"pin": 2212
"pin": 2203
},
"marked": 2212,
"sites": 2212,
"marked": 2203,
"sites": 2203,
"tus": 1077,
"unmarked": 0
},
"B": {
"bodies": 4621,
"distinct_bodies": 687,
"bodies": 4617,
"distinct_bodies": 683,
"file_scope": 13,
"in_bodies": 11207,
"in_bodies": 11202,
"kinds": {
"asm-body": 13,
"barrier": 258,
"barrier": 257,
"gte": 6355,
"gte-lever": 451,
"gte-unsigned": 270,
"instruction": 228,
"keepalive": 333,
"launder": 630,
"launder": 626,
"verbatim-body": 2682
},
"marked": 2397,
"sites": 11220,
"marked": 2392,
"sites": 11215,
"tus": 1426,
"unmarked": 8823
},
@@ -250,9 +250,9 @@
"coverage": {
"asm": {
"comment_dead": 6781,
"live": 15076,
"live": 15062,
"macro_block": 194,
"raw": 22051
"raw": 22037
},
"attribute": {
"comment_dead": 0,
@@ -268,9 +268,9 @@
},
"register": {
"comment_dead": 8574,
"live": 2262,
"live": 2253,
"macro_block": 18,
"raw": 10854
"raw": 10845
},
"volatile": {
"comment_dead": 2607,
@@ -280,7 +280,7 @@
}
},
"coverage_ok": true,
"elapsed_s": 22.6,
"elapsed_s": 22.3,
"generated": "2026-09-11",
"gte_levers": {
"direct": 357,
@@ -291,15 +291,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": "389373f6d",
"head": "cadb6cacc",
"headers": 3181,
"levers_AB": {
"asm": 1913,
"bodies": 2025,
"distinct_bodies": 719,
"marked": 4125,
"pins": 2212,
"sites": 4125,
"asm": 1908,
"bodies": 2021,
"distinct_bodies": 715,
"marked": 4111,
"pins": 2203,
"sites": 4111,
"unmarked": 0,
"what": "register pins + asm statements excluding GTE ops: the classes the phase drives to 0"
},
@@ -433,29 +433,29 @@
},
"pins": {
"bare_name": 9,
"init": 205,
"init": 204,
"registers": {
"$0": 56,
"$0": 55,
"$10": 10,
"$11": 5,
"$12": 9,
"$13": 6,
"$14": 5,
"$15": 1,
"$16": 79,
"$16": 78,
"$17": 29,
"$18": 26,
"$19": 17,
"$2": 764,
"$2": 763,
"$20": 7,
"$21": 5,
"$22": 3,
"$23": 6,
"$25": 1,
"$3": 164,
"$4": 500,
"$3": 162,
"$4": 497,
"$5": 379,
"$6": 61,
"$6": 60,
"$7": 26,
"$8": 23,
"$9": 21,
@@ -464,29 +464,29 @@
"a1": 2,
"v0": 2
},
"sites": 2212,
"sites": 2203,
"sp": 0,
"spelling": {
"__asm__": 2189,
"__asm__": 2180,
"asm": 23
},
"volatile_qualified": 0,
"zero": 56
"zero": 55
},
"src_stamp": "c520d7e0bc97f00f",
"src_stamp": "2d70f3c71cf4dfdf",
"tus": 4121,
"unclassified": 0,
"union_AD": {
"bodies": 5790,
"bodies": 5786,
"by_kind": {
"main": 124,
"md": 109,
"md": 105,
"ov": 5391,
"resident": 6,
"shared": 160
},
"copies_in_multi": 4849,
"distinct_bodies": 1051,
"distinct_bodies": 1047,
"multi_copy_classes": 110
},
"verbatim_excluded": {
+9 -9
View File
@@ -1,26 +1,26 @@
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 22051 = live 15076 + macro-block 194 + comment/dead 6781
coverage register raw 10854 = live 2262 + macro-block 18 + comment/dead 8574
coverage asm raw 22037 = live 15062 + macro-block 194 + comment/dead 6781
coverage register raw 10845 = live 2253 + macro-block 18 + comment/dead 8574
coverage volatile raw 4372 = live 1683 + macro-block 82 + comment/dead 2607
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 2212 2212 0 1363 532 1077 2212 0 {'pin': 2212}
B asm 11220 11207 13 4621 687 1426 2397 8823 {'gte': 6355, 'gte-lever': 451, 'gte-unsigned': 270, 'barrier': 258, 'launder': 630, 'instruction': 228, 'asm-body': 13, 'keepalive': 333, 'verbatim-body': 2682}
A pins 2203 2203 0 1360 529 1077 2203 0 {'pin': 2203}
B asm 11215 11202 13 4617 683 1426 2392 8823 {'gte': 6355, 'gte-lever': 451, 'gte-unsigned': 270, 'barrier': 257, 'launder': 626, 'instruction': 228, 'asm-body': 13, 'keepalive': 333, 'verbatim-body': 2682}
C volatile 1589 1437 152 495 94 609 14 1575 {'decl-body': 58, 'decl-file': 152, 'cast': 1377, 'param': 2}
D register 50 50 0 47 47 6 0 50 {'register': 50}
E asm-label 7800 1368 6432 1099 160 2090 0 7800 {'asm-label': 7800}
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,790 bodies · 1,051 distinct (addresses normalized) · 110 multi-copy classes holding 4,849 bodies · by kind {'ov': 5391, 'shared': 160, 'main': 124, 'md': 109, 'resident': 6}
THE PHASE'S NUMBER (pins + asm statements, GTE excluded): 4,125 sites in 2,025 bodies (719 distinct) · marked !FAKE 4,125 · UNMARKED 0
UNION A–D: 5,786 bodies · 1,047 distinct (addresses normalized) · 110 multi-copy classes holding 4,849 bodies · by kind {'ov': 5391, 'md': 105, 'main': 124, 'shared': 160, 'resident': 6}
THE PHASE'S NUMBER (pins + asm statements, GTE excluded): 4,111 sites in 2,021 bodies (715 distinct) · marked !FAKE 4,111 · 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): 50
GTE levers (clobbers beyond the canonical macro's): 451 sites (94 via a variant macro, 357 direct) · marked 451 · UNMARKED 0 · unsigned GTE statements 270
per-TU asm macro definitions outside the GTE header: 314 {'gte': 150, 'launder': 154, 'instruction': 9, 'barrier': 1} (GTE variants 64)
pins: 2,212 · $0 56 · $sp 0 · with initializer 205 · volatile-qualified 0 · bare-name 9 · spellings {'__asm__': 2189, 'asm': 23}
pins: 2,203 · $0 55 · $sp 0 · with initializer 204 · volatile-qualified 0 · bare-name 9 · spellings {'__asm__': 2180, 'asm': 23}
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': 258, 'gte/direct': 197, 'gte/via-macro': 6158, 'gte-lever/direct': 357, 'gte-lever/via-macro': 94, 'gte-unsigned/direct': 270, 'instruction/direct': 206, 'instruction/via-macro': 22, 'keepalive/direct': 333, 'launder/direct': 588, 'launder/via-macro': 42, 'verbatim-body/direct': 2682}
asm kinds: {'asm-body/direct': 13, 'barrier/direct': 257, 'gte/direct': 197, 'gte/via-macro': 6158, 'gte-lever/direct': 357, 'gte-lever/via-macro': 94, 'gte-unsigned/direct': 270, 'instruction/direct': 206, 'instruction/via-macro': 22, 'keepalive/direct': 333, 'launder/direct': 584, 'launder/via-macro': 42, 'verbatim-body/direct': 2682}
instruction mnemonics: {'la': 139, 'addu': 23, 'addiu': 22, 'RTP_SND': 22, '.section': 7, 'lui': 3, 'lh': 3, 'and': 2, 'mult': 1, 'mfhi': 1, 'sll': 1, 'li': 1, 'lw': 1, 'nop': 1, 'srl': 1}
gte mnemonics: {'gte_ldv0': 758, 'gte_stlvnl': 593, 'gte_stsxy': 448, 'gte_rtps': 439, 'gte_stflg': 415, 'gte_rtpt': 352, 'gte_SetRotMatrix': 253, 'gte_stsxy3': 236, 'gte_SetTransMatrix': 231, 'gte_rtv0tr': 228, 'gte_ldv3c': 184, 'gte_ldv3': 177, 'gte_stsv': 161, 'lwc2': 158, 'gte_stsz4': 149, 'gte_stsz3': 147, 'gte_stszotz': 134, 'gte_dpcl': 134, 'gte_stclmv': 114, 'gte_stsxy3_f3': 111, 'gte_nclip': 108, 'gte_stopz': 108, 'gte_stsxy3c': 108, 'gte_rtir': 81, 'gte_stsxy3_ft3': 79, 'gte_ldclmv': 78, 'gte_avsz4': 56, 'gte_stotz': 52, 'gte_ldrgb': 30, 'gte_nccs': 25}
asm-bearing macro definitions: 314 (20 names, 3 with >1 text) kinds {'gte': 150, 'launder': 154, 'instruction': 9, 'barrier': 1}
@@ -29,4 +29,4 @@ lever_census: 218 binaries · 4,121 TUs + 3,181 headers · coverage OK · unclas
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 22.6 s
elapsed 22.3 s
+1
View File
@@ -67,3 +67,4 @@ date milestone head sites_AB pins asm bodies_AB distinct_AB marked unmarked gte_
2026-09-11 S104 T7 close: e35–e38 resumed after the usage limit 765704ca5 4152 2227 1925 2033 727 4152 0 451 314 1589 50 7800 445 76
2026-09-11 S105 f2 (4) + R44/R22 regen (3) 0076a9d2e 4132 2217 1915 2027 721 4132 0 451 314 1589 50 7800 445 76
2026-09-11 S105 f1 (4) 389373f6d 4125 2212 1913 2025 719 4125 0 451 314 1589 50 7800 445 76
2026-09-11 S105 f3 (4 + 1 proven) cadb6cacc 4111 2203 1908 2021 715 4111 0 451 314 1589 50 7800 445 76
1 date milestone head sites_AB pins asm bodies_AB distinct_AB marked unmarked gte_levers per_tu_asm_macros class_C class_D class_E class_F class_G
67 2026-09-11 S104 T7 close: e35–e38 resumed after the usage limit 765704ca5 4152 2227 1925 2033 727 4152 0 451 314 1589 50 7800 445 76
68 2026-09-11 S105 f2 (4) + R44/R22 regen (3) 0076a9d2e 4132 2217 1915 2027 721 4132 0 451 314 1589 50 7800 445 76
69 2026-09-11 S105 f1 (4) 389373f6d 4125 2212 1913 2025 719 4125 0 451 314 1589 50 7800 445 76
70 2026-09-11 S105 f3 (4 + 1 proven) cadb6cacc 4111 2203 1908 2021 715 4111 0 451 314 1589 50 7800 445 76
+3 -1
View File
@@ -113,6 +113,7 @@ counted, not marked). E, F and G belong to the canonical type layer and are the
| 2026-09-11 | S104 T7 close: e35–e38 resumed after the usage limit | 2227 | 1925 | **4152** | 2033 | 727 | 451 | 314 | 1589 | 50 | 7800 | 445 | 76 | `765704ca5` |
| 2026-09-11 | S105 f2 (4) + R44/R22 regen (3) | 2217 | 1915 | **4132** | 2027 | 721 | 451 | 314 | 1589 | 50 | 7800 | 445 | 76 | `0076a9d2e` |
| 2026-09-11 | S105 f1 (4) | 2212 | 1913 | **4125** | 2025 | 719 | 451 | 314 | 1589 | 50 | 7800 | 445 | 76 | `389373f6d` |
| 2026-09-11 | S105 f3 (4 + 1 proven) | 2203 | 1908 | **4111** | 2021 | 715 | 451 | 314 | 1589 | 50 | 7800 | 445 | 76 | `cadb6cacc` |
### The campaign — every batch, from the ledger (derived on every render)
@@ -413,7 +414,8 @@ counted, not marked). E, F and G belong to the canonical type layer and are the
| `s105_r44r22` | 2026-09-11 | E | 0 | 0 | 0 | 13 | 3 |
| `s105_f1` | 2026-09-11 | E | 0 | 0 | 0 | 4 | 2 |
| `s105_f1_minlever` | 2026-09-11 | E | 0 | 0 | 0 | 3 | 0 |
| **total** | | | **17,122** | **20,778** | **283** | **30,301** | **10,721** |
| `s105_f3` | 2026-09-11 | E | 0 | 0 | 0 | 14 | 4 |
| **total** | | | **17,122** | **20,778** | **283** | **30,315** | **10,725** |
*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).*
+23 -5
View File
@@ -1983,16 +1983,34 @@ accumulate here as the phase produces them.**
**`check-all: 218 passed, 0 failed of 218`** (85 s) → baseline at `389373f6d` → `lever_census --check: 4,125 pin/asm sites, 4,125 marked
!FAKE, 0 UNMARKED — OK` (exit 0) → snapshot (4,132 → **4,125**).
## 🛑 SESSION CHECKPOINT — S105 (2026-09-11, LIVE — refreshed at every landing): T0–T6 ☑, **T7 RUNNING at Drew's cap of TWO agents**. 4,152 → **4,125 sites** so far; f1 + f2 landed (8/8), f3 + f4 IN FLIGHT; generator **R44** + the R22 `&&` blind-spot fix; R22 `check-all: 218 passed, 0 failed of 218` at `389373f6d` | `lever_census --check` exit 0 (4,125 marked, 0 UNMARKED, 0 orphans)
- **S105 — f3 landed: 5 of 5 at 0 (4 plain C, 1 minimum-lever PROVEN at its five), R22 218/218; 4,125 → 4,111 sites.** f3
(`md_SC07_004`, ≈515k tokens, 77 min): `func_801AEB94` 5 → 0 (the loop inits moved after the preceding call as a `for`, sched1's LUID
tie-break `sched.c:2384-2428`; 2 launders → 0), `func_801A4258` 11 → 0 (`if (F != G) { F += (u16)S; D[i] = F >> 7; }` on the field — e8's
rule, third body in this TU; 4 pins + barrier + a dead `pad[6]` → 0; a structs finding: `s16 *p = D_801F8870; p[0..2]` reproduces the
target's addressing asymmetry with link-time-identical relocations — the three globals are one `s16[3]`), `func_801AADA8` 29 → 0 and
`func_801AB21C` 44 → 0 (**the multi-set chain**: a load-once/use-once RMW value as compound updates on ONE variable declared in the
innermost block — no birthing boost `sched.c:2477-2490` → an early load → a longer life → a lower `qty_compare_1` rank; `localalloc_sim`
0 mismatches; 3 + 4 levers → 0), `func_801ADF5C` 41 → 25 in plain C and **0 only with the tree's five levers** (every 4-subset scores 2,
every 3-subset ≥ 4, ~470 bodies: the original reused its constant holders) — banked with the markers carrying the pass (5 → 5, no
site change; the milestone's item 2 attribution). The agent spliced all five into one TU copy and proved the joint object equal to the
baseline (`.text`, `.rodata`, 2,863 relocations, the symbol table). `bank_list.sh`: `IDENTICAL … KEPT` ×5 (`f4521a077`, `e16cb5d6f`,
`6aabe1905`, `71e32fed0`, `5bc2951d8`). f5 (`ov_SC02_005_jr_8018EA04`, 7 classes) launched into the slot first. **Harvest:** METHOD
step 18 (`cadb6cacc`); the compound-update move is a COMPOSITION of R6 + R32 + a block-scope declaration that the single-move regen
cannot reach — not a new generator. R22 (`.run/P36/s105/r22_c.log`) **`check-all: 218 passed, 0 failed of 218`** (83 s) → baseline at
`cadb6cacc` → `lever_census --check: 4,111 pin/asm sites, 4,111 marked !FAKE, 0 UNMARKED — OK` (exit 0) → snapshot (4,125 → **4,111**).
## 🛑 SESSION CHECKPOINT — S105 (2026-09-11, LIVE — refreshed at every landing): T0–T6 ☑, **T7 RUNNING at Drew's cap of TWO agents**. 4,152 → **4,111 sites** so far; f1–f3 landed (13/13), f4 + f5 IN FLIGHT; generator **R44** + the R22 `&&` blind-spot fix; R22 `check-all: 218 passed, 0 failed of 218` at `cadb6cacc` | `lever_census --check` exit 0 (4,111 marked, 0 UNMARKED, 0 orphans)
### 0. How to use this block — READ THIS FIRST
A fresh session reads CLAUDE.md's load order, replays this block verbatim, confirms the effort (S105 runs at `/effort high` on Opus 5 1M;
every agent on Opus) and executes §2. **Drew's cap is TWO concurrent agents (S105 open).** What may be in flight when this is read:
**f3** (`src/md_SC07_004/md_SC07_004.c`: func_801AEB94, func_801A4258, func_801AADA8, func_801ADF5C, func_801AB21C) and **f4**
(`src/ov_SC04_011/ov_SC04_011_jr_8017D494.c`: func_801835B0, func_8018315C, func_80182BBC, func_80183058, func_8018489C). A dead session's agents leave `body.c` + `mechanism.md` in
**f4** (`src/ov_SC04_011/ov_SC04_011_jr_8017D494.c`: func_801835B0, func_8018315C, func_80182BBC, func_80183058, func_8018489C) and
**f5** (`src/ov_SC02_005/ov_SC02_005_jr_8018EA04.c`: func_8018F944, func_801900B0, func_8018FA34, func_8018FB8C, func_8018FCE4,
func_8018FEA0, func_8018F72C). A dead session's agents leave `body.c` + `mechanism.md` in
`.run/P36/agents/<alias>__<fn>/` (R67): `--try` each `body.c`; a 0 banks via `.run/P36/s105/bank_list.sh` (one line per body
`TU FN FILE LABEL MSG`; a `*minlever*` label adds `--allow-residue`); anything else is a reading to record. Briefs for the NEXT draws are
written and their packs built: `.run/P36/s105/BRIEF_f5.md` (ov_SC02_005, 7 classes), `BRIEF_f6.md` (ov_SC07_007, 6) — launch each as a general-purpose Agent whose prompt names the brief file (the f1/f3 prompts are the
written and their packs built: `.run/P36/s105/BRIEF_f6.md` (ov_SC07_007, 6 classes), `BRIEF_f7.md` (ov_SC01_077, 6), `BRIEF_f8.md`
(ov_SC02_005_jr_80185E80, 5); `.run/P36/s105/mkbrief.py <id> <tu>` builds the packs + brief for any TU of `pick.json` — launch each as a general-purpose Agent whose prompt names the brief file (the f1/f3 prompts are the
pattern). First commands:
```
git log --oneline -1 && git status --short | grep -v '^??' | wc -l
@@ -2008,7 +2026,7 @@ git log --oneline -1 && git status --short | grep -v '^??' | wc -l
- The free sweep is SPENT: every residue class has been judged by every family R2–R44 (S105 `s105_r43_*`, `s105_r44r22`).
### 2. NEXT
1. Land f3/f4 (§0) → launch f5, f6 in turn (two at a time) → then draw the next TUs from `pick.py` (ov_SC01_077 6 cls, then the
1. Land f4/f5 (§0) → launch f6, f7, f8 in turn (two at a time) → then draw the next TUs from `pick.py` (ov_SC01_077 6 cls, then the
5-class TUs), one brief per TU, 4–7 classes each, skipping ARG-ONLY (`$4`–`$7`-only pins = the missing-parameter shape → structs phase)
and the park list (S104 §2.4 + f2's func_800385C0 signature change).
2. The 21 UNSTRIPPABLE classes (`.run/P36/s105/unstrippable.json`: 6 comment-boundary strips, 6 macro-carried launders, 5 instructions