Commit Graph

2599 Commits

Author SHA1 Message Date
Drew T a13fd38ee1 feat(decomp): ox wave an overlays — 421 banked
Committed before the main batch: gate_main reverts on failure and would take these with it.
2026-08-23 23:05:05 -06:00
Drew T 7d4ab202b7 chore(decomp): commit in-tree banked work before the next gate
Uncommitted src/ changes found at gate entry. These are banked functions from a lane that gates with commit=False, not residue — preserved, not reverted.
2026-08-23 22:52:37 -06:00
Drew T 9adeed39f6 chore(decomp): commit in-tree banked work before the next gate
Uncommitted src/ changes found at gate entry. These are banked functions from a lane that gates with commit=False, not residue — preserved, not reverted.
2026-08-23 14:10:25 -06:00
Drew T 8fe3918682 feat(decomp): ox wave aj overlays — 61 banked
Committed before the main batch: gate_main reverts on failure and would take these with it.
2026-08-23 13:45:26 -06:00
Drew T e7ebb1cd45 docs+rules(S58): R42 commit-banked-work-immediately, R43 refuse-unsupported-input
R42: gate_main reverted 61 byte-proven overlay banks it could not distinguish from its own
substitution (sweep_parallel gates commit=False by design). Fixed by committing overlay banks
before the main batch, chunking main at 8 to bound bisect cost, and replacing every blind
'git checkout -- src/ config/' with commit-or-refuse in ox_campaign and idiom_serial.

R43: sweep_parallel had an explicit branch admitting main, which cannot be gated incrementally
— wave ab banked 0/105 main cards while its non-main cards banked 94/115 (82%), and the wave
read as a drafting failure. sweep_parallel now refuses main and names gate_main.py.

Also: validate_targets now prefers the card's own addr field (named symbols like SYS_OBJ_F00
were MALFORMED and discarded whole 220-card waves); ox_campaign deals model lanes by
smallest-ratio scheduling (a 73-card wave had put 73 shards on ox and 0 on deepseek);
docs/accelerators.md gains the four vacuous-check defects.
2026-08-23 12:59:59 -06:00
Drew T 7274e0026c docs(cookbook): §207-§232 — 26 sections harvested from waves ab..ag
278 novel-idiom candidates extracted by tools/idiom_harvest.py from 1,004 drafting notes,
restricted to functions the WHOLE-BINARY BYTE-GATE banked (banked-ness derived from
corpus.stubs, not from match_one, whose relocation masking would admit lessons drawn from
functions we never actually reproduced).

26 new sections (§207 is the harvest header + discard ledger, §208-§232 the laws), 6 folded
as addenda to existing sections (§30, §194-B, §176-B, §165-40, §164-63, §193-A/§194-E).
~200 candidates discarded or merged — 103 of them self-reported 'nothing the cookbook did
not already cover', which is the knowledge base doing its job.

