tools(phase-37): argcheck sees indented file-scope definitions and keeps every K&R definition per binary (116 false lies); restruct --redraw takes VERDICT:cause keys; D40–D47 done (3,489 canonical); census 2,367 lying / 256 callees (+5,082 K&R, +511 cross-binary apart) | 🛑 T4 in progress (S108)

This commit is contained in:
Drew T
2026-09-12 20:23:46 -06:00
parent 2391ee628d
commit fa2ccea3ea
11 changed files with 530 additions and 501 deletions
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
+14 -14
View File
@@ -1,4 +1,4 @@
type_census — 2026-09-13T01:06:59Z at 274223396 (src stamp a91c084f1ac9e504, tool 3d72938e1b); 7305 files (4121 TUs + 3181 headers), 99130 function definitions; walk 62.7 s, total 200.3 s
type_census — 2026-09-13T02:13:23Z at 2391ee628 (src stamp 9755515ee35c19bc, tool ac697cecc1); 7305 files (4121 TUs + 3181 headers), 99130 function definitions; walk 40.9 s, total 208.3 s
DEFINITIONS 7255 struct/union bodies (+0 enums): canonical header 1179 · .c file-scope 4085 · .c block-scope 1904 · per-function shared headers 63 · other headers 24 · include/ 0
3143 distinct names · 527 distinct layouts (0 unresolved) · 206 duplicate classes covering 2823 names (tier 1 122 same-named, tier 2 84 opaque; 46 layout-twin classes / 1867 names kept apart) · 585 exact-text classes / 4460 copies · 40 VARIANT names (>1 layout) · 141 dead canonical names · 74 canonical names redefined in .c · 1781 scalar/alias typedefs · 157 forward decls
@@ -6,28 +6,28 @@ CAST SITES deref 503013 = P 409006 + I 60664 + X 13800 + M 19543 (+ A addres
by base: param 276860 · local 149911 · gaddr 40123 · nested 24076 · global 8861 · other 1678 · addr-of 1348 · ident 156
by width: s4 145161 · u2 142775 · s2 131818 · u1 43174 · agg 13472 · p4 12019 · u4 11165 · s1 3429
top bases: a0(param) 92255 · param_1(param) 81595 · arg0(param) 67704 · p(local) 18043 · p(param) 11784 · s0(local) 10368 · cach(local) 8246 · s1(local) 7137 · buf(local) 7067 · flag(local) 5453 · *(s32 *)(a0 + 0x20)(nested) 5215 · iVar2(local) 5160 · dst(local) 4874 · iVar1(local) 4836 · iVar3(local) 4693 · e(local) 3918
DECLARATIONS 99130 function definitions (1894 K&R) · 4279270 extern function declarations over 12088 names (3830 spelled >1 way) · 6419 names with >1 body text · 1078774 data externs over 55548 symbols (18493 typed >1 way) · asm-label aliases 5158 (165 names) · builtins {'memcpy': 301, 'abs': 1} · attributes {'packed': 63, 'aligned': 12}
lying declarations 8830 over 950 callees {'K&R-empty': 2997, 'narrow': 5833} · K&R sites (marked, counted apart) 5002 over 147 callees
STRUCT MAP 18741 types explain 498894/503013 deref sites (99.2 %); unassigned 4119; 4064 types span ≥2 bodies (441229 sites), 14677 single-body; types with conflicts 727, suspect 11
merges by evidence {'param': 36486, 'assign': 14665, 'ret-of': 3374, 'arg': 10173, 'return': 1524, 'assign&': 1051, 'arg&': 270, 'field': 9613}; vetoed {'arg-conduit': 115288, 'ret-of-multisource': 6686, 'assign-multisource': 34568, 'arg&-conduit': 14628, 'field-multisource': 7008, 'ret-of': 679, 'assign&-multisource': 12500, 'arg&-no-overlap': 3456, 'assign': 347, 'arg-no-overlap': 43021, 'assign&': 69, 'arg': 182, 'return': 12, 'field': 3224}
Unkstruct_800B5CB8 sites 107598 bodies 11187 fields 134 size≥0x10c width-conflicts 50 sign-mixed 55 merges {'param': 9454, 'assign': 7400, 'arg': 6955, 'field': 2622} at D_800B5CB8,D_800D3888,D_80181448 ptr D_8006386C,D_80074778,D_80074780
Unkstruct_80126B58 sites 65397 bodies 17047 fields 175 size≥0x24c width-conflicts 50 sign-mixed 60 merges {'param': 2100, 'arg': 1086, 'assign&': 106, 'field': 51} at D_80126B58 ptr D_80126B58
DECLARATIONS 99130 function definitions (1894 K&R) · 4279270 extern function declarations over 12088 names (3822 spelled >1 way) · 6419 names with >1 body text · 1078774 data externs over 55548 symbols (18493 typed >1 way) · asm-label aliases 5158 (165 names) · builtins {'memcpy': 301, 'abs': 1} · attributes {'aligned': 12, 'packed': 63}
lying declarations 2367 over 256 callees {'K&R-empty': 1673, 'narrow': 694} · K&R sites (marked, counted apart) 5082 over 155 callees · cross-binary (the fleet's definitions disagree, this binary has none) 511 over 147 callees
STRUCT MAP 17970 types explain 498894/503013 deref sites (99.2 %); unassigned 4119; 3947 types span ≥2 bodies (445199 sites), 14023 single-body; types with conflicts 738, suspect 11
merges by evidence {'param': 36486, 'arg': 10422, 'ret-of': 3436, 'assign': 14608, 'assign&': 1051, 'return': 1527, 'arg&': 247, 'field': 9921}; vetoed {'arg-conduit': 115288, 'arg-no-overlap': 31131, 'arg&-conduit': 14628, 'assign-multisource': 34568, 'assign&-multisource': 12501, 'field-multisource': 7008, 'arg&-no-overlap': 3506, 'ret-of-multisource': 6686, 'assign&': 68, 'assign': 394, 'ret-of': 216, 'arg': 253, 'return': 6, 'field': 1004}
Unkstruct_800D3888 sites 113273 bodies 10024 fields 133 size≥0x10c width-conflicts 50 sign-mixed 57 merges {'param': 9832, 'assign': 7528, 'arg': 7222, 'field': 3272} at D_800D3888,D_80181448,D_801818AC ptr D_8006386C,D_80074778,D_80074780
Unkstruct_80126B58 sites 65452 bodies 17066 fields 177 size≥0x24c width-conflicts 50 sign-mixed 62 merges {'param': 2162, 'arg': 1118, 'assign&': 106, 'field': 52} at D_80126B58 ptr D_80126B58
Unkstruct_8018E71C sites 6745 bodies 396 fields 7 size≥0x10 width-conflicts 0 sign-mixed 0 merges {'param': 18, 'arg': 15, 'assign&': 2} at D_8018E71C
Unkstruct_dac960ce sites 4464 bodies 124 fields 13 size≥0x24c width-conflicts 0 sign-mixed 2 merges {'param': 2}
Unkstruct_0caecd54 sites 4340 bodies 124 fields 23 size≥0xfe width-conflicts 0 sign-mixed 1 merges {'param': 2, 'assign': 1, 'return': 1}
Unkstruct_8014964C sites 4251 bodies 1800 fields 23 size≥0x84 width-conflicts 3 sign-mixed 9 merges {'field': 137}
Unkstruct_f8ed2b9f sites 4061 bodies 4061 fields 1 size≥0x217 width-conflicts 0 sign-mixed 0 merges {'param': 2}
Unkstruct_a32b99a1 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_8014A1B0 sites 3778 bodies 542 fields 13 size≥0xfe width-conflicts 0 sign-mixed 1 merges {'field': 13, 'arg': 10, 'param': 10, 'return': 1}
Unkstruct_80128EA8 sites 3311 bodies 632 fields 18 size≥0x38 width-conflicts 0 sign-mixed 13 merges {'arg': 23, 'ret-of': 19, 'field': 7, 'param': 2}
Unkstruct_ade2e8a0 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 {}
GLOBAL BLOCKS 2124 runs of ≥4 adjacent scalar D_ symbols (14253 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 3194 bodies 1040 fields 34 size≥0xa4 width-conflicts 0 sign-mixed 10 merges {'assign': 99, 'arg': 14, 'param': 6, 'assign&': 4} at D_80126948,D_80126E60 ptr D_80114EE8,D_801151D4,D_80126948
GLOBAL BLOCKS 2117 runs of ≥4 adjacent scalar D_ symbols (14216 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) 24 classes / 453 bodies / 691 needed sites → .run/P37/census/parked.tsv; needs {'signature': 13, 'struct': 7, '?': 4}; 22 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 [doc-disputed D_80078F08: code 4 vs actor-struct.md 2] [doc-disputed D_80078F0C: code 4 vs actor-struct.md 2]) · matrix_layouts OK (MATRIX=32 MATRIX_L48=48) · prim_layout_class OK (defs in 1192 files, 2 spellings, 1192/1192 in one layout (64 B)) · tu_conflict_D_800A651C OK (s32:1202 | u8[]:9 | OtBlk[]:9 | OtBlk_80016450[]:8 | s32[]:7)
duplicate-layout classes (top 12): 8B×293 names (488 defs): GTESVec, GVec8, SIn_8017E95C, SV… | 8B×202 names (0 defs): Blk8L, Blk8S16, Blk8U, Blk8_80126940… | 32B×170 names (277 defs): M32_8017F154, M32_80188094, MATRIX, MATRIX2… | 8B×153 names (341 defs): Blk8_801807DC, Blk8_8018453C, COL_8001EFE0, MoveT… | 32B×129 names (0 defs): B20, Blk20, Blk20_800CB68C, Blk20_8016DF5C… | 4B×111 names (0 defs): B4, B4_80165140, B4_8017F154, B4_80181970… | 64B×91 names (1428 defs): Prim_8016E7C8, Prim_8016E7C8_8016B6BC, Prim_8016E7C8_8016B9F8, Prim_8016E7C8_8016C2C4… | 8B×82 names (0 defs): B8, B8_17F474, B8_80165140, B8_801851A8… | 8B×63 names (211 defs): Ang_8017E95C, DVEC_80183534, SOut_8017E95C, SVEC… | 4B×60 names (68 defs): PTAG_85910, PTag, PTag293C, PTag_1412A8… | 8B×59 names (0 defs): Bc8_80180E0C, CdFileLoc, Cmd_801805C8, M8_8016B6BC… | 16B×54 names (0 defs): B16, B16_8017CDE4, B16_80183ED8, B16_801841C8…
VARIANT names (top 12): Prim×5, Rec×4, Blk8×4, St×4, S×4, V8×4, Vec8×3, Obj×3, Ent×3, Blk16×2, CdReq×2, Blk4×2
duplicate-layout classes (top 12): 8B×293 names (488 defs): GTESVec, GVec8, SIn_8017E95C, SV… | 8B×202 names (0 defs): Blk8L, Blk8S16, Blk8U, Blk8_80126940… | 32B×170 names (277 defs): M32_8017F154, M32_80188094, MATRIX, MATRIX2… | 8B×153 names (341 defs): Blk8_801807DC, Blk8_8018453C, COL_8001EFE0, MoveT… | 32B×129 names (0 defs): B20, Blk20, Blk20_800CB68C, Blk20_8016DF5C… | 4B×111 names (0 defs): B4, B4_80165140, B4_8017F154, B4_80181970… | 64B×91 names (1428 defs): Prim_8016E7C8, Prim_8016E7C8_8016B6BC, Prim_8016E7C8_8016B9F8, Prim_8016E7C8_8016C2C4… | 8B×82 names (0 defs): B8, B8_17F474, B8_80165140, B8_801851A8… | 8B×63 names (211 defs): Ang_8017E95C, DVEC_80183534, SOut_8017E95C, SVEC… | 4B×60 names (68 defs): PTAG_85910, PTag, PTag293C, PTag_1412A8… | 8B×59 names (0 defs): Bc8_80180E0C, CdFileLoc, Cmd_801805C8, M8_8016B6BC… | 8B×54 names (0 defs): Args_80182194, Blk8, Blk8017FD54, Blk8_801A6AD0…
VARIANT names (top 12): Prim×5, V8×4, Blk8×4, Rec×4, St×4, S×4, Ent×3, Vec8×3, Obj×3, SV3×2, V4×2, Struct80078E78×2
type_census: 7255 definitions (527 layouts, 206 duplicate classes, 40 variant camps) · 503013 cast sites in 69497 bodies over 8 base classes (4 forms + A, coverage OK) · 8830 lying declarations / 950 callees (+5002 K&R sites apart) · controls 4/4
struct_map: 18741 types over 18741 clusters explain 498894/503013 sites (99.2 %); 4119 unassigned sites; 727 types with conflicts
type_census: 7255 definitions (527 layouts, 206 duplicate classes, 40 variant camps) · 503013 cast sites in 69497 bodies over 8 base classes (4 forms + A, coverage OK) · 2367 lying declarations / 256 callees (+5082 K&R sites, +511 cross-binary apart) · controls 4/4
struct_map: 17970 types over 17970 clusters explain 498894/503013 sites (99.2 %); 4119 unassigned sites; 738 types with conflicts
View File
+5
View File
@@ -0,0 +1,5 @@
delever_oracle --calibrate main md_SC07_004 ov_SC03_015 ov_SC04_011: 146/146 objects byte-identical untouched; twin checks 32 (0 mismatch); positive control DIFFERS on build/src/800.o; 2.0 s — OK
main 85/85 identical, mean 0.079 s per object
md_SC07_004 1/1 identical, mean 0.494 s per object
ov_SC03_015 32/32 identical, mean 0.146 s per object
ov_SC04_011 28/28 identical, mean 0.138 s per object
+3
View File
@@ -13,3 +13,6 @@ cycle: batch t4_D45 committed 265f2bcec — restruct: batch t4_D45 rung D — 30
log: t4_D46
cycle: batch t4_D46 committed b9a7791fe — restruct: batch t4_D46 rung D — 300 files (TUs; 585 drawable) · 266 declaration units: 263 canonical / 0 promoted / 0 K&R marked / 0 aliases typed / 0 __builtin_abs → abs / 3 kept · compiles 560 in 47 s wall · final 300/300 identical · written 263 files | check-all: 218 passed, 0 failed of 218
log: t4_D47
cycle: batch t4_D47 committed 2391ee628 — restruct: batch t4_D47 rung D — 285 files (TUs; 285 drawable) · 279 declaration units: 250 canonical / 0 promoted / 1 K&R marked / 0 aliases typed / 0 __builtin_abs → abs / 29 kept · compiles 553 in 46 s wall · final 285/285 identical · written 251 files | check-all: 218 passed, 0 failed of 218
cycle: nothing drawable at t4_D48 — done
cycle exit=0
+4
View File
@@ -0,0 +1,4 @@
restruct --plan D: 0 of 0 TUs with lying declarations · 0 callees
restruct --apply D: nothing to do (no drawable file)
t4_D48 wall=148.96 s
exit=0
+1
View File
@@ -0,0 +1 @@
delever_oracle --snapshot-baseline: 7428 object(s) under .run/P36/delever/baseline at 2391ee628; link inputs for 218/218 binaries under .run/P36/delever/baseline/_link (links.json)