mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-10-04 00:20:10 -04:00
T9: milestone gates green (reading A); D1 snapshots, series, README; cookbook C0515-C0517
This commit is contained in:
@@ -31,7 +31,7 @@
|
||||
},
|
||||
"duplicate_text_classes": 6374,
|
||||
"duplicate_text_sites": 17637,
|
||||
"elapsed_s": 22.8,
|
||||
"elapsed_s": 23.0,
|
||||
"flags": {
|
||||
"ALIAS": 16,
|
||||
"E": 3826,
|
||||
|
||||
@@ -37,4 +37,4 @@ share_census: 218 binaries · 362,389 sig instances · 362,389 classified · 0 U
|
||||
B E,F 11852 x 2 0x80014554,0x8001455C,0x8001513C func_80014554,func_8001455c
|
||||
A - 141 x 167 0x80163C2C func_80163c2c
|
||||
A - 141 x 165 0x80178004 func_80178004
|
||||
macro sites 0 · duplicate-text classes 6,374 (17,637 sites) · elapsed 22.8 s
|
||||
macro sites 0 · duplicate-text classes 6,374 (17,637 sites) · elapsed 23.0 s
|
||||
|
||||
@@ -276,7 +276,7 @@
|
||||
}
|
||||
},
|
||||
"coverage_ok": true,
|
||||
"elapsed_s": 22.3,
|
||||
"elapsed_s": 22.5,
|
||||
"generated": "2026-10-02",
|
||||
"gte_levers": {
|
||||
"direct": 0,
|
||||
@@ -287,7 +287,7 @@
|
||||
"via_macro": 91,
|
||||
"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": "822728ab44",
|
||||
"head": "3a9377c926",
|
||||
"headers": 3181,
|
||||
"levers_AB": {
|
||||
"asm": 1496,
|
||||
|
||||
@@ -12,7 +12,7 @@ lever_census: 218 binaries · 4,121 TUs + 3,181 headers · coverage OK · unclas
|
||||
E asm-label 5984 898 5086 730 129 2010 0 5984 {'asm-label': 5984}
|
||||
F builtin 302 302 0 285 25 285 0 302 {'builtin': 302}
|
||||
G attribute 26 0 26 0 0 2 0 26 {'attribute': 26}
|
||||
UNION A–D: 5,596 bodies · 1,169 distinct (addresses normalized) · 108 multi-copy classes holding 4,535 bodies · by kind {'ov': 5207, 'md': 105, 'shared': 158, 'main': 120, 'resident': 6}
|
||||
UNION A–D: 5,596 bodies · 1,169 distinct (addresses normalized) · 108 multi-copy classes holding 4,535 bodies · by kind {'ov': 5207, 'shared': 158, 'md': 105, 'resident': 6, 'main': 120}
|
||||
THE PHASE'S NUMBER (pins + asm statements, GTE excluded): 3,364 sites in 1,684 bodies (643 distinct) · marked !FAKE 3,364 · 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): 53
|
||||
@@ -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 8 OK
|
||||
ov_SC03_006 func_801896EC bare-name pins got 2 expected 2 OK
|
||||
engine_prelude.h asm sites (a macro definition only) got 0 expected 0 OK
|
||||
elapsed 22.3 s
|
||||
elapsed 22.5 s
|
||||
|
||||
+143
-143
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"head": "577892fc5d",
|
||||
"head": "3a9377c926",
|
||||
"stamp": "588cbf38c6e4",
|
||||
"generated": "2026-10-02 20:47",
|
||||
"generated": "2026-10-02 22:11",
|
||||
"aliases": [
|
||||
"main",
|
||||
"md_SC07_004",
|
||||
@@ -21,175 +21,175 @@
|
||||
"main": {
|
||||
"objects": 85,
|
||||
"identical": 85,
|
||||
"seconds": 7.214,
|
||||
"mean_s": 0.085
|
||||
"seconds": 7.471000000000004,
|
||||
"mean_s": 0.088
|
||||
},
|
||||
"md_SC07_004": {
|
||||
"objects": 1,
|
||||
"identical": 1,
|
||||
"seconds": 0.535,
|
||||
"mean_s": 0.535
|
||||
"seconds": 0.549,
|
||||
"mean_s": 0.549
|
||||
},
|
||||
"ov_SC03_015": {
|
||||
"objects": 32,
|
||||
"identical": 32,
|
||||
"seconds": 5.2299999999999995,
|
||||
"seconds": 5.217,
|
||||
"mean_s": 0.163
|
||||
},
|
||||
"ov_SC04_011": {
|
||||
"objects": 28,
|
||||
"identical": 28,
|
||||
"seconds": 4.395999999999999,
|
||||
"mean_s": 0.157
|
||||
"seconds": 4.307000000000001,
|
||||
"mean_s": 0.154
|
||||
}
|
||||
},
|
||||
"per_object_seconds": {
|
||||
"build/src/800.o": 0.778,
|
||||
"build/src/800_b.o": 0.081,
|
||||
"build/src/800_b_2.o": 0.338,
|
||||
"build/src/800_b_o0a.o": 0.073,
|
||||
"build/src/800_c.o": 0.206,
|
||||
"build/src/800b2.o": 0.082,
|
||||
"build/src/apicard1.o": 0.071,
|
||||
"build/src/apicard2.o": 0.077,
|
||||
"build/src/apicard3.o": 0.085,
|
||||
"build/src/apicard4.o": 0.083,
|
||||
"build/src/apicard5.o": 0.077,
|
||||
"build/src/apicard6.o": 0.084,
|
||||
"build/src/apicard7.o": 0.078,
|
||||
"build/src/boot.o": 0.111,
|
||||
"build/src/gap.o": 0.084,
|
||||
"build/src/libapi1.o": 0.09,
|
||||
"build/src/libapi2.o": 0.066,
|
||||
"build/src/800.o": 0.811,
|
||||
"build/src/800_b.o": 0.086,
|
||||
"build/src/800_b_2.o": 0.399,
|
||||
"build/src/800_b_o0a.o": 0.072,
|
||||
"build/src/800_c.o": 0.264,
|
||||
"build/src/800b2.o": 0.078,
|
||||
"build/src/apicard1.o": 0.097,
|
||||
"build/src/apicard2.o": 0.087,
|
||||
"build/src/apicard3.o": 0.067,
|
||||
"build/src/apicard4.o": 0.084,
|
||||
"build/src/apicard5.o": 0.11,
|
||||
"build/src/apicard6.o": 0.076,
|
||||
"build/src/apicard7.o": 0.098,
|
||||
"build/src/boot.o": 0.094,
|
||||
"build/src/gap.o": 0.141,
|
||||
"build/src/libapi1.o": 0.068,
|
||||
"build/src/libapi2.o": 0.065,
|
||||
"build/src/libc2_1.o": 0.069,
|
||||
"build/src/libc2_2.o": 0.061,
|
||||
"build/src/libcd1.o": 0.105,
|
||||
"build/src/libcd2.o": 0.071,
|
||||
"build/src/libetc.o": 0.069,
|
||||
"build/src/libgpu.o": 0.068,
|
||||
"build/src/libgpu2.o": 0.077,
|
||||
"build/src/libgs1.o": 0.061,
|
||||
"build/src/libgs2.o": 0.066,
|
||||
"build/src/libgs3.o": 0.066,
|
||||
"build/src/libc2_2.o": 0.062,
|
||||
"build/src/libcd1.o": 0.076,
|
||||
"build/src/libcd2.o": 0.07,
|
||||
"build/src/libetc.o": 0.068,
|
||||
"build/src/libgpu.o": 0.073,
|
||||
"build/src/libgpu2.o": 0.083,
|
||||
"build/src/libgs1.o": 0.071,
|
||||
"build/src/libgs2.o": 0.072,
|
||||
"build/src/libgs3.o": 0.07,
|
||||
"build/src/libgs4.o": 0.067,
|
||||
"build/src/libgs5.o": 0.062,
|
||||
"build/src/libgs5.o": 0.069,
|
||||
"build/src/libgs6.o": 0.085,
|
||||
"build/src/libgs7.o": 0.062,
|
||||
"build/src/libgs8.o": 0.066,
|
||||
"build/src/libgs7.o": 0.074,
|
||||
"build/src/libgs8.o": 0.067,
|
||||
"build/src/libgte1.o": 0.064,
|
||||
"build/src/libgte10.o": 0.066,
|
||||
"build/src/libgte11.o": 0.065,
|
||||
"build/src/libgte12.o": 0.079,
|
||||
"build/src/libgte13.o": 0.064,
|
||||
"build/src/libgte14.o": 0.07,
|
||||
"build/src/libgte10.o": 0.065,
|
||||
"build/src/libgte11.o": 0.069,
|
||||
"build/src/libgte12.o": 0.066,
|
||||
"build/src/libgte13.o": 0.063,
|
||||
"build/src/libgte14.o": 0.068,
|
||||
"build/src/libgte15.o": 0.075,
|
||||
"build/src/libgte16.o": 0.065,
|
||||
"build/src/libgte17.o": 0.069,
|
||||
"build/src/libgte18.o": 0.065,
|
||||
"build/src/libgte19.o": 0.068,
|
||||
"build/src/libgte2.o": 0.063,
|
||||
"build/src/libgte20.o": 0.067,
|
||||
"build/src/libgte21.o": 0.065,
|
||||
"build/src/libgte22.o": 0.073,
|
||||
"build/src/libgte23.o": 0.063,
|
||||
"build/src/libgte24.o": 0.067,
|
||||
"build/src/libgte25.o": 0.068,
|
||||
"build/src/libgte26.o": 0.067,
|
||||
"build/src/libgte27.o": 0.063,
|
||||
"build/src/libgte28.o": 0.066,
|
||||
"build/src/libgte29.o": 0.063,
|
||||
"build/src/libgte3.o": 0.069,
|
||||
"build/src/libgte30.o": 0.063,
|
||||
"build/src/libgte4.o": 0.062,
|
||||
"build/src/libgte5.o": 0.068,
|
||||
"build/src/libgte6.o": 0.071,
|
||||
"build/src/libgte7.o": 0.07,
|
||||
"build/src/libgte8.o": 0.065,
|
||||
"build/src/libgte9.o": 0.069,
|
||||
"build/src/libmcrd1.o": 0.079,
|
||||
"build/src/libmcrd2.o": 0.07,
|
||||
"build/src/libpad1.o": 0.069,
|
||||
"build/src/libpad2.o": 0.074,
|
||||
"build/src/sgap.o": 0.068,
|
||||
"build/src/sgap_2.o": 0.067,
|
||||
"build/src/sgap_3.o": 0.067,
|
||||
"build/src/sgap_4.o": 0.076,
|
||||
"build/src/sgap_5.o": 0.068,
|
||||
"build/src/sgap_6.o": 0.07,
|
||||
"build/src/sgap_8.o": 0.086,
|
||||
"build/src/snd1.o": 0.083,
|
||||
"build/src/libgte16.o": 0.062,
|
||||
"build/src/libgte17.o": 0.071,
|
||||
"build/src/libgte18.o": 0.067,
|
||||
"build/src/libgte19.o": 0.073,
|
||||
"build/src/libgte2.o": 0.073,
|
||||
"build/src/libgte20.o": 0.073,
|
||||
"build/src/libgte21.o": 0.067,
|
||||
"build/src/libgte22.o": 0.064,
|
||||
"build/src/libgte23.o": 0.074,
|
||||
"build/src/libgte24.o": 0.071,
|
||||
"build/src/libgte25.o": 0.082,
|
||||
"build/src/libgte26.o": 0.071,
|
||||
"build/src/libgte27.o": 0.086,
|
||||
"build/src/libgte28.o": 0.065,
|
||||
"build/src/libgte29.o": 0.067,
|
||||
"build/src/libgte3.o": 0.071,
|
||||
"build/src/libgte30.o": 0.073,
|
||||
"build/src/libgte4.o": 0.067,
|
||||
"build/src/libgte5.o": 0.067,
|
||||
"build/src/libgte6.o": 0.07,
|
||||
"build/src/libgte7.o": 0.069,
|
||||
"build/src/libgte8.o": 0.068,
|
||||
"build/src/libgte9.o": 0.068,
|
||||
"build/src/libmcrd1.o": 0.082,
|
||||
"build/src/libmcrd2.o": 0.069,
|
||||
"build/src/libpad1.o": 0.072,
|
||||
"build/src/libpad2.o": 0.072,
|
||||
"build/src/sgap.o": 0.063,
|
||||
"build/src/sgap_2.o": 0.065,
|
||||
"build/src/sgap_3.o": 0.078,
|
||||
"build/src/sgap_4.o": 0.073,
|
||||
"build/src/sgap_5.o": 0.062,
|
||||
"build/src/sgap_6.o": 0.069,
|
||||
"build/src/sgap_8.o": 0.08,
|
||||
"build/src/snd1.o": 0.073,
|
||||
"build/src/snd10.o": 0.065,
|
||||
"build/src/snd11.o": 0.066,
|
||||
"build/src/snd12.o": 0.071,
|
||||
"build/src/snd2.o": 0.073,
|
||||
"build/src/snd3.o": 0.072,
|
||||
"build/src/snd11.o": 0.067,
|
||||
"build/src/snd12.o": 0.065,
|
||||
"build/src/snd2.o": 0.071,
|
||||
"build/src/snd3.o": 0.077,
|
||||
"build/src/snd4.o": 0.07,
|
||||
"build/src/snd5.o": 0.073,
|
||||
"build/src/snd6.o": 0.091,
|
||||
"build/src/snd7.o": 0.08,
|
||||
"build/src/snd8.o": 0.072,
|
||||
"build/src/snd9.o": 0.073,
|
||||
"build/src/md_SC07_004/md_SC07_004.o": 0.535,
|
||||
"build/src/ov_SC03_015/ov_SC03_015.o": 0.144,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_after.o": 0.521,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o": 0.43,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80135888.o": 0.081,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80135A4C.o": 0.081,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80135D20.o": 0.148,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_801380E0.o": 0.184,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8013C98C.o": 0.131,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8013F350.o": 0.109,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8013FFD8.o": 0.09,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80140608.o": 0.199,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8015444C.o": 0.09,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80154C24.o": 0.194,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_801588CC.o": 0.12,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80159C84.o": 0.075,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8015A3C8.o": 0.083,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8015AE2C.o": 0.102,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8015C32C.o": 0.491,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8016AB6C.o": 0.295,
|
||||
"build/src/snd5.o": 0.065,
|
||||
"build/src/snd6.o": 0.067,
|
||||
"build/src/snd7.o": 0.072,
|
||||
"build/src/snd8.o": 0.063,
|
||||
"build/src/snd9.o": 0.069,
|
||||
"build/src/md_SC07_004/md_SC07_004.o": 0.549,
|
||||
"build/src/ov_SC03_015/ov_SC03_015.o": 0.142,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_after.o": 0.52,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8012ACE0.o": 0.402,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80135888.o": 0.083,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80135A4C.o": 0.074,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80135D20.o": 0.153,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_801380E0.o": 0.178,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8013C98C.o": 0.138,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8013F350.o": 0.097,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8013FFD8.o": 0.095,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80140608.o": 0.206,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8015444C.o": 0.093,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80154C24.o": 0.192,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_801588CC.o": 0.116,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80159C84.o": 0.082,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8015A3C8.o": 0.091,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8015AE2C.o": 0.113,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8015C32C.o": 0.488,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8016AB6C.o": 0.29,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80171B4C.o": 0.119,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_801734BC.o": 0.218,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_801789AC.o": 0.074,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80178D40.o": 0.103,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8017A4AC.o": 0.085,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8017AE2C.o": 0.186,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.o": 0.221,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80184440.o": 0.069,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_801848E4.o": 0.293,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_o0b.o": 0.067,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.074,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_801734BC.o": 0.222,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_801789AC.o": 0.07,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80178D40.o": 0.122,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8017A4AC.o": 0.087,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8017AE2C.o": 0.188,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_8017EB7C.o": 0.222,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_80184440.o": 0.059,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_jr_801848E4.o": 0.3,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_o0b.o": 0.052,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_o0c.o": 0.069,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_o0d.o": 0.071,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.082,
|
||||
"build/src/ov_SC04_011/ov_SC04_011.o": 0.146,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_after.o": 0.443,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.36,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80135888.o": 0.064,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80135A4C.o": 0.061,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.136,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.176,
|
||||
"build/src/ov_SC03_015/ov_SC03_015_o0e.o": 0.083,
|
||||
"build/src/ov_SC04_011/ov_SC04_011.o": 0.136,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_after.o": 0.454,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8012ACE0.o": 0.367,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80135888.o": 0.062,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80135A4C.o": 0.064,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80135D20.o": 0.131,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_801380E0.o": 0.171,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8013C98C.o": 0.129,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8013F350.o": 0.089,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.o": 0.078,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80140608.o": 0.192,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8015444C.o": 0.082,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80154C24.o": 0.182,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_801588CC.o": 0.101,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80159C84.o": 0.08,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.o": 0.085,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.o": 0.109,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8015C32C.o": 0.368,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.o": 0.227,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80171B4C.o": 0.114,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_801734BC.o": 0.194,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_801789AC.o": 0.074,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80178D40.o": 0.114,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8013F350.o": 0.087,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8013FFD8.o": 0.076,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80140608.o": 0.189,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8015444C.o": 0.081,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80154C24.o": 0.176,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_801588CC.o": 0.099,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80159C84.o": 0.078,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8015A3C8.o": 0.079,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8015AE2C.o": 0.11,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8015C32C.o": 0.371,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8016AB6C.o": 0.226,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80171B4C.o": 0.109,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_801734BC.o": 0.174,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_801789AC.o": 0.072,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_80178D40.o": 0.107,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8017A4AC.o": 0.084,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.o": 0.117,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o": 0.461,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8017AE2C.o": 0.114,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_jr_8017D494.o": 0.437,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_o0b.o": 0.059,
|
||||
"build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.071
|
||||
"build/src/ov_SC04_011/ov_SC04_011_o0c.o": 0.065
|
||||
},
|
||||
"ok": true,
|
||||
"seconds": 2.1
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -1,9 +1,9 @@
|
||||
{
|
||||
"summary": {
|
||||
"head": "21f3aee1b2",
|
||||
"head": "3a9377c926",
|
||||
"src_stamp": "ce848867cad411a3",
|
||||
"tool_stamp": "6041c32d81",
|
||||
"when": "2026-10-03T03:09:07Z",
|
||||
"when": "2026-10-03T04:25:25Z",
|
||||
"files": 7306,
|
||||
"tus": 4121,
|
||||
"headers": 3181,
|
||||
@@ -230981,22 +230981,22 @@
|
||||
"cross_callees": 96
|
||||
},
|
||||
"struct_map": {
|
||||
"types": 17677,
|
||||
"types": 17968,
|
||||
"explained_sites": 332313,
|
||||
"deref_sites": 336225,
|
||||
"explained_pct": 98.8,
|
||||
"unassigned_sites": 3912,
|
||||
"conflicts": 814,
|
||||
"conflicts": 813,
|
||||
"suspect": 11,
|
||||
"evidence": {
|
||||
"param": 39300,
|
||||
"assign": 19479,
|
||||
"ret-of": 6006,
|
||||
"arg": 10689,
|
||||
"return": 1536,
|
||||
"assign&": 1408,
|
||||
"arg&": 249,
|
||||
"field": 6552,
|
||||
"assign": 19424,
|
||||
"ret-of": 6015,
|
||||
"arg": 10513,
|
||||
"return": 1537,
|
||||
"assign&": 1401,
|
||||
"arg&": 253,
|
||||
"field": 6557,
|
||||
"nested": 9
|
||||
},
|
||||
"vetoed": {
|
||||
@@ -231005,42 +231005,42 @@
|
||||
"assign-multisource": 33809,
|
||||
"arg&-conduit": 14763,
|
||||
"field-multisource": 5264,
|
||||
"ret-of": 503,
|
||||
"ret-of": 507,
|
||||
"assign&-multisource": 12093,
|
||||
"arg&-no-overlap": 3325,
|
||||
"assign": 238,
|
||||
"arg-no-overlap": 27019,
|
||||
"assign&": 70,
|
||||
"arg": 84,
|
||||
"return": 10,
|
||||
"field": 148
|
||||
"arg&-no-overlap": 3379,
|
||||
"assign": 324,
|
||||
"arg-no-overlap": 32777,
|
||||
"assign&": 79,
|
||||
"return": 5,
|
||||
"arg": 60,
|
||||
"field": 136
|
||||
},
|
||||
"singletons": 13755,
|
||||
"multi_body": 3922,
|
||||
"sites_in_multi_body": 280189,
|
||||
"singletons": 14044,
|
||||
"multi_body": 3924,
|
||||
"sites_in_multi_body": 278241,
|
||||
"top": [
|
||||
{
|
||||
"name": "Unkstruct_800D3888",
|
||||
"sites": 20735,
|
||||
"bodies": 4481,
|
||||
"sites": 19193,
|
||||
"bodies": 4305,
|
||||
"size_hint": 268,
|
||||
"fields": 124,
|
||||
"fields": 122,
|
||||
"conflicts": 50,
|
||||
"sign_mixed": 46,
|
||||
"merges": {
|
||||
"arg&": 219,
|
||||
"param": 9602,
|
||||
"arg": 6992,
|
||||
"assign": 8380,
|
||||
"return": 665,
|
||||
"ret-of": 2417,
|
||||
"assign&": 4,
|
||||
"field": 1142
|
||||
"arg&": 232,
|
||||
"param": 9432,
|
||||
"arg": 6769,
|
||||
"assign": 7564,
|
||||
"return": 734,
|
||||
"ret-of": 2205,
|
||||
"assign&": 18,
|
||||
"field": 817
|
||||
},
|
||||
"globals_at": [
|
||||
"D_800D3888",
|
||||
"D_80181D9C",
|
||||
"D_80181E74"
|
||||
"D_80181538",
|
||||
"D_801818AC"
|
||||
],
|
||||
"globals_ptr": [
|
||||
"D_8006386C",
|
||||
@@ -231065,18 +231065,18 @@
|
||||
},
|
||||
{
|
||||
"name": "Unkstruct_80126B58",
|
||||
"sites": 4916,
|
||||
"bodies": 2442,
|
||||
"sites": 5482,
|
||||
"bodies": 2947,
|
||||
"size_hint": 588,
|
||||
"fields": 165,
|
||||
"conflicts": 38,
|
||||
"sign_mixed": 44,
|
||||
"conflicts": 40,
|
||||
"sign_mixed": 45,
|
||||
"merges": {
|
||||
"assign&": 105,
|
||||
"param": 2046,
|
||||
"arg": 1079,
|
||||
"assign&": 104,
|
||||
"param": 2120,
|
||||
"arg": 1118,
|
||||
"assign": 41,
|
||||
"field": 31
|
||||
"field": 32
|
||||
},
|
||||
"globals_at": [
|
||||
"D_80126B58"
|
||||
@@ -231153,31 +231153,6 @@
|
||||
"globals_at": [],
|
||||
"globals_ptr": []
|
||||
},
|
||||
{
|
||||
"name": "Unkstruct_80126948",
|
||||
"sites": 3284,
|
||||
"bodies": 1098,
|
||||
"size_hint": 164,
|
||||
"fields": 34,
|
||||
"conflicts": 0,
|
||||
"sign_mixed": 10,
|
||||
"merges": {
|
||||
"assign&": 4,
|
||||
"arg&": 1,
|
||||
"assign": 103,
|
||||
"param": 8,
|
||||
"arg": 15
|
||||
},
|
||||
"globals_at": [
|
||||
"D_80126948",
|
||||
"D_80126E60"
|
||||
],
|
||||
"globals_ptr": [
|
||||
"D_80114EE8",
|
||||
"D_801151D4",
|
||||
"D_80126948"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Unkstruct_57a28935",
|
||||
"sites": 3271,
|
||||
@@ -231217,6 +231192,31 @@
|
||||
"globals_at": [],
|
||||
"globals_ptr": []
|
||||
},
|
||||
{
|
||||
"name": "Unkstruct_80126948",
|
||||
"sites": 3034,
|
||||
"bodies": 848,
|
||||
"size_hint": 164,
|
||||
"fields": 34,
|
||||
"conflicts": 0,
|
||||
"sign_mixed": 10,
|
||||
"merges": {
|
||||
"arg&": 1,
|
||||
"assign": 103,
|
||||
"param": 6,
|
||||
"arg": 14,
|
||||
"assign&": 4
|
||||
},
|
||||
"globals_at": [
|
||||
"D_80126948",
|
||||
"D_80126E60"
|
||||
],
|
||||
"globals_ptr": [
|
||||
"D_80114EE8",
|
||||
"D_801151D4",
|
||||
"D_80126948"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Unkstruct_a2c8734a",
|
||||
"sites": 2646,
|
||||
@@ -231430,8 +231430,8 @@
|
||||
"block_frames": 629
|
||||
},
|
||||
"global_blocks": {
|
||||
"n": 2114,
|
||||
"members": 14207,
|
||||
"n": 2121,
|
||||
"members": 14243,
|
||||
"top": [
|
||||
{
|
||||
"base": "0x800cf10c",
|
||||
@@ -231610,9 +231610,9 @@
|
||||
"path": ".run/P37/census/parked.tsv"
|
||||
},
|
||||
"timing": {
|
||||
"walk_s": 59.8,
|
||||
"decls_s": 219.3,
|
||||
"total_s": 228.7
|
||||
"walk_s": 40.1,
|
||||
"decls_s": 189.0,
|
||||
"total_s": 198.7
|
||||
}
|
||||
},
|
||||
"dup_layout_classes": [
|
||||
@@ -232408,19 +232408,6 @@
|
||||
],
|
||||
"tier": 2
|
||||
},
|
||||
{
|
||||
"lhash": "aa66418d079c:opaque",
|
||||
"size": 16,
|
||||
"n_names": 2,
|
||||
"n_defs": 0,
|
||||
"canon": 0,
|
||||
"in_c": 0,
|
||||
"names": [
|
||||
"Blk16_80126940",
|
||||
"Pos16_8018743C"
|
||||
],
|
||||
"tier": 2
|
||||
},
|
||||
{
|
||||
"lhash": "5f9112725d5b",
|
||||
"size": 16,
|
||||
@@ -232447,6 +232434,19 @@
|
||||
],
|
||||
"tier": 2
|
||||
},
|
||||
{
|
||||
"lhash": "aa66418d079c:opaque",
|
||||
"size": 16,
|
||||
"n_names": 2,
|
||||
"n_defs": 0,
|
||||
"canon": 0,
|
||||
"in_c": 0,
|
||||
"names": [
|
||||
"Blk16_80126940",
|
||||
"Pos16_8018743C"
|
||||
],
|
||||
"tier": 2
|
||||
},
|
||||
{
|
||||
"lhash": "1dd90dc86138",
|
||||
"size": 236,
|
||||
@@ -233093,11 +233093,11 @@
|
||||
],
|
||||
"tier": 3,
|
||||
"camps": [
|
||||
[],
|
||||
[
|
||||
"Vec32"
|
||||
],
|
||||
[],
|
||||
[],
|
||||
[
|
||||
"LineF2"
|
||||
],
|
||||
@@ -233479,10 +233479,10 @@
|
||||
"tier": 3,
|
||||
"camps": [
|
||||
[
|
||||
"Buf"
|
||||
"Pair16"
|
||||
],
|
||||
[
|
||||
"Pair16"
|
||||
"Buf"
|
||||
],
|
||||
[
|
||||
"Box_80182BC8"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
type_census — 2026-10-03T03:09:07Z at 21f3aee1b2 (src stamp ce848867cad411a3, tool 6041c32d81); 7306 files (4121 TUs + 3181 headers), 99109 function definitions; walk 59.8 s, total 228.7 s
|
||||
type_census — 2026-10-03T04:25:25Z at 3a9377c926 (src stamp ce848867cad411a3, tool 6041c32d81); 7306 files (4121 TUs + 3181 headers), 99109 function definitions; walk 40.1 s, total 198.7 s
|
||||
|
||||
DEFINITIONS 1650 struct/union bodies (+0 enums): canonical header 1021 · .c file-scope 0 · .c block-scope 600 · per-function shared headers 29 · other headers 0 · include/ 326
|
||||
1024 distinct names · 523 distinct layouts (0 unresolved) · 53 duplicate classes covering 496 names (tier 1 0 same-named, tier 2 53 opaque; 44 layout-twin classes / 472 names kept apart) · 42 exact-text classes / 546 copies · 0 VARIANT names (>1 layout) · 55 dead canonical names · 0 canonical names redefined in .c · 4300 scalar/alias typedefs · 145 forward decls
|
||||
@@ -8,21 +8,21 @@ CAST SITES deref 336225 = P 257475 + I 49831 + X 13790 + M 15129 (+ A addres
|
||||
top bases: param_1(param) 57138 · a0(param) 39557 · arg0(param) 30937 · p(local) 13173 · cach(local) 8246 · buf(local) 7056 · s0(local) 6634 · s1(local) 6388 · flag(local) 5453 · dst(local) 4853 · iVar2(local) 4394 · iVar1(local) 3464 · cur(local) 3375 · p(param) 3036 · e(local) 3002 · src(local) 2599
|
||||
DECLARATIONS 99109 function definitions (1894 K&R) · 4279260 extern function declarations over 12088 names (3772 spelled >1 way) · 6423 names with >1 body text · 1078766 data externs over 55542 symbols (19150 typed >1 way) · asm-label aliases 5148 (159 names) · builtins {'memcpy': 301, 'abs': 1} · attributes {'packed': 26, 'aligned': 6}
|
||||
lying declarations 11 over 3 callees {'K&R-empty': 2, 'narrow': 9} · K&R sites (marked, counted apart) 5293 over 200 callees · cross-binary (the fleet's definitions disagree, this binary has none) 418 over 96 callees
|
||||
STRUCT MAP 17677 types explain 332313/336225 deref sites (98.8 %); unassigned 3912; 3922 types span ≥2 bodies (280189 sites), 13755 single-body; types with conflicts 814, suspect 11
|
||||
merges by evidence {'param': 39300, 'assign': 19479, 'ret-of': 6006, 'arg': 10689, 'return': 1536, 'assign&': 1408, 'arg&': 249, 'field': 6552, 'nested': 9}; vetoed {'arg-conduit': 144915, 'ret-of-multisource': 6714, 'assign-multisource': 33809, 'arg&-conduit': 14763, 'field-multisource': 5264, 'ret-of': 503, 'assign&-multisource': 12093, 'arg&-no-overlap': 3325, 'assign': 238, 'arg-no-overlap': 27019, 'assign&': 70, 'arg': 84, 'return': 10, 'field': 148}
|
||||
Unkstruct_800D3888 sites 20735 bodies 4481 fields 124 size≥0x10c width-conflicts 50 sign-mixed 46 merges {'param': 9602, 'assign': 8380, 'arg': 6992, 'ret-of': 2417} at D_800D3888,D_80181D9C,D_80181E74 ptr D_8006386C,D_80074778,D_80074780
|
||||
STRUCT MAP 17968 types explain 332313/336225 deref sites (98.8 %); unassigned 3912; 3924 types span ≥2 bodies (278241 sites), 14044 single-body; types with conflicts 813, suspect 11
|
||||
merges by evidence {'param': 39300, 'assign': 19424, 'ret-of': 6015, 'arg': 10513, 'return': 1537, 'assign&': 1401, 'arg&': 253, 'field': 6557, 'nested': 9}; vetoed {'arg-conduit': 144915, 'ret-of-multisource': 6714, 'assign-multisource': 33809, 'arg&-conduit': 14763, 'field-multisource': 5264, 'ret-of': 507, 'assign&-multisource': 12093, 'arg&-no-overlap': 3379, 'assign': 324, 'arg-no-overlap': 32777, 'assign&': 79, 'return': 5, 'arg': 60, 'field': 136}
|
||||
Unkstruct_800D3888 sites 19193 bodies 4305 fields 122 size≥0x10c width-conflicts 50 sign-mixed 46 merges {'param': 9432, 'assign': 7564, 'arg': 6769, 'ret-of': 2205} at D_800D3888,D_80181538,D_801818AC ptr D_8006386C,D_80074778,D_80074780
|
||||
Unkstruct_cb638a45 sites 6477 bodies 381 fields 6 size≥0x10 width-conflicts 0 sign-mixed 0 merges {'param': 12, 'arg': 5}
|
||||
Unkstruct_80126B58 sites 4916 bodies 2442 fields 165 size≥0x24c width-conflicts 38 sign-mixed 44 merges {'param': 2046, 'arg': 1079, 'assign&': 105, 'assign': 41} at D_80126B58 ptr D_80126B58
|
||||
Unkstruct_80126B58 sites 5482 bodies 2947 fields 165 size≥0x24c width-conflicts 40 sign-mixed 45 merges {'param': 2120, 'arg': 1118, 'assign&': 104, 'assign': 41} at D_80126B58 ptr D_80126B58
|
||||
Unkstruct_dac960ce sites 4464 bodies 124 fields 13 size≥0x24c width-conflicts 0 sign-mixed 2 merges {'param': 2}
|
||||
Unkstruct_a5d21dec sites 4340 bodies 124 fields 23 size≥0xfe width-conflicts 0 sign-mixed 1 merges {'param': 2, 'assign': 1, 'return': 1}
|
||||
Unkstruct_f8ed2b9f sites 4061 bodies 4061 fields 1 size≥0x217 width-conflicts 0 sign-mixed 0 merges {'param': 2}
|
||||
Unkstruct_cedd385d sites 3936 bodies 123 fields 8 size≥0x4b width-conflicts 0 sign-mixed 1 merges {}
|
||||
Unkstruct_8e3dbe51 sites 3930 bodies 131 fields 5 size≥0x4c width-conflicts 0 sign-mixed 1 merges {}
|
||||
Unkstruct_80126948 sites 3284 bodies 1098 fields 34 size≥0xa4 width-conflicts 0 sign-mixed 10 merges {'assign': 103, 'arg': 15, 'param': 8, 'assign&': 4} at D_80126948,D_80126E60 ptr D_80114EE8,D_801151D4,D_80126948
|
||||
Unkstruct_57a28935 sites 3271 bodies 196 fields 26 size≥0xa4 width-conflicts 3 sign-mixed 9 merges {'param': 268, 'arg': 133}
|
||||
Unkstruct_1fa9e810 sites 3144 bodies 131 fields 3 size≥0x49 width-conflicts 0 sign-mixed 0 merges {}
|
||||
Unkstruct_30b21035 sites 3100 bodies 124 fields 13 size≥0x54 width-conflicts 0 sign-mixed 0 merges {}
|
||||
GLOBAL BLOCKS 2114 runs of ≥4 adjacent scalar D_ symbols (14207 symbols): 0x800cf10c+0x34 ×29 (D_800CF10C..D_800CF13C) · 0x800a6580+0x3a ×27 (D_800A6580..D_800A65B8) · 0x801998a4+0x57 ×24 (D_801998A4..D_801998FA) · 0x80199840+0x56 ×23 (D_80199840..D_80199895) · 0x801a9608+0x50 ×22 (D_801A9608..D_801A9654) · 0x801ab708+0x54 ×21 (D_801AB708..D_801AB758) · 0x801b0df0+0x4b ×21 (D_801B0DF0..D_801B0E3A) · 0x801b83a0+0x4e ×21 (D_801B83A0..D_801B83ED)
|
||||
Unkstruct_80126948 sites 3034 bodies 848 fields 34 size≥0xa4 width-conflicts 0 sign-mixed 10 merges {'assign': 103, 'arg': 14, 'param': 6, 'assign&': 4} at D_80126948,D_80126E60 ptr D_80114EE8,D_801151D4,D_80126948
|
||||
GLOBAL BLOCKS 2121 runs of ≥4 adjacent scalar D_ symbols (14243 symbols): 0x800cf10c+0x34 ×29 (D_800CF10C..D_800CF13C) · 0x800a6580+0x3a ×27 (D_800A6580..D_800A65B8) · 0x801998a4+0x57 ×24 (D_801998A4..D_801998FA) · 0x80199840+0x56 ×23 (D_80199840..D_80199895) · 0x801a9608+0x50 ×22 (D_801A9608..D_801A9654) · 0x801ab708+0x54 ×21 (D_801AB708..D_801AB758) · 0x801b0df0+0x4b ×21 (D_801B0DF0..D_801B0E3A) · 0x801b83a0+0x4e ×21 (D_801B83A0..D_801B83ED)
|
||||
PARKED (P36) 18 classes / 434 bodies / 653 needed sites → .run/P37/census/parked.tsv; needs {'irreducible': 1, 'signature': 6, 'struct': 6, '?': 5}; 27 PARK names are minimum-lever banks
|
||||
CONTROLS 4/4: player_block_widths OK (D_80078E8C:4/4 D_80078EB2:2/2 D_80078EB4:2/2 D_80078EB6:2/2 D_80078EB8:2/2 D_80078F08:4/4 D_80078F0C:4/4) · matrix_layouts OK (MATRIX=32 MATRIX_L48=48) · prim_layout_class OK (defs in 1 files, 1 spellings, 1/1 in one layout (64 B)) · tu_conflict_D_800A651C OK (s32:1202 | u8[]:9 | OtBlk[]:9 | OtBlk_80016450[]:8 | s32[]:7)
|
||||
|
||||
@@ -30,4 +30,4 @@ duplicate-layout classes (top 12): 4B×56 names (0 defs): B4_80165140, B4_8017F1
|
||||
VARIANT names (top 12):
|
||||
|
||||
type_census: 1650 definitions (523 layouts, 53 duplicate classes, 0 variant camps) · 336225 cast sites in 50866 bodies over 8 base classes (4 forms + A, coverage OK) · 11 lying declarations / 3 callees (+5293 K&R sites, +418 cross-binary apart) · controls 4/4
|
||||
struct_map: 17677 types over 17677 clusters explain 332313/336225 sites (98.8 %); 3912 unassigned sites; 814 types with conflicts
|
||||
struct_map: 17968 types over 17968 clusters explain 332313/336225 sites (98.8 %); 3912 unassigned sites; 813 types with conflicts
|
||||
|
||||
@@ -29,7 +29,7 @@ One source per unique function (Phase 35): 102,991 function bodies written once
|
||||
|
||||
Levers off (Phase 36, snapshot 2026-10-02): 1,868 register pins and 1,496 asm statements remain in 1,684 functions (643 distinct bodies), 3,364 of them marked `// !FAKE:`; 1,581 volatile qualifiers and 50 bare `register` keywords are censused; 7,388 GTE coprocessor operations and 22 whole-body assembly routines kept inside C shells (2,682 sites; the original's scratchpad stack-switch trampolines, one copy per overlay, listed in the verbatim manifest) are not levers and are excluded.
|
||||
|
||||
Types (snapshot P39, 2026-10-03): 336,225 raw pointer-cast dereferences remain in 50,866 functions (four forms; 173,103 typed cast-member accesses and 18,889 address-of casts counted apart); 1,650 struct definitions (1,021 in the canonical header, 326 in `include/`, 600 block-scope frames inside `.c` functions, 29 in per-function shared headers, 0 at `.c` file scope) over 1,024 names and 523 distinct layouts; 53 duplicate classes covering 496 names, 53 of them listed with a cause in `docs/struct-twins.md` (0 gating); 0 variant camps, 0 dead names (2 kept with a cause), 0 `pad<SIZE>` names, 0 parse-error declarations; 11 lying call declarations (an empty K&R list or a type narrower than the callee's definition) over 3 callees; the struct map clusters the cast sites into 17,677 types by evidence (98.8 % of sites assigned).
|
||||
Types (snapshot P39, 2026-10-03): 336,225 raw pointer-cast dereferences remain in 50,866 functions (four forms; 173,103 typed cast-member accesses and 18,889 address-of casts counted apart); 1,650 struct definitions (1,021 in the canonical header, 326 in `include/`, 600 block-scope frames inside `.c` functions, 29 in per-function shared headers, 0 at `.c` file scope) over 1,024 names and 523 distinct layouts; 53 duplicate classes covering 496 names, 53 of them listed with a cause in `docs/struct-twins.md` (0 gating); 0 variant camps, 0 dead names (2 kept with a cause), 0 `pad<SIZE>` names, 0 parse-error declarations; 11 lying call declarations (an empty K&R list or a type narrower than the callee's definition) over 3 callees; the struct map clusters the cast sites into 17,968 types by evidence (98.8 % of sites assigned). The cast gate (`type_census --check-casts --residue`, 2026-10-03) finds 336,219 raw dereferences left: 257,470 pointer-arithmetic `*(T *)(…)`, 49,831 `*(T *)name`, 13,790 indexed `((T *)e)[i]` and 15,128 `M2C_FIELD`; per form, the sites covered by a ledger entry recording why each stays raw versus uncovered are P 257,470 / 0, I 49,831 / 0, X 13,790 / 0 and M 15,128 / 0; 20,963 more sites are spelled through the deliberate reinterpret macros and kept by ledger entry (0 unbacked); 11 lying declarations, 11 of them ledgered as known exceptions.
|
||||
|
||||
_Generated by `tools/progress.py --readme` from `docs/progress.json` — numbers are never typed by hand._
|
||||
<!-- progress:end -->
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
# C0515 — Global I/M casts to typed externs: R ladder and refusal causes
|
||||
tags: casts,globals,extern,restruct,recipes · date: 2026-10-02 · phase/task: 39/T5 · origin: P3.39 T5 summary
|
||||
|
||||
# Global I/M casts to typed externs: the R ladder and its refusal causes (P3.39 T5)
|
||||
- `*(T *)&D_x` / `*(T *)D_x` / `M2C_FIELD(&D_x, …)` close by `restruct --rung S --recipes --forms I,M` (R2 `extern T D_x[]` mostly; R1 pointer global as member; R3 walked pointer); judged per object, R22 after each batch.
|
||||
- Yield is low: ~1,676 sites drawn vs ~48k refused. Refusal causes are byte facts per site, ledgered `RESIDUAL(<cause>)`: R2-NO-SCALAR-EXTERN 18,945, R2-WIDTH 10,186 (one symbol read at two widths), R2-DIFFERS 3,985 (typed extern changes the object), R2-REKEYS 1,756, R2-COMPILE-ERROR 1,244, R2-HEADER-EXTERN 336, R3-NOT-CONTIGUOUS 15.
|
||||
- Globals in shared headers need `--headers` (HEADERS=1 cycle); plain `--plan --rung S` skips `.h` TUs.
|
||||
- A file-scope gaddr site has no function to judge (src/800_b_2.c:4639): ledger it as GADDR.
|
||||
@@ -0,0 +1,8 @@
|
||||
# C0516 — Lying declarations: def + all callers; K&R-empty can be load-bearing
|
||||
tags: lying,decls,K&R,restruct,rung-D · date: 2026-10-02 · phase/task: 39/T6 · origin: P3.39 T6 summary
|
||||
|
||||
# Lying declarations: draw def + every caller; K&R-empty can be load-bearing (P3.39 T6)
|
||||
- A lying decl is a per-callee unit: definition + all caller declarations (C0508), drawn with `restruct --rung D --callee F --signature '…' [--all-defs|--tu]`; `--plan --rung D` does not find them.
|
||||
- Asm-label aliases (`aF<addr>`): K&R-empty decls in caller TUs keyed by the alias, not the real name; caller-only unit when the def is already spelled. Never respell `!FAKE` barrier declarations of an asm label.
|
||||
- A def in a shared header is judged on every binary its includers build (one source can build two binaries); scoping by includer path fails as "conflicting types".
|
||||
- Byte fact: when callers call with zero args and use the value, the prototype is a compile error; the K&R-empty decl stays, ledgered in config/lying_exceptions.tsv with cause ZERO-ARG-CALLERS (func_8012BD14, func_8012CBF4). PROTO-DIFFERS: the prototype changes a caller object (func_80014CF8, ov_MAIN_012 jr_801458E0.o).
|
||||
@@ -0,0 +1,8 @@
|
||||
# C0517 — GTE one spelling in gte_inline.h; clobber variants as header-level levers
|
||||
tags: gte,levers,delever,gte_consolidate · date: 2026-10-02 · phase/task: 39/T7.1 · origin: P3.39 T7.1/T8 summaries
|
||||
|
||||
# GTE: one spelling in gte_inline.h; clobber variants are header-level levers (P3.39 T7.1, T8)
|
||||
- Every GTE statement in a body is a call of an `include/gte_inline.h` macro; inline and per-TU forms respell byte-identically (477 inline + 15 per-TU sites, oracle IDENTICAL per file, R22 218/218). Call vs inline stays per site (C0217).
|
||||
- A def differing only by extra clobbers is a scheduling steer, not a duplicate: it lives once in the header as `<name>_m` / `_v<sha4>` under a `// !FAKE: … pass: …; instrument: …` line (R113), generated by `gte_consolidate --inventory && --header`, never by hand.
|
||||
- delever removing a gte-lever's extra clobbers leaves raw inline GTE asm: re-run `gte_consolidate --rejudge` after any delever pass (T8: 343 regressed statements).
|
||||
- Rung R recipes bank no-op brace wraps on bodies with no live sites; filter "0 pin(s) gone" banks.
|
||||
@@ -964,3 +964,6 @@ C0511 | Type-census instrument pitfalls: attrs in layout hash, tag+typedef one n
|
||||
C0512 | Folding duplicate struct definitions onto one canonical type, byte-safely | structs,fold,types,restruct,lift_types | 2026-09-30 | 38/T7 | P38 T4-T6 summaries
|
||||
C0513 | Makefile health-gate traps: make -n on .ONESHELL executes; health needs a complete build/ | make,tools-health,oneshell,build | 2026-09-30 | 38/T7 | P38 T1
|
||||
C0514 | Run a repo-wide check on unedited HEAD first; mirrored edits need make kit-corpus | docs,doc_links,tools-health,kit-corpus,baseline | 2026-09-30 | 38/PE | P38 T8, T10 summaries
|
||||
C0515 | Global I/M casts to typed externs: R ladder and refusal causes | casts,globals,extern,restruct,recipes | 2026-10-02 | 39/T5 | P3.39 T5 summary
|
||||
C0516 | Lying declarations: def + all callers; K&R-empty can be load-bearing | lying,decls,K&R,restruct,rung-D | 2026-10-02 | 39/T6 | P3.39 T6 summary
|
||||
C0517 | GTE one spelling in gte_inline.h; clobber variants as header-level levers | gte,levers,delever,gte_consolidate | 2026-10-02 | 39/T7.1 | P3.39 T7.1/T8 summaries
|
||||
|
||||
@@ -81,3 +81,4 @@ date milestone head sites_AB pins asm bodies_AB distinct_AB marked unmarked gte_
|
||||
2026-09-12 P37 T4 — the declaration layer: func_80157D20 ×132 (--map-data), func_80029D3C + 3 callers (--with), func_80188A30 void→s32, func_80183CC4/8017FC5C/80185578/80188DF4 (--tu); 4,010 → 3,730 274223396 3730 1868 1862 1838 662 3730 0 450 314 1589 50 5996 302 76
|
||||
2026-09-12 P37 T4 close — the declaration layer at its floor: 1,796 lying declarations (98,648 at T1), 5,262 K&R sites and 418 cross-binary counted apart; levers 3,730 bd7d32ec2 3730 1868 1862 1838 662 3730 0 450 314 1589 50 5996 302 76
|
||||
2026-09-29 P38 T7 close — one canonical definition per type: 1,650 bodies, 0 dup classes outside the 53 listed twins, 0 parse-error declarations, 229 lying declarations 465d915bd 3730 1868 1862 1838 662 3730 0 450 314 1589 50 5996 302 76
|
||||
2026-10-02 P3.39 close: reading A (residue 3528) 3a9377c926 3364 1868 1496 1684 643 3364 0 91 164 1581 50 5984 302 26
|
||||
|
||||
|
+10
-1
@@ -127,6 +127,7 @@ counted, not marked). E, F and G belong to the canonical type layer and are the
|
||||
| 2026-09-12 | P37 T4 — the declaration layer: func_80157D20 ×132 (--map-data), func_80029D3C + 3 callers (--with), func_80188A30 void→s32, func_80183CC4/8017FC5C/80185578/80188DF4 (--tu); 4,010 → 3,730 | 1868 | 1862 | **3730** | 1838 | 662 | 450 | 314 | 1589 | 50 | 5996 | 302 | 76 | `274223396` |
|
||||
| 2026-09-12 | P37 T4 close — the declaration layer at its floor: 1,796 lying declarations (98,648 at T1), 5,262 K&R sites and 418 cross-binary counted apart; levers 3,730 | 1868 | 1862 | **3730** | 1838 | 662 | 450 | 314 | 1589 | 50 | 5996 | 302 | 76 | `bd7d32ec2` |
|
||||
| 2026-09-29 | P38 T7 close — one canonical definition per type: 1,650 bodies, 0 dup classes outside the 53 listed twins, 0 parse-error declarations, 229 lying declarations | 1868 | 1862 | **3730** | 1838 | 662 | 450 | 314 | 1589 | 50 | 5996 | 302 | 76 | `465d915bd` |
|
||||
| 2026-10-02 | P3.39 close: reading A (residue 3528) | 1868 | 1496 | **3364** | 1684 | 643 | 91 | 164 | 1581 | 50 | 5984 | 302 | 26 | `3a9377c926` |
|
||||
|
||||
### The campaign — every batch, from the ledger (derived on every render)
|
||||
|
||||
@@ -440,7 +441,15 @@ counted, not marked). E, F and G belong to the canonical type layer and are the
|
||||
| `s105_f9` | 2026-09-11 | E | 0 | 0 | 0 | 12 | 4 |
|
||||
| `s105_f10` | 2026-09-11 | E | 0 | 0 | 0 | 6 | 4 |
|
||||
| `s105_f11` | 2026-09-11 | E | 0 | 0 | 0 | 13 | 5 |
|
||||
| **total** | | | **17,122** | **20,778** | **283** | **30,411** | **10,766** |
|
||||
| `P37-t3_S1` | 2026-10-01 | S+A | 4 | 7 | 6 | 0 | 0 |
|
||||
| `P37-t3_S2` | 2026-10-01 | S+A | 1 | 2 | 0 | 0 | 0 |
|
||||
| `P37-t3_S20` | 2026-10-01 | S+A | 0 | 0 | 0 | 1 | 0 |
|
||||
| `P37-t3_S28` | 2026-10-01 | S+A | 0 | 0 | 0 | 1 | 0 |
|
||||
| `c3b2` | 2026-10-02 | gte | 1 | 0 | 0 | 0 | 0 |
|
||||
| `t8_tus2` | 2026-10-02 | A,B,replay | 66 | 48 | 0 | 2 | 0 |
|
||||
| `t8_hdr1` | 2026-10-02 | A,B,replay | 1 | 12 | 0 | 1 | 0 |
|
||||
| `t8_r2` | 2026-10-02 | R | 0 | 0 | 0 | 284 | 146 |
|
||||
| **total** | | | **17,195** | **20,847** | **289** | **30,700** | **10,912** |
|
||||
|
||||
*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).*
|
||||
|
||||
|
||||
+32
-3
@@ -66,7 +66,7 @@
|
||||
},
|
||||
"types": {
|
||||
"date": "2026-10-03",
|
||||
"head": "21f3aee1b2",
|
||||
"head": "3a9377c926",
|
||||
"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",
|
||||
@@ -106,8 +106,37 @@
|
||||
"lying_callees": 3,
|
||||
"asm_label_aliases": 5148,
|
||||
"multi_spelled_callees": 3772,
|
||||
"struct_map_types": 17677,
|
||||
"struct_map_explained_pct": 98.8
|
||||
"struct_map_types": 17968,
|
||||
"struct_map_explained_pct": 98.8,
|
||||
"check_casts": {
|
||||
"census": ".run/P37/census/residue_census.json",
|
||||
"date": "2026-10-03",
|
||||
"head": "3a9377c926",
|
||||
"gate_line": "check-casts: raw P=257470 I=49831 X=13790 M=15128 (uncovered P=0 I=0 X=0 M=0); macros CAST_ALIAS=1173 CAST_SIGN=8429 CAST_WIDTH=10410 CAST_MISALIGNED=624 CAST_NONSTRUCT=327 (unbacked 0); lying=11 (ledgered 11)",
|
||||
"what": "type_census --check-casts --residue: raw dereference sites per form, split into covered (a rung-S RESIDUAL(<cause>) ledger entry) and uncovered; reinterpret-macro sites KEPT (backed by a rung-S KEPT entry) and unbacked; lying declarations ledgered",
|
||||
"raw": {
|
||||
"P": 257470,
|
||||
"I": 49831,
|
||||
"X": 13790,
|
||||
"M": 15128
|
||||
},
|
||||
"covered": {
|
||||
"P": 257470,
|
||||
"I": 49831,
|
||||
"X": 13790,
|
||||
"M": 15128
|
||||
},
|
||||
"uncovered": {
|
||||
"P": 0,
|
||||
"I": 0,
|
||||
"X": 0,
|
||||
"M": 0
|
||||
},
|
||||
"macro_sites": 20963,
|
||||
"macro_unbacked": 0,
|
||||
"lying": 11,
|
||||
"lying_ledgered": 11
|
||||
}
|
||||
}
|
||||
},
|
||||
"corrections": [
|
||||
|
||||
@@ -11,3 +11,4 @@ date label commit definitions narrow_decls callees kr_empty narrow pinned_rows p
|
||||
2026-10-02 P3.39 T6: lying declarations ledgered (229 -> 11 ledgered) 9aa5887362e2f70cc00ca4c5be5f4013f7c505f5 16094 11 3 2 9 0 0 260306 320402 336219 257469 49831 13790 15129 18889 173103 1650 1021 600 523 53 496 17830 98.8 5293 200 418 96
|
||||
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
|
||||
|
||||
|
@@ -20,6 +20,7 @@
|
||||
| 2026-10-02 | P3.39 T6: lying declarations ledgered (229 -> 11 ledgered) | `9aa588736` | 11 | 2 | 9 | 0 | 260306 | 320402 | **336219** | 173103 | 1650 (1021 / 600) | 523 | 53 / 496 | 17830 (98.8 %) | 5293 | 418 |
|
||||
| 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 |
|
||||
|
||||
**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
|
||||
|
||||
@@ -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 | 135 | | 218 | 100.0% | 100.0% | 100.0% | 100.0% | 0 | 789 / 2091 | — | 336,225 | 1,650 |
|
||||
| 2026-10-02 | 141 | | 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`.
|
||||
|
||||
+21
-20
@@ -65,28 +65,29 @@
|
||||
<line x1="60" y1="519.5" x2="980" y2="519.5" stroke="#ddd"/><text x="54" y="523.5" text-anchor="end" font-size="11" fill="#555">75%</text>
|
||||
<line x1="60" y1="464.0" x2="980" y2="464.0" stroke="#ddd"/><text x="54" y="468.0" text-anchor="end" font-size="11" fill="#555">100%</text>
|
||||
<line x1="60.0" y1="464" x2="60.0" y2="686" stroke="#d62728" stroke-dasharray="2,3" opacity="0.6"/><text x="63.0" y="474" font-size="9" fill="#a00">the census (T1)</text>
|
||||
<line x1="69.5" y1="464" x2="69.5" y2="686" stroke="#d62728" stroke-dasharray="2,3" opacity="0.6"/><text x="72.5" y="486" font-size="9" fill="#a00">mechanical strip — rung A/B (T4)</text>
|
||||
<line x1="192.8" y1="464" x2="192.8" y2="686" stroke="#d62728" stroke-dasharray="2,3" opacity="0.6"/><text x="195.8" y="498" font-size="9" fill="#a00">the GTE header (T5)</text>
|
||||
<line x1="211.8" y1="464" x2="211.8" y2="686" stroke="#d62728" stroke-dasharray="2,3" opacity="0.6"/><text x="214.8" y="510" font-size="9" fill="#a00">recipes + permuter — rungs R/D (T6)</text>
|
||||
<line x1="240.2" y1="464" x2="240.2" y2="686" stroke="#d62728" stroke-dasharray="2,3" opacity="0.6"/><text x="243.2" y="474" font-size="9" fill="#a00">the guided search — rung G (S101)</text>
|
||||
<line x1="297.1" y1="464" x2="297.1" y2="686" stroke="#d62728" stroke-dasharray="2,3" opacity="0.6"/><text x="300.1" y="486" font-size="9" fill="#a00">agents, one per class + the call-arity class (S102)</text>
|
||||
<line x1="496.3" y1="464" x2="496.3" y2="686" stroke="#d62728" stroke-dasharray="2,3" opacity="0.6"/><text x="499.3" y="498" font-size="9" fill="#a00">agents, TU batches + regen (S103)</text>
|
||||
<line x1="733.4" y1="464" x2="733.4" y2="686" stroke="#d62728" stroke-dasharray="2,3" opacity="0.6"/><text x="736.4" y="510" font-size="9" fill="#a00">agents, TU batches (S104)</text>
|
||||
<line x1="837.7" y1="464" x2="837.7" y2="686" stroke="#d62728" stroke-dasharray="2,3" opacity="0.6"/><text x="840.7" y="474" font-size="9" fill="#a00">agents, TU batches (S105)</text>
|
||||
<line x1="942.1" y1="464" x2="942.1" y2="686" stroke="#d62728" stroke-dasharray="2,3" opacity="0.6"/><text x="945.1" y="486" font-size="9" fill="#a00">P36</text>
|
||||
<line x1="951.5" y1="464" x2="951.5" y2="686" stroke="#d62728" stroke-dasharray="2,3" opacity="0.6"/><text x="954.5" y="498" font-size="9" fill="#a00">P37</text>
|
||||
<line x1="980.0" y1="464" x2="980.0" y2="686" stroke="#d62728" stroke-dasharray="2,3" opacity="0.6"/><text x="983.0" y="510" font-size="9" fill="#a00">other</text>
|
||||
<line x1="69.4" y1="464" x2="69.4" y2="686" stroke="#d62728" stroke-dasharray="2,3" opacity="0.6"/><text x="72.4" y="486" font-size="9" fill="#a00">mechanical strip — rung A/B (T4)</text>
|
||||
<line x1="191.4" y1="464" x2="191.4" y2="686" stroke="#d62728" stroke-dasharray="2,3" opacity="0.6"/><text x="194.4" y="498" font-size="9" fill="#a00">the GTE header (T5)</text>
|
||||
<line x1="210.2" y1="464" x2="210.2" y2="686" stroke="#d62728" stroke-dasharray="2,3" opacity="0.6"/><text x="213.2" y="510" font-size="9" fill="#a00">recipes + permuter — rungs R/D (T6)</text>
|
||||
<line x1="238.4" y1="464" x2="238.4" y2="686" stroke="#d62728" stroke-dasharray="2,3" opacity="0.6"/><text x="241.4" y="474" font-size="9" fill="#a00">the guided search — rung G (S101)</text>
|
||||
<line x1="294.7" y1="464" x2="294.7" y2="686" stroke="#d62728" stroke-dasharray="2,3" opacity="0.6"/><text x="297.7" y="486" font-size="9" fill="#a00">agents, one per class + the call-arity class (S102)</text>
|
||||
<line x1="491.8" y1="464" x2="491.8" y2="686" stroke="#d62728" stroke-dasharray="2,3" opacity="0.6"/><text x="494.8" y="498" font-size="9" fill="#a00">agents, TU batches + regen (S103)</text>
|
||||
<line x1="726.5" y1="464" x2="726.5" y2="686" stroke="#d62728" stroke-dasharray="2,3" opacity="0.6"/><text x="729.5" y="510" font-size="9" fill="#a00">agents, TU batches (S104)</text>
|
||||
<line x1="829.8" y1="464" x2="829.8" y2="686" stroke="#d62728" stroke-dasharray="2,3" opacity="0.6"/><text x="832.8" y="474" font-size="9" fill="#a00">agents, TU batches (S105)</text>
|
||||
<line x1="933.1" y1="464" x2="933.1" y2="686" stroke="#d62728" stroke-dasharray="2,3" opacity="0.6"/><text x="936.1" y="486" font-size="9" fill="#a00">P36</text>
|
||||
<line x1="942.4" y1="464" x2="942.4" y2="686" stroke="#d62728" stroke-dasharray="2,3" opacity="0.6"/><text x="945.4" y="498" font-size="9" fill="#a00">P37</text>
|
||||
<line x1="970.6" y1="464" x2="970.6" y2="686" stroke="#d62728" stroke-dasharray="2,3" opacity="0.6"/><text x="973.6" y="510" font-size="9" fill="#a00">other</text>
|
||||
<line x1="60.0" y1="686" x2="60.0" y2="692" stroke="#888"/><text x="62.0" y="702" font-size="9" fill="#333">09-09</text>
|
||||
<line x1="297.1" y1="686" x2="297.1" y2="692" stroke="#888"/><text x="299.1" y="702" font-size="9" fill="#333">09-10</text>
|
||||
<line x1="780.8" y1="686" x2="780.8" y2="692" stroke="#888"/><text x="782.8" y="702" font-size="9" fill="#333">09-11</text>
|
||||
<line x1="961.0" y1="686" x2="961.0" y2="692" stroke="#888"/><text x="963.0" y="702" font-size="9" fill="#333">09-12</text>
|
||||
<line x1="980.0" y1="686" x2="980.0" y2="692" stroke="#888"/><text x="982.0" y="702" font-size="9" fill="#333">09-29</text>
|
||||
<polyline fill="none" stroke="#d62728" stroke-width="2" points="60.0,464.0 69.5,478.3 79.0,492.4 88.5,504.5 97.9,513.3 107.4,519.5 116.9,525.1 126.4,532.6 135.9,534.1 145.4,542.3 154.8,543.8 164.3,545.0 173.8,545.7 183.3,545.7 192.8,544.6 202.3,543.8 211.8,544.4 221.2,544.4 230.7,546.6 240.2,547.1 249.7,548.2 259.2,556.6 268.7,557.1 278.1,557.5 287.6,559.4 297.1,560.5 306.6,562.1 316.1,562.6 325.6,562.8 335.1,562.8 344.5,564.2 354.0,564.4 363.5,564.4 373.0,565.0 382.5,565.5 392.0,569.3 401.4,574.6 410.9,575.6 420.4,575.6 429.9,575.6 439.4,576.7 448.9,577.2 458.4,582.1 467.8,582.6 477.3,585.4 486.8,585.4 496.3,585.9 505.8,601.7 515.3,605.6 524.7,607.7 534.2,612.1 543.7,612.2 553.2,618.1 562.7,619.2 572.2,619.2 581.6,622.4 591.1,628.3 600.6,631.4 610.1,632.0 619.6,633.5 629.1,633.7 638.6,633.9 648.0,635.8 657.5,635.9 667.0,636.0 676.5,644.5 686.0,648.3 695.5,663.5 704.9,663.6 714.4,664.2 723.9,664.7 733.4,665.3 742.9,666.2 752.4,666.3 761.9,666.6 771.3,666.8 780.8,667.3 790.3,667.5 799.8,667.9 809.3,668.2 818.8,668.4 828.2,668.7 837.7,668.8 847.2,668.8 856.7,668.9 866.2,669.0 875.7,669.0 885.2,669.1 894.6,669.1 904.1,669.1 913.6,669.2 923.1,669.2 932.6,669.3 942.1,669.3 951.5,669.3 961.0,670.4 970.5,670.4 980.0,670.4"/>
|
||||
<text x="976.0" y="664.4" text-anchor="end" font-size="10" fill="#d62728">3,730</text>
|
||||
<text x="970" y="557.2" text-anchor="end" font-size="12" fill="#d62728">register pins + asm statements (the lever series, 98 increments): 53,221 → 3,730</text>
|
||||
<polyline fill="none" stroke="#9467bd" stroke-width="2" stroke-dasharray="5,4" points="771.3,464.0 951.5,465.2"/>
|
||||
<line x1="294.7" y1="686" x2="294.7" y2="692" stroke="#888"/><text x="296.7" y="702" font-size="9" fill="#333">09-10</text>
|
||||
<line x1="773.5" y1="686" x2="773.5" y2="692" stroke="#888"/><text x="775.5" y="702" font-size="9" fill="#333">09-11</text>
|
||||
<line x1="951.8" y1="686" x2="951.8" y2="692" stroke="#888"/><text x="953.8" y="702" font-size="9" fill="#333">09-12</text>
|
||||
<line x1="970.6" y1="686" x2="970.6" y2="692" stroke="#888"/><text x="972.6" y="702" font-size="9" fill="#333">09-29</text>
|
||||
<line x1="980.0" y1="686" x2="980.0" y2="692" stroke="#888"/><text x="982.0" y="702" font-size="9" fill="#333">10-02</text>
|
||||
<polyline fill="none" stroke="#d62728" stroke-width="2" points="60.0,464.0 69.4,478.3 78.8,492.4 88.2,504.5 97.6,513.3 106.9,519.5 116.3,525.1 125.7,532.6 135.1,534.1 144.5,542.3 153.9,543.8 163.3,545.0 172.7,545.7 182.0,545.7 191.4,544.6 200.8,543.8 210.2,544.4 219.6,544.4 229.0,546.6 238.4,547.1 247.8,548.2 257.1,556.6 266.5,557.1 275.9,557.5 285.3,559.4 294.7,560.5 304.1,562.1 313.5,562.6 322.9,562.8 332.2,562.8 341.6,564.2 351.0,564.4 360.4,564.4 369.8,565.0 379.2,565.5 388.6,569.3 398.0,574.6 407.3,575.6 416.7,575.6 426.1,575.6 435.5,576.7 444.9,577.2 454.3,582.1 463.7,582.6 473.1,585.4 482.4,585.4 491.8,585.9 501.2,601.7 510.6,605.6 520.0,607.7 529.4,612.1 538.8,612.2 548.2,618.1 557.6,619.2 566.9,619.2 576.3,622.4 585.7,628.3 595.1,631.4 604.5,632.0 613.9,633.5 623.3,633.7 632.7,633.9 642.0,635.8 651.4,635.9 660.8,636.0 670.2,644.5 679.6,648.3 689.0,663.5 698.4,663.6 707.8,664.2 717.1,664.7 726.5,665.3 735.9,666.2 745.3,666.3 754.7,666.6 764.1,666.8 773.5,667.3 782.9,667.5 792.2,667.9 801.6,668.2 811.0,668.4 820.4,668.7 829.8,668.8 839.2,668.8 848.6,668.9 858.0,669.0 867.3,669.0 876.7,669.1 886.1,669.1 895.5,669.1 904.9,669.2 914.3,669.2 923.7,669.3 933.1,669.3 942.4,669.3 951.8,670.4 961.2,670.4 970.6,670.4 980.0,672.0"/>
|
||||
<text x="976.0" y="666.0" text-anchor="end" font-size="10" fill="#d62728">3,364</text>
|
||||
<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="951.5,464.0 970.5,464.0 970.5,464.0 970.5,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"/>
|
||||
<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"/>
|
||||
<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 |
+77
-77
@@ -1,23 +1,23 @@
|
||||
# The struct map — the types the fleet's cast sites need (Phase 37 T1)
|
||||
|
||||
> **Generated by `tools/type_census.py` at `21f3aee1b2` (2026-10-03T03:19:00Z); 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 `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.
|
||||
|
||||
**17677 types explain 332313 of 336225 dereference sites (98.8 %); 3912 sites have a base the census could not classify; 814 types carry a width conflict.** Merges by evidence: param 39300, assign 19479, arg 10689, field 6552, ret-of 6006, return 1536, assign& 1408, arg& 249, nested 9.
|
||||
**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.
|
||||
|
||||
| # | type | sites | bodies | fields | size ≥ | width conflicts (+sign mixes) | instance globals | pointer globals |
|
||||
|---:|---|---:|---:|---:|---:|---:|---|---|
|
||||
| 1 | `Unkstruct_800D3888` | 20735 | 4481 | 124 | 0x10c | 50 (+46 sign) | D_800D3888, D_80181D9C, D_80181E74, D_80185FD0… | D_8006386C, D_80074778, D_80074780, D_80074784… |
|
||||
| 1 | `Unkstruct_800D3888` | 19193 | 4305 | 122 | 0x10c | 50 (+46 sign) | D_800D3888, D_80181538, D_801818AC, D_8018192C… | D_8006386C, D_80074778, D_80074780, D_80074784… |
|
||||
| 2 | `Unkstruct_cb638a45` | 6477 | 381 | 6 | 0x10 | 0 (+0 sign) | | |
|
||||
| 3 | `Unkstruct_80126B58` | 4916 | 2442 | 165 | 0x24c | 38 (+44 sign) | D_80126B58 | D_80126B58 |
|
||||
| 3 | `Unkstruct_80126B58` | 5482 | 2947 | 165 | 0x24c | 40 (+45 sign) | D_80126B58 | D_80126B58 |
|
||||
| 4 | `Unkstruct_dac960ce` | 4464 | 124 | 13 | 0x24c | 0 (+2 sign) | | |
|
||||
| 5 | `Unkstruct_a5d21dec` | 4340 | 124 | 23 | 0xfe | 0 (+1 sign) | | |
|
||||
| 6 | `Unkstruct_f8ed2b9f` | 4061 | 4061 | 1 | 0x217 | 0 (+0 sign) | | |
|
||||
| 7 | `Unkstruct_cedd385d` | 3936 | 123 | 8 | 0x4b | 0 (+1 sign) | | |
|
||||
| 8 | `Unkstruct_8e3dbe51` | 3930 | 131 | 5 | 0x4c | 0 (+1 sign) | | |
|
||||
| 9 | `Unkstruct_80126948` | 3284 | 1098 | 34 | 0xa4 | 0 (+10 sign) | D_80126948, D_80126E60 | D_80114EE8, D_801151D4, D_80126948, D_80126E60… |
|
||||
| 10 | `Unkstruct_57a28935` | 3271 | 196 | 26 | 0xa4 | 3 (+9 sign) | | |
|
||||
| 11 | `Unkstruct_1fa9e810` | 3144 | 131 | 3 | 0x49 | 0 (+0 sign) | | |
|
||||
| 12 | `Unkstruct_30b21035` | 3100 | 124 | 13 | 0x54 | 0 (+0 sign) | | |
|
||||
| 9 | `Unkstruct_57a28935` | 3271 | 196 | 26 | 0xa4 | 3 (+9 sign) | | |
|
||||
| 10 | `Unkstruct_1fa9e810` | 3144 | 131 | 3 | 0x49 | 0 (+0 sign) | | |
|
||||
| 11 | `Unkstruct_30b21035` | 3100 | 124 | 13 | 0x54 | 0 (+0 sign) | | |
|
||||
| 12 | `Unkstruct_80126948` | 3034 | 848 | 34 | 0xa4 | 0 (+10 sign) | D_80126948, D_80126E60 | D_80114EE8, D_801151D4, D_80126948, D_80126E60… |
|
||||
| 13 | `Unkstruct_a2c8734a` | 2646 | 126 | 8 | 0x34 | 0 (+3 sign) | | |
|
||||
| 14 | `Unkstruct_198fc7cc` | 2580 | 129 | 16 | 0x38 | 3 (+1 sign) | | |
|
||||
| 15 | `Unkstruct_80130D48` | 2382 | 587 | 25 | 0x64 | 6 (+3 sign) | | D_80072C84, D_80078E78 |
|
||||
@@ -37,9 +37,9 @@
|
||||
| 29 | `Unkstruct_57db4d07` | 1664 | 128 | 13 | 0x0 | 13 (+0 sign) | | |
|
||||
| 30 | `Unkstruct_4692fc17` | 1612 | 124 | 4 | 0x1e | 0 (+3 sign) | | |
|
||||
| 31 | `Unkstruct_d77ead3e` | 1596 | 133 | 6 | 0x54 | 6 (+0 sign) | | |
|
||||
| 32 | `Unkstruct_4e09b6d9` | 1572 | 131 | 9 | 0x32 | 0 (+1 sign) | | |
|
||||
| 33 | `Unkstruct_645b745d` | 1548 | 258 | 4 | 0x7c | 0 (+0 sign) | | |
|
||||
| 34 | `Unkstruct_8012D3B4` | 1539 | 168 | 23 | 0x24 | 11 (+8 sign) | | |
|
||||
| 32 | `Unkstruct_8012D3B4` | 1588 | 183 | 23 | 0x24 | 16 (+9 sign) | | D_80074808, D_800A5E60 |
|
||||
| 33 | `Unkstruct_4e09b6d9` | 1572 | 131 | 9 | 0x32 | 0 (+1 sign) | | |
|
||||
| 34 | `Unkstruct_645b745d` | 1548 | 258 | 4 | 0x7c | 0 (+0 sign) | | |
|
||||
| 35 | `Unkstruct_23e45db5` | 1512 | 126 | 11 | 0x16 | 0 (+0 sign) | | |
|
||||
| 36 | `Unkstruct_b5c0372a` | 1441 | 131 | 9 | 0x58 | 0 (+0 sign) | | |
|
||||
| 37 | `Unkstruct_0980b9f0` | 1441 | 131 | 4 | 0x49 | 0 (+0 sign) | | |
|
||||
@@ -141,70 +141,70 @@
|
||||
| 133 | `Unkstruct_6feef4cf` | 496 | 124 | 4 | 0x38 | 0 (+0 sign) | | |
|
||||
| 134 | `Unkstruct_9e228c39` | 492 | 123 | 3 | 0x6 | 0 (+0 sign) | | |
|
||||
| 135 | `Unkstruct_76fe8618` | 492 | 123 | 3 | 0x2c | 0 (+0 sign) | | |
|
||||
| 136 | `Unkstruct_ba6e2e9f` | 482 | 482 | 1 | 0x4 | 0 (+0 sign) | | |
|
||||
| 137 | `Unkstruct_48c11385` | 441 | 21 | 5 | 0x68 | 0 (+0 sign) | | |
|
||||
| 138 | `Unkstruct_a55a221e` | 428 | 428 | 1 | 0x215 | 0 (+0 sign) | | |
|
||||
| 139 | `Unkstruct_02864986` | 420 | 420 | 1 | 0x2 | 0 (+1 sign) | | D_80115158 |
|
||||
| 140 | `Unkstruct_f9be7d6a` | 405 | 45 | 6 | 0x7c | 0 (+0 sign) | | |
|
||||
| 141 | `Unkstruct_8011511A` | 404 | 146 | 1 | 0x2 | 0 (+1 sign) | D_8011511A | |
|
||||
| 142 | `Unkstruct_8016B5C0` | 399 | 133 | 2 | 0x1c | 0 (+0 sign) | | |
|
||||
| 143 | `Unkstruct_8016BFA8` | 399 | 133 | 3 | 0x6 | 0 (+0 sign) | | |
|
||||
| 144 | `Unkstruct_5e1aeb8f` | 399 | 133 | 3 | 0x10 | 0 (+0 sign) | | |
|
||||
| 145 | `Unkstruct_8011F7F0` | 399 | 133 | 3 | 0x42 | 0 (+0 sign) | D_8011F7F0 | |
|
||||
| 146 | `Unkstruct_630777a3` | 399 | 266 | 2 | 0x5 | 0 (+0 sign) | | |
|
||||
| 147 | `Unkstruct_80135260` | 390 | 130 | 3 | 0x6 | 0 (+0 sign) | | |
|
||||
| 148 | `Unkstruct_a472a6ba` | 387 | 129 | 3 | 0x1c | 0 (+0 sign) | | |
|
||||
| 149 | `Unkstruct_f2440762` | 384 | 128 | 1 | 0x4 | 0 (+0 sign) | | |
|
||||
| 150 | `Unkstruct_80164BDC` | 384 | 128 | 5 | 0x64 | 0 (+1 sign) | | |
|
||||
| 151 | `Unkstruct_8c2ab96e` | 384 | 128 | 3 | 0x8 | 0 (+0 sign) | | |
|
||||
| 152 | `Unkstruct_7fe477b5` | 384 | 48 | 0 | 0x0 | 0 (+0 sign) | | |
|
||||
| 153 | `Unkstruct_c06886a4` | 381 | 127 | 2 | 0x1c | 0 (+0 sign) | | |
|
||||
| 154 | `Unkstruct_e79a0730` | 378 | 126 | 2 | 0x24 | 0 (+0 sign) | | |
|
||||
| 155 | `Unkstruct_1a8e907f` | 378 | 126 | 1 | 0x4 | 0 (+0 sign) | | |
|
||||
| 156 | `Unkstruct_e1c73ac0` | 378 | 126 | 3 | 0x6 | 0 (+0 sign) | | |
|
||||
| 157 | `Unkstruct_b36b9c5c` | 378 | 126 | 3 | 0x1c | 0 (+0 sign) | | |
|
||||
| 158 | `Unkstruct_93e44aed` | 378 | 126 | 2 | 0x1c | 0 (+0 sign) | | |
|
||||
| 159 | `Unkstruct_8dd0822e` | 378 | 126 | 3 | 0xe | 0 (+0 sign) | | |
|
||||
| 160 | `Unkstruct_89684c99` | 375 | 125 | 3 | 0x6 | 0 (+0 sign) | | |
|
||||
| 161 | `Unkstruct_d0754cca` | 375 | 125 | 2 | 0x24 | 0 (+0 sign) | | |
|
||||
| 162 | `Unkstruct_89f82b52` | 372 | 124 | 3 | 0x1ca | 0 (+0 sign) | | |
|
||||
| 163 | `Unkstruct_924d03d6` | 372 | 124 | 3 | 0x6 | 0 (+0 sign) | | |
|
||||
| 164 | `Unkstruct_7fd6458b` | 372 | 124 | 1 | 0x40 | 0 (+0 sign) | | |
|
||||
| 165 | `Unkstruct_7f39c942` | 372 | 124 | 3 | 0x1c | 0 (+0 sign) | | |
|
||||
| 166 | `Unkstruct_39de3511` | 372 | 124 | 3 | 0x12 | 0 (+0 sign) | | |
|
||||
| 167 | `Unkstruct_1b4331f0` | 369 | 123 | 3 | 0x5e | 0 (+0 sign) | | |
|
||||
| 168 | `Unkstruct_75e9a6af` | 369 | 123 | 3 | 0x10 | 0 (+0 sign) | | |
|
||||
| 169 | `Unkstruct_c59d6379` | 366 | 14 | 24 | 0xa2 | 3 (+3 sign) | | |
|
||||
| 170 | `Unkstruct_bf723e51` | 364 | 14 | 13 | 0x34 | 0 (+0 sign) | | |
|
||||
| 171 | `Unkstruct_5f78a994` | 336 | 24 | 8 | 0x38 | 0 (+2 sign) | | |
|
||||
| 172 | `Unkstruct_800AE620` | 325 | 322 | 0 | 0x0 | 0 (+0 sign) | D_800AE620 | |
|
||||
| 173 | `Unkstruct_814e4d87` | 300 | 75 | 0 | 0x0 | 0 (+0 sign) | | |
|
||||
| 174 | `Unkstruct_09b02bee` | 300 | 75 | 2 | 0x4 | 0 (+0 sign) | | |
|
||||
| 175 | `Unkstruct_33ccb6b5` | 294 | 98 | 2 | 0x24 | 0 (+0 sign) | | |
|
||||
| 176 | `Unkstruct_1ef3b11b` | 280 | 10 | 7 | 0x10c | 0 (+1 sign) | | |
|
||||
| 177 | `Unkstruct_80115188` | 274 | 270 | 1 | 0x4 | 0 (+0 sign) | D_80115188 | |
|
||||
| 178 | `Unkstruct_80129CF8` | 273 | 90 | 33 | 0xa435 | 0 (+5 sign) | | D_800AF630 |
|
||||
| 179 | `Unkstruct_a2d6c72b` | 273 | 21 | 4 | 0x100 | 0 (+0 sign) | | |
|
||||
| 180 | `Unkstruct_ffd024f5` | 273 | 7 | 1 | 0x24 | 0 (+0 sign) | | |
|
||||
| 181 | `Unkstruct_801152B0` | 268 | 268 | 0 | 0x0 | 0 (+0 sign) | D_801152B0 | |
|
||||
| 182 | `Unkstruct_801269F4` | 267 | 134 | 1 | 0x2 | 0 (+0 sign) | D_801269F4 | |
|
||||
| 183 | `Unkstruct_8012C1DC` | 267 | 134 | 3 | 0x1c | 0 (+0 sign) | | |
|
||||
| 184 | `Unkstruct_8011515C` | 267 | 267 | 1 | 0x2 | 0 (+1 sign) | D_8011515C | |
|
||||
| 185 | `Unkstruct_1db7b82d` | 266 | 133 | 1 | 0x2e | 0 (+0 sign) | | |
|
||||
| 186 | `Unkstruct_6bd63257` | 266 | 133 | 2 | 0x1e | 0 (+0 sign) | | |
|
||||
| 187 | `Unkstruct_f85de09d` | 266 | 133 | 1 | 0x2 | 0 (+0 sign) | | |
|
||||
| 188 | `Unkstruct_a310cf42` | 266 | 133 | 1 | 0x4 | 0 (+0 sign) | | |
|
||||
| 189 | `Unkstruct_80115124` | 266 | 266 | 1 | 0x2 | 0 (+0 sign) | D_80115124 | |
|
||||
| 190 | `Unkstruct_800D4BE0` | 266 | 133 | 1 | 0x4 | 0 (+0 sign) | D_800D4BE0 | |
|
||||
| 191 | `Unkstruct_800D4F8C` | 266 | 133 | 1 | 0x4 | 0 (+0 sign) | D_800D4F8C | |
|
||||
| 192 | `Unkstruct_8016BFA8` | 266 | 133 | 0 | 0x0 | 0 (+0 sign) | | |
|
||||
| 193 | `Unkstruct_8016BFA8` | 266 | 133 | 0 | 0x0 | 0 (+0 sign) | | |
|
||||
| 194 | `Unkstruct_80176734` | 266 | 133 | 1 | 0x2c | 0 (+0 sign) | | D_8011F7B0 |
|
||||
| 195 | `Unkstruct_30ffce68` | 262 | 131 | 2 | 0xc2 | 0 (+0 sign) | | |
|
||||
| 196 | `Unkstruct_76f4299b` | 262 | 131 | 1 | 0x4a | 0 (+0 sign) | | |
|
||||
| 197 | `Unkstruct_3816caab` | 260 | 130 | 2 | 0x1c | 0 (+0 sign) | | |
|
||||
| 198 | `Unkstruct_ac2c8f05` | 260 | 130 | 1 | 0x16e | 0 (+0 sign) | | |
|
||||
| 199 | `Unkstruct_985493b9` | 256 | 128 | 2 | 0x1c1 | 0 (+0 sign) | | |
|
||||
| 200 | `Unkstruct_c21b1a66` | 255 | 255 | 1 | 0x5 | 0 (+0 sign) | | |
|
||||
| 136 | `Unkstruct_48c11385` | 441 | 21 | 5 | 0x68 | 0 (+0 sign) | | |
|
||||
| 137 | `Unkstruct_a55a221e` | 428 | 428 | 1 | 0x215 | 0 (+0 sign) | | |
|
||||
| 138 | `Unkstruct_02864986` | 420 | 420 | 1 | 0x2 | 0 (+1 sign) | | D_80115158 |
|
||||
| 139 | `Unkstruct_f9be7d6a` | 405 | 45 | 6 | 0x7c | 0 (+0 sign) | | |
|
||||
| 140 | `Unkstruct_8011511A` | 404 | 146 | 1 | 0x2 | 0 (+1 sign) | D_8011511A | |
|
||||
| 141 | `Unkstruct_8016B5C0` | 399 | 133 | 2 | 0x1c | 0 (+0 sign) | | |
|
||||
| 142 | `Unkstruct_8016BFA8` | 399 | 133 | 3 | 0x6 | 0 (+0 sign) | | |
|
||||
| 143 | `Unkstruct_5e1aeb8f` | 399 | 133 | 3 | 0x10 | 0 (+0 sign) | | |
|
||||
| 144 | `Unkstruct_8011F7F0` | 399 | 133 | 3 | 0x42 | 0 (+0 sign) | D_8011F7F0 | |
|
||||
| 145 | `Unkstruct_630777a3` | 399 | 266 | 2 | 0x5 | 0 (+0 sign) | | |
|
||||
| 146 | `Unkstruct_80135260` | 390 | 130 | 3 | 0x6 | 0 (+0 sign) | | |
|
||||
| 147 | `Unkstruct_a472a6ba` | 387 | 129 | 3 | 0x1c | 0 (+0 sign) | | |
|
||||
| 148 | `Unkstruct_f2440762` | 384 | 128 | 1 | 0x4 | 0 (+0 sign) | | |
|
||||
| 149 | `Unkstruct_80164BDC` | 384 | 128 | 5 | 0x64 | 0 (+1 sign) | | |
|
||||
| 150 | `Unkstruct_8c2ab96e` | 384 | 128 | 3 | 0x8 | 0 (+0 sign) | | |
|
||||
| 151 | `Unkstruct_7fe477b5` | 384 | 48 | 0 | 0x0 | 0 (+0 sign) | | |
|
||||
| 152 | `Unkstruct_c06886a4` | 381 | 127 | 2 | 0x1c | 0 (+0 sign) | | |
|
||||
| 153 | `Unkstruct_e79a0730` | 378 | 126 | 2 | 0x24 | 0 (+0 sign) | | |
|
||||
| 154 | `Unkstruct_1a8e907f` | 378 | 126 | 1 | 0x4 | 0 (+0 sign) | | |
|
||||
| 155 | `Unkstruct_e1c73ac0` | 378 | 126 | 3 | 0x6 | 0 (+0 sign) | | |
|
||||
| 156 | `Unkstruct_b36b9c5c` | 378 | 126 | 3 | 0x1c | 0 (+0 sign) | | |
|
||||
| 157 | `Unkstruct_93e44aed` | 378 | 126 | 2 | 0x1c | 0 (+0 sign) | | |
|
||||
| 158 | `Unkstruct_8dd0822e` | 378 | 126 | 3 | 0xe | 0 (+0 sign) | | |
|
||||
| 159 | `Unkstruct_89684c99` | 375 | 125 | 3 | 0x6 | 0 (+0 sign) | | |
|
||||
| 160 | `Unkstruct_d0754cca` | 375 | 125 | 2 | 0x24 | 0 (+0 sign) | | |
|
||||
| 161 | `Unkstruct_89f82b52` | 372 | 124 | 3 | 0x1ca | 0 (+0 sign) | | |
|
||||
| 162 | `Unkstruct_924d03d6` | 372 | 124 | 3 | 0x6 | 0 (+0 sign) | | |
|
||||
| 163 | `Unkstruct_7fd6458b` | 372 | 124 | 1 | 0x40 | 0 (+0 sign) | | |
|
||||
| 164 | `Unkstruct_7f39c942` | 372 | 124 | 3 | 0x1c | 0 (+0 sign) | | |
|
||||
| 165 | `Unkstruct_39de3511` | 372 | 124 | 3 | 0x12 | 0 (+0 sign) | | |
|
||||
| 166 | `Unkstruct_1b4331f0` | 369 | 123 | 3 | 0x5e | 0 (+0 sign) | | |
|
||||
| 167 | `Unkstruct_75e9a6af` | 369 | 123 | 3 | 0x10 | 0 (+0 sign) | | |
|
||||
| 168 | `Unkstruct_c59d6379` | 366 | 14 | 24 | 0xa2 | 3 (+3 sign) | | |
|
||||
| 169 | `Unkstruct_bf723e51` | 364 | 14 | 13 | 0x34 | 0 (+0 sign) | | |
|
||||
| 170 | `Unkstruct_5f78a994` | 336 | 24 | 8 | 0x38 | 0 (+2 sign) | | |
|
||||
| 171 | `Unkstruct_800AE620` | 325 | 322 | 0 | 0x0 | 0 (+0 sign) | D_800AE620 | |
|
||||
| 172 | `Unkstruct_814e4d87` | 300 | 75 | 0 | 0x0 | 0 (+0 sign) | | |
|
||||
| 173 | `Unkstruct_09b02bee` | 300 | 75 | 2 | 0x4 | 0 (+0 sign) | | |
|
||||
| 174 | `Unkstruct_33ccb6b5` | 294 | 98 | 2 | 0x24 | 0 (+0 sign) | | |
|
||||
| 175 | `Unkstruct_1ef3b11b` | 280 | 10 | 7 | 0x10c | 0 (+1 sign) | | |
|
||||
| 176 | `Unkstruct_80115188` | 274 | 270 | 1 | 0x4 | 0 (+0 sign) | D_80115188 | |
|
||||
| 177 | `Unkstruct_80129CF8` | 273 | 90 | 33 | 0xa435 | 0 (+5 sign) | | D_800AF630 |
|
||||
| 178 | `Unkstruct_a2d6c72b` | 273 | 21 | 4 | 0x100 | 0 (+0 sign) | | |
|
||||
| 179 | `Unkstruct_801152B0` | 268 | 268 | 0 | 0x0 | 0 (+0 sign) | D_801152B0 | |
|
||||
| 180 | `Unkstruct_801269F4` | 267 | 134 | 1 | 0x2 | 0 (+0 sign) | D_801269F4 | |
|
||||
| 181 | `Unkstruct_8012C1DC` | 267 | 134 | 3 | 0x1c | 0 (+0 sign) | | |
|
||||
| 182 | `Unkstruct_8011515C` | 267 | 267 | 1 | 0x2 | 0 (+1 sign) | D_8011515C | |
|
||||
| 183 | `Unkstruct_1db7b82d` | 266 | 133 | 1 | 0x2e | 0 (+0 sign) | | |
|
||||
| 184 | `Unkstruct_6bd63257` | 266 | 133 | 2 | 0x1e | 0 (+0 sign) | | |
|
||||
| 185 | `Unkstruct_f85de09d` | 266 | 133 | 1 | 0x2 | 0 (+0 sign) | | |
|
||||
| 186 | `Unkstruct_a310cf42` | 266 | 133 | 1 | 0x4 | 0 (+0 sign) | | |
|
||||
| 187 | `Unkstruct_80115124` | 266 | 266 | 1 | 0x2 | 0 (+0 sign) | D_80115124 | |
|
||||
| 188 | `Unkstruct_800D4BE0` | 266 | 133 | 1 | 0x4 | 0 (+0 sign) | D_800D4BE0 | |
|
||||
| 189 | `Unkstruct_800D4F8C` | 266 | 133 | 1 | 0x4 | 0 (+0 sign) | D_800D4F8C | |
|
||||
| 190 | `Unkstruct_8016BFA8` | 266 | 133 | 0 | 0x0 | 0 (+0 sign) | | |
|
||||
| 191 | `Unkstruct_8016BFA8` | 266 | 133 | 0 | 0x0 | 0 (+0 sign) | | |
|
||||
| 192 | `Unkstruct_80176734` | 266 | 133 | 1 | 0x2c | 0 (+0 sign) | | D_8011F7B0 |
|
||||
| 193 | `Unkstruct_30ffce68` | 262 | 131 | 2 | 0xc2 | 0 (+0 sign) | | |
|
||||
| 194 | `Unkstruct_76f4299b` | 262 | 131 | 1 | 0x4a | 0 (+0 sign) | | |
|
||||
| 195 | `Unkstruct_3816caab` | 260 | 130 | 2 | 0x1c | 0 (+0 sign) | | |
|
||||
| 196 | `Unkstruct_ac2c8f05` | 260 | 130 | 1 | 0x16e | 0 (+0 sign) | | |
|
||||
| 197 | `Unkstruct_985493b9` | 256 | 128 | 2 | 0x1c1 | 0 (+0 sign) | | |
|
||||
| 198 | `Unkstruct_c21b1a66` | 255 | 255 | 1 | 0x5 | 0 (+0 sign) | | |
|
||||
| 199 | `Unkstruct_80126B62` | 252 | 242 | 1 | 0x2 | 0 (+1 sign) | D_80126B62 | |
|
||||
| 200 | `Unkstruct_ae2d1f2a` | 252 | 7 | 13 | 0x24c | 0 (+2 sign) | | |
|
||||
|
||||
*17677 types in all; the table shows the 200 largest by site count. The full map with every type's layout (offset, width, sign, site count per field) and conflicts is `.run/P37/census/struct_map.json`.*
|
||||
*17968 types in all; the table shows the 200 largest by site count. The full map with every type's layout (offset, width, sign, site count per field) and conflicts is `.run/P37/census/struct_map.json`.*
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
# T9 log — milestone gate and record (expert-opus55)
|
||||
|
||||
## Timeline
|
||||
- Start: HEAD b39e916b80, no restruct_cycle running (pgrep), tree: src/config clean.
|
||||
- Read summaries T5, T6, T7.1, T8, T10, T11 (+ Verified/binding lines of T1-T4, T7).
|
||||
- T9.c1 coder (opus55, bg): restruct_cycle.sh refreshes newest .run/P*/census before the per-batch readability snapshot; ops note line. Commit f61b17ad9f. Coder log logs/T9.c1.md.
|
||||
- R22 detached (.run/logs/t9_r22.log) at f61b17ad9f → check-all 218 passed 0 failed.
|
||||
- Census gates (.run/logs/t9_gates.log): check-casts --residue rc 1, `uncovered P=7` (raw P 257,470; T10's tree had 257,464). check-residue ov_*: `uncovered 7 sites / 5 bodies`; md/main/shared 0.
|
||||
- Cause: bodies respelled after T10 (T7.1 GTE respell, T8 delever) gained P sites with no RESIDUAL entry. Bodies: ov_SC01_084 func_80180CBC, ov_SC03_012 func_8017DCB4, ov_SC03_028 func_80186234 + func_80187954, ov_SC03_105 func_80187928.
|
||||
- Fix: `restruct --rung S --residue --only "ov_*" --label t9_res_ov` (.run/logs/t9_res_ov.log) → 5 merged rows, 7 sites, causes TNC 6, NO-TYPE-IN-MAP 1. Mechanism = T3/T10 bindings (ledger-only RESIDUAL, merged rows). Commit b80f48d5b6.
|
||||
- Gates rerun (.run/logs/t9_gates2.log): check-casts --residue rc 0; check-residue 0 x4; check-structs OK; lever strict+residue OK; GATES_RC0.
|
||||
- tools-health (.run/logs/t9_health.log) FAIL: `GAP corpus copy differs from its source: decomp-architect/corpus/tools/P10/restruct_cycle.sh` (T9.c1 edit). Copied; commit 3a9377c926. Rerun (.run/logs/t9_health2.log) OK.
|
||||
- Calibration (.run/logs/t9_calib.log): snapshot-baseline REFUSED (build/ 7342 vs 7428 objects) — raced with tools-health rebuilding build/ concurrently. Rerun alone (.run/logs/t9_calib2.log): snapshot OK, calibrate OK, linked-control OK, `restruct --selftest --real: 114/114 OK`.
|
||||
- D1 chain (.run/logs/t9_d1.log): type_census --out-dir .run/P39/census; lever_progress --snapshot "P3.39 close: reading A (residue 3528)" + --render; readability_progress --snapshot "P3.39 close: cast campaign, reading A"; timeline.py; progress.py --readme; all four --check OK/fresh at 3a9377c926.
|
||||
- Cookbook C0515 (T5 I/M R ladder), C0516 (T6 lying decls), C0517 (T7.1/T8 GTE) via cookbook_add.sh.
|
||||
- Full verify chain on 3a9377c926 (.run/logs/t9_verify.log): see summary Verified.
|
||||
|
||||
## Hypotheses rejected
|
||||
- "snapshot REFUSED = R22 build incomplete": build/ had 7428 objects once tools-health finished; concurrent build race, not an incomplete fleet.
|
||||
|
||||
## Coder briefs
|
||||
- T9.c1: restruct_cycle.sh:66-69 newest-census refresh before snapshot; ops note; bash -n + census + readability --check. Done, f61b17ad9f.
|
||||
|
||||
## Retrievers
|
||||
- none.
|
||||
|
||||
## Leftovers recorded
|
||||
- 3f547f1152 added ~794k lines of .run/P39/census scratch; 5201d28b19 untracked it. Not rewritten (history stays). restruct_cycle.sh:96 still `git add .run/P37/census` (tracked files only; ignored dir add fails silently) — unchanged.
|
||||
- Two census dirs disagree by ~5 P sites (gate P37 257,470 vs P39 series 257,475; T11 finding); not investigated.
|
||||
@@ -10,3 +10,4 @@ T11 | done | progress snapshot and chart catch-up | - | tasks/T11.md | logs/T11.
|
||||
T6 | done | lying declarations to 0 outside the ledger | - | tasks/T6.md | logs/T6.md | -
|
||||
T7.1 | done | GTE to one spelling (predicate read as the census documents it) | - | tasks/T7.1.md | logs/T7.1.md | -
|
||||
T8 | done | pins and asm the unified types explain; residue ledger | - | tasks/T8.md | logs/T8.md | -
|
||||
T9 | done | milestone gate and record (Phase 3.39, the cast campaign, reading A) | - | tasks/T9.md | logs/T9.md | -
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
# T9 — milestone gate and record (Phase 3.39, the cast campaign, reading A)
|
||||
|
||||
Status: done | expert: expert-opus55 | ctx-at-completion: n/a | commit: see COMMIT | coder runs: c1 opus55 done (f61b17ad9f)
|
||||
Done: every gate of the milestone green on 3a9377c926 (src identical since T8): casts --residue 0, check-residue 0 in all four segments, check-structs 0, lever strict+residue 0, R22 218/218, tools-health OK, calibrate + selftest --real green; series rendered.
|
||||
progress: lever snapshot 'P3.39 close: reading A (residue 3528)' and readability snapshot 'P3.39 close: cast campaign, reading A' at 3a9377c926; levers.md, timeline (82 rows) and README regenerated in the T9 commit.
|
||||
Files:
|
||||
- tools/restruct_cycle.sh:69-71 — refresh newest `.run/P*/census` before the per-batch readability snapshot (c1); corpus copy decomp-architect/corpus/tools/P10/restruct_cycle.sh
|
||||
- docs/ops/p39-t5-2026-10-02-restruct-im-recipes.md:9 — H7 line for the cycle change (c1)
|
||||
- .run/P37/restruct/ledger.jsonl — +5 merged t9_res_ov rows (7 P sites)
|
||||
- docs/levers.md, docs/lever-progress.tsv, docs/readability.md, docs/readability-progress.tsv, docs/story-timeline.{md,svg}, docs/progress.{json,md}, docs/struct-map.md, README.md — D1 regeneration
|
||||
- cookbook/C0515.md, C0516.md, C0517.md, cookbook/INDEX.md — phase byte facts (I/M R ladder; lying decls; GTE one spelling)
|
||||
Decisions:
|
||||
- 7 P sites in 5 ov bodies respelled after T10 (T7.1/T8) were uncovered; closed with ledger-only `--residue` rows (T3/T10 bindings), not by weakening the gate.
|
||||
Deviations:
|
||||
- tools/restruct_cycle.sh and its corpus copy were not in the plan's T9 files; the brief named the census-dir leftover as fix-or-record, fixed.
|
||||
- R22 ran first at f61b17ad9f; the final verify chain was rerun whole on 3a9377c926 (see Verified).
|
||||
Findings (before → after, raw census forms; before = P37 T1):
|
||||
- P 409,007 → 257,470 · I 60,666 → 49,831 · X 13,800 → 13,790 · M 19,543 → 15,128; total 503,016 → 336,219 (P39 series census: 336,225, P 257,475).
|
||||
- Covered residue by form (residue_census, the 3.40 canonical-types input): P 257,470 · I 49,831 · X 13,790 · M 15,128; uncovered 0 in every form. By segment: ov 314,662 · md 6,634 · main 2,072 · shared 12,851.
|
||||
- Covered by cause: TYPE-NOT-CANONICAL 291,819 · R2-NO-SCALAR-EXTERN 18,945 · R2-WIDTH 10,186 · R2-DIFFERS 3,985 · NO-TYPE-IN-MAP 3,813 · NO-FIELD 1,773 · R2-REKEYS 1,756 · R2-COMPILE-ERROR 1,244 · NO-EDIT 1,147 · INDEX 479 · AGGREGATE-FIELD 369 · R2-HEADER-EXTERN 336 · TYPE-NOT-VISIBLE 174 · FILE-SCOPE 173 · R3-NOT-CONTIGUOUS 15 · R3-COMPILE-ERROR 4 · GADDR 1.
|
||||
- Kept casts by cause (registered macros, all backed, unbacked 0): CAST_WIDTH 10,410 · CAST_SIGN 8,429 · CAST_ALIAS 1,173 · CAST_MISALIGNED 624 · CAST_NONSTRUCT 327 = 20,963.
|
||||
- Lying ledger: 229 → 11 lying decls over 3 callees, all ledgered (config/lying_exceptions.tsv, 4 rows).
|
||||
- Lever residue: config/lever_residue.tsv 2,433 rows / 3,528 sites (70 [3.40-agent], 589 singleton); class A+B 3,730 → 3,364 (1,868 pins + 1,496 asm incl. 91 gte-levers); direct GTE in bodies 0; per-TU asm defs 164 (all ledgered).
|
||||
- Record, not rewritten: 3f547f1152 committed ~794k lines of .run/P39/census scratch; 5201d28b19 untracked it. History stays. restruct_cycle.sh:96 still stages `.run/P37/census` (tracked files only).
|
||||
- Two census dirs still disagree by ~5 P sites (gate .run/P37 257,470 vs series .run/P39 257,475; T11), not investigated.
|
||||
Gotchas:
|
||||
- harness: `delever_oracle --snapshot-baseline` REFUSES ("build/ holds fewer objects") when `make tools-health` is rebuilding build/ concurrently; run calibration alone after tools-health.
|
||||
- harness: a tools/ edit stales its kit-corpus copy; tools-health fails `GAP corpus copy differs` until decomp-architect/corpus/tools/P10/<file> is refreshed in the same task.
|
||||
- generalizable: a per-site residue gate goes red again when a later task respells a covered body (new site keys); re-run `restruct --residue` per segment after any respelling task, before the milestone.
|
||||
Research: none
|
||||
Next task needs: 3.40 reads residue_census (TNC 291,819 over ~13k map types; top 81 types cover 50%) and config/lever_residue.tsv; readability_progress --check goes STALE at the commit that records the row (T11 gotcha).
|
||||
Verified: full plan verify chain (check-casts --residue && check-residue ov_*/md_*/main/src/shared/* && lever_census --check --strict --residue && make clean && make extract-all JOBS=16 && make check-all JOBS=16 && make tools-health) at 3a9377c926 → uncovered P=0 I=0 X=0 M=0, unbacked 0, lying 11 ledgered 11; 4x uncovered 0 sites / 0 bodies; strict+residue OK residue-unused 0; check-all 218 passed 0 failed; tools-health OK; VERIFY_RC0 (.run/logs/t9_verify.log); check-structs OK (.run/logs/t9_gates2.log); calibrate + linked-control OK, restruct --selftest --real 114/114 (.run/logs/t9_calib2.log)
|
||||
Full log: phase-ends/current/logs/T9.md
|
||||
Reference in New Issue
Block a user