Commit Graph

2179 Commits

Author SHA1 Message Date
Drew T 0840eda5bb feat(phase-31 T8): LEN+N lane — 587 near-misses routed; 345 wrong-drafts reclassified; detectors live
- match_one --emit-streams (additive; stdout-identity NC'd): word streams for the
  len lane
- family_align.addr_true_rel: reloc-vs-constant range discriminator — FULL
  conservative set kept for pair semantics (NC-1 157/157 regression), address-
  true subset for indel eligibility only (a constant li-cluster must not read as
  reloc-in-indel); synthetic probes green both directions
- tools/len_tells.py: aligned classification + §172b tell tagging (EXTPAIR/
  SELECT/NOP) on target-side indels; detectors imported from atlas_features
  (R33); cookbook text embedded in cards
- tools/lenmiss_route.py: pool-parallel (A8) — 587 audit LEN rows re-verified
  live + routed in 24s: redraft 345 (frac>0.35, APPEND-ONLY backlog
  reclassification — near-miss metrics stop lying) / permuter-length 49 (grinder
  fuel) / cards 192 incl 14 tell-tagged (the audit's own detectors had emitted
  ZERO) / mechanical 0 — an HONEST NULL: stored drafts rarely get constants
  wrong; LEN drift is shape, family_align's value here is classifier/detector
- R32 accounting 587/587
2026-08-14 19:54:57 -06:00
Drew T 682d0fa1fd feat(phase-31 T7): family_align — aligned classifier + imm engine, NC'd; mechanical-cousin lane refuted by probe
- tools/family_align.py (NEW module — classify_member's return contract untouched,
  the remap_hseq silent-pass trap avoided by design): SequenceMatcher alignment
  over FC.tok streams; li-cluster reconstructor (lui/lui+addiu/lui+ori/li-from-$0
  chains, split-cluster absorb for the rs-changed addiu partner); verdicts
  LEN-LI/LEN-NOP/LEN-JTBL/LEN-STRUCT/STRUCT-ALIGNED/PURE/IMM; aligned imm engine
  mirroring imm_map_tier1 (ordinal deliberately out in v1)
- NC-1 verdict-equivalence 157/157 banked pairs — the NC caught two real gaps:
  R-type non-shift sa diffs are STRUCT; registers tested BEFORE the reloc skip
  (a reloc-slot word with a different register is STRUCT). NC-2 parity 21/21
- R37 PROBE REFUTED the planned mechanical driver before it was built: 0/26
  LI-ONLY cards classify mechanically (regfields x19) — cousins are 0.85-similar
  DIFFERENT functions; §168 law 1 re-derived by measurement; no driver written
- family_align re-scoped: its consumer is T8's LEN+N near-miss pile (draft vs
  its OWN target = same function); reloc-vs-constant range discriminator parked
  for T8. decision-log entry (R31)
2026-08-14 19:49:22 -06:00
Drew T 1a8cda6c54 feat(phase-31 T6): PLUMBING campaign — +9 banked (64% probe); recipe + 3 laws (§173)
- tools/plumbing_groups.py: derives the honest still-open pool from the classified
  ledgers (R38) — '1,217 PLUMBING' collapsed to 237 (SELF 109 / CALLEE 48 / OTHER
  48 / DATA 32)
- recover_integration: PER-GROUP ISOLATION (git-checkout binary TUs between groups
  — one TU-stage edit was poisoning every other group's whole-binary gate with a
  phantom shared error; per-group banked_from_source capture) + new stages
  'macro-externs' (§121 draft-tier, via family_sweep.macro_def_sig_map, R33) and
  'tu-scope' (§103 STU binary-tier, the sweep-only lever)
- the probe (ov_SC03_107): raw 0/14 -> root-caused (poisoning + stale seed
  symbols; rtu_match MATCHes them — blind to reloc names, R34) -> symfix-first
  -> 9/14 BANKED (64%)
- sweep finding (Law 3): the no-draft majority (ov_SC02_037 44/44, most of
  ov_MAIN_012) had verdicts from transient sweep remaps never persisted — family-
  lane fuel, not recovery fuel; the stored-draft class is consumed
