Commit Graph

278 Commits

Author SHA1 Message Date
Drew T 1ca0faef29 feat(phase-21): sched-idiom gate — +1 fns x0 propagated (fleet 63.17%) 2026-06-25 01:06:36 -06:00
Drew T e5ae5958d5 feat(phase-21): recover-a gate — +1 fns x1 propagated (fleet 63.17%) 2026-06-25 00:57:32 -06:00
Drew T 63b83d93f6 chore(phase-21): regen digests at the cont.5 handoff checkpoint (fleet 63.13%) 2026-06-24 23:17:06 -06:00
Drew T 1c1b75026a feat(phase-21): worker gate — +7 fns x4 propagated (fleet 63.13%) 2026-06-24 23:16:18 -06:00
Drew T a79aa410bd feat(phase-21): idiom_loop.py — the neverending idiom-learning meta-loop (wall->assess->fuel)
Drew's directive: Phase 21 is neverending (harvest easy fuel -> learn next gcc-quirk idiom ->
fresh session -> repeat, toward 100% decomp). idiom_loop.py: --fuel-status (wall), --assess
(cluster backlog by quirk class, rank by reach-134 leverage, name next idiom + cheap recovery
lever), --gen-fuel (research+harvest manifest). First assessment: next idiom = SCHEDULE (49
reach-134, sched.c tie-break); +64 close=0 reach-134 fns bankable x134 for ~0 tokens (def-side
recovery). CURRENT_PHASE cont.5 = the neverending cycle + the /loop prompt for the fresh session.
2026-06-24 22:59:04 -06:00
Drew T 3943c34ac4 feat(phase-21): worker gate — +6 fns x4 propagated (fleet 62.98%) 2026-06-24 22:48:09 -06:00
Drew T 5e5423e953 feat(phase-21): dedup_propagate drop-straggler retry — _a pipeline now hands-free
The 2nd straggler class (cont.4 wave-2): cross-overlay loose-typing COMPILE errors (not just
the -O0 byte-mismatch class). The -O0 exclusion alone was insufficient. Refactor the propagation
into a drop-straggler retry loop: extract apply_plan(subplan, restrict=); on a byte-gate failure,
isolate the culprit(s) for the failing overlay (per-fn trial), drop them (kept x1), retry the
survivors. Handles BOTH straggler classes failing ANY overlay; plan strictly shrinks (terminates);
byte-gate stays sole arbiter (a dropped fn never banks where it isn't byte-identical).

Validated end-to-end: wave-2 --auto-from auto-dropped 2 loose-typing stragglers + propagated 3
clean x134 (commit:0271); fleet 62.70 -> 62.82%. Future _a waves now auto-realize x134, no manual probe.
2026-06-24 22:11:27 -06:00
Drew T 05e98070ba feat(phase-21): drop-straggler propagation banks 3 _a fns x134 (fleet 216104 / 344010 = 62.82%)
dedup_propagate now isolates+drops cross-overlay stragglers instead of all-or-nothing
revert. Wave-2: 2 loose-typing stragglers (func_8012E5CC/func_8012C750 compile-fail
ov_SC01_000) auto-dropped + kept x1; 3 clean fns propagated x134.
2026-06-24 22:09:47 -06:00
Drew T 881e462e0e feat(phase-21): worker gate — +6 fns x0 propagated (fleet 62.7%) 2026-06-24 21:53:10 -06:00
Drew T 04c5c9b47f fix(phase-21): dedup_propagate skips -O0 overlay-local fns + gate_stage surfaces prop failures
The cont.4 root-cause fixes so future _a waves auto-realize ×134:
- dedup_propagate --auto-from now excludes *_o0.c (-O0) defs: -O0 codegen embeds per-overlay
  %lo data, so masked h_exact falsely reports reach-134 (§18/§20). One such straggler
  (func_8013C360) reverted 10 clean ×134 matches under the all-or-nothing batch gate (cont.4).
  Detected via find_site on the -O0 split file; --addr still forces them. (6 fns excluded.)
- gate_stage: capture dedup_propagate's exit; on a real byte-gate revert (not the benign
  'nothing to propagate' no-op) write .run/auto/last_propagate_error.log + add prop_error to
  the summary + warn. A swallowed revert previously hid the gain silently.
