T12.c1: D1: readability snapshot, timeline, README for Phase 3.39 close

This commit is contained in:
Drew T
2026-10-02 23:01:34 -06:00
parent e779607e6f
commit 950fd24cb9
7 changed files with 6 additions and 6 deletions
+1 -1
View File
@@ -66,7 +66,7 @@
},
"types": {
"date": "2026-10-03",
"head": "3a9377c926",
"head": "20faec8d40",
"snapshot": "P39",
"census": ".run/P39/census/type_census.json",
"what": "the structs phases' counters: raw pointer-cast dereferences in four forms (P *(T*)(\u2026), I *(T*)ident, X ((T*)e)[i], M M2C_FIELD), struct definitions and their duplicate classes, lying call declarations, and the struct map's types",
-2
View File
@@ -18,5 +18,3 @@ REAL matches: CdQueueBusy CdReadRequest CdReadSectorReadyCB CdReadStateMachine D
NON_MATCHING:
build SHA1: 143dbb89f34491258bbc27810d0a12ec8b43a8dd (byte-identical)
empties audit: 43/43 genuine jr;nop (all clean)
+1
View File
@@ -12,3 +12,4 @@ date label commit definitions narrow_decls callees kr_empty narrow pinned_rows p
2026-10-02 P3.39 T7.1: GTE to one spelling (direct GTE 492 -> 0, per-TU gte defs 150 -> 0) 72e4c48c8928a952e3c0021620ee2cdc85dbc169 16094 11 3 2 9 0 0 260306 320402 336219 257469 49831 13790 15129 18889 173103 1650 1021 600 523 53 496 17878 98.8 5293 200 418 96
2026-10-02 P3.39 T8: lever residue TSV (2433 rows, reading A) 21f3aee1b2cbbca84ab26fbd5a49c869ce5db7f8 16094 11 3 2 9 0 0 260312 320402 336225 257475 49831 13790 15129 18889 173103 1650 1021 600 523 53 496 17677 98.8 5293 200 418 96
2026-10-02 P3.39 close: cast campaign, reading A 3a9377c926d83ba643f29f28186a3e810e15736d 16094 11 3 2 9 0 0 260312 320402 336225 257475 49831 13790 15129 18889 173103 1650 1021 600 523 53 496 17968 98.8 5293 200 418 96
2026-10-02 P3.39 T12: phase-close docs 20faec8d40b1aa3bfe30398ba250c9dc4b571df9 16094 11 3 2 9 0 0 260312 320402 336225 257475 49831 13790 15129 18889 173103 1650 1021 600 523 53 496 17968 98.8 5293 200 418 96
1 date label commit definitions narrow_decls callees kr_empty narrow pinned_rows pinned_bodies raw_casts struct_members deref_all form_P form_I form_X form_M addr_form typed_cast_member struct_defs canon_defs in_c_defs distinct_layouts dup_classes dup_names map_types map_pct kr_sites kr_callees cross_binary cross_callees
12 2026-10-02 P3.39 T7.1: GTE to one spelling (direct GTE 492 -> 0, per-TU gte defs 150 -> 0) 72e4c48c8928a952e3c0021620ee2cdc85dbc169 16094 11 3 2 9 0 0 260306 320402 336219 257469 49831 13790 15129 18889 173103 1650 1021 600 523 53 496 17878 98.8 5293 200 418 96
13 2026-10-02 P3.39 T8: lever residue TSV (2433 rows, reading A) 21f3aee1b2cbbca84ab26fbd5a49c869ce5db7f8 16094 11 3 2 9 0 0 260312 320402 336225 257475 49831 13790 15129 18889 173103 1650 1021 600 523 53 496 17677 98.8 5293 200 418 96
14 2026-10-02 P3.39 close: cast campaign, reading A 3a9377c926d83ba643f29f28186a3e810e15736d 16094 11 3 2 9 0 0 260312 320402 336225 257475 49831 13790 15129 18889 173103 1650 1021 600 523 53 496 17968 98.8 5293 200 418 96
15 2026-10-02 P3.39 T12: phase-close docs 20faec8d40b1aa3bfe30398ba250c9dc4b571df9 16094 11 3 2 9 0 0 260312 320402 336225 257475 49831 13790 15129 18889 173103 1650 1021 600 523 53 496 17968 98.8 5293 200 418 96
+1
View File
@@ -21,6 +21,7 @@
| 2026-10-02 | P3.39 T7.1: GTE to one spelling (direct GTE 492 -> 0, per-TU gte defs 150 -> 0) | `72e4c48c8` | 11 | 2 | 9 | 0 | 260306 | 320402 | **336219** | 173103 | 1650 (1021 / 600) | 523 | 53 / 496 | 17878 (98.8 %) | 5293 | 418 |
| 2026-10-02 | P3.39 T8: lever residue TSV (2433 rows, reading A) | `21f3aee1b` | 11 | 2 | 9 | 0 | 260312 | 320402 | **336225** | 173103 | 1650 (1021 / 600) | 523 | 53 / 496 | 17677 (98.8 %) | 5293 | 418 |
| 2026-10-02 | P3.39 close: cast campaign, reading A | `3a9377c92` | 11 | 2 | 9 | 0 | 260312 | 320402 | **336225** | 173103 | 1650 (1021 / 600) | 523 | 53 / 496 | 17968 (98.8 %) | 5293 | 418 |
| 2026-10-02 | P3.39 T12: phase-close docs | `20faec8d4` | 11 | 2 | 9 | 0 | 260312 | 320402 | **336225** | 173103 | 1650 (1021 / 600) | 523 | 53 / 496 | 17968 (98.8 %) | 5293 | 418 |
**How to read it.** A *lying declaration* is a call site whose in-scope declaration names fewer parameters
than the callee's own definition. It is not a style problem: on this processor an argument travels in a
+1 -1
View File
@@ -103,6 +103,6 @@
| 2026-09-29 | 40 | P37 (v2.3.0) | 218 | 100.0% | 100.0% | 100.0% | 100.0% | 0 | 789 / 2091 | 3,730 | — | — |
| 2026-09-30 | 93 | | 218 | 100.0% | 100.0% | 100.0% | 100.0% | 0 | — | — | 502,983 | 1,650 |
| 2026-10-01 | 73 | | 218 | 100.0% | 100.0% | 100.0% | 100.0% | 0 | — | — | — | — |
| 2026-10-02 | 141 | | 218 | 100.0% | 100.0% | 100.0% | 100.0% | 0 | 789 / 2091 | 3,364 | 336,225 | 1,650 |
| 2026-10-02 | 145 | | 218 | 100.0% | 100.0% | 100.0% | 100.0% | 0 | 789 / 2091 | 3,364 | 336,225 | 1,650 |
82 dated rows · phase ticks from the 38 PhaseEnds · the chart: `docs/story-timeline.svg`.
+1 -1
View File
@@ -87,7 +87,7 @@
<text x="970" y="557.2" text-anchor="end" font-size="12" fill="#d62728">register pins + asm statements (the lever series, 99 increments): 53,221 → 3,364</text>
<polyline fill="none" stroke="#9467bd" stroke-width="2" stroke-dasharray="5,4" points="764.1,464.0 942.4,465.2"/>
<text x="970" y="526.2" text-anchor="end" font-size="12" fill="#9467bd">raw pointer-cast dereferences — the one-form regex count (until the census, 2026-09-12): 414,148 → 411,850</text>
<polyline fill="none" stroke="#9467bd" stroke-width="2" stroke-dasharray="" points="942.4,464.0 961.2,464.0 961.2,464.0 961.2,464.0 980.0,464.0 980.0,537.6 980.0,537.6 980.0,537.6 980.0,537.6 980.0,537.6 980.0,537.6"/>
<polyline fill="none" stroke="#9467bd" stroke-width="2" stroke-dasharray="" points="942.4,464.0 961.2,464.0 961.2,464.0 961.2,464.0 980.0,464.0 980.0,537.6 980.0,537.6 980.0,537.6 980.0,537.6 980.0,537.6 980.0,537.6 980.0,537.6"/>
<text x="970" y="541.7" text-anchor="end" font-size="12" fill="#9467bd">raw pointer-cast dereferences — the four-form census (2026-09-12 →; a new instrument, its own 100 %): 503,016 → 336,225</text>
<text x="980" y="726" text-anchor="end" font-size="10" fill="#777">generated by tools/timeline.py — keyed by date</text>
</svg>

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

+1 -1
View File
@@ -1,6 +1,6 @@
# The struct map — the types the fleet's cast sites need (Phase 37 T1)
> **Generated by `tools/type_census.py` at `3a9377c926` (2026-10-03T04:25:25Z); never typed (R75).** Every raw pointer-cast dereference in `src/` was assigned to a base (a parameter, a local, a global by value or by address, an absolute address) and the bases were clustered by EVIDENCE only — the same global symbol, an argument passed to a callee's parameter, an assignment or return, a pointer field read, a shared body's fleet-wide identity — never by a similar offset signature. Each cluster is one type the tree needs. Names are placeholders (`Unkstruct_<addr>`: the lowest global instance's address, else the lowest member function's); fields are placeholders (`unk<HEX>`) until Phase 38 cites evidence.
> **Generated by `tools/type_census.py` at `20faec8d40` (2026-10-03T04:56:30Z); never typed (R75).** Every raw pointer-cast dereference in `src/` was assigned to a base (a parameter, a local, a global by value or by address, an absolute address) and the bases were clustered by EVIDENCE only — the same global symbol, an argument passed to a callee's parameter, an assignment or return, a pointer field read, a shared body's fleet-wide identity — never by a similar offset signature. Each cluster is one type the tree needs. Names are placeholders (`Unkstruct_<addr>`: the lowest global instance's address, else the lowest member function's); fields are placeholders (`unk<HEX>`) until Phase 38 cites evidence.
**17968 types explain 332313 of 336225 dereference sites (98.8 %); 3912 sites have a base the census could not classify; 813 types carry a width conflict.** Merges by evidence: param 39300, assign 19424, arg 10513, field 6557, ret-of 6015, return 1537, assign& 1401, arg& 253, nested 9.