Commit Graph

2166 Commits

Author SHA1 Message Date
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
Drew T f54d3d5a5c feat(decomp): worker gate — +1 fns x0 propagated (fleet 95.3%) 2026-08-14 13:16:42 -06:00
Drew T c8628967f7 feat(decomp): worker gate — +2 fns x0 propagated (fleet 95.3%) 2026-08-14 13:09:02 -06:00
Drew T fc33766950 feat(decomp): worker gate — +6 fns x0 propagated (fleet 95.3%) 2026-08-14 13:00:07 -06:00
Drew T fe1a0730e1 docs(phase-30 S50-Max): §172b — three more tells banked from the gcc read (sll/sra-16 register-promotion tell; swapped-arm select tell; ?: accumulator-order tell; div sign-correction reuse) 2026-08-14 12:44:25 -06:00
Drew T 4fbe768798 docs(phase-30 S50-Max): func_8017C294 — the ordered Max finish: five new axes opened, all byte-refuted; §172 rewritten v2 + §172a tells (the idiom deliverable)
The crack was NOT achieved; the wall is now mechanism-complete instead of inferred:

- caller-save.c setup_save_areas DISCOVERED as a second never-referenced-slot producer:
  eager 4-byte areas per call-clobbered hard reg carrying a call-crossing pseudo at ANY
  reload iteration (-fcaller-saves is on at -O2), emitted code or not.
- Alignment math corrected: alter_reg slots 8B (align -1), save areas 4B (align 0).
- The whole-binary gate run on v_best/v_dialfree for the FIRST time: both rejected —
  the standalone NEAR-2/NEAR-25 verdicts are faithful, no TU-state leak.
- 200-variant randomized structural sweep: swapped-arm recomputes are the ONE dimension
  that moves vars upward (cse does not merge the swapped select) at ~1:1 real-code cost;
  four coincidental vars=256 hits, all heavy-drift.
- Proof: cross-jump cannot delete slot-bearing code (identical-offset requirement) —
  the last no-residue mechanism branch closed by argument, not probe.
- Inline forms collapse the chain 246->209 ins: the bytes REQUIRE textual macro repeats.
- cc1 flag axis (-fforce-addr/-fno-force-mem/-fno-caller-saves/-fno-schedule-insns):
  vars=224 invariant.

Idioms delivered (Drew's second ask): §172 v2 (complete frame-residue model: producers,
alignment, orphan rule, the three-layer canonicalization wall with its honest bound) +
§172a (the lhu/lh typing tell: movhi=lhu copy vs extendhisi2=lh promotion, the double-load
signature; the macro-vs-inline tell: re-evaluated compares in arms = textually repeating
macros, load-bearing redundancy). The 0x801F1CD8/0x8017D290 family idioms were §171a/b.

Floor stays NEAR 2/246. Parked for P32 with the siege kit: tools/cc1_dumps.sh, the §172-v2
model, sweep_gen.py, the swaprepeat lead. ~240 cumulative refutations, each byte-grounded.
2026-08-14 12:38:14 -06:00
Drew T d242877065 feat(phase-30 S50): func_8017C294 frame residual decoded to the instruction level (§172) — crack REFUTED across the reachable space, wall documented
- tools/cc1_dumps.sh: run the pinned cc1 with -dr/-ds/-dj/-dc/-dl/-dg and count standalone
  (use (reg)) insns in the .combine dump — each is one 8-byte never-referenced reload slot.
  The NEAR-2 residual = 12 such orphans vs the target's 16, now ENUMERATED pseudo-by-pseudo
  instead of inferred from ablations.
- The orphan mechanism, exact (combine.c:10835 + mips.md force_not_mem): every short-mem read
  is a movhi+shift-pair triple; the fold orphans its ashift temp iff the HI reg carries an
  extra HImode use and the death-note walk hits a label/jump. Single-use loads never orphan;
  the head can never orphan (walk reaches insn 0).
- The zero-code +4 factory is byte-refuted: 18 new probe families x 3 placements (s16
  respellings, cast truncations, <<16>>16 factories, placement sweeps, loop t/n, dossier-file
  re-sweep) all land at vars=224-same-bytes or drift. p_optr reproduces the target's exact
  16-orphan frame at +7 insns — opacity that defeats cse equally blinds num_sign_bit_copies;
  fold-const closes the tree level. Three canonicalizers, one wall.
- Dossier NOTES.md updated with the S50 ledger; backlog klass -> WALL(P32) for both names.
- NOT banked: no 0-closeness draft exists. The dial draft (NEAR 2) remains the floor.
2026-08-14 12:08:50 -06:00
Drew T e7d61e823d feat(phase-30 S50): bank the top-reach families 0x801F1CD8 (41/41) and 0x8017D290 (9/9)
Three carries a mechanical seed-body draft needs beyond the symbol rebase (cookbook §171b),
each found from one compiler verdict:

- DATA DEFINED INSIDE THE MEMBER'S OWN .s must be DEFINED, not externed — it vanishes with
  the stub it lives in. Re-initialised with THIS member's bytes (the 0x801F1CD8 family carries
  4 distinct 8-byte patterns across 42 members). Flat-byte-list initializers only; refuse the
  rest rather than mis-initialise something the gate would reject unexplainably.
- SHARED TYPES the destination cannot see: MATRIX/SVECTOR live in engine_types.h, which md_*
  TUs never include. `parse error before 'm1'` was the only thing between 4 of 9 members and a
  bank. Carried brace-matched, vetoed by the destination.
- A POSITIONAL LITERAL MAP where imm_map_tier1 gives up: it refuses a value that also appears
  at a non-differing slot (0x10 collides with the struct offsets), but the 8 differing slots
  map 1:1 onto the C's call sites in order. Asserted ([C literals] == [seed slot values])
  before substituting — that assert is the whole safety argument. 10/10 refused -> 9/9 banked.

- ROOT-CAUSE FIX: body_text matched `extern void func_X(...);` at column 0 and returned the
  NEXT function's body — silently shipping wrong seed bodies, visible only as "no definition
  after rename" skips. A definition is now confirmed by a `{` with no `;` before it.

R22 clean rebuild: check-all 213 passed, 0 failed of 213. Stubs 12,161 -> 12,111.
Fleet 95.3% instr / 90.0% distinct / 96.66% fn-count.
2026-08-14 11:23:26 -06:00
Drew T 9c16d8a8b8 feat(phase-30 S49): propagate func_801E7EC4 (adapt lane) 2026-08-14 11:16:31 -06:00
Drew T 9f188674df feat(phase-30 S49): propagate func_801E7DA0 (adapt lane) 2026-08-14 11:15:17 -06:00
Drew T 26f04b9b61 feat(phase-30 S49): propagate func_801E7ED8 (adapt lane) 2026-08-14 11:14:03 -06:00
Drew T aa1b44498e feat(phase-30 S49): propagate func_801E7DB4 (adapt lane) 2026-08-14 11:12:50 -06:00
Drew T d89958b341 feat(phase-30 S49): propagate func_8017D808 (adapt lane) 2026-08-14 11:08:47 -06:00
Drew T 6c3e63c5e9 feat(decomp): worker gate — +1 fns x0 propagated (fleet 95.3%) 2026-08-14 11:08:15 -06:00