- cookbook §173 (symfix-first / per-group isolation / verdicts-without-drafts);
  index 518 green; R22 clean fleet 213/213; phase total 17 banked @ 0 agent tokens
2026-08-14 19:42:55 -06:00
Drew T a159ccdaaf feat(phase-31): t6-recover gate — +7 fns x0 propagated (fleet 95.3%) 2026-08-14 18:36:12 -06:00
Drew T 6ee1ef68e8 feat(phase-31): t6-recover gate — +1 fns x0 propagated (fleet 95.3%) 2026-08-14 18:33:52 -06:00
Drew T 6e22d640a4 feat(phase-31): t6-recover gate — +1 fns x0 propagated (fleet 95.3%) 2026-08-14 18:32:42 -06:00
Drew T e18738c48e feat(phase-31 T5): THE FRONTIER ATLAS — 5,139 lever-labeled crack groups over all 12,058 open fns
- tools/atlas.py: cousin units baseline + T1.5 h_seqn merges + CALIBRATED warm
  tier (measured: li-norm metric holds ~99% recall to 0.55; rule = smallest t
  with neg-accept<=0.2% AND recall>=95% -> THRESH_WARM=0.70 @ 99.1%/0.18% —
  false merges waste exemplar cracks, misses only route cheaper) + seed sweep
  (65% of open skeletons carry a >=0.55 matched seed) + kNN graph + tiny-direct
  + evidence joins (audit/backlog/ledgers/cards; unparsable=fatal) + lever
  labels with confidence measured>ledger>tell>default>UNKNOWN
- partition ASSERTED: 12,058 = progress stubs 12,051 + NM 7 EXACTLY (chased the
  +1: data blobs now excluded, reconciled against classify() buckets; T1 banks
  confirmed absent); every instance in exactly one group; main joins at the
  atlas layer only (family maps stay non-main — 4 silent-skip hazards)
- warm tier merged 1,019; top group unifies 268 drifted per-location skeletons
- lever table: head-crack 186.9k ins / UNKNOWN 138.6k (honest) / extend-tell
  76.7k / redraft 46.8k / jtbl-carve 45.7k / integration 23.4k / seeded 23.4k /
  len-vein 16.8k / swaprepeat 9.2k / plumbing 8.1k / o0 6.6k / cc1 6.4k
- atlas_features: li_norm_toks exported (shared with atlas, R33; hash-stable);
  mid_jr verifier fixed (compared ZERO rows — R32 silent no-op; now 6,444/6,444)
- make atlas = full regen chain (~10-15 min, zero tokens); --targets emits
  crack slates (12/12 .s resolved); survey 92 s
- SETUP rows (R21); docs/frontier-atlas.md committed
2026-08-14 18:06:46 -06:00
Drew T 636809714d feat(phase-31 T4): atlas_features.py — per-fn feature layer for the Frontier Atlas
- one deterministic feature record per function across all 213 registry binaries:
  memoized per distinct h_exact (.run/feat_memo.json, 92,855 bodies), fanned out
  1:1 with sigs to .run/feat.<bin>.jsonl (363,525 rows) in 21s
- features: nins/band, o0 prologue tell, frame/saves/fp, CFG skeleton (branch-scan;
  jal=call never edge — position-independent, argued in docstring), mid_jr/jalr,
  stable-call-seq hash (fixed main+resident ranges), reloc-kind-seq hash, 16-bucket
  ophist, §172b tells as SHARED importable detectors (extpair/dupselect/sign_mix/
  magic_div — len_tells will import, R33), li-normalized skeleton h_seqn
- verifies: R32 (addr,h_exact) join per binary; determinism 0/200; mid_jr vs
  family_hseq independent oracle 6,444/6,444 exemplars agree (verifier's first
  draft compared ZERO rows — string/int addr mismatch, R32 silent-no-op class,
  fixed + fails loud on compared==0)
- o0 cross-check finding: 94 open fns carry the -O0 prologue inside -O2 TUs —
  §116-class carve candidates (campaign fuel)
2026-08-14 17:54:18 -06:00
Drew T 22eed7d78a feat(phase-31 T3): main enablement — sig-main at splat-true lengths + main streams
- sig_image: --seeds accepts '0xADDR NINS' (and jsonl nins); a seeded nins is
  authoritative ([addr, addr+4*nins), bypasses func_end whose heuristic mis-sliced
  3/40 main samples); R32 guard on seeded end > hi
