Commit Graph

1804 Commits

Author SHA1 Message Date
Drew T 71ca623bf0 feat(decomp): worker gate — +1 fns x0 propagated (fleet 95.2%) 2026-08-13 10:57:33 -06:00
Drew T a24b495853 feat(decomp): worker gate — +2 fns x0 propagated (fleet 95.1%) 2026-08-13 10:56:10 -06:00
Drew T 44b49ed715 chore(phase-30 S49): wave 7a checkpoint — micro-adapt lane measured (83% MATCH / 64% bank), §169
- pilot 30 cards -> 25 agent-MATCH (0 refuted) -> 16 banked; 29 instances banked tonight
  (89 incl. propagation); 2.7M tokens haiku-tier ~= 30k/banked instance vs a crack wave's ~75k.
- R22 213/213 BYTE-IDENTICAL from clean; fleet 96.53% fn / 95.1% instr / 89.8% distinct;
  stubs 12,613 -> 12,584; dedup 2,029/0.
- R14 CORRECTION: a banked cousin usually does NOT propagate (2 of 8; cousins are byte-variant).
  The card 'reach' column is cousin fuel, not dedup copies — priced wrong in my earlier framing.
- FINDING: the 9 gate failures are per-TU INTEGRATION (standalone-MATCH, host-TU-rejected),
  clustered 5+2 in two binaries — the reconcile-ladder class, not codegen.
- TWO INCIDENTS (mine): an outer timeout tighter than gate_stage's own scaled timeout killed a
  healthy 5-bank group mid-write AND orphaned its dedup_propagate child, which kept rewriting
  src/ through a git checkout. Killed, inspected, reverted; the same 5 drafts banked 5/5 untimed.
  Law: never wrap a self-timing tool in a tighter cap; kill process GROUPS, not pids.
- cookbook §169 (the lane + the three laws + the threshold sizing table).
2026-08-13 06:59:46 -06:00
Drew T 5fc7f16978 feat(phase-30 S49): propagate func_8018B388 to its cousins (wave 7a) 2026-08-13 06:53:52 -06:00
Drew T dabd2d4cb7 feat(phase-30 S49): propagate func_80183838 to its cousins (wave 7a) 2026-08-13 06:52:50 -06:00
Drew T a27518e730 feat(decomp): worker gate — +1 fns x0 propagated (fleet 95.1%) 2026-08-13 06:52:27 -06:00
Drew T 6a18328d0e feat(decomp): worker gate — +1 fns x0 propagated (fleet 95.1%) 2026-08-13 06:51:31 -06:00
Drew T e9c90c1e02 feat(decomp): worker gate — +1 fns x0 propagated (fleet 95.1%) 2026-08-13 06:50:38 -06:00
Drew T befc635a59 feat(decomp): worker gate — +5 fns x0 propagated (fleet 95.1%) 2026-08-13 06:49:42 -06:00
Drew T 76bdaeafb9 feat(decomp): worker gate — +1 fns x0 propagated (fleet 95.1%) 2026-08-13 04:39:48 -06:00
Drew T ad7ffe5e6e feat(decomp): worker gate — +1 fns x7 propagated (fleet 95.1%) 2026-08-13 04:36:57 -06:00
Drew T 7f82d95468 feat(decomp): worker gate — +1 fns x8 propagated (fleet 95.1%) 2026-08-13 04:34:15 -06:00
Drew T f605184930 feat(decomp): worker gate — +1 fns x0 propagated (fleet 95.1%) 2026-08-12 23:00:27 -06:00
Drew T 49cf2dc15a feat(decomp): worker gate — +1 fns x17 propagated (fleet 95.1%) 2026-08-12 22:56:40 -06:00
Drew T 527c7ffa7d feat(decomp): worker gate — +1 fns x1 propagated (fleet 95.1%) 2026-08-12 22:51:00 -06:00
Drew T 63bb8f8959 feat(decomp): worker gate — +1 fns x36 propagated (fleet 95.1%) 2026-08-12 22:47:24 -06:00
Drew T 38ae150fa1 feat(decomp): worker gate — +1 fns x0 propagated (fleet 95.1%) 2026-08-12 22:24:24 -06:00
Drew T 4de7fd7faa feat(decomp): worker gate — +1 fns x0 propagated (fleet 95.1%) 2026-08-12 22:23:22 -06:00
Drew T 019fd51883 feat(decomp): worker gate — +1 fns x9 propagated (fleet 95.1%) 2026-08-12 22:22:06 -06:00
Drew T 432fdf681f fix(phase-30 S49): adapt cards — hex-case-robust .s resolver (R35)
sig_image emits lowercase func_<hex> names; splat writes the .s with UPPERCASE hex, so
corpus.asm_path returned None for every address containing a hex letter — 60% of the cards
would have shipped agents a 'null/func_x.s' path. resolve_asm() tries the sig spelling
(authoritative for CURATED names), then both hex cases; a card with no resolvable .s is
now DROPPED, not emitted (R32). 518 cards, 0 bad paths.
2026-08-12 22:07:32 -06:00
Drew T dcba5d0f4f feat(phase-30 S49): the micro-adapt lane — adapt cards + adapt_wave.js (wave 7a)
- family_cousins.py --adapt-cards: per seeded-unit member, drift classified vs the seed
  (LI-ONLY 27 / SMALL-EDIT 491 / MIXED 310 excluded); cards carry the seed C location + the
  aligned diff blocks with the member's raw words + disasm (the new constant is readable in
  the card). 518 cards / 1,101 instances / 23,820 ins; 514 haiku-band.