2026-06-24 21:32:05 -06:00
Drew T e30697a081 docs(phase-21): _a vein is a x134 lever (10/11) — worker_wave region-fix + cont.4 findings
- worker_wave.js: derive match_one self-check --asm-subdir per-target from t.asm
  (was hardcoded main subdir -> every _a agent self-check crashed on missing .s ->
  blind drafting). Enabled the 16/24 close rate on the _a measurement wave.
- CURRENT_PHASE cont.4: the _a vein is x134 (10/11 propagate byte-identical), not the
  cont.3/§24 x1 wall. The gate's propagated:0 was 2 bugs: dedup_propagate all-or-nothing
  batch-revert poisoned by 1 stale -O0 overlay-local straggler (func_8013C360), and
  gate_stage sh() swallows dedup_propagate's non-zero exit. Realized +0.39% (commit:0267).
2026-06-24 20:37:57 -06:00
Drew T 1e3410ffc1 feat(phase-21): propagate 10 _a-wave fns x134 — _a vein is a real x134 lever (fleet 215699 / 344010 = 62.70%) 2026-06-24 20:35:19 -06:00
Drew T 19c163d3b7 feat(phase-21): worker gate — +11 fns x0 propagated (fleet 62.31%) 2026-06-24 20:13:51 -06:00
Drew T 91430e9309 feat(phase-21): _a wave is turnkey — gate_stage --src-file + wave_targets region-aware asm
- gate_stage.py --src-file: cast canonicalizes vs the SPLIT .c's decls + sig_unify SKIPPED (it reads
  main .c only -> drops _a/_o0 drafts). Validated end-to-end: gate_stage _a-mode banked func_8012C098.
- wave_targets.py region-aware asm paths (REGION_SUB/asm_for): --region a serves the 68 fresh _a
  reach-134 fns with correct ..._a .s paths (pool + --class modes).
- the _a wave is now fully wired (wave_targets --region a -> worker_wave -> gate_stage --src-file ->
  dedup_propagate split-aware). Turnkey runbook in CURRENT_PHASE.md (cont.3) for a fresh session.
- no net banks; fleet 62.31%; ov_SC01_077 d19c9580 (R22).
2026-06-24 19:35:17 -06:00
Drew T 7b5cdfe80e chore(phase-21): CURRENT_PHASE up to date — grinder relaunched (token-free background filler) 2026-06-24 19:26:28 -06:00
Drew T cbf7e774ab feat(phase-21): split-aware dedup_propagate + cast_call_sites --src-file (unlock the _a.c vein)
- dedup_propagate split-aware: overlay_files() handles ov_SC01_077's Phase-19 split (main + _a/_o0);
  source-find scans all, member-loop edits the right file, structural-check spans all. Single-file
  overlays unchanged (default path). Validated: source-find (--check-only 134 members) + fail-closed revert.
- cast_call_sites --src-file: canonicalize callee decls against the file the draft lands in (cross-file
  loose typing — a callee declared differently in main vs _a.c). Default = main, unchanged.
- FINDING (cookbook §24): the fresh reach-134 fuel (66+ fns) is in ov_SC01_077_a.c (a tooling gap, not
  difficulty); bodies are matchable (func_8012C098 cast-banked) BUT matching/propagation hits the same
  §16/§20 loose-typing wall (func_8012C098 cross-overlay def-conflict -> x1; func_8012F274 within-_a
  RotTransSV multi-sig). x134 yield uncertain -> a small measurement wave is the next probe.
- no net banks this turn; fleet 62.31% unchanged; ov_SC01_077 verified d19c9580 (R22). sig_unify reverted.
2026-06-24 13:11:56 -06:00
Drew T 0d92e5640f docs(phase-21): correct the giants finding — stale+incomplete drafts, not cheap near-misses (R14/P9)
- SELF-CORRECTION: a per-fn objdump diff that didn't remove .o/.elf reported 10 FALSE giant
  byte-MATCHes (the §20 stale-.o trap). The real gate (harvest_verify, removes output) banks 0/10:
  the MAIN giants' prior-wave drafts are STALE+INCOMPLETE vs the grown engine_core.h (conflicting/
  undeclared data decls, link errors). They need RE-DRAFTING fresh, not a recovery transform.
- fixed .run/diag_funcdiff.py to os.remove artifacts first (gitignored tool); the whole-binary SHA
  gate is the sole arbiter (G3/P9) — it was right while the diag lied.
