Commit Graph

1385 Commits

Author SHA1 Message Date
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 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 ea75e0f231 phase-37: CHECKPOINT for a fresh session — T0–T2 ☑; the record banked: decision log P37 S106 (struct spelling moves bytes; the /s per-access dial), accelerators P37 S106 (→ DK-65 corrected in the kit), cookbook §458 (the func_801814AC byte-read), the handoff and wiki 'byte-neutral' claims date-stamped; the 🛑 block rewritten with T3's full design brief, the counters, the probe's findings and every command | 🛑 T3 NEXT (the tools, Max design) 2026-09-12 08:09:29 -06:00
Drew T 48e68c5b7a phase-37: T2 — docs/tool-index.md regenerated for tools/restruct.py | 🛑 T3 NEXT 2026-09-12 01:27:55 -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 79b2f6f150 chore(phase-36): CLOSE — levers off to the measured floor: 53,234 → 4,010 register pins + asm statements (−92.5 %), every survivor marked with its pass and its instrument and named for the structs phase; the GTE idiom in one header; 16,759 lying call declarations repaired; the lever and readability series published; 218/218 at every step (v2.2.0) 2026-09-11 22:45:24 -06:00
Drew T db212f167b phase-36: close rows for both Gen3 series — levers 4,010 (78 milestones); readability: 33 lying declarations left in 25 pinned bodies (was 461 in 314 at S102), 98,648 over 1,609 callees now that argcheck reads K&R definitions 2026-09-11 21:47:22 -06:00
Drew T 96553029e3 phase-36: T9 — cookbook §197-A superseded by the plain-C cure (cast at the shift; nine bodies); §457 documents the @unstuck(P36) tag; index regenerated 2026-09-11 21:29:55 -06:00
Drew T 223cf384e3 phase-36: T9 — the Gen3 pages date-stamped with Phase 36's outcome (where-next, standards, handoff); doc_links strict OK 2026-09-11 21:29:19 -06:00
Drew T 60c4bb1ccc phase-36: T8 ☑ — make tools-health OK on run 4 (lever_census rung green: 4,010 / 0 UNMARKED; S1 10,180/10,180; sdk-dual OK; kit_coverage OK); evidence regenerated 2026-09-11 21:23:52 -06:00
Drew T 0fcf000c5a phase-36: T8 — kit_lint leak fixed (the delever_regen dictionary row named generator families as bare R-tokens); kit corpus regenerated 2026-09-11 21:06:06 -06:00
Drew T 5a2bd70fbd phase-36: T8 — the published split regenerated by report (README block + progress.json: 2,141 pins + 1,869 asm in 1,980 functions, all marked); Reference-index rows for the two Gen3 series 2026-09-11 20:56:44 -06:00
Drew T 676626afb3 phase-36: S105 — f11 landed 4/4 + 4 copies, R22 218/218, census 4,010 / 0 unmarked (exit 0); T7 ☑ ENDED (Drew) | 🛑 T8 NEXT 2026-09-11 20:48:00 -06:00
Drew T b3369d0279 phase-36: T8 — lever_census --selftest + --check wired into make tools-health (0 UNMARKED, 0 orphans); --strict stays the structs phase's finish line 2026-09-11 20:23:35 -06:00
Drew T 295ef3fe4a phase-36: S105 (cont.) — f10 landed 4/4 plain C (three type changes), R22 218/218, census 4,026 / 0 unmarked (exit 0); METHOD step 24; checkpoint refreshed | 🛑 T7 RUNNING 2026-09-11 19:56:07 -06:00
Drew T 134abd5e04 phase-36: S105 (cont.) — f9 landed 6/6 (3 plain C, 1 do-while, 2 proven + parked), R22 218/218, census 4,032 / 0 unmarked (exit 0); METHOD step 23; checkpoint refreshed | 🛑 T7 RUNNING 2026-09-11 19:17:22 -06:00
Drew T ea05569512 phase-36: S105 (cont.) — comment-boundary strip fixed, 2 free banks, R22 218/218, census 4,044 / 0 unmarked (exit 0); checkpoint refreshed | 🛑 T7 RUNNING 2026-09-11 18:48:07 -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 1feaff5390 phase-36: S105 FINAL — f8 landed 5/5 plain C, R22 218/218 at 36be9acef, census 4,046 / 0 unmarked (exit 0), nothing in flight; 42/42 drawn classes at 0 this session; cookbook §457, accelerators + decision log P36 S105, kit corpus; checkpoint final | 🛑 T7 RUNNING 2026-09-11 18:25:35 -06:00
Drew T 75dddf4e7a phase-36: S105 — cookbook §457 (the S105 move catalog) + accelerators (a generator's refusals are an unaudited population) 2026-09-11 18:22:34 -06:00
Drew T f3e65cc426 phase-36: S105 — f6 landed 6/6 (1 plain C, 2 do-while, 3 minimum-lever), R22 218/218, census 4,058 / 0 unmarked (exit 0); METHOD step 21; checkpoint refreshed | 🛑 T7 RUNNING 2026-09-11 17:54:45 -06:00
Drew T d3ab56bbe0 phase-36: S105 — f7 landed 6/6 (5 plain C + 1 minimum-lever), R22's two more blind spots fixed (+1 header bank), R22 218/218, census 4,065 / 0 unmarked (exit 0); Drew: no new agents; METHOD step 20; checkpoint refreshed | 🛑 T7 RUNNING 2026-09-11 14:13:06 -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 3db2bf98a8 phase-36: S105 — f4 + f5 landed 12/12 plain C, R45/R46 harvested (regen 0 free), R22 218/218, census 4,077 / 0 unmarked (exit 0); METHOD step 19; checkpoint refreshed | 🛑 T7 RUNNING 2026-09-11 13:28:58 -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 310cea91fa phase-36: S105 — f3 landed 5/5 (4 plain C + 1 minimum-lever proven), R22 218/218, census 4,111 / 0 unmarked (exit 0); checkpoint refreshed | 🛑 T7 RUNNING 2026-09-11 13:10:57 -06:00
Drew T 3eec512315 phase-36: S105 — f1 landed 4/4 (2 plain C + 2 minimum-lever), R22 218/218, census 4,125 / 0 unmarked (exit 0); checkpoint refreshed | 🛑 T7 RUNNING 2026-09-11 12:38:12 -06:00
Drew T e859bac7af phase-36: S105 — f2 landed 4/4 (3 plain C + 1 minimum-lever), R44 harvested + R22's && blind spot fixed, 3 regen banks, R22 218/218, census 4,132 / 0 unmarked (exit 0) | 🛑 T7 RUNNING 2026-09-11 12:01:17 -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 44d4492704 phase-36: S104 — docs/tool-index.md regenerated by the kit corpus run 2026-09-11 06:34:06 -06:00
Drew T a3a0044e38 phase-36: S104 FINAL — e35–e38 resumed and banked (e37's four closes + 19 copies), R22 218/218 at 765704ca5, census 4,152 / 0 unmarked (exit 0), nothing in flight; checkpoint final | 🛑 T7 RUNNING 2026-09-11 06:33:50 -06:00
Drew T e69218dc51 phase-36: cookbook §456 — the S104 lever-removal move catalog (R16) 2026-09-11 05:50:24 -06:00
Drew T 2dbe59b61e phase-36: decision log P36 S104 (Drew's four rulings via sotn, the sweep-before-agent rule, the TU-batch lane, six instrument findings); kit corpus regenerated (tool_census --check OK) 2026-09-11 05:49:47 -06:00
Drew T 046e846007 phase-36: S104 R22 218/218 after e30–e34; census exit 0 | 🛑 T7 RUNNING 2026-09-11 04:54:50 -06:00
Drew T 37b7433691 phase-36: S104 agent-start pass — 14 MATCH of 27, 0 new banks (all already closed by agents or parked; the bank filter recorded in SETUP); e37 packs (ov_SC03_097) 2026-09-11 04:48:05 -06:00
Drew T 47166c6d3f phase-36: S104 log + checkpoint refresh (~08:00) — ~175 closes, R27–R43, census 4,272 / 0 unmarked, e30–e34 in flight | 🛑 T7 RUNNING 2026-09-11 04:14:49 -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 7205767275 phase-36: S104 R22 218/218 after e14–e25; census 4,340 / 0 unmarked (exit 0) | 🛑 T7 RUNNING 2026-09-11 03:31:01 -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 d9a6af0669 phase-36: S104 R22 218/218 after e6 (3 closes + 15 copies + a shared header) and the TU batches; census 4,473 / 0 unmarked (exit 0); R38 pass: 831 classes, 0 candidates (its population is spent) | 🛑 T7 RUNNING 2026-09-11 01:37:21 -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