- tools/wave/adapt_wave.js: the EDIT-contract wave (crack_wave contracts preserved: per-agent
  dirs, sha1-last, UNVERIFIED != refuted); symbol surface from the TARGET .s; haiku<=60/sonnet.
- regen chain absorbed the 48 lane-A banks (A-prop open ins -6,475 == the report's instr
  delta exactly — two independent derivations agree); pilot slate .run/wave7a_pilot.json (30).
- R37: pilot before scaling to the 518-card pool.
2026-08-12 22:03:04 -06:00
Drew T ea94fece6f chore(phase-30 S49): checkpoint — lane-A re-sweep 48 banked, R22 213/213, fresh honest ledger
- 48 lane-A members banked (30 non-jr family_sweep + 18 jr jtbl_family_bank); fleet
  96.53% fn / 95.1% instr / 89.8% distinct; stubs 12,661 -> 12,613; dedup 1,949/0.
- R37 probe: PLUMBING-retry 0/4 -> 4/4 on repaired instruments (pre-repair ledger partly
  fiction); bulk re-measure: 458 fresh verdicts, ~331 decl-agreement / 28 genuine DIFF /
  89 md typedef-gather; 264 STRUCT by design -> cousin fuel; 122 unresolved-IMM (T2a).
- named tool findings: reconcile 'syntax before *' defect (80189540 x4); §154-A fresh
  refusal message (20 md jr ledgered); family_sweep phase-26 commit tag; jtbl needs
  operator per-family commits (driver v2).
- next: wave 7 off the cousin slate (regen chain + ultracode toggle), or T5 close.
2026-08-12 21:30:51 -06:00
Drew T ebc2da001a feat(phase-30 S49): jr lane — func_80183bac banked via jtbl_family_bank (lane-A re-sweep) 2026-08-12 21:25:02 -06:00
Drew T dfd6be8b38 feat(phase-30 S49): jr lane — func_80185440 banked via jtbl_family_bank (lane-A re-sweep) 2026-08-12 21:24:24 -06:00
Drew T a194268e01 feat(phase-30 S49): jr lane — func_80180b04 banked via jtbl_family_bank (lane-A re-sweep) 2026-08-12 21:21:29 -06:00
Drew T f93ad8cd2f feat(phase-30 S49): jr lane — func_80189030 banked via jtbl_family_bank (lane-A re-sweep) 2026-08-12 21:16:23 -06:00
Drew T 24b866789b feat(phase-30 S49): jr lane — func_8018cc40 banked ×9 via jtbl_family_bank
- lane-A jr re-sweep: 9/9 siblings banked (SC03_001/002/124/125, SC04_015/019/020,
  SC05_017/018), per-binary SHA-gated by the carve driver; new jr splits + yaml carves.
- func_80189540 family 0/4: reconcile-transform defect ('syntax error before *') — tool
  class, ledgered, NOT codegen. §154-A md probe x4: fresh refusal 'jump tables only, not
  an island of mixed included data' — 20 md jr members ledgered as the known structural gap.