§209 CORRECTS existing guidance: §194-B's 'needs >=2 sh stores' bound is byte-wrong
(func_801A8738 has one sb and still needs the s16 declaration). Insertions only; the
existing file is byte-identical by prefix md5.
2026-08-23 10:52:33 -06:00
Drew T af016a6604 feat(decomp): ox wave ah — 64 banked\n\nCard-fuelled ox drafts, reloc_identity pre-filtered, gated via sweep_parallel.\nfunc_8017DD24 func_8017F9FC func_8017EAB0 func_80180518 func_80180818 func_80180958 func_8017EA2C func_8017F444 func_8017F600 func_8017DDF8 func_8017E014 func_8017E524 func_8017EB2C func_8017EDAC func_80180650 func_801845EC func_801874BC func_8017D3BC func_8017D68C func_8017DBD4 func_8017E438 func_8017EF48 func_800CCB78 func_800CCDC8 func_800CCFDC func_800CD708 func_8017DB6C func_8017F264 func_8017F33C func_8017F9F4 func_801804F8 func_80180828 func_80181E80 func_80181FB8 func_8017F894 func_8017E998 func_80183768 func_80185FB4 func_80188FA4 func_8017DB70 … 2026-08-23 10:50:25 -06:00
Drew T 28d1160ef9 feat(decomp): ox wave ag — 161 banked\n\nCard-fuelled ox drafts, reloc_identity pre-filtered, gated via sweep_parallel.\nfunc_8017EF88 func_8017F1A4 func_8017F590 func_8017FA2C func_8017FC50 func_8017FDB4 func_80180250 func_80180904 func_80180B44 func_80180E94 func_80181598 func_801817D8 func_801818EC func_80182360 func_80182580 func_80182958 func_80183154 func_801831B4 func_80183214 func_80183600 func_80183878 func_80183928 func_80183968 func_801844B0 func_80184B18 func_80184D34 func_80185378 func_80185D08 func_80185F38 func_80186CE4 func_80186D90 func_80186F9C func_801870B8 func_8018723C func_8017DE5C func_8017E454 func_8017E4F8 func_8017F118 func_8017F244 func_8017F748 … 2026-08-23 10:20:17 -06:00
Drew T c3d074253d feat(decomp): ox wave af — 57 banked\n\nCard-fuelled ox drafts, reloc_identity pre-filtered, gated via sweep_parallel.\nfunc_8018066C func_80180B28 func_801A6BC0 func_801A6CA8 func_801A7200 func_801A7F84 func_801A8990 func_801A900C func_801AA210 func_801AA3CC func_801AACD4 func_801ABFF8 func_801AC47C func_801ACC24 func_801AE138 func_801AE520 func_8017EEDC func_80181414 func_80182698 func_80184230 func_80184A40 func_80186D84 func_8018753C func_80187C28 func_80187D48 func_80188DC0 func_8018A878 func_8018A960 func_8018AA58 func_8017FB8C func_8017FED0 func_801809B8 func_80181760 func_8017E408 func_8017E934 func_8017F0A4 func_8017FB74 func_801804C0 func_801805AC func_8018130C … 2026-08-23 09:03:28 -06:00
Drew T 4bfb94cc8e feat(decomp): ox wave ae — 177 banked\n\nCard-fuelled ox drafts, reloc_identity pre-filtered, gated via sweep_parallel.\nfunc_8017D684 func_8017DAA8 func_8017DF5C func_8017E1D8 func_8017E400 func_8017E424 func_8017E568 func_8017E59C func_8017E5C0 func_8017ED18 func_8017EE90 func_8017EF34 func_8017FBA0 func_801800A4 func_801800F4 func_80180580 func_801805C4 func_80180730 func_80180A48 func_80180B38 func_80180C6C func_80180CE8 func_80180D5C func_80180E74 func_80180EC8 func_80180F38 func_80181280 func_80181384 func_801813A8 func_801813CC func_8018141C func_8018144C func_80181470 func_80181494 func_80181730 func_801817D0 func_80181960 func_80181AA8 func_80181B28 func_80181DFC … 2026-08-23 07:09:48 -06:00
Drew T 8629bdba75 feat(decomp): ox wave ad — 186 banked\n\nCard-fuelled ox drafts, reloc_identity pre-filtered, gated via sweep_parallel.\nfunc_8017F7E4 func_8017F8A0 func_8017FA44 func_8017FADC func_8017FDC0 func_801802B8 func_80181374 func_801830B0 func_801843D8 func_801843FC func_80184E3C func_80185028 func_8018509C func_8018558C func_80185D34 func_80186838 func_80186A88 func_80186B0C func_80186C98 func_80186E60 func_80186F04 func_801871EC func_80187688 func_80187860 func_801878A8 func_80187954 func_80187EEC func_80188034 func_801880AC func_801883E4 func_8018854C func_8018870C func_80188950 func_80188BEC func_80188CAC func_80188D14 func_80188EC0 func_8018A800 func_8018AB7C func_8018ABC4 … 2026-08-23 05:47:07 -06:00
Drew T b5724e07e2 feat(decomp): ox wave ac — 170 banked\n\nCard-fuelled ox drafts, reloc_identity pre-filtered, gated via sweep_parallel.\nfunc_801A03A4 func_801A0C58 func_801A108C func_801A115C func_801A2330 func_801A2364 func_801A2C88 func_801A3A6C func_801A3B08 func_801A3EEC func_801A3F10 func_801A4328 func_801A43EC func_801A445C func_801A46B8 func_801A46D4 func_801A46F0 func_801A4A18 func_801A4FDC func_801A5654 func_801A5798 func_801A5CE8 func_801A6330 func_801A6428 func_801A64DC func_801A6560 func_801A6DF4 func_801A6E78 func_801A6F3C func_801A70D0 func_801A7808 func_801A7864 func_801A7AF8 func_801A7C34 func_801A7C58 func_801A7CDC func_801A7D18 func_801A8494 func_801A8528 func_801A86F8 … 2026-08-23 05:43:33 -06:00
Drew T a572979857 feat(decomp): ox wave ab — 94 banked\n\nCard-fuelled ox drafts, reloc_identity pre-filtered, gated via sweep_parallel.\nfunc_80181F04 func_80181F70 func_80181FA8 func_801821C8 func_801827A8 func_80182810 func_80182E04 func_80182F78 func_80182FAC func_8018300C func_80183174 func_801831A4 func_801834C8 func_80183C7C func_801840E8 func_801844D4 func_80184C20 func_80184CA4 func_80184E30 func_801853CC func_8018548C func_80185D6C func_80185D84 func_80185E54 func_801860F4 func_80186144 func_80186C70 func_80186CA8 func_80186D74 func_801871E4 func_80187348 func_80187508 func_801876B0 func_801877FC func_80187A8C func_80187B0C func_80187C14 func_80187D0C func_80187D4C func_80187DCC … 2026-08-23 05:39:57 -06:00
Drew T 5d8d497c48 feat(decomp): free A-prop remap lane — 390 banked, zero model tokens
aprop_autodraft over regenerated A-prop cards (582 mechanical drafts), reloc_identity
pre-filter (509/582 AGREE), sweep_parallel gate across 107 binaries in 54m35s.
Result: 390 banked of 511 gated (76.3%).