- corpus: s_ins_count() factored from audit() (R33, one counter) + '--seed-ends'
  CLI emitting per-stub splat-true lengths
- make sig-main: 2,002 main stubs signed -> .run/sig.main.jsonl; FULL word
  cross-check 2,002/2,002 EXE slices == .s words (0 SLICE-SUSPECT; .s word field
  is byte-order hex, not LE — first checker draft misread 1,999 false suspects).
  Deliberately splat-SEEDED; main's independent second oracle stays deferred
  (second-oracle.md; sig_is_independent(main) stays False)
- family_remap: vram_of/img_path special-case 'main' derived from splat.us.exe.yaml
  (file0-vram = code-seg vram - start = 0x8000F800; target_path); stream_words
  ('main') verified 25/25 vs .s
- regression: sig-resident re-run byte-identical after the shared read_seeds change
- SETUP §6.3 rows (R21)
2026-08-14 17:48:51 -06:00
Drew T fa425f89a5 feat(phase-31 T2): reference expansion — PsyQ SDK sample source extracted + gcc-2.7.2 completed
- PsyQ 4.0 dev-CD Track-1 walked with the frozen iso9660.py (R33): 2,374 files /
  231.6 MB -> tools/reference/psyq-sdk/ (gitignored); 400 C sources incl. the full
  PSX/SAMPLE tree (373) — drafting-agent style priors, esp. for main
- provenance find: GNU/SNGNUVER.TXT = SN's gcc build history (2.7.2.SN32.3.7.0002)
  naming SN's exact patches vs vanilla; only UNROLL.C codegen-relevant
- gcc-2.7.2 reference +6 files (calls.c + caller-save.c — §172-cited, previously
  missing — + integrate/optabs/varasm/recog), tarball sha256 recorded
- docs/psyq-sample-idioms.md seeded; SETUP §5.6 rows (R21)
2026-08-14 17:44:32 -06:00
Drew T 2a0ac5ab8d feat(phase-31 T1): integration quick-bank sweep — 8 banked, 0 agent tokens; symfix STALE-DELTA
- aprop_symfix: STALE-DELTA class — the S50 1:1 stale-seed-symbol rule generalized
  to n:n (sorted-by-address zip, ONE uniform target-draft delta required; refuses
  count mismatch / non-addressed names / disagreeing deltas). R39 negative controls
  (synthetic + S50-snapshot equality over still-stub rows, zero false positives);
  first live batch 4 rebased -> 4/4 BANKED (func_8016BCC0, func_8017F1C8,
  func_80186BD8, func_80186BF8). The delta test refused func_80186C1C whose deltas
  differ by 4 — a hand-check had wrongly accepted it. cookbook §171-D
- recover_integration demacroize (SELF-decl class): 4/7 banked (func_80139BE0,
  func_8014ED28, func_80161D88, func_801659DC)
- R38-first partition of the MATCH-108 pile: 75 still-stub = 13 never-gated +
  62 verdictted (31 PLUMBING = 7 SELF + 15 CALLEE->T6 + 3 UNDEF-DATA + 6 OTHER;
  14 CC1->T6; 8 md CARVE-REFUSED->ledger; 1 DIFF); immfix pile fully consumed