2026-08-12 21:13:46 -06:00
Drew T 9c2db69fc8 feat(phase-26): h_seq family sweep — 26 member-matches banked via remap_hseq 2026-08-12 21:07:48 -06:00
Drew T 4cee2160fe feat(phase-26): h_seq family sweep — 4 member-matches banked via remap_hseq 2026-08-12 20:59:31 -06:00
Drew T b3713cc3ca feat(phase-30 S49): the cousin tier — family_cousins.py similarity map + seeded wave-7 slate (§168)
- FINDING (Drew's smell, byte-verified): the '4,513 unique singletons' picture is substantially
  an h_seq exact-hash artifact — 86/120 near-pairs in the 0.85-0.99 band differ by PURE
  insertion/deletion (li-expansion tell in 25). Specimen: ov_SC06_010:0x8017bebc (753 ins,
  'singleton') is 0.987-similar to a MATCHED fn in the same binary.
- NEW tools/family_cousins.py: distinct open skeletons -> shingle index -> >=0.85 union-find ->
  matched-seed attachment -> .run/family_cousins.json + docs/family-cousins.md. R32 BOTH ways
  (independent stub recount fails loud on a stale map — negative-control-proven; partition
  assert). Reproduced the probe within +-1%; totals EXACT (11,627 inst / 584,448 ins).
- Unit table: A-prop 197u/68,729ins · seeded 418u/50,422 · cousin-multi 1,552u/249,799 ·
  cold 3,240u/215,498 — the genuinely-unique tail is 37% of the remainder, not 90%.
  Main's 'structurally barren' HOLDS at the similarity tier (94% mass <0.70).
- --targets wave slate: .run/wave7_targets.json = 40 targets / 33,304 unit ins (+33% vs
  family-ranked), 9 resolved seed C paths, size-routed 2 haiku/20 sonnet/18 opus.
- LAWS (§168): a cousin is a SEEDED CRACK never a remap; rank waves by UNIT weight; discount
  short-fn similarity. Byte-gate stays the sole arbiter (G3/P9).
- docs/family-hseq.md: this session's frontier regen (post-S48 propagations) rides along.
- cookbook §168 + SETUP inventory row (R16/R21/R30); CURRENT_PHASE S49 entry.
2026-08-12 20:53:40 -06:00
Drew T 4cf5847da3 chore(phase-30 S48): FINAL session checkpoint — 684 banked, 95.1% instr, R22 213/213
Fresh-session safe. 197 commits; six waves (bank rates 67/79/69/68/73/60%);
cookbook 508 sections with all six idiom harvests banked (§162-§167).

Resume order: T5/phase close is a LIVE option (the >=95% instr milestone is met
and holding); otherwise wave 7 from tools/wave/crack_wave.js after a regen.

§167's saturation signal is the strategic finding: COVERED+UNSOUND went
57% -> 64% -> 76% across three harvests, five new laws from 197 claims. Stop
mining waves for idioms; spend the tokens on cracks.

Carries the session's central lesson: four times a tool asserted a conclusion it
never reached, and I repeated the pattern once myself. A confident wrong label
costs more than a missing one.
2026-08-12 18:55:35 -06:00
Drew T 57ff04c1ac docs(phase-30 S48): §167 — wave-5/6 harvest, and the saturation signal
27 note-sets, 197 claims, one skeptic each, against a cookbook already holding
§162-§166 from this campaign:

  NEW 5 · SHARPENS 43 · COVERED 126 · UNSOUND 23
  byte-probed 92 · single-instance 75 · asserted 30

COVERED+UNSOUND: 57% (§164) -> 64% (§165) -> 76% (here). The duplicate rate
rises monotonically as the base grows. FIVE genuinely new laws out of 197
claims is the signal that the idiom well for this class of function is
approaching dry — future waves should spend tokens on cracks, not on mining
notes for idioms, and harvest only what a skeptic grades byte-probed.

The skeptics ran their own A/Bs this round. Best example: a crack agent claimed
"the source STATEMENT BOUNDARY decides whether the scheduler hoists a
far-consumed load". The vetter built that spelling and got .text BYTE-IDENTICAL
to the inline form, then swept eight POSITIONS and got five distinct objects —
showing the lever is statement position (the already-banked INSN_LUID
tie-break), not the boundary. Plausible mechanism, refuted by measurement, true
lever named in its place.

46 entries banked as §167-01..46; §167z records the 23 refutations.
cookbook_index.py: 508 sections.
2026-08-12 18:55:05 -06:00
Drew T 0fc297184c fix(phase-30 S48): §166a — strike the causal claim I did not verify (R14)
I banked the crack agent's story that a wrong-TU citation CAUSED
func_8017F2D4's seven gate refusals, and relayed it to Drew, without checking
it. corpus.stubs() derives each stub's TU from the actual INCLUDE_ASM site and
gate_stage splices via corpus — the harness was always editing the right file.
Only the PROSE was wrong.

Measured: func_8017F2D4 is still a stub, still classifies DIFF, and is a
has_mid_jr function referencing jtbl_801CC504 — so it carries a jump table the
standalone gate cannot see. The real residual is CAUSE NOT DETERMINED.

The ORACLE stands on its own evidence (the asm subdir's third component IS the
TU stem, by construction from the split config). The causal story does not, and
is now marked as such. This entry was written to stop a tool printing an
unmeasured cause and its first draft printed one.
2026-08-12 18:34:40 -06:00
Drew T 4144eabc74 chore(phase-30 S48): checkpoint — 684 banked (13,345 -> 12,661), R22 213/213
Wave 6 added 110 (24 cracks + 23/24 families propagated). Fleet 95.1% instr /
89.7% distinct / 96.51% fn-count. R22 clean-fleet run 9x this session, 213/213
every time. Bank rate across six waves: 67/79/69/68/73/60%.

Records §166a (the destination-TU oracle) and the four-instance pattern it
completes: a tool asserting a conclusion it never reached. A confident wrong
label costs more than a missing one.
2026-08-12 18:31:30 -06:00
Drew T 471e573ce0 feat(phase-30 S48-T6): propagate func_8017FB9C to its zero-crack siblings 2026-08-12 18:28:34 -06:00
Drew T ab4fe5eab0 feat(phase-30 S48-T6): propagate func_80181500 to its zero-crack siblings 2026-08-12 18:28:24 -06:00
Drew T 1117e3a3a9 feat(phase-30 S48-T6): propagate func_8017C004 to its zero-crack siblings 2026-08-12 18:28:14 -06:00
Drew T 46a2bf56af feat(phase-30 S48-T6): propagate func_80181948 to its zero-crack siblings 2026-08-12 18:28:00 -06:00
Drew T 62081315ab feat(phase-30 S48-T6): propagate func_8017F17C to its zero-crack siblings 2026-08-12 18:27:42 -06:00
Drew T a4fafab85e feat(phase-30 S48-T6): propagate func_80183834 to its zero-crack siblings 2026-08-12 18:27:17 -06:00
Drew T 9066ffcd06 feat(phase-30 S48-T6): propagate func_80184380 to its zero-crack siblings 2026-08-12 18:26:59 -06:00
Drew T 79be5b1ed9 feat(phase-30 S48-T6): propagate func_8017BEF8 to its zero-crack siblings 2026-08-12 18:26:45 -06:00
Drew T db2f5fefb3 feat(phase-30 S48-T6): propagate func_8017F570 to its zero-crack siblings 2026-08-12 18:26:34 -06:00
Drew T c2374589c4 feat(phase-30 S48-T6): propagate func_80182D80 to its zero-crack siblings 2026-08-12 18:26:22 -06:00
Drew T 3962c03150 feat(phase-30 S48-T6): propagate func_801EFF54 to its zero-crack siblings 2026-08-12 18:26:07 -06:00
Drew T 97877acd0a feat(phase-30 S48-T6): propagate func_80181C78 to its zero-crack siblings 2026-08-12 18:25:57 -06:00
Drew T fc58acbf3b feat(phase-30 S48-T6): propagate func_8017F398 to its zero-crack siblings 2026-08-12 18:25:43 -06:00
Drew T 96fe3198b9 feat(phase-30 S48-T6): propagate func_8018291C to its zero-crack siblings 2026-08-12 18:25:28 -06:00
Drew T ab63aa0411 feat(phase-30 S48-T6): propagate func_80184AFC to its zero-crack siblings 2026-08-12 18:25:11 -06:00
Drew T 1ce9125d8c feat(phase-30 S48-T6): propagate func_8018B19C to its zero-crack siblings 2026-08-12 18:24:54 -06:00