This lane was invisible until the atlas KeyError fix earlier this session: member_lever
emitted the confidence value 'aprop-pure' that _CONF_RANK never contained, so atlas.py
died on the first group carrying such a vote and could not produce an atlas at all.
With it fixed the remap lever shows 235 groups / 812 instances / 46,240 instructions.
2026-08-23 02:27:15 -06:00
Drew T 4253fbe973 feat(decomp): S58 fueled batch-10 — 9 banked via sweep_parallel (7 binaries, 53s)
DeepSeek card-fueled drafts from .run/bakeoff/ds-fuel{A,B}. reloc_identity AGREE 10/10
pre-gate; whole-binary gate banked 9/10 (func_8017F468 @ ov_SC02_021 held back).
Parallel gate farm (tools/sweep_parallel.py -j 8) instead of the serial gate_lane:
7 binaries in 53s vs ~25min for the 19-binary serial sub-50 run.
2026-08-23 00:55:54 -06:00
Drew T ad19417f50 feat(decomp): worker gate — +1 fns x0 propagated (fleet 96.1%) 2026-08-23 00:47:46 -06:00
Drew T 1a4ac3583c feat(decomp): worker gate — +1 fns x0 propagated (fleet 96.1%) 2026-08-23 00:46:50 -06:00
Drew T bc3c8a9815 feat(decomp): worker gate — +1 fns x0 propagated (fleet 96.1%) 2026-08-23 00:45:54 -06:00
Drew T 47f43517b0 feat(decomp): worker gate — +1 fns x0 propagated (fleet 96.1%) 2026-08-23 00:43:53 -06:00
Drew T 17f94772a4 feat(decomp): worker gate — +1 fns x0 propagated (fleet 96.1%) 2026-08-23 00:42:56 -06:00
Drew T 1001fb7b04 feat(decomp): worker gate — +1 fns x0 propagated (fleet 96.1%) 2026-08-23 00:39:47 -06:00
Drew T 2dd65beae3 feat(decomp): worker gate — +1 fns x0 propagated (fleet 96.1%) 2026-08-23 00:38:43 -06:00
Drew T ac32a6c148 feat(decomp): worker gate — +1 fns x0 propagated (fleet 96.1%) 2026-08-23 00:37:45 -06:00
Drew T 3f145c652f feat(decomp): worker gate — +1 fns x0 propagated (fleet 96.1%) 2026-08-23 00:35:44 -06:00
Drew T 6dce52f411 feat(decomp): worker gate — +1 fns x0 propagated (fleet 96.1%) 2026-08-23 00:33:40 -06:00
Drew T e85896b5f9 feat(decomp): worker gate — +1 fns x0 propagated (fleet 96.1%) 2026-08-23 00:32:42 -06:00
Drew T 4f95a4cc4c feat(decomp): worker gate — +1 fns x0 propagated (fleet 96.1%) 2026-08-23 00:31:37 -06:00
Drew T f9b0e8c3a7 feat(decomp): worker gate — +1 fns x0 propagated (fleet 96.1%) 2026-08-23 00:30:23 -06:00
Drew T e0d688cabb feat(decomp): worker gate — +1 fns x0 propagated (fleet 96.1%) 2026-08-23 00:29:07 -06:00
Drew T 6d6984dd81 feat(decomp): worker gate — +1 fns x0 propagated (fleet 96.1%) 2026-08-23 00:26:22 -06:00
Drew T 35503ce013 feat(decomp): worker gate — +1 fns x0 propagated (fleet 96.1%) 2026-08-23 00:25:12 -06:00
Drew T 7c559ce237 feat(decomp): worker gate — +1 fns x0 propagated (fleet 96.1%) 2026-08-23 00:23:59 -06:00
Drew T daa9b8f672 feat(decomp): worker gate — +1 fns x0 propagated (fleet 96.1%) 2026-08-23 00:22:53 -06:00
Drew T d97f1c28c5 chore(phase-31): R40 + R41 ACCEPTED by Drew — binding from 2026-08-23 2026-08-23 00:15:52 -06:00
Drew T 73b253240b chore(phase-31): stamp S57 checkpoint HEAD 2026-08-23 00:12:16 -06:00
Drew T cb65a62cad feat(phase-31): S57 external-model bake-off — 4 tool fixes, §205/§206, api_agent harness
An external-model bake-off, not a banking session. Nothing was banked; that is
the next session's first task.

