mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-10-03 00:05:11 -04:00
T5: partial: lift, pads, variants done; gate-definition question
This commit is contained in:
+146
-146
@@ -1,136 +1,136 @@
|
||||
# The struct map — the types the fleet's cast sites need (Phase 37 T1)
|
||||
|
||||
> **Generated by `tools/type_census.py` at `a21682ae7` (2026-09-30T05:21:20Z); 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 `6f01332bc` (2026-09-30T06:31:48Z); 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.
|
||||
|
||||
**18208 types explain 498866 of 502985 dereference sites (99.2 %); 4119 sites have a base the census could not classify; 725 types carry a width conflict.** Merges by evidence: param 36460, assign 14671, arg 10231, field 9963, ret-of 3443, return 1519, assign& 1055, arg& 281.
|
||||
**19130 types explain 498866 of 502985 dereference sites (99.2 %); 4119 sites have a base the census could not classify; 856 types carry a width conflict.** Merges by evidence: param 38884, assign 16776, arg 10821, field 9909, ret-of 4320, return 1524, assign& 1184, arg& 270.
|
||||
|
||||
| # | type | sites | bodies | fields | size ≥ | width conflicts (+sign mixes) | instance globals | pointer globals |
|
||||
|---:|---|---:|---:|---:|---:|---:|---|---|
|
||||
| 1 | `Unkstruct_800B5CB8` | 113069 | 10168 | 133 | 0x10c | 50 (+61 sign) | D_800B5CB8, D_800D3888, D_80181448, D_80181538… | D_8006386C, D_80074778, D_80074780, D_80074784… |
|
||||
| 2 | `Unkstruct_80126B58` | 65451 | 17062 | 175 | 0x24c | 50 (+60 sign) | D_80126B58 | D_80126B58 |
|
||||
| 3 | `Unkstruct_8018E71C` | 6745 | 396 | 7 | 0x10 | 0 (+0 sign) | D_8018E71C | |
|
||||
| 1 | `Unkstruct_800B5CB8` | 107580 | 11184 | 134 | 0x10c | 50 (+55 sign) | D_800B5CB8, D_800D3888, D_80181448, D_80181538… | D_8006386C, D_80074778, D_80074780, D_80074784… |
|
||||
| 2 | `Unkstruct_80126B58` | 65397 | 17047 | 175 | 0x24c | 50 (+60 sign) | D_80126B58 | D_80126B58 |
|
||||
| 3 | `Unkstruct_cb638a45` | 6477 | 381 | 6 | 0x10 | 0 (+0 sign) | | |
|
||||
| 4 | `Unkstruct_dac960ce` | 4464 | 124 | 13 | 0x24c | 0 (+2 sign) | | |
|
||||
| 5 | `Unkstruct_0caecd54` | 4340 | 124 | 23 | 0xfe | 0 (+1 sign) | | |
|
||||
| 6 | `Unkstruct_8014964C` | 4249 | 1798 | 23 | 0x84 | 3 (+9 sign) | | |
|
||||
| 7 | `Unkstruct_f8ed2b9f` | 4061 | 4061 | 1 | 0x217 | 0 (+0 sign) | | |
|
||||
| 8 | `Unkstruct_a32b99a1` | 3936 | 123 | 8 | 0x4b | 0 (+1 sign) | | |
|
||||
| 9 | `Unkstruct_8e3dbe51` | 3930 | 131 | 5 | 0x4c | 0 (+1 sign) | | |
|
||||
| 10 | `Unkstruct_8014A1B0` | 3778 | 542 | 13 | 0xfe | 0 (+1 sign) | | |
|
||||
| 6 | `Unkstruct_f8ed2b9f` | 4061 | 4061 | 1 | 0x217 | 0 (+0 sign) | | |
|
||||
| 7 | `Unkstruct_a32b99a1` | 3936 | 123 | 8 | 0x4b | 0 (+1 sign) | | |
|
||||
| 8 | `Unkstruct_8e3dbe51` | 3930 | 131 | 5 | 0x4c | 0 (+1 sign) | | |
|
||||
| 9 | `Unkstruct_8014A1B0` | 3778 | 542 | 13 | 0xfe | 0 (+1 sign) | | |
|
||||
| 10 | `Unkstruct_80128EA8` | 3311 | 632 | 18 | 0x38 | 0 (+13 sign) | | |
|
||||
| 11 | `Unkstruct_ade2e8a0` | 3271 | 196 | 26 | 0xa4 | 3 (+9 sign) | | |
|
||||
| 12 | `Unkstruct_80126948` | 3237 | 1083 | 34 | 0xa4 | 0 (+10 sign) | D_80126948, D_80126E60 | D_80114EE8, D_801151D4, D_80126948, D_80126E60… |
|
||||
| 13 | `Unkstruct_1fa9e810` | 3144 | 131 | 3 | 0x49 | 0 (+0 sign) | | |
|
||||
| 14 | `Unkstruct_30b21035` | 3100 | 124 | 13 | 0x54 | 0 (+0 sign) | | |
|
||||
| 12 | `Unkstruct_1fa9e810` | 3144 | 131 | 3 | 0x49 | 0 (+0 sign) | | |
|
||||
| 13 | `Unkstruct_30b21035` | 3100 | 124 | 13 | 0x54 | 0 (+0 sign) | | |
|
||||
| 14 | `Unkstruct_80126948` | 2986 | 832 | 34 | 0xa4 | 0 (+10 sign) | D_80126948, D_80126E60 | D_80114EE8, D_801151D4, D_80126948, D_80126E60… |
|
||||
| 15 | `Unkstruct_adc0bee4` | 2646 | 126 | 8 | 0x34 | 0 (+3 sign) | | |
|
||||
| 16 | `Unkstruct_198fc7cc` | 2580 | 129 | 16 | 0x38 | 3 (+1 sign) | | |
|
||||
| 17 | `Unkstruct_80130D48` | 2382 | 587 | 25 | 0x64 | 6 (+3 sign) | | D_80072C84, D_80078E78 |
|
||||
| 18 | `Unkstruct_ed8f1335` | 2356 | 124 | 18 | 0x24 | 0 (+0 sign) | | |
|
||||
| 19 | `Unkstruct_8016B4F8` | 2140 | 535 | 5 | 0x30 | 0 (+0 sign) | | |
|
||||
| 20 | `Unkstruct_80139C7C` | 2111 | 265 | 14 | 0x44 | 0 (+3 sign) | | |
|
||||
| 21 | `Unkstruct_b047cdf2` | 2108 | 124 | 6 | 0x20 | 0 (+0 sign) | | |
|
||||
| 22 | `Unkstruct_2729e670` | 2091 | 123 | 6 | 0x4b | 0 (+0 sign) | | |
|
||||
| 23 | `Unkstruct_dd542e54` | 2016 | 126 | 7 | 0x18 | 0 (+0 sign) | | |
|
||||
| 24 | `Unkstruct_f49880fd` | 2000 | 125 | 6 | 0x54 | 0 (+1 sign) | | |
|
||||
| 25 | `Unkstruct_a8d34bce` | 1948 | 1948 | 1 | 0x215 | 0 (+0 sign) | | |
|
||||
| 26 | `Unkstruct_568f7bda` | 1875 | 125 | 9 | 0x38 | 0 (+0 sign) | | |
|
||||
| 27 | `Unkstruct_8016DF5C` | 1791 | 131 | 9 | 0x38 | 0 (+3 sign) | | |
|
||||
| 28 | `Unkstruct_cd1bacd2` | 1764 | 126 | 10 | 0x38 | 0 (+0 sign) | | |
|
||||
| 29 | `Unkstruct_8011F7A8` | 1746 | 271 | 7 | 0x11e | 0 (+0 sign) | D_8011F7A8 | |
|
||||
| 30 | `Unkstruct_84612d18` | 1722 | 123 | 8 | 0x4b | 0 (+0 sign) | | |
|
||||
| 31 | `Unkstruct_57db4d07` | 1664 | 128 | 13 | 0x0 | 13 (+0 sign) | | |
|
||||
| 32 | `Unkstruct_4692fc17` | 1612 | 124 | 4 | 0x1e | 0 (+3 sign) | | |
|
||||
| 33 | `Unkstruct_eda88e53` | 1596 | 133 | 6 | 0x54 | 6 (+0 sign) | | |
|
||||
| 34 | `Unkstruct_4e09b6d9` | 1572 | 131 | 9 | 0x32 | 0 (+1 sign) | | |
|
||||
| 35 | `Unkstruct_23e45db5` | 1512 | 126 | 11 | 0x16 | 0 (+0 sign) | | |
|
||||
| 36 | `Unkstruct_8012D3B4` | 1496 | 165 | 23 | 0x24 | 12 (+7 sign) | | |
|
||||
| 37 | `Unkstruct_47470ce3` | 1488 | 124 | 6 | 0x1e | 0 (+0 sign) | | |
|
||||
| 38 | `Unkstruct_b5c0372a` | 1441 | 131 | 9 | 0x58 | 0 (+0 sign) | | |
|
||||
| 39 | `Unkstruct_0980b9f0` | 1441 | 131 | 4 | 0x49 | 0 (+0 sign) | | |
|
||||
| 40 | `Unkstruct_ba6e2e9f` | 1439 | 1439 | 1 | 0x4 | 0 (+0 sign) | | |
|
||||
| 41 | `Unkstruct_a68f6d03` | 1364 | 124 | 9 | 0x14 | 0 (+0 sign) | | |
|
||||
| 42 | `Unkstruct_8fdd92d1` | 1300 | 130 | 4 | 0x24 | 2 (+0 sign) | | |
|
||||
| 43 | `Unkstruct_110cf29e` | 1250 | 125 | 7 | 0x2c | 0 (+0 sign) | | |
|
||||
| 44 | `Unkstruct_4db8cec8` | 1240 | 124 | 8 | 0x36 | 0 (+0 sign) | | |
|
||||
| 45 | `Unkstruct_f0bc3b7a` | 1240 | 124 | 7 | 0x100 | 0 (+0 sign) | | |
|
||||
| 46 | `Unkstruct_297e7547` | 1240 | 124 | 10 | 0x58 | 0 (+0 sign) | | |
|
||||
| 47 | `Unkstruct_dd59c999` | 1240 | 124 | 6 | 0x38 | 0 (+2 sign) | | |
|
||||
| 48 | `Unkstruct_919ca3ea` | 1230 | 123 | 6 | 0x10 | 0 (+0 sign) | | |
|
||||
| 49 | `Unkstruct_a459e3e5` | 1220 | 122 | 6 | 0x34 | 0 (+0 sign) | | |
|
||||
| 50 | `Unkstruct_8014CA00` | 1219 | 407 | 4 | 0x2e | 0 (+3 sign) | | |
|
||||
| 51 | `Unkstruct_74787850` | 1206 | 1073 | 1 | 0x2 | 0 (+1 sign) | | D_801152A8 |
|
||||
| 52 | `Unkstruct_f9a7989e` | 1179 | 131 | 3 | 0x36 | 0 (+1 sign) | | |
|
||||
| 53 | `Unkstruct_0b30043d` | 1128 | 376 | 3 | 0x5e | 0 (+0 sign) | | |
|
||||
| 54 | `Unkstruct_301381d4` | 1116 | 124 | 3 | 0x36 | 0 (+1 sign) | | |
|
||||
| 55 | `Unkstruct_0ced46e2` | 1116 | 124 | 5 | 0xfe | 0 (+0 sign) | | |
|
||||
| 56 | `Unkstruct_4857195e` | 1107 | 123 | 5 | 0x34 | 0 (+0 sign) | | |
|
||||
| 57 | `Unkstruct_50a3f6b4` | 1040 | 130 | 3 | 0x36 | 0 (+0 sign) | | |
|
||||
| 58 | `Unkstruct_800B9A02` | 993 | 435 | 1 | 0x2 | 0 (+0 sign) | D_800B9A02 | |
|
||||
| 59 | `Unkstruct_f74e3af7` | 992 | 124 | 5 | 0xfe | 0 (+0 sign) | | |
|
||||
| 60 | `Unkstruct_b6c7c603` | 931 | 133 | 7 | 0x20 | 1 (+0 sign) | | |
|
||||
| 61 | `Unkstruct_b774eeeb` | 917 | 131 | 4 | 0x41 | 0 (+0 sign) | | |
|
||||
| 62 | `Unkstruct_859b4fab` | 910 | 130 | 4 | 0xb0 | 0 (+0 sign) | | |
|
||||
| 63 | `Unkstruct_801463A0` | 907 | 210 | 13 | 0x54 | 0 (+1 sign) | | D_80126B78 |
|
||||
| 64 | `Unkstruct_6d3f3f5d` | 889 | 127 | 6 | 0x38 | 0 (+0 sign) | | |
|
||||
| 65 | `Unkstruct_6d856e9d` | 889 | 127 | 5 | 0x1e | 3 (+1 sign) | | |
|
||||
| 66 | `Unkstruct_d0c6cce6` | 889 | 127 | 4 | 0x38 | 0 (+0 sign) | | |
|
||||
| 67 | `Unkstruct_1e86c313` | 882 | 126 | 4 | 0x8 | 0 (+0 sign) | | |
|
||||
| 68 | `Unkstruct_a41ec127` | 882 | 126 | 6 | 0x38 | 0 (+0 sign) | | |
|
||||
| 69 | `Unkstruct_17738e2c` | 876 | 33 | 32 | 0xa4 | 12 (+5 sign) | | |
|
||||
| 70 | `Unkstruct_3f697924` | 875 | 125 | 5 | 0x38 | 0 (+0 sign) | | |
|
||||
| 71 | `Unkstruct_e505dcd3` | 868 | 124 | 4 | 0x8 | 0 (+0 sign) | | |
|
||||
| 72 | `Unkstruct_fe02110c` | 868 | 124 | 3 | 0x10 | 0 (+2 sign) | | |
|
||||
| 73 | `Unkstruct_92677d11` | 861 | 123 | 5 | 0x240 | 0 (+0 sign) | | |
|
||||
| 74 | `Unkstruct_86465c2c` | 861 | 123 | 7 | 0x20 | 0 (+0 sign) | | |
|
||||
| 75 | `Unkstruct_ffd2397c` | 854 | 122 | 5 | 0x34 | 0 (+0 sign) | | |
|
||||
| 76 | `Unkstruct_801270C0` | 821 | 820 | 1 | 0x2 | 0 (+0 sign) | D_801270C0 | |
|
||||
| 77 | `Unkstruct_2932a0a7` | 798 | 133 | 6 | 0x12 | 5 (+0 sign) | | |
|
||||
| 78 | `Unkstruct_0a8f505b` | 790 | 83 | 14 | 0x10c | 0 (+5 sign) | | |
|
||||
| 79 | `Unkstruct_12f4cee2` | 786 | 131 | 5 | 0x28 | 0 (+0 sign) | | |
|
||||
| 80 | `Unkstruct_d2490774` | 786 | 131 | 3 | 0xb0 | 0 (+0 sign) | | |
|
||||
| 81 | `Unkstruct_80135260` | 780 | 130 | 3 | 0x54 | 0 (+0 sign) | | |
|
||||
| 82 | `Unkstruct_b196f9c0` | 768 | 128 | 5 | 0x14 | 1 (+0 sign) | | |
|
||||
| 83 | `Unkstruct_36c327cf` | 762 | 127 | 2 | 0x18 | 0 (+0 sign) | | |
|
||||
| 84 | `Unkstruct_6cd0e445` | 756 | 126 | 2 | 0x10 | 0 (+0 sign) | | |
|
||||
| 85 | `Unkstruct_c0b9c5d5` | 750 | 125 | 6 | 0x10 | 0 (+0 sign) | | |
|
||||
| 86 | `Unkstruct_64375b18` | 744 | 124 | 5 | 0xa0 | 0 (+0 sign) | | |
|
||||
| 87 | `Unkstruct_438adcd1` | 744 | 124 | 5 | 0x14 | 0 (+0 sign) | | |
|
||||
| 88 | `Unkstruct_97b6f459` | 744 | 124 | 5 | 0x28 | 0 (+0 sign) | | |
|
||||
| 89 | `Unkstruct_38975874` | 744 | 124 | 4 | 0x84 | 0 (+0 sign) | | |
|
||||
| 90 | `Unkstruct_76b1caf3` | 744 | 124 | 2 | 0x3 | 0 (+0 sign) | | |
|
||||
| 91 | `Unkstruct_8016BBE0` | 690 | 139 | 9 | 0x38 | 0 (+0 sign) | | |
|
||||
| 92 | `Unkstruct_80146A6C` | 680 | 137 | 7 | 0x2c | 0 (+0 sign) | | |
|
||||
| 93 | `Unkstruct_800AF630` | 671 | 537 | 3 | 0xa3dc | 0 (+0 sign) | D_800AF630 | |
|
||||
| 94 | `Unkstruct_8012C284` | 668 | 533 | 1 | 0x2 | 0 (+1 sign) | | D_80126720 |
|
||||
| 95 | `Unkstruct_80115128` | 667 | 534 | 1 | 0x2 | 0 (+0 sign) | D_80115128 | |
|
||||
| 96 | `Unkstruct_896c95f7` | 665 | 133 | 3 | 0x5e | 0 (+0 sign) | | |
|
||||
| 97 | `Unkstruct_61789347` | 665 | 133 | 0 | 0x0 | 0 (+0 sign) | | |
|
||||
| 98 | `Unkstruct_b89d503f` | 665 | 133 | 0 | 0x0 | 0 (+0 sign) | | |
|
||||
| 99 | `Unkstruct_801345F8` | 665 | 133 | 0 | 0x0 | 0 (+0 sign) | | |
|
||||
| 17 | `Unkstruct_801439FC` | 2489 | 981 | 57 | 0x10c | 9 (+22 sign) | | |
|
||||
| 18 | `Unkstruct_80130D48` | 2382 | 587 | 25 | 0x64 | 6 (+3 sign) | | D_80072C84, D_80078E78 |
|
||||
| 19 | `Unkstruct_ed8f1335` | 2356 | 124 | 18 | 0x24 | 0 (+0 sign) | | |
|
||||
| 20 | `Unkstruct_8016B4F8` | 2140 | 535 | 5 | 0x30 | 0 (+0 sign) | | |
|
||||
| 21 | `Unkstruct_80139C7C` | 2111 | 265 | 14 | 0x44 | 0 (+3 sign) | | |
|
||||
| 22 | `Unkstruct_b047cdf2` | 2108 | 124 | 6 | 0x20 | 0 (+0 sign) | | |
|
||||
| 23 | `Unkstruct_2729e670` | 2091 | 123 | 6 | 0x4b | 0 (+0 sign) | | |
|
||||
| 24 | `Unkstruct_dd542e54` | 2016 | 126 | 7 | 0x18 | 0 (+0 sign) | | |
|
||||
| 25 | `Unkstruct_f49880fd` | 2000 | 125 | 6 | 0x54 | 0 (+1 sign) | | |
|
||||
| 26 | `Unkstruct_a8d34bce` | 1948 | 1948 | 1 | 0x215 | 0 (+0 sign) | | |
|
||||
| 27 | `Unkstruct_568f7bda` | 1875 | 125 | 9 | 0x38 | 0 (+0 sign) | | |
|
||||
| 28 | `Unkstruct_8016DF5C` | 1791 | 131 | 9 | 0x38 | 0 (+3 sign) | | |
|
||||
| 29 | `Unkstruct_cd1bacd2` | 1764 | 126 | 10 | 0x38 | 0 (+0 sign) | | |
|
||||
| 30 | `Unkstruct_8011F7A8` | 1746 | 271 | 7 | 0x11e | 0 (+0 sign) | D_8011F7A8 | |
|
||||
| 31 | `Unkstruct_84612d18` | 1722 | 123 | 8 | 0x4b | 0 (+0 sign) | | |
|
||||
| 32 | `Unkstruct_57db4d07` | 1664 | 128 | 13 | 0x0 | 13 (+0 sign) | | |
|
||||
| 33 | `Unkstruct_4692fc17` | 1612 | 124 | 4 | 0x1e | 0 (+3 sign) | | |
|
||||
| 34 | `Unkstruct_eda88e53` | 1596 | 133 | 6 | 0x54 | 6 (+0 sign) | | |
|
||||
| 35 | `Unkstruct_8012D3B4` | 1588 | 183 | 23 | 0x24 | 16 (+9 sign) | | D_80074808, D_800A5E60 |
|
||||
| 36 | `Unkstruct_4e09b6d9` | 1572 | 131 | 9 | 0x32 | 0 (+1 sign) | | |
|
||||
| 37 | `Unkstruct_23e45db5` | 1512 | 126 | 11 | 0x16 | 0 (+0 sign) | | |
|
||||
| 38 | `Unkstruct_47470ce3` | 1488 | 124 | 6 | 0x1e | 0 (+0 sign) | | |
|
||||
| 39 | `Unkstruct_b5c0372a` | 1441 | 131 | 9 | 0x58 | 0 (+0 sign) | | |
|
||||
| 40 | `Unkstruct_0980b9f0` | 1441 | 131 | 4 | 0x49 | 0 (+0 sign) | | |
|
||||
| 41 | `Unkstruct_ba6e2e9f` | 1439 | 1439 | 1 | 0x4 | 0 (+0 sign) | | |
|
||||
| 42 | `Unkstruct_a68f6d03` | 1364 | 124 | 9 | 0x14 | 0 (+0 sign) | | |
|
||||
| 43 | `Unkstruct_8fdd92d1` | 1300 | 130 | 4 | 0x24 | 2 (+0 sign) | | |
|
||||
| 44 | `Unkstruct_110cf29e` | 1250 | 125 | 7 | 0x2c | 0 (+0 sign) | | |
|
||||
| 45 | `Unkstruct_4db8cec8` | 1240 | 124 | 8 | 0x36 | 0 (+0 sign) | | |
|
||||
| 46 | `Unkstruct_f0bc3b7a` | 1240 | 124 | 7 | 0x100 | 0 (+0 sign) | | |
|
||||
| 47 | `Unkstruct_297e7547` | 1240 | 124 | 10 | 0x58 | 0 (+0 sign) | | |
|
||||
| 48 | `Unkstruct_dd59c999` | 1240 | 124 | 6 | 0x38 | 0 (+2 sign) | | |
|
||||
| 49 | `Unkstruct_919ca3ea` | 1230 | 123 | 6 | 0x10 | 0 (+0 sign) | | |
|
||||
| 50 | `Unkstruct_a459e3e5` | 1220 | 122 | 6 | 0x34 | 0 (+0 sign) | | |
|
||||
| 51 | `Unkstruct_8014CA00` | 1219 | 407 | 4 | 0x2e | 0 (+3 sign) | | |
|
||||
| 52 | `Unkstruct_74787850` | 1206 | 1073 | 1 | 0x2 | 0 (+1 sign) | | D_801152A8 |
|
||||
| 53 | `Unkstruct_f9a7989e` | 1179 | 131 | 3 | 0x36 | 0 (+1 sign) | | |
|
||||
| 54 | `Unkstruct_0b30043d` | 1128 | 376 | 3 | 0x5e | 0 (+0 sign) | | |
|
||||
| 55 | `Unkstruct_301381d4` | 1116 | 124 | 3 | 0x36 | 0 (+1 sign) | | |
|
||||
| 56 | `Unkstruct_0ced46e2` | 1116 | 124 | 5 | 0xfe | 0 (+0 sign) | | |
|
||||
| 57 | `Unkstruct_4857195e` | 1107 | 123 | 5 | 0x34 | 0 (+0 sign) | | |
|
||||
| 58 | `Unkstruct_50a3f6b4` | 1040 | 130 | 3 | 0x36 | 0 (+0 sign) | | |
|
||||
| 59 | `Unkstruct_800B9A02` | 993 | 435 | 1 | 0x2 | 0 (+0 sign) | D_800B9A02 | |
|
||||
| 60 | `Unkstruct_f74e3af7` | 992 | 124 | 5 | 0xfe | 0 (+0 sign) | | |
|
||||
| 61 | `Unkstruct_b6c7c603` | 931 | 133 | 7 | 0x20 | 1 (+0 sign) | | |
|
||||
| 62 | `Unkstruct_b774eeeb` | 917 | 131 | 4 | 0x41 | 0 (+0 sign) | | |
|
||||
| 63 | `Unkstruct_859b4fab` | 910 | 130 | 4 | 0xb0 | 0 (+0 sign) | | |
|
||||
| 64 | `Unkstruct_801463A0` | 907 | 210 | 13 | 0x54 | 0 (+1 sign) | | D_80126B78 |
|
||||
| 65 | `Unkstruct_6d3f3f5d` | 889 | 127 | 6 | 0x38 | 0 (+0 sign) | | |
|
||||
| 66 | `Unkstruct_6d856e9d` | 889 | 127 | 5 | 0x1e | 3 (+1 sign) | | |
|
||||
| 67 | `Unkstruct_d0c6cce6` | 889 | 127 | 4 | 0x38 | 0 (+0 sign) | | |
|
||||
| 68 | `Unkstruct_1e86c313` | 882 | 126 | 4 | 0x8 | 0 (+0 sign) | | |
|
||||
| 69 | `Unkstruct_a41ec127` | 882 | 126 | 6 | 0x38 | 0 (+0 sign) | | |
|
||||
| 70 | `Unkstruct_17738e2c` | 876 | 33 | 32 | 0xa4 | 12 (+5 sign) | | |
|
||||
| 71 | `Unkstruct_3f697924` | 875 | 125 | 5 | 0x38 | 0 (+0 sign) | | |
|
||||
| 72 | `Unkstruct_e505dcd3` | 868 | 124 | 4 | 0x8 | 0 (+0 sign) | | |
|
||||
| 73 | `Unkstruct_fe02110c` | 868 | 124 | 3 | 0x10 | 0 (+2 sign) | | |
|
||||
| 74 | `Unkstruct_92677d11` | 861 | 123 | 5 | 0x240 | 0 (+0 sign) | | |
|
||||
| 75 | `Unkstruct_86465c2c` | 861 | 123 | 7 | 0x20 | 0 (+0 sign) | | |
|
||||
| 76 | `Unkstruct_ffd2397c` | 854 | 122 | 5 | 0x34 | 0 (+0 sign) | | |
|
||||
| 77 | `Unkstruct_801270C0` | 821 | 820 | 1 | 0x2 | 0 (+0 sign) | D_801270C0 | |
|
||||
| 78 | `Unkstruct_2932a0a7` | 798 | 133 | 6 | 0x12 | 5 (+0 sign) | | |
|
||||
| 79 | `Unkstruct_0a8f505b` | 790 | 83 | 14 | 0x10c | 0 (+5 sign) | | |
|
||||
| 80 | `Unkstruct_12f4cee2` | 786 | 131 | 5 | 0x28 | 0 (+0 sign) | | |
|
||||
| 81 | `Unkstruct_d2490774` | 786 | 131 | 3 | 0xb0 | 0 (+0 sign) | | |
|
||||
| 82 | `Unkstruct_80135260` | 780 | 130 | 3 | 0x54 | 0 (+0 sign) | | |
|
||||
| 83 | `Unkstruct_b196f9c0` | 768 | 128 | 5 | 0x14 | 1 (+0 sign) | | |
|
||||
| 84 | `Unkstruct_36c327cf` | 762 | 127 | 2 | 0x18 | 0 (+0 sign) | | |
|
||||
| 85 | `Unkstruct_6cd0e445` | 756 | 126 | 2 | 0x10 | 0 (+0 sign) | | |
|
||||
| 86 | `Unkstruct_c0b9c5d5` | 750 | 125 | 6 | 0x10 | 0 (+0 sign) | | |
|
||||
| 87 | `Unkstruct_64375b18` | 744 | 124 | 5 | 0xa0 | 0 (+0 sign) | | |
|
||||
| 88 | `Unkstruct_438adcd1` | 744 | 124 | 5 | 0x14 | 0 (+0 sign) | | |
|
||||
| 89 | `Unkstruct_97b6f459` | 744 | 124 | 5 | 0x28 | 0 (+0 sign) | | |
|
||||
| 90 | `Unkstruct_38975874` | 744 | 124 | 4 | 0x84 | 0 (+0 sign) | | |
|
||||
| 91 | `Unkstruct_76b1caf3` | 744 | 124 | 2 | 0x3 | 0 (+0 sign) | | |
|
||||
| 92 | `Unkstruct_8016BBE0` | 690 | 139 | 9 | 0x38 | 0 (+0 sign) | | |
|
||||
| 93 | `Unkstruct_80146A6C` | 680 | 137 | 7 | 0x2c | 0 (+0 sign) | | |
|
||||
| 94 | `Unkstruct_800AF630` | 671 | 537 | 3 | 0xa3dc | 0 (+0 sign) | D_800AF630 | |
|
||||
| 95 | `Unkstruct_8012C284` | 668 | 533 | 1 | 0x2 | 0 (+1 sign) | | D_80126720 |
|
||||
| 96 | `Unkstruct_80115128` | 667 | 534 | 1 | 0x2 | 0 (+0 sign) | D_80115128 | |
|
||||
| 97 | `Unkstruct_896c95f7` | 665 | 133 | 3 | 0x5e | 0 (+0 sign) | | |
|
||||
| 98 | `Unkstruct_61789347` | 665 | 133 | 0 | 0x0 | 0 (+0 sign) | | |
|
||||
| 99 | `Unkstruct_44ce00ff` | 665 | 133 | 0 | 0x0 | 0 (+0 sign) | | |
|
||||
| 100 | `Unkstruct_801345F8` | 665 | 133 | 0 | 0x0 | 0 (+0 sign) | | |
|
||||
| 101 | `Unkstruct_801152A0` | 665 | 399 | 1 | 0x2 | 0 (+0 sign) | D_801152A0 | |
|
||||
| 102 | `Unkstruct_fdd04bae` | 650 | 130 | 3 | 0x38 | 0 (+0 sign) | | |
|
||||
| 103 | `Unkstruct_eb8b6fbf` | 645 | 129 | 5 | 0xfe | 0 (+0 sign) | | |
|
||||
| 104 | `Unkstruct_90d0825c` | 645 | 129 | 5 | 0x1c | 1 (+0 sign) | | |
|
||||
| 105 | `Unkstruct_27c177f1` | 645 | 129 | 4 | 0x34 | 0 (+0 sign) | | |
|
||||
| 106 | `Unkstruct_4f9f60b8` | 630 | 126 | 4 | 0x78 | 0 (+0 sign) | | |
|
||||
| 107 | `Unkstruct_7a31a22f` | 630 | 126 | 2 | 0x19c | 0 (+0 sign) | | |
|
||||
| 108 | `Unkstruct_187abeff` | 630 | 126 | 5 | 0x68 | 0 (+0 sign) | | |
|
||||
| 109 | `Unkstruct_f9fa1fb7` | 630 | 126 | 4 | 0x20 | 0 (+0 sign) | | |
|
||||
| 110 | `Unkstruct_20d4328b` | 630 | 126 | 4 | 0x38 | 0 (+0 sign) | | |
|
||||
| 111 | `Unkstruct_d94ab931` | 625 | 125 | 4 | 0x6 | 2 (+1 sign) | | |
|
||||
| 112 | `Unkstruct_7ef9c9ef` | 625 | 125 | 4 | 0x6 | 2 (+1 sign) | | |
|
||||
| 113 | `Unkstruct_ad0948d5` | 625 | 125 | 5 | 0x1c | 0 (+0 sign) | | |
|
||||
| 114 | `Unkstruct_fccefc1f` | 625 | 125 | 2 | 0x1a | 0 (+0 sign) | | |
|
||||
| 115 | `Unkstruct_57ae03d1` | 620 | 124 | 2 | 0x2c | 0 (+0 sign) | | |
|
||||
| 116 | `Unkstruct_af1e9d57` | 620 | 248 | 4 | 0x64 | 0 (+0 sign) | | |
|
||||
| 117 | `Unkstruct_172cbd29` | 620 | 124 | 2 | 0x1fc | 0 (+0 sign) | | |
|
||||
| 118 | `Unkstruct_2c2c1d2e` | 620 | 124 | 4 | 0x24 | 0 (+0 sign) | | |
|
||||
| 119 | `Unkstruct_aaf4c4dd` | 615 | 615 | 1 | 0x16 | 0 (+0 sign) | | |
|
||||
| 120 | `Unkstruct_293d71dc` | 600 | 75 | 0 | 0x0 | 0 (+0 sign) | | |
|
||||
| 121 | `Unkstruct_78eaa73c` | 553 | 7 | 15 | 0x10a | 0 (+7 sign) | | |
|
||||
| 122 | `Unkstruct_8011512E` | 532 | 133 | 1 | 0x2 | 0 (+0 sign) | D_8011512E | |
|
||||
| 123 | `Unkstruct_8016BFA8` | 532 | 133 | 4 | 0x24 | 0 (+0 sign) | | |
|
||||
| 124 | `Unkstruct_30befa8c` | 520 | 130 | 3 | 0xfe | 0 (+0 sign) | | |
|
||||
| 125 | `Unkstruct_b7ae0eae` | 520 | 130 | 1 | 0x2 | 1 (+0 sign) | | |
|
||||
| 101 | `Unkstruct_801345F8` | 665 | 133 | 0 | 0x0 | 0 (+0 sign) | | |
|
||||
| 102 | `Unkstruct_801152A0` | 665 | 399 | 1 | 0x2 | 0 (+0 sign) | D_801152A0 | |
|
||||
| 103 | `Unkstruct_fdd04bae` | 650 | 130 | 3 | 0x38 | 0 (+0 sign) | | |
|
||||
| 104 | `Unkstruct_eb8b6fbf` | 645 | 129 | 5 | 0xfe | 0 (+0 sign) | | |
|
||||
| 105 | `Unkstruct_90d0825c` | 645 | 129 | 5 | 0x1c | 1 (+0 sign) | | |
|
||||
| 106 | `Unkstruct_27c177f1` | 645 | 129 | 4 | 0x34 | 0 (+0 sign) | | |
|
||||
| 107 | `Unkstruct_4f9f60b8` | 630 | 126 | 4 | 0x78 | 0 (+0 sign) | | |
|
||||
| 108 | `Unkstruct_7a31a22f` | 630 | 126 | 2 | 0x19c | 0 (+0 sign) | | |
|
||||
| 109 | `Unkstruct_187abeff` | 630 | 126 | 5 | 0x68 | 0 (+0 sign) | | |
|
||||
| 110 | `Unkstruct_f9fa1fb7` | 630 | 126 | 4 | 0x20 | 0 (+0 sign) | | |
|
||||
| 111 | `Unkstruct_20d4328b` | 630 | 126 | 4 | 0x38 | 0 (+0 sign) | | |
|
||||
| 112 | `Unkstruct_d94ab931` | 625 | 125 | 4 | 0x6 | 2 (+1 sign) | | |
|
||||
| 113 | `Unkstruct_7ef9c9ef` | 625 | 125 | 4 | 0x6 | 2 (+1 sign) | | |
|
||||
| 114 | `Unkstruct_ad0948d5` | 625 | 125 | 5 | 0x1c | 0 (+0 sign) | | |
|
||||
| 115 | `Unkstruct_fccefc1f` | 625 | 125 | 2 | 0x1a | 0 (+0 sign) | | |
|
||||
| 116 | `Unkstruct_57ae03d1` | 620 | 124 | 2 | 0x2c | 0 (+0 sign) | | |
|
||||
| 117 | `Unkstruct_af1e9d57` | 620 | 248 | 4 | 0x64 | 0 (+0 sign) | | |
|
||||
| 118 | `Unkstruct_172cbd29` | 620 | 124 | 2 | 0x1fc | 0 (+0 sign) | | |
|
||||
| 119 | `Unkstruct_2c2c1d2e` | 620 | 124 | 4 | 0x24 | 0 (+0 sign) | | |
|
||||
| 120 | `Unkstruct_aaf4c4dd` | 615 | 615 | 1 | 0x16 | 0 (+0 sign) | | |
|
||||
| 121 | `Unkstruct_293d71dc` | 600 | 75 | 0 | 0x0 | 0 (+0 sign) | | |
|
||||
| 122 | `Unkstruct_78eaa73c` | 553 | 7 | 15 | 0x10a | 0 (+7 sign) | | |
|
||||
| 123 | `Unkstruct_8011512E` | 532 | 133 | 1 | 0x2 | 0 (+0 sign) | D_8011512E | |
|
||||
| 124 | `Unkstruct_8016BFA8` | 532 | 133 | 4 | 0x24 | 0 (+0 sign) | | |
|
||||
| 125 | `Unkstruct_30befa8c` | 520 | 130 | 3 | 0xfe | 0 (+0 sign) | | |
|
||||
| 126 | `Unkstruct_01082f7a` | 520 | 520 | 1 | 0x4 | 0 (+0 sign) | | |
|
||||
| 127 | `Unkstruct_db0ee441` | 516 | 129 | 4 | 0x38 | 0 (+0 sign) | | |
|
||||
| 128 | `Unkstruct_7476116e` | 516 | 129 | 1 | 0x4 | 0 (+0 sign) | | |
|
||||
@@ -181,30 +181,30 @@
|
||||
| 173 | `Unkstruct_b39064df` | 366 | 14 | 24 | 0xa2 | 3 (+3 sign) | | |
|
||||
| 174 | `Unkstruct_5c635b4b` | 364 | 14 | 13 | 0x34 | 0 (+0 sign) | | |
|
||||
| 175 | `Unkstruct_800AE620` | 325 | 322 | 0 | 0x0 | 0 (+0 sign) | D_800AE620 | |
|
||||
| 176 | `Unkstruct_80137D08` | 301 | 38 | 18 | 0x20 | 13 (+4 sign) | | D_80074808, D_800A5E60 |
|
||||
| 177 | `Unkstruct_814e4d87` | 300 | 75 | 0 | 0x0 | 0 (+0 sign) | | |
|
||||
| 178 | `Unkstruct_09b02bee` | 300 | 75 | 2 | 0x4 | 0 (+0 sign) | | |
|
||||
| 179 | `Unkstruct_1ef3b11b` | 280 | 10 | 7 | 0x10c | 0 (+1 sign) | | |
|
||||
| 180 | `Unkstruct_80115188` | 274 | 270 | 1 | 0x4 | 0 (+0 sign) | D_80115188 | |
|
||||
| 181 | `Unkstruct_80129CF8` | 273 | 90 | 33 | 0xa435 | 0 (+5 sign) | | D_800AF630 |
|
||||
| 182 | `Unkstruct_a2d6c72b` | 273 | 21 | 4 | 0x100 | 0 (+0 sign) | | |
|
||||
| 183 | `Unkstruct_80078EB4` | 270 | 137 | 1 | 0x2 | 0 (+0 sign) | D_80078EB4 | |
|
||||
| 184 | `Unkstruct_80115118` | 268 | 265 | 1 | 0x2 | 0 (+1 sign) | D_80115118 | |
|
||||
| 185 | `Unkstruct_801152B0` | 268 | 268 | 0 | 0x0 | 0 (+0 sign) | D_801152B0 | |
|
||||
| 186 | `Unkstruct_801269F4` | 267 | 134 | 1 | 0x2 | 0 (+0 sign) | D_801269F4 | |
|
||||
| 187 | `Unkstruct_8012C1DC` | 267 | 134 | 3 | 0x1c | 0 (+0 sign) | | |
|
||||
| 188 | `Unkstruct_8011515C` | 267 | 267 | 1 | 0x2 | 0 (+1 sign) | D_8011515C | |
|
||||
| 189 | `Unkstruct_1db7b82d` | 266 | 133 | 1 | 0x2e | 0 (+0 sign) | | |
|
||||
| 190 | `Unkstruct_6bd63257` | 266 | 133 | 2 | 0x1e | 0 (+0 sign) | | |
|
||||
| 191 | `Unkstruct_f85de09d` | 266 | 133 | 1 | 0x2 | 0 (+0 sign) | | |
|
||||
| 192 | `Unkstruct_a310cf42` | 266 | 133 | 1 | 0x4 | 0 (+0 sign) | | |
|
||||
| 193 | `Unkstruct_80115124` | 266 | 266 | 1 | 0x2 | 0 (+0 sign) | D_80115124 | |
|
||||
| 194 | `Unkstruct_800D4BE0` | 266 | 133 | 1 | 0x4 | 0 (+0 sign) | D_800D4BE0 | |
|
||||
| 195 | `Unkstruct_800D4F8C` | 266 | 133 | 1 | 0x4 | 0 (+0 sign) | D_800D4F8C | |
|
||||
| 176 | `Unkstruct_814e4d87` | 300 | 75 | 0 | 0x0 | 0 (+0 sign) | | |
|
||||
| 177 | `Unkstruct_09b02bee` | 300 | 75 | 2 | 0x4 | 0 (+0 sign) | | |
|
||||
| 178 | `Unkstruct_1ef3b11b` | 280 | 10 | 7 | 0x10c | 0 (+1 sign) | | |
|
||||
| 179 | `Unkstruct_80115188` | 274 | 270 | 1 | 0x4 | 0 (+0 sign) | D_80115188 | |
|
||||
| 180 | `Unkstruct_80129CF8` | 273 | 90 | 33 | 0xa435 | 0 (+5 sign) | | D_800AF630 |
|
||||
| 181 | `Unkstruct_a2d6c72b` | 273 | 21 | 4 | 0x100 | 0 (+0 sign) | | |
|
||||
| 182 | `Unkstruct_80078EB4` | 270 | 137 | 1 | 0x2 | 0 (+0 sign) | D_80078EB4 | |
|
||||
| 183 | `Unkstruct_80115118` | 268 | 265 | 1 | 0x2 | 0 (+1 sign) | D_80115118 | |
|
||||
| 184 | `Unkstruct_801152B0` | 268 | 268 | 0 | 0x0 | 0 (+0 sign) | D_801152B0 | |
|
||||
| 185 | `Unkstruct_801269F4` | 267 | 134 | 1 | 0x2 | 0 (+0 sign) | D_801269F4 | |
|
||||
| 186 | `Unkstruct_8012C1DC` | 267 | 134 | 3 | 0x1c | 0 (+0 sign) | | |
|
||||
| 187 | `Unkstruct_8011515C` | 267 | 267 | 1 | 0x2 | 0 (+1 sign) | D_8011515C | |
|
||||
| 188 | `Unkstruct_1db7b82d` | 266 | 133 | 1 | 0x2e | 0 (+0 sign) | | |
|
||||
| 189 | `Unkstruct_6bd63257` | 266 | 133 | 2 | 0x1e | 0 (+0 sign) | | |
|
||||
| 190 | `Unkstruct_f85de09d` | 266 | 133 | 1 | 0x2 | 0 (+0 sign) | | |
|
||||
| 191 | `Unkstruct_a310cf42` | 266 | 133 | 1 | 0x4 | 0 (+0 sign) | | |
|
||||
| 192 | `Unkstruct_80115124` | 266 | 266 | 1 | 0x2 | 0 (+0 sign) | D_80115124 | |
|
||||
| 193 | `Unkstruct_800D4BE0` | 266 | 133 | 1 | 0x4 | 0 (+0 sign) | D_800D4BE0 | |
|
||||
| 194 | `Unkstruct_800D4F8C` | 266 | 133 | 1 | 0x4 | 0 (+0 sign) | D_800D4F8C | |
|
||||
| 195 | `Unkstruct_8016BFA8` | 266 | 133 | 0 | 0x0 | 0 (+0 sign) | | |
|
||||
| 196 | `Unkstruct_8016BFA8` | 266 | 133 | 0 | 0x0 | 0 (+0 sign) | | |
|
||||
| 197 | `Unkstruct_8016BFA8` | 266 | 133 | 0 | 0x0 | 0 (+0 sign) | | |
|
||||
| 198 | `Unkstruct_80176734` | 266 | 133 | 1 | 0x2c | 0 (+0 sign) | | D_8011F7B0 |
|
||||
| 199 | `Unkstruct_80126B62` | 265 | 252 | 2 | 0xe | 0 (+1 sign) | D_80126B62 | |
|
||||
| 200 | `Unkstruct_76f4299b` | 262 | 131 | 1 | 0x4a | 0 (+0 sign) | | |
|
||||
| 197 | `Unkstruct_80176734` | 266 | 133 | 1 | 0x2c | 0 (+0 sign) | | D_8011F7B0 |
|
||||
| 198 | `Unkstruct_80126B62` | 265 | 252 | 2 | 0xe | 0 (+1 sign) | D_80126B62 | |
|
||||
| 199 | `Unkstruct_76f4299b` | 262 | 131 | 1 | 0x4a | 0 (+0 sign) | | |
|
||||
| 200 | `Unkstruct_3816caab` | 260 | 130 | 2 | 0x1c | 0 (+0 sign) | | |
|
||||
|
||||
*18208 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`.*
|
||||
*19130 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,25 @@
|
||||
# T5 log — long tail, one definition per type (attempt 1, expert-opus55)
|
||||
|
||||
## Timeline
|
||||
- Baseline census (`.run/logs/t5census0.log`): dup_classes=205 outside_canon=5917 dead=142 variants=40 pad_names=25 parse_error_decls=1106 controls=4/4.
|
||||
- `lift_types.py --candidates` → 1464 liftable; dry-run (`.run/logs/t5liftdry.log`): 3006 local defs / 425 files; list saved `.run/P38/t5_lift_all.txt` (now stale: c1 changed --candidates).
|
||||
- retriever-code (no report): exact definitions of the five gating counts + lift_types --apply steps. Key facts:
|
||||
- dup_classes groups ALL defs by layout hash; tier 2 = every def all-placeholder member names; layout twins (tier 3, ≥2 meaningful signatures) not counted, but each camp with >1 name inside counts. No allowlist/evidence input: opaque layout twins without evidence ARE tier-2 dup classes.
|
||||
- outside_canon = every non-enum body outside CANON_HEADERS incl. .c block-scope (function-local stack-frame structs), src/shared/* fn headers, other headers; no exemption.
|
||||
- dead = canon names with 0 ident uses outside the two canon headers; uses inside canon (member types, alias typedefs) do not count.
|
||||
- lift_types scans src/ov_*/*.c only; writes engine_types.h only.
|
||||
- Coder T5.c1 (commit 907138d26): lifted 1308 names; lift_types.py fixed (file-scope only, refuse struct-with-object defs, skip common.h scalars u8/u16/u32/s32, skip names also in overlay-local .h). 156 not lifted, causes in `.run/P38/t5/c1_excluded.txt`. R22 green (`t5c1r22c`). Counts: dup 205, outside 3680, dead 447, variants 40, pad 72.
|
||||
- Coder T5.c2 (bc9c5bebb pads, 81fc2be28 dead, e5ba08739 variants, 6f01332bc Vec_td, 5bd5236ab log): pad 72→0 (`pad_<off>`), 314 dead defs deleted, 543 divergent defs renamed `<Name>_<suffix>` (scope-aware), 9 tag/typedef namespace pairs split `N_tag`/`N_td`. R22 green after each sub-step. Census (`t5c2census2`): dup_classes=198 outside_canon=3680 dead=134 variants=0 pad_names=0 parse_error_decls=1106 controls=4/4. Residual 134 dead listed `.run/P38/t5/c2_residual.txt`: 114 referenced by live canon defs, 12 used where census cannot see (D_*, macro bodies), 6 single-char names (census ident filter len>1, type_census.py:603; deleting `W` broke ov_SC01_077), 1 self-ref tag actor4c, 1 generated head type Unkstruct_80126B58.
|
||||
- Verify R22 at 5bd5236ab (`.run/logs/t5verify.log`): extract-all 217/0, check-all 218 passed 0 failed, rc 0.
|
||||
|
||||
## Stopped: done-when vs instrument conflict
|
||||
- dup_classes=0: tier-2 classes are opaque layout twins with no evidence; the done-when says those stay apart and listed, the gate counts them. Reaching 0 = collapsing e.g. 293 opaque 8-byte names into one, i.e. "per layout", which G62/S106 forbids.
|
||||
- outside_canon=0: 1774 block-scope stack-frame structs + fn-header + md/main file-scope bodies would all move into canon headers; lift_types cannot reach them; block-scope frames are TU-local by nature.
|
||||
- dead: 114+6+12 residuals are live by construction; the metric ignores intra-canon references and short/D_ identifiers. Fixing the metric is an instrument change I did not make unilaterally (§5).
|
||||
- Not started: PsyQ SDK names, 800B5CB8 split/union call, twins list.
|
||||
|
||||
## Hypotheses rejected
|
||||
- "lift_types covers the long tail": it sees only ov .c file-scope; 3680 remain outside canon.
|
||||
|
||||
## Commands
|
||||
- `.run/logs/`: t5census0, t5liftdry, t5c1r22c (coder), t5c2r22a/c/e/f, t5c2census2 (coder), t5verify.
|
||||
@@ -4,3 +4,4 @@ T1 | done | phase-start health and baselines | - | tasks/T1.md | logs/T1.md | -
|
||||
T2 | done | --check-structs instrument and actor-struct fix | - | tasks/T2.md | logs/T2.md | -
|
||||
T3 | done | head-type layouts and canonical files | - | tasks/T3.md | logs/T3.md | -
|
||||
T4 | done | fold the head types fleet-wide (rung L) | - | tasks/T4.md | logs/T4.md | -
|
||||
T5 | question | long tail: one definition per type (partial; question) | - | tasks/T5.md | logs/T5.md | -
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
# T5 — long tail: one definition per type (partial; question)
|
||||
|
||||
Status: question | expert: expert-opus55 | ctx-at-completion: n/a | commit: see COMMIT | coder runs: c1 opus55 done (907138d26), c2 opus55 done (bc9c5bebb, 81fc2be28, e5ba08739, 6f01332bc)
|
||||
Done: 1308 types lifted to engine_types.h; pad_names 0; variants 0; dead 142→134 listed residuals; dup_classes 198 and outside_canon 3680 not reachable under the current gate definitions without violating the done-when's own "twins apart" clause.
|
||||
Files:
|
||||
- tools/lift_types.py — file-scope only; refuse struct defs declaring an object; skip common.h scalars; skip names in overlay-local .h
|
||||
- src/shared/engine_types.h — lift block (1308), 72 pad renames, 314 dead defs removed, tag/typedef splits
|
||||
- src/ov_*/*.c, src/md_*, src/800*.c (~690 files) — stripped identical copies; variant renames `<Name>_<suffix>`
|
||||
- docs/struct-map.md — regenerated
|
||||
Decisions:
|
||||
- binding: a divergent-layout local of a VARIANT name is renamed `<Name>_<suffix>` (TU suffix); the canon/most-used layout keeps the name.
|
||||
- A struct tag and a typedef of the same name with different layouts are split `N_tag`/`N_td` (census counts the two C namespaces as one name).
|
||||
Deviations:
|
||||
- Stopped before dup_classes/outside_canon/PsyQ/800B5CB8 work: gate definitions conflict with the done-when (see Findings).
|
||||
Findings:
|
||||
- Counts now: dup_classes=198 outside_canon=3680 dead=134 variants=0 pad_names=0 parse_error_decls=1106 controls=4/4 (from 205/5917/142/40/25).
|
||||
- dup_classes has no evidence/allowlist input: opaque layout twins (tier 2) always count, so 0 means one name per layout, contrary to G62/S106 and the done-when's "left apart and listed".
|
||||
- outside_canon counts every body incl. 1774 block-scope stack frames and fn-header/md/main bodies; lift_types reaches only ov file-scope.
|
||||
- dead residual 134 (`.run/P38/t5/c2_residual.txt`): 114 used as member/alias by live canon defs (census ignores intra-canon uses), 12 invisible uses (D_*, macros), 6 single-char names (ident filter len>1, type_census.py:603), actor4c self-ref, Unkstruct_80126B58 (generated).
|
||||
- lift exclusions (156) with cause: `.run/P38/t5/c1_excluded.txt`.
|
||||
Gotchas:
|
||||
- generalizable: a "dead name" metric that skips references inside the canonical header set flags every member-only type as dead; deleting them breaks the build.
|
||||
- harness: commit_task.sh stages pending logs/ of other coder runs (T5.c1 log rode in bc9c5bebb).
|
||||
- harness: `lift_types --candidates` output changed after c1; `.run/P38/t5_lift_all.txt` is stale.
|
||||
Next task needs: plan decision on the gate (see RECOMMENDED); then PsyQ SDK names, 800B5CB8 split/union call (T4 kept units), twins list, block-scope/md/main relocation tool.
|
||||
Verified: make clean && make extract-all JOBS=16 && make check-all JOBS=16 → extract-all 217 extracted 0 failed, check-all 218 passed 0 failed, rc 0 at 5bd5236ab (.run/logs/t5verify.log); census --check-structs FAIL dup_classes=198 outside_canon=3680 dead=134 variants=0 pad_names=0 (.run/logs/t5c2census2.log, same src tree)
|
||||
Full log: phase-ends/current/logs/T5.md
|
||||
Reference in New Issue
Block a user