- stored-draft re-gates 0/23 (the ~8% A10 law held); 9 STALE->clean world-motion
  drafts identified (siblings' banks defined their missing symbols)
- gate_lane: propagate-commit tag derives from GATE_PHASE (was hardcoded)
- R22 clean fleet: extract-all 212/212 + main; check-all 213/213 BYTE-IDENTICAL
2026-08-14 17:40:38 -06:00
Drew T fbe66370ee feat(phase-31): t6-recover gate — +1 fns x0 propagated (fleet 95.3%) 2026-08-14 17:37:27 -06:00
Drew T f3e55b9859 feat(phase-31): t6-recover gate — +1 fns x0 propagated (fleet 95.3%) 2026-08-14 17:34:22 -06:00
Drew T 428b6ec953 feat(phase-31): t6-recover gate — +1 fns x0 propagated (fleet 95.3%) 2026-08-14 17:33:13 -06:00
Drew T 6d5e7d6758 feat(phase-31): t6-recover gate — +1 fns x0 propagated (fleet 95.3%) 2026-08-14 17:32:03 -06:00
Drew T f092ddf1d5 feat(phase-31): worker gate — +2 fns x0 propagated (fleet 95.3%) 2026-08-14 17:15:05 -06:00
Drew T 2d2eafcee2 feat(phase-31): worker gate — +1 fns x0 propagated (fleet 95.3%) 2026-08-14 17:07:20 -06:00
Drew T efc8c0d253 feat(phase-31): worker gate — +1 fns x0 propagated (fleet 95.3%) 2026-08-14 17:06:12 -06:00
Drew T d6ade08f3a feat(phase-31 T0): pivot log + instrument freshness + hygiene
- decision-log: the P31 re-charter entry (organize-before-grind; R37/R38/R39
  ratified at gate-1) per R31
- harvest_verify.py: import guard — a bare import now RAISES loud instead of
  running a full gate (CLI unchanged, verified both directions)
- sig-resident: bootstrap boundary artifacts fixed (fused +0 data word with
  func_800CEDFC; func_800D33E0 dropped past a glued tail) -> ELF-seeded per the
  S45 pattern, exactly 145 fns; true denominator confirmed 145 (progress was
  right); audit-corpus 0 PHANTOM + 0 TRUNCATED; all three oracles agree
- family maps regenerated at HEAD commit:2161: 11,025 open non-main members
  reconciles EXACTLY with 12,059 - main 1,034 (102 stale phantoms cleared);
  adapt cards 704, aprop cards 204 (full emission)
- main fuel-gap finding: 2,001/2,002 main stubs already have cached Ghidra-C
  (only func_80049600 missing) — the roadmap '0/2,096' note was stale
- tools-health OK (dedup 2,063/0; C1 254,521/254,521; audit-digest green)
2026-08-14 16:40:43 -06:00
Drew T d6b38245e5 chore(phase-30): CLOSE — overlays at their measured ceiling (95.3% instr / 90.0% distinct / 96.68% fn, 213/213)
- PhaseEnd_Phase30.md written; CURRENT_PHASE.md archived to phase-ends/logs/Phase30.md (R19)
- 25 sessions (S26-S50), 947 commits, stubs 28,296 -> 12,059, dedup 2,061/0
- milestone met on both clauses: >=95% instr AND every remaining stub on a named ledger
- v1.28.0 -> v1.29.0
2026-08-14 15:18:00 -06:00
Drew T 1c631ff39f feat(phase-30 S50-Max): the gcc-read audit — +52 banked, R22 213/213 (S50 FINAL v2 checkpoint)
The §172a/§172b tells + repaired instruments swept over all 892 open near-misses:
- 33/95 stored drafts re-verified MATCH and banked through the whole-binary gate
  (aprop_symfix caught 40/108 carrying stale seed symbols before gating — §171 at scale)
- 19/20 hand/mech fixes banked: four pure lhu<->lh s16 flips; the lhu+sltiu->lh+slti
  shared-global quadruplet (D_80126B5E/B66/CB0, D_80126CB0 are s16 FLEET-WIDE); one xor-eq
  rewrite; 11 per-location literal swaps (mask/threshold constants from sibling binaries)
- 1 refusal (func_8017EE78) stays as redraft fuel
Stubs 12,111 -> 12,059. Fleet 95.3% instr / 90.0% distinct / 96.68% fn-count.
Veins mapped for next waves: ~400 LEN+N drafts, 13 ambiguous-symbol, 7 multi-literal.
Audit ledger: .run/c294/audit_results.json (classifier derives from match_one's own sig).
2026-08-14 14:32:48 -06:00
Drew T 40ee73ba75 feat(phase-30 S49): propagate func_8017E404 (adapt lane) 2026-08-14 14:27:10 -06:00
Drew T c897c4cf28 feat(decomp): worker gate — +1 fns x0 propagated (fleet 95.3%) 2026-08-14 14:23:29 -06:00
Drew T d6762b5e7d feat(decomp): worker gate — +1 fns x0 propagated (fleet 95.3%) 2026-08-14 14:22:20 -06:00
Drew T 7f15ebd3e6 feat(decomp): worker gate — +1 fns x0 propagated (fleet 95.3%) 2026-08-14 14:21:16 -06:00
Drew T f2c82650d9 feat(decomp): worker gate — +1 fns x0 propagated (fleet 95.3%) 2026-08-14 14:19:05 -06:00
Drew T 274459b211 feat(decomp): worker gate — +1 fns x0 propagated (fleet 95.3%) 2026-08-14 14:18:11 -06:00
Drew T 81ce171f3d feat(decomp): worker gate — +1 fns x0 propagated (fleet 95.3%) 2026-08-14 14:17:09 -06:00
Drew T 6f5c59f7c7 feat(decomp): worker gate — +1 fns x0 propagated (fleet 95.3%) 2026-08-14 14:16:02 -06:00
Drew T 98ba99f615 feat(decomp): worker gate — +1 fns x0 propagated (fleet 95.3%) 2026-08-14 14:14:47 -06:00
Drew T 9a4a9f08ac feat(decomp): worker gate — +1 fns x0 propagated (fleet 95.3%) 2026-08-14 14:13:36 -06:00
Drew T 2749e51d7e feat(decomp): worker gate — +1 fns x0 propagated (fleet 95.3%) 2026-08-14 14:12:27 -06:00
Drew T a9395eca42 feat(decomp): worker gate — +1 fns x0 propagated (fleet 95.3%) 2026-08-14 14:11:09 -06:00
Drew T 129d64bcd4 feat(decomp): worker gate — +1 fns x0 propagated (fleet 95.3%) 2026-08-14 14:09:48 -06:00
Drew T 63eba96a50 feat(decomp): worker gate — +1 fns x0 propagated (fleet 95.3%) 2026-08-14 14:08:39 -06:00
Drew T 38eebd85c7 feat(decomp): worker gate — +1 fns x0 propagated (fleet 95.3%) 2026-08-14 14:07:18 -06:00
Drew T 82ef8d23ec feat(decomp): worker gate — +2 fns x0 propagated (fleet 95.3%) 2026-08-14 14:06:09 -06:00
Drew T 561e985c75 feat(decomp): worker gate — +1 fns x0 propagated (fleet 95.3%) 2026-08-14 14:04:54 -06:00
Drew T 2eb37df127 feat(decomp): worker gate — +2 fns x0 propagated (fleet 95.3%) 2026-08-14 14:03:52 -06:00
Drew T bc43e1cf80 feat(decomp): worker gate — +1 fns x0 propagated (fleet 95.3%) 2026-08-14 13:44:42 -06:00
Drew T 9e80e8183e feat(decomp): worker gate — +7 fns x0 propagated (fleet 95.3%) 2026-08-14 13:37:08 -06:00
Drew T 7590d2ecf3 feat(decomp): worker gate — +1 fns x0 propagated (fleet 95.3%) 2026-08-14 13:31:33 -06:00
Drew T 7eb62a8c5c feat(decomp): worker gate — +1 fns x0 propagated (fleet 95.3%) 2026-08-14 13:30:38 -06:00
Drew T 7869945025 feat(decomp): worker gate — +1 fns x0 propagated (fleet 95.3%) 2026-08-14 13:29:42 -06:00
Drew T 6dabd41e42 feat(decomp): worker gate — +2 fns x0 propagated (fleet 95.3%) 2026-08-14 13:28:46 -06:00
Drew T 95351593e2 feat(decomp): worker gate — +1 fns x0 propagated (fleet 95.3%) 2026-08-14 13:23:53 -06:00
Drew T b5729d28aa feat(decomp): worker gate — +3 fns x0 propagated (fleet 95.3%) 2026-08-14 13:22:57 -06:00
Drew T 1cf47e8ef9 feat(decomp): worker gate — +1 fns x0 propagated (fleet 95.3%) 2026-08-14 13:19:58 -06:00
Drew T ca1c64f282 feat(decomp): worker gate — +4 fns x0 propagated (fleet 95.3%) 2026-08-14 13:18:49 -06:00
Drew T 52898e3ff2 feat(decomp): worker gate — +2 fns x0 propagated (fleet 95.3%) 2026-08-14 13:17:41 -06:00