FINDINGS
  - CARD FUEL is the biggest lever, bigger than model choice: the same 10 cards
    went 4/10 -> 9/10 when seed_ref/tu_ref/decl_prior were injected. The
    "60-instruction ceiling" was an artifact of withholding fuel.
  - Sub-50 is near-free: 19/19 verified MATCH at $0.007/function, blind.
    7,724 sub-50 open functions = 73.5% of the remaining set.
  - A free model (stealth/ox-alpha) cracked a 611-ins function and a jtbl
    exemplar, and distilled §206 — whose two negative results were
    independently byte-confirmed before banking.
  - §206 transfers WITHIN a family (40 turns -> 11) but NOT across (56 turns,
    0 compiles). jtbl costs ~40 turns of learning per family, not per class.

TOOL FIXES (all negative-controlled)
  - family_remap.gather_externs: took the first ALPHABETICAL extern across the
    overlay's TUs, carrying two types swapped (sh/lh vs lbu/sb). Now prefers
    the extracted unit's own file. Blocked a 4-member/2,444-ins family.
  - atlas.member_lever: aprop_card was loaded and never read while a bare
    ledger DIFF forced needs-autopsy. PURE now outranks it — rescues 32
    members / 11 families / 3,810 ins.
  - decl_prior._ASM_SYM: the %hi/%lo arm had never fired (0 of 1,210 over four
    waves). jal 306->306 zero regressions, data 0->299.
  - api_agent.py (new): --cards, --brief, --max-cost, nudge loop, 429
    attribution + backoff, transport retry, non-fatal tool faults, and a
    repeated-call guard.

RULES PROPOSED: R40 (exonerate the instrument before attributing a failure to
its subject — seven instances this session) and R41 (a cost/rate/yield number
ships with its denominator — I quoted $0.30 against a $6.31 bill).
2026-08-23 00:12:07 -06:00
Drew T 2c4637450b chore(phase-31): S56 checkpoint — 127 banked, wave AA built and staged (not launched)
Wave AA: 69 cards / 6,539 ins / 8 gate groups, 33 siblings, snapshotted 69/69.
All 69 passed the S46 validity gate pre-draft — the first wave drawn through it
since it was wired into build_wave_atlas, and the honest population negative
control for that gate (zero false refusals; a poisoned card is refused
OUT-OF-RANGE).