- cookbook §23 rewritten: func_80153E00 (cracked, scalar-data CAST) stands; the 'giants are
  near-misses' generalization corrected. sig_unify trailing-/* */-comment extern skip documented
  (fix reverted — unproven + data-cast is the right lever). 11 _a.c giants need split-aware tooling.
- no new banks this turn; fleet 62.31% unchanged; ov_SC01_077 verified d19c9580 (R22).
2026-06-24 01:19:26 -06:00
Drew T 72a5da614b docs(phase-21): giants are near-misses not plumbing-blocked (R14) — func_80153E00 cracked via scalar-data-cast
- COOKBOOK §23: the giants compile+link clean; match_one over-predicts (standalone + masks relocs);
  diagnose each via .run/diag_funcdiff.py (linked-ELF per-fn objdump diff). func_80153E00 was 1/195 off.
- the scalar-data-signedness CAST *(u16*)&D_8011DB0C (data analog of cast_call_sites): keep canonical
  extern s16, cast the read -> gcc folds to lhu, no decl conflict, survives sig_unify. Refutes §20
  'data-cast moot' (which only checked struct/union, not scalar signedness).
- CURRENT_PHASE handoff updated; func_80153E00 banked x134 (fleet 62.27->62.31%, commit commit:0260).
2026-06-23 19:39:18 -06:00
Drew T ccd61d6528 feat(phase-21): worker gate — +1 fns x1 propagated (fleet 62.31%) 2026-06-23 19:35:21 -06:00
Drew T 71e3dc9370 chore(phase-21): SESSION CHECKPOINT — fleet 62.27% (+1.11%); reach-134 pivot + giants finding; full handoff
Final handoff logged to CURRENT_PHASE ★★★ (session arc, 12 idioms, 3 pool fixes, the giants
body-tractable-but-plumbing-blocked finding + the recovery-tooling eureka lever, resume commands).
Grinder stopped (banked 5 token-free). Worker reach-134 pivot banked 26 x134 (+0.97%).
2026-06-23 18:43:33 -06:00
Drew T b5eb1718af feat(phase-21): grinder gate — +1 fns x1 propagated (fleet 62.27%) 2026-06-23 14:15:31 -06:00
Drew T 90b94971cd fix(phase-21): --class mode filters to still-unbanked genuine near-misses
--class selected ALL backlog near records of a class, incl. already-banked fns (stale
near records, no live_stubs check) and closeness==0 plumbing-blocked fns (re-draft cannot
bank) -> ~18 of 24 wasted slots. Now filters to: name in live_stubs() AND closeness>0.
Gives clean reach-134 wall fuel for worker --class re-attempts (grinder owns REGALLOC/SCHEDULE).
2026-06-23 12:46:39 -06:00
Drew T 3074584982 feat(phase-21): grinder gate — +1 fns x1 propagated (fleet 62.23%) 2026-06-23 12:45:22 -06:00
Drew T c2bad12d6c feat(phase-21): worker gate — +13 fns x12 propagated (fleet 62.19%) 2026-06-23 12:39:39 -06:00
Drew T 74021b0840 chore(phase-21): checkpoint — PIVOT to reach-134 (fleet 61.73%, +0.51%/wave); grinder live; 12 idioms 2026-06-23 12:23:52 -06:00
Drew T f555a441a3 docs(phase-21): distill — handwritten-GTE-sqr cop2-nop + raw-byte-verify idiom from func_8013E2C4 2026-06-23 12:21:51 -06:00
Drew T c9e7c26af4 feat(phase-21): grinder gate — +1 fns x0 propagated (fleet 61.73%) 2026-06-23 12:19:06 -06:00
Drew T 296d834467 feat(phase-21): worker gate — +13 fns x13 propagated (fleet 61.73%) 2026-06-23 12:18:12 -06:00
Drew T 50070aad94 feat(phase-21): grinder gate — +2 fns x0 propagated (fleet 61.22%) 2026-06-23 12:01:50 -06:00
Drew T e8b1f8f253 docs(phase-21): distill — explicit-temp load-delay-fill idiom from func_801856F8 2026-06-23 11:50:51 -06:00
Drew T 1e2d905b5c feat(phase-21): worker gate — +8 fns x0 propagated (fleet 61.22%) 2026-06-23 11:48:21 -06:00
Drew T 28afb3c49c docs(phase-21): distill — per-access (volatile T*) field-reload idiom from func_801424E4 2026-06-23 11:12:15 -06:00
Drew T 6420413571 feat(phase-21): worker gate — +13 fns x0 propagated (fleet 61.22%) 2026-06-23 11:09:23 -06:00
Drew T d07c6edb0a docs(phase-21): distill — volatile-global forces reload-between-stores idiom from func_801806D8 2026-06-23 10:36:56 -06:00
Drew T 80ba81ffa8 feat(phase-21): worker gate — +14 fns x0 propagated (fleet 61.21%) 2026-06-23 10:33:43 -06:00
Drew T 934c007df8 docs(phase-21): distill — global-RMW pointer-var address-materialize idiom from func_80186938 2026-06-23 03:39:30 -06:00
Drew T 50bc85d72b feat(phase-21): worker gate — +11 fns x0 propagated (fleet 61.21%) 2026-06-23 03:36:16 -06:00
Drew T a830648291 chore(phase-21): checkpoint — session reach-1 progress (fleet 61.21%, 215 banked, 7 idioms, 2 pool fixes)
CURRENT_PHASE SESSION UPDATE refreshed (waves 17-25) + regenerated digests. Crash-recovery (R30).
2026-06-23 03:13:49 -06:00
Drew T 8e892ad49e docs(phase-21): distill — packed-aligned(1)-union unaligned-source load idiom from func_80142A80 2026-06-23 03:11:26 -06:00
Drew T 39164b7b6b fix(phase-21): pool excludes re-drafted-twice near-miss walls
Smallest-first reach1 pool re-served close>0 near-misses at the front of every wave
(fixed small nins), but permuter-class walls (schedule LUID-tie / regalloc-coalesce /
iv-combine) never bank via blind re-draft -> func_80140E6C near-missed at close=4 in BOTH
wave 24 & 25, a slow leak that compounds as the band climbs.

