Drew T
|
498ab52916
|
tools(phase-37): argcheck resolves a callee's definition per declaring binary (a same-address function with 3 bodies was one bare name — 2,832 false lies), cross-binary declarations counted apart; restruct defs_visible takes the fleet's unique signature as a third level (723 'no visible definition' rows) | 🛑 T4 in progress (S108)
|
2026-09-12 19:26:14 -06:00 |
|
Drew T
|
55ca65bfc5
|
phase-37: T4 step (f) first pass — census 8,830 lying / 950 callees (+5,002 K&R sites counted APART: argcheck kr_marked, type_census + readability_progress split), levers 4,010 → 3,730 (0 unmarked), series snapshots + README; the 8,830 bucketed by ledger verdict: 3,700 never judged, 2,832 instrument disagreement, 1,120 T5's types, 723 cross-binary, 415 conflicts | 🛑 T4 in progress (S108)
|
2026-09-12 19:18:17 -06:00 |
|
Drew T
|
274223396d
|
src(phase-37): T4 step (e) — the 3,546 'carried decl layer' banner comment blocks removed (21,274 comment lines, 0 insertions); step (d) DONE: 10 of 12 parked signature bodies landed (func_80157D20 ×132 via --map-data, func_80029D3C with its 3 callers via --with, func_80188A30 void→s32) | R22 check-all: 218 passed, 0 failed of 218 | 🛑 T4 in progress — step (f) NEXT (S108)
|
2026-09-12 18:58:05 -06:00 |
|
Drew T
|
c0bbd26c6e
|
src(phase-37): T4 step (c) DONE — the shared headers: t4_HD4 216 headers · 9 units (4 canonical / 1 K&R / 2 aliases typed / 3 kept), 6 files; the header plan now empty (0 of 0); restruct_cycle skips the fleet run when src/ is unchanged after a batch | R22 check-all: 218 passed, 0 failed of 218 | 🛑 T4 in progress — step (d) NEXT (S108)
|
2026-09-12 18:06:52 -06:00 |
|
Drew T
|
095fe75e2c
|
src(phase-37): T4 unalias t4_ua13 — 3 more alias-defined functions back under their real names as K&R-style definitions (169 files; the ladder's arity escalation counts attempts, not distinct files); step (b) DONE: 133 of 149 back, 16 kept with causes | R22 check-all: 218 passed, 0 failed of 218 | 🛑 T4 in progress — step (c) NEXT (S108)
|
2026-09-12 17:46:12 -06:00 |
|
Drew T
|
043453170d
|
src(phase-37): T4 unalias t4_ua11 — 9 more alias-defined functions back under their real names (the data-typed declaration of the real name → the prototype; 11 files); t4_ua10 0/29 bucketed (10 jr-merge DIFFERS, 10 redeclared, 5 header-side arity, 4 conflicting types); a header-side arity error now marks the including TUs | R22 check-all: 218 passed, 0 failed of 218 | 🛑 T4 in progress (S108)
|
2026-09-12 17:27:51 -06:00 |
|
Drew T
|
1a213b8ef3
|
tools(phase-37): restruct call_arg_counts — a definition head is ') {' or a K&R head, not 'a { later on the line' (if (f() != 0) { read as a definition → '? of 1 args'); D26–D27 landed 13,367 canonical, 218/218 | 🛑 T4 in progress (S108)
|
2026-09-12 15:55:01 -06:00 |
|
Drew T
|
ca5a71aa18
|
tools(phase-37): restruct K&R arity counts read the shared bodies a TU includes (unit_call_counts) — 306 D22–D25 rows said 'the calls pass []' for a call in an included header; D22–D25 landed 36,175 declarations canonical, 218/218 each | 🛑 T4 in progress (S108)
|
2026-09-12 15:41:51 -06:00 |
|
Drew T
|
e031245825
|
tools(phase-37): restruct defs_visible indexes the shared headers a sibling TU includes — t4_D21's 10,495 'external' DECL-NONE rows were the binary's own shared-header functions (func_80147514-shaped); the killed t4_D22 erased (6 files reverted, 197 orphan rows dropped); cycle relaunched with REDRAW=DECL-NONE | 🛑 T4 in progress (S108)
|
2026-09-12 14:57:23 -06:00 |
|
Drew T
|
5cbf06f84e
|
tools(phase-37): delever_oracle --snapshot-baseline refuses an empty or shrunken build/ before writing (R68) — S107's stopped t4_D21 left build/ empty and the refresh stamped a false 'fresh' over 7,428 objects of another tree; stamp restored, R22 218/218 at HEAD, snapshot 0 changed, cycle relaunched | 🛑 T4 in progress (S108)
|
2026-09-12 14:46:50 -06:00 |
|
Drew T
|
f3b8af0ec1
|
phase-37: CHECKPOINT for a fresh session (84 % context) — T4 in progress: the D cycles (17,316 declarations canonical, 1,302 K&R sites marked, 207 data aliases typed, 10 __builtin_abs), the alias-defined-function class (120 of 149 back under their real names, 29 kept with causes; the unit's per-file prototype ladder, the hoist, the K&R-style definition), the planner's DECL-NONE settling; the timeline's lower panel redrawn on Drew's word (every lever increment with its method, the casts as two instruments); decision log + accelerators P37 S107, story §10 + retrospective §7 advanced; the 🛑 block rewritten with T4's exact resume | R22 check-all: 218 passed, 0 failed of 218 at f2b58011e | 🛑 T4 NEXT (resume per the checkpoint §1)
|
2026-09-12 14:32:37 -06:00 |
|
Drew T
|
688280fa9e
|
src(phase-37): T4 unalias t4_ua8 — 5 more alias-defined functions back under their real names (the definition TU's own declarations may go (); 5 files) | R22 check-all: 218 passed, 0 failed of 218 | 🛑 T4 in progress (S107)
|
2026-09-12 13:46:44 -06:00 |
|
Drew T
|
7f8d448449
|
src(phase-37): T4 unalias t4_ua7 — func_80131CA8 back under its real name as a K&R-style definition (callers pass more arguments than its byte-true head declares; 235 files, 202 objects IDENTICAL); the unit's per-file prototype ladder (exact → promoted → () → untouched) | R22 check-all: 218 passed, 0 failed of 218 | 🛑 T4 in progress (S107)
|
2026-09-12 13:27:05 -06:00 |
|
Drew T
|
b2c6b23646
|
src(phase-37): T4 unalias t4_ua6 — 6 more alias-defined functions back under their real names (612 files; the hoist of a shared header's declaration into its includers landed 4 of them) | R22 check-all: 218 passed, 0 failed of 218 | 🛑 T4 in progress (S107)
|
2026-09-12 13:07:03 -06:00 |
|
Drew T
|
7ae2e7f811
|
src(phase-37): T4 unalias t4_ua3 (partial, stopped with SIGINT) — 1 more alias-defined function back under its real name (136 files); the unit gains the hoist pre-step, the arity/conflict/DIFFERS fallbacks and the promoted (K&R-style definition) mode | R22 check-all: 218 passed, 0 failed of 218 | 🛑 T4 in progress (S107)
|
2026-09-12 12:42:29 -06:00 |
|
Drew T
|
74aac39e74
|
src(phase-37): T4 unalias t4_ua1 — func_8012EFB8 back under its real name (s32 (void *, void *)): 194 alias prototypes gone, 375 declarations canonical, 2 shared headers K&R-marked; the --unalias unit + the planner's settled-TU skip + the same-name-alias fix | IDENTICAL on 478 objects | R22 check-all: 218 passed, 0 failed of 218 | 🛑 T4 in progress (S107)
|
2026-09-12 11:44:51 -06:00 |
|
Drew T
|
32673a7d90
|
chore(phase-37): the size gate = GitHub's 100 MiB hard limit (was its 50 MiB warning) — the red no-rom CI was SIZE alone on the P36 judgement ledger (74.8 MiB, our own rows; ROM checks 1/2/4 clean), Drew's decision; audit_public WARNs above 80 MiB; workflow, wiki and SETUP wording follow | audit_public: OK — 0 offenders among 15219 tracked paths | 🛑 T4 NEXT
|
2026-09-12 10:10:09 -06:00 |
|
Drew T
|
545092d376
|
phase-37: T3 ☑ — the tools: tools/struct_layout.py (the o32 layout engine + the canonical-type writer in the final style + the naming invariant), tools/restruct.py's full form (rungs S/S2/S+A/X/R/D/L, the ledger, inflight restore, selftest 48 + --real 53), delever_oracle's LINKED mode (the build's own ld on the candidate object; f3 known-true + negative; the snapshot guard that caught T2's contaminated build/ object), include/common.h's reinterpret macros (proven equal on cc1's assembly), tools/restruct_cycle.sh (detached); rung D banked on ov_SC04_011 (258 units: 242 canonical / 8 K&R marked / 16 kept with causes); SETUP §P37 S107, dictionary rows, kit corpus, decision log + accelerators P37 S107, cookbook §458 addendum, story §10 + retrospective §7 + timeline | R22 check-all: 218 passed, 0 failed of 218 (r22_t3c) | 🛑 T4 NEXT (the declaration layer; P6 rules check first)
|
2026-09-12 10:04:16 -06:00 |
|
Drew T
|
42a57f576d
|
phase-37: T3 (in progress) — rung D redraw t3d2 on ov_SC04_011: the cause reader learns cpp's context lines + the all-() K&R candidate (8 K&R marked / 16 kept, 5 files) | R22 check-all: 218 passed, 0 failed of 218 | 🛑 T3 in progress (S107)
|
2026-09-12 09:47:24 -06:00 |
|
Drew T
|
21d2ccc141
|
phase-37: T3 (in progress) — the engine's first bank: tools/struct_layout.py (the layout engine + the writer + the naming invariant), delever_oracle's LINKED mode (the build's own ld on the candidate object; f3 known-true + negative; the snapshot guard that caught T2's contaminated build/ object), tools/restruct.py (rungs S/S2/S+A/X/R/D/L, the ledger, inflight restore, selftest 48/48 + --real 51/51); rung D batch t3d1 on ov_SC04_011: 258 units — 242 canonical / 6 K&R marked / 16 kept | R22 check-all: 218 passed, 0 failed of 218 | 🛑 T3 in progress (S107)
|
2026-09-12 09:40:36 -06:00 |
|
Drew T
|
775a3eafb6
|
phase-37: the post-100 % story is told, not only recorded — docs/story.md §10 (Gen3: dedup, levers, structs so far) + docs/retrospective.md §7 written from the record; tools/timeline.py draws the lever and readability series as a lower panel + two columns (78 rows); the rule (advance §10/§7 + regenerate the timeline at the end of EVERY session) in the wiki conventions page, T9 and the checkpoint procedure — on Drew's word | 🛑 T3 NEXT (the tools, Max design)
|
2026-09-12 08:19:12 -06:00 |
|
Drew T
|
cd39c79de6
|
phase-37: T2 ☑ — the probe: rung 1 (struct spelling) byte-neutral on 126/139 judged bodies (90.6 %, 716 sites moved), rung S2 closes 13/13 DIFFERS with 27 casts kept (139/139); the definition's signature free for 4,473/4,828 (TU, callee) pairs (92.6 %, 0 DIFFERS; 355 compile refusals = K&R sites + multi-spellings); the definition fold 12/20 TUs clean (opaque folds need member renames); the layout engine cc1-validated on 5,283 definitions / 29,248 fields (0 rejected; two engine gaps fixed: nested-paren attributes, per-field aligned(N); 27 dead-guarded standalone blocks blanked); the relocation control (object DIFFERS, binary identical) proves T3's linked mode; engine_types.h fan-out 3,975 objects in 35 s; tools/restruct.py (--try/--probe/--probe-decls/--probe-defs/--audit-layouts/--fanout-cost) + SETUP + dictionary | 🛑 T3 NEXT (the tools, Max design)
|
2026-09-12 01:27:45 -06:00 |
|
Drew T
|
da26c05d67
|
phase-37: T1 ☑ — tools/type_census.py + the struct map: 7,261 struct definitions (525 layouts, 206 duplicate classes / 2,789 names, 39 VARIANT), 503,016 raw pointer-cast dereferences in four forms (coverage OK; + 18,912 address-of, 36,681 typed cast-member), 98,648 lying declarations / 1,609 callees, 18,760 evidence-clustered types explaining 99.2 % of sites, 24 parked P36 classes in parked.tsv, controls 4/4; lever_census controls re-keyed and --strict made literal (6,717 direct GTE statements in bodies); progress.py types block + README sentence + 2 corrections; the readability series read by column name with 16 census columns; docs/struct-map.md; SETUP §P37 S106; dictionary row; kit corpus | 🛑 T2 NEXT (the probe, Max)
|
2026-09-11 23:54:15 -06:00 |
|
Drew T
|
5c80301196
|
phase-36: S105 — the strip keeps a block-comment tail and drops the marker rung B wrote inside it: the six comment-boundary UNSTRIPPABLE classes strip (0 orphans); selftests OK
|
2026-09-11 18:35:38 -06:00 |
|
Drew T
|
bb2012f78d
|
phase-36: S105 harvest f7 — R22 tries every same-base sibling (not only the literal base) and no longer reads a cast store as a set; known-true 37 → 0 on func_8017FD14; selftest OK
|
2026-09-11 14:07:56 -06:00 |
|
Drew T
|
4a503fce1e
|
phase-36: S105 harvest f5 — generators R45 derived_pointer_store (known-true 0 alone on two f5 bodies) and R46 set_once_chain (ALL 0 on func_8018FA34); selftest OK; SETUP rows
|
2026-09-11 13:25:01 -06:00 |
|
Drew T
|
bd44b1c131
|
phase-36: S105 — the instruction table learns addu %0,$zero,$zero (= 0): func_8018FB8C's pack now strips (was UNSTRIPPABLE); f5/f6 packs built
|
2026-09-11 12:03:43 -06:00 |
|
Drew T
|
ae522dbc49
|
phase-36: S105 harvest f2 — generator R44 counter_derived_pointer (known-true 0 on e21's start text, 18 on f2's loop 2), R22 extended to same-base offsets, the && read-as-&p refusal in R22/R44 fixed; selftest OK
|
2026-09-11 11:56:31 -06:00 |
|
Drew T
|
652e7fc3be
|
phase-36: delever_regen's agent start refuses a body with any !FAKE marker — its first run started from d20's parked invented-branch body; that row is excluded from banking; e27 (4) + e29 (2) banked
|
2026-09-11 04:08:36 -06:00 |
|
Drew T
|
2fe2d27f1f
|
phase-36: generator R43 sign_test_to_mask (+ dead-pad drop; a composition move); e26 (11) + e28 (6) banked
|
2026-09-11 04:06:10 -06:00 |
|
Drew T
|
c97b798d9d
|
phase-36: delever_regen also starts from an agent's lever-free near-miss (e22: the families finished its 28 body in one pass); e22 banked 3 (ov_SC06_029); func_80185D44 stays at its one lever
|
2026-09-11 03:55:08 -06:00 |
|
Drew T
|
2b1393dd9a
|
phase-36: lever_free_body refuses a strip that unbalances block comments (R43) — e24 found a start text left as invalid C; 7 residue classes had been silently UNSCORED, now named
|
2026-09-11 03:17:48 -06:00 |
|
Drew T
|
b93e3cab89
|
phase-36: R39 widened — 1–3 statements after the join, blank lines skipped (e24's store pair; known-true 0 on all three)
|
2026-09-11 03:16:25 -06:00 |
|
Drew T
|
c621e6d82f
|
phase-36: generator R42 move_statement_far (e19; a composition move — alone 8 on its start text); e19 banked 4 (ov_SC01_080)
|
2026-09-11 02:49:19 -06:00 |
|
Drew T
|
99355f6723
|
phase-36: generators R40 return_preincrement and R41 swap_if_else_arms (e2/e16), known-true 0 on all three; e16 banked 4 (800_b_2)
|
2026-09-11 02:35:25 -06:00 |
|
Drew T
|
bd6fc3c5c1
|
phase-36: generator R39 duplicate_join_statement (the integer-tie split of e12/e14; known-true 0 on two of three)
|
2026-09-11 02:30:13 -06:00 |
|
Drew T
|
8caf6ba259
|
phase-36: alloc_table prints gcc's truncated integer priority and flags ties (global.c:594-607) — e14's integer-tie closes were invisible in the float column; e14 banked 4 (ov_SC06_010)
|
2026-09-11 02:29:04 -06:00 |
|
Drew T
|
d737200579
|
phase-36: generator R38 shift_to_division (e7's hand-expanded signed division as a real division; a composition move — alone 6 → 6/7 on e7's start text)
|
2026-09-11 01:21:37 -06:00 |
|
Drew T
|
16c9d2fb6d
|
phase-36: delever_pack's related search falls back to the TU's directory for main (every main pack's related.txt was empty); e3 banked func_80036FB0, parked func_800384A8 (s16→s32 parameter) and func_80037144 (linked-identical, needs gate_main); e8 packs
|
2026-09-11 01:07:58 -06:00 |
|
Drew T
|
8fb959e077
|
phase-36: R31 emits an all-shifts cast candidate (d39) and R35 handles cast copies of a parameter (d38), both known-true 0; named_definitions indexes func_X_body asm-label definitions
|
2026-09-11 00:13:37 -06:00 |
|
Drew T
|
4fbb0ecb8e
|
phase-36: localalloc_sim models block_alloc's three-quantity switch in both passes (local-alloc.c:1439-1462, :1486-1507 compare quantity numbers, not a sort) — d5's rule; on d5's dumps the old tool mispredicted 387/16/228 blocks, the new 0/0/0
|
2026-09-10 23:38:57 -06:00 |
|
Drew T
|
bbe0d66336
|
phase-36: generator R37 return_constants (d27: a pinned result local as constant returns; known-true 0)
|
2026-09-10 23:26:58 -06:00 |
|
Drew T
|
ba98d26df8
|
phase-36: R23 accepts a case/default label as a statement boundary (d22's split, known-true 0); generators R35 drop_param_copies (d24) and R36 merge_set_chains (d25, known-true 0)
|
2026-09-10 23:11:13 -06:00 |
|
Drew T
|
d94d993102
|
phase-36: generators R28 merge_pinned_twins, R29 fold_store_temps, R31 shift_operand_casts, R32 compound_assignments, R33 else_arm_assignments, R34 merge_disjoint_locals — harvested from d1/d5/d8/d12/d13/d14/d15/d19, each run against its agent's start text (R31/R32/R33 reproduce the close, R28/R29 the measured single-move score); METHOD step 13
|
2026-09-10 22:27:07 -06:00 |
|
Drew T
|
06302b97c2
|
phase-36: S104 — the census counts a marker on a kept ordinary-C fake (do-while / dead init, Drew's ruling (a)) apart instead of as an orphan; R7 marks its do-while; log: d1–d10 all at 0, R27, the R97 correction for 830650946 | 🛑 T7 RUNNING, census 4,928 / 0 unmarked, exit 0
|
2026-09-10 21:51:49 -06:00 |
|
Drew T
|
30fd6796f9
|
phase-36: generator R27 named_ports — the same function lever-free in another binary, ported by pairing the two original objects' relocation sequences (+ carried file-scope externs, the target's return type); wired into delever_regen and recipe_candidates; 511/1,010 residue classes have a donor, a 24-class probe closed 4; METHOD step 12 (S104's landings)
|
2026-09-10 21:43:05 -06:00 |
|
Drew T
|
7b6418c179
|
phase-36: the census walker defaults to the tree's cross-file asm-macro table for every out-of-census caller (delever scrub/bank/judge) — S103's scrub false positive on an ENGINE_SHB launder reproduced and fixed; control still finds a real orphan; census unchanged 5,097 / 0 unmarked
|
2026-09-10 20:54:20 -06:00 |
|
Drew T
|
48176e51ff
|
phase-36: delever_regen forks worker processes after warming the shared caches (threads sat on the GIL with zero compiles) and appends each judged class to <label>.jsonl as it lands; the S104 all-families sweep runs
|
2026-09-10 20:50:56 -06:00 |
|
Drew T
|
433aa07018
|
phase-36: c50 closes func_80136824 with zero levers body-only (off the types-phase list, 130 bodies); c49 func_8013F350 at two marked head levers (133 bodies); delever_regen survives stale sites (R22 218/218)
|
2026-09-10 18:38:42 -06:00 |
|
Drew T
|
aada3bdc2b
|
phase-36: the first minimum-lever bank (func_80177B5C: 1 marked launder instead of 23 levers, 133 bodies); c43/c44/c45/c37 closes with their cross-address copies (delever --port-scan); generator R26 alias_repeated_addresses (known-true: c45's close from its start text) (R22 218/218)
|
2026-09-10 18:32:46 -06:00 |
|