decl_prior now contributes 165 DATA rows to the cards (0 on every prior wave,
the §204-E fix). The 49 uncopyable pointer-to-function spellings are marked
`fleet_note` rather than dropped: the consensus is real information, the
rendering is not valid C. NOT fixed at the source — gate_main.typesig is the
banking driver's conflict oracle, so the safe fix is a display-only
pretty-printer in decl_prior, and no index rebuild is needed since the tuple is
what the index stores.
2026-08-18 15:44:55 -06:00
Drew T e9ac4db9ba fix(phase-31): wire the S56 findings into the tools, SETUP.md and memory
Audit after "did you update tooling for those findings" found three gaps
beyond the four committed fixes:

  - R21: docs/SETUP.md had no record of any of it. Adds the "four flow traps"
    table — each trap, its measured cost, and where it is now caught.
  - family_sweep --only had no coverage assertion, so the 3-vs-50 mis-scope
    could recur silently. It now resolves member addrs to their family, always
    prints the coverage line, and refuses when it resolves to zero families.
  - pregate_check modelled the banking driver's typedef strip but never checked
    the consequence. Adds [DROP-RISK] §203 USE-BEFORE-TYPEDEF. R39 NC: flags
    the known-bad splice, 0 false positives on the post-hoist file and all 7
    other wave-Z TUs (first draft read a typedef named in its own comment).

Also corrects §203 and the phase log: the text that banked was the RENAMED
variant, because gate_stage's backlog.save_draft() overwrote the original on
the failed attempt. Bytes are correct (R22 213/213); the claim "draft
byte-unchanged" was not.
2026-08-18 15:32:32 -06:00
Drew T 34b8f772b4 feat(phase-31): wave Z closed — 127 banked, R22 213/213, fleet 96.1/91.8/97.11
Wave Z: 74/75 MATCH, 72 banked first gate, 2 recovered for zero agent tokens
(§203 address-order typedef hoist; §202 alias on a DEFINITION for the §183.3
DEF-side return wall). Sibling sweep re-scoped after --only was keyed on the
atlas gid rather than family_hseq's exemplar: 3 -> 50 banked.

Harvest: 82 gap reports -> 5 laws, 16 rejected, 30 already-covered; the
adversarial verifier killed 7 of 12 claims. §204 written (510 lines).

Tooling, all negative-controlled:
  - the S46 validity gate was off the path for waves T-Z; wired into
    build_wave_atlas where cards are born, with the PRE-DRAFT-ONLY constraint
    documented (it condemns banked work if run later)
  - wave_snapshot honors the card's `sub` (9/9 legacy byte-identical, 66/66
    split-TU recovered)
  - §204-E: decl_prior's %hi/%lo arm had never fired (jal 306->306 zero
    regressions, data 0->299)
2026-08-18 15:25:49 -06:00
Drew T 87e8565bc6 feat(phase-26): h_seq family sweep — 50 member-matches banked via remap_hseq 2026-08-18 14:58:40 -06:00
Drew T 9cd4eb0071 feat(phase-26): h_seq family sweep — 3 member-matches banked via remap_hseq 2026-08-18 14:54:54 -06:00
Drew T 18b0eb40a8 feat(decomp): worker gate — +1 fns x0 propagated (fleet 96.1%) 2026-08-18 14:52:44 -06:00
Drew T fd7d26e3ce feat(decomp): worker gate — +1 fns x0 propagated (fleet 96.1%) 2026-08-18 14:51:10 -06:00
Drew T cd3d38782e feat(decomp): propagate func_80184460 (gate lane) 2026-08-18 14:32:26 -06:00
Drew T e4d1b95781 feat(decomp): propagate func_80180D38 (gate lane) 2026-08-18 14:31:28 -06:00
Drew T a26481b7f6 feat(decomp): worker gate — +1 fns x0 propagated (fleet 96.1%) 2026-08-18 14:27:28 -06:00
Drew T cef2ec358e feat(decomp): worker gate — +10 fns x0 propagated (fleet 96.1%) 2026-08-18 14:26:29 -06:00
Drew T 215e6251d7 feat(decomp): worker gate — +8 fns x0 propagated (fleet 96.1%) 2026-08-18 14:25:29 -06:00
Drew T b86c2a3c14 feat(decomp): worker gate — +10 fns x0 propagated (fleet 96.1%) 2026-08-18 14:24:29 -06:00
Drew T 6b8681f039 feat(decomp): worker gate — +19 fns x0 propagated (fleet 96.1%) 2026-08-18 14:23:31 -06:00