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 |
|
Drew T
|
8bc06a2cb8
|
phase-36: T7 agent c42 — func_80186A8C and func_80182058 closed through cross-jump readings (10 bodies); related.txt requires evidence before calling a same-name body a variant (R22 218/218)
|
2026-09-10 18:17:41 -06:00 |
|
Drew T
|
321b540e7f
|
phase-36: propagate ignores body-local externs (re-propagation: 97 siblings banked of 145 candidates); R19 cast-arity regen 8 classes; c39 ports two variants; c41, c34, c32 closes; related.txt lists the same function lever-free elsewhere; cc1_dumps_tu.sh -dd (R22 218/218)
|
2026-09-10 18:07:41 -06:00 |
|
Drew T
|
7d5964b279
|
phase-36: T7 agents c36 + c35 — four tier classes closed (func_8014305C, func_80141874, func_8017DBE4, func_80185994; 39 bodies); R19 reads the arity a call's own cast asserts (known-true: c35's close from its start text) (R22 218/218)
|
2026-09-10 17:49:55 -06:00 |
|
Drew T
|
01f066923d
|
phase-36: re-draw c21 — func_801397B0 closed (a do-while reference-weight wrapper, on the a4/c15 precedent), 125 bodies; c22's and c28's readings (func_8012E364 at 4, func_8013F350's head irreducible); --try parallel-safe per call with --keep (R22 218/218)
|
2026-09-10 17:14:30 -06:00 |
|
Drew T
|
e984e5822f
|
phase-36: re-draws c25 (func_80166F58, a narrowing copy) and c26 (func_80133CD4, split temps) closed, 254 bodies; tools/localalloc_sim.py (c26's local-alloc simulator, 0 mismatches over 150 blocks); propagate no longer trusts stale ledger hashes; R25 regen 3 classes; regen reports COMPILE-ERROR (14,xxx -> 13,083 sites, R22 218/218)
|
2026-09-10 16:58:01 -06:00 |
|
Drew T
|
96820256ce
|
phase-36: re-draws c24 (func_8012956C: a phantom 4th argument + a switch) and c23 (func_80133784: the exit block inside a real loop, overturning b4's de-loop reading) closed, 252 bodies; R25 trim_arguments; argcheck reads K&R definitions (95 callees were invisible); the selftest asserts every dispatched family is registered (R22 218/218)
|
2026-09-10 16:45:14 -06:00 |
|
Drew T
|
a620e1880f
|
phase-36: generator R24 (the addPrim copy read as a whole word, c20's move) + its regen pass (2 classes, the func_80140D68 header on 140 objects); c13's reading of func_80140958 (43 -> 4, not closed) (R22 218/218)
|
2026-09-10 15:57:16 -06:00 |
|
Drew T
|
9f2b6b24aa
|
phase-36: cc1_dumps_tu.sh takes a .c file and resolves ../shared includes (six agents had written their own dump.sh)
|
2026-09-10 15:43:03 -06:00 |
|
Drew T
|
164825b5d8
|
phase-36: delever_regen — R22+R23 re-run over the whole residue closes 17 classes / 22 bodies with no agent; --try learns header TUs (24 classes had never been scorable) (17,715 → 17,692 sites, R22 218/218)
- tools/delever_regen.py: read-only pass (both starting texts, only the named families, delever_search --try --body,
one worker per class) + --bank (re-score on the current tree, apply_body_core, propagate); dictionary + SETUP rows
- pass 1: 1169 classes in 127 s, 14 MATCH; the 25 UNSCORED read before banking: 24 were header-TU classes whose
includer's ../shared include never resolved in --try (fixed; controlled: unchanged body 0, lever-free 32, mutated 1),
1 a body-local #define (R22/R23 now refuse preprocessor lines); pass 2 over header TUs: 104 judged, 3 MATCH
- banked: 14/14 + 3/3 (two shared headers IDENTICAL on 141 objects each); R23 12 classes, R22 5
- check-all 218 passed 0 failed; lever_census 17,692 marked 0 UNMARKED
|
2026-09-10 15:36:01 -06:00 |
|
Drew T
|
a060705725
|
phase-36: T7 agents c14 + c16 — func_801670E4 (all seven levers; its refuted @stuck note replaced in 136 copies) and func_8013D178 (one pointer per if-group), 261 bodies; R23 widened to one open block and now closes func_8013D178 alone; c9's reading of func_8013CF68 (38 -> 10, not closed) (18,776 → 17,715 sites, R22 218/218)
|
2026-09-10 15:24:01 -06:00 |
|