reserved_walls(min_attempts=2): a near-miss re-drafted >=2x without banking is a wall (the
crackable ones crack on attempt 2 — func_801651B8/801549F8/80153D7C did). Skip from blind
waves; they stay in the backlog for the grinder (permuter) or a targeted --class re-attempt
(prior stuck-point fed in). 66 such walls now excluded. Byte-gate unaffected.
2026-06-23 03:08:30 -06:00
Drew T b58aef625c feat(phase-21): worker gate — +17 fns x0 propagated (fleet 61.21%) 2026-06-23 03:07:39 -06:00
Drew T 1e5cc1b28f docs(phase-21): distill — exploit-cross-jump dual-arm-call idiom from func_80159BE4 2026-06-23 02:45:37 -06:00
Drew T cbdbe04229 feat(phase-21): worker gate — +17 fns x0 propagated (fleet 61.2%) 2026-06-23 02:43:01 -06:00
Drew T 279662bbed docs(phase-21): distill — barrier-free memory-reload-via-statement-order idiom from func_80168430 2026-06-23 02:23:46 -06:00
Drew T fea30940b3 feat(phase-21): worker gate — +16 fns x0 propagated (fleet 61.2%) 2026-06-23 02:20:05 -06:00
Drew T e59e8b5ef6 chore(phase-21): checkpoint — session 2026-06-23 reach-1 progress (fleet 61.19%, 165 banked, 4 idioms, pool fix)
CURRENT_PHASE.md SESSION UPDATE + regenerated fleet/backlog/progress digests.
Captures waves 17-22 state for crash-recovery (R30). No source change.
2026-06-23 02:07:35 -06:00
Drew T c694c9d7a1 docs(phase-21): distill — combined store-and-capture call-result idiom from func_80142DC4 2026-06-23 02:05:40 -06:00
Drew T df88ca83ba feat(phase-21): worker gate — +16 fns x0 propagated (fleet 61.19%) 2026-06-23 02:02:54 -06:00
Drew T 43d089ec64 docs(phase-21): distill — byte-predecrement +0xFF-not-1 immediate idiom from func_8016EBA8 2026-06-23 01:42:09 -06:00
Drew T c20d87207e feat(phase-21): worker gate — +21 fns x0 propagated (fleet 61.19%) 2026-06-23 01:38:06 -06:00