Commit Graph

2819 Commits

Author SHA1 Message Date
Drew T b5dc678a09 feat(decomp): ox wave cv overlays — 9 banked
Committed before the main batch: gate_main reverts on failure and would take these with it.
2026-08-25 08:21:29 -06:00
Drew T 352d0b6c31 feat(decomp): main lane m24ba — 2 banked
One clean whole-EXE rebuild verified the batch (gate_main), and main re-checked
BYTE-IDENTICAL against config/check.us.sha before anything was credited.

  func_80011680
  vmNoiseOn
2026-08-25 08:20:29 -06:00
Drew T ec1cf45dfa feat(decomp): main lane m24a — 1 banked
One clean whole-EXE rebuild verified the batch (gate_main), and main re-checked
BYTE-IDENTICAL against config/check.us.sha before anything was credited.

  func_80028D78
2026-08-25 08:18:46 -06:00
Drew T 3dd093741f feat(decomp): ox wave cu overlays — 47 banked
Committed before the main batch: gate_main reverts on failure and would take these with it.
2026-08-25 07:51:35 -06:00
Drew T f3501ee527 feat(decomp): main lane m23 — 3 banked
One clean whole-EXE rebuild verified the batch (gate_main), and main re-checked
BYTE-IDENTICAL against config/check.us.sha before anything was credited.

  func_800111BC
  func_80028DBC
  func_800495EC
2026-08-25 07:38:49 -06:00
Drew T c43f2266ca feat(decomp): ox wave ct overlays — 10 banked
Committed before the main batch: gate_main reverts on failure and would take these with it.
2026-08-25 07:19:33 -06:00
Drew T 5f38df2368 feat(decomp): main lane m22 — 6 banked
One clean whole-EXE rebuild verified the batch (gate_main), and main re-checked
BYTE-IDENTICAL against config/check.us.sha before anything was credited.

  DsReadyCallback
  SetIR123
  func_8001D074
  func_80028E00
  func_800538BC
  func_8005FBA8
2026-08-25 07:01:31 -06:00
Drew T 642c4b76af feat(decomp): ox wave cs overlays — 42 banked
Committed before the main batch: gate_main reverts on failure and would take these with it.
2026-08-25 06:58:41 -06:00
Drew T 0f3d638d96 feat(decomp): ox wave cr overlays — 12 banked
Committed before the main batch: gate_main reverts on failure and would take these with it.
2026-08-25 06:31:32 -06:00
Drew T 216668950c feat(decomp): ox wave cq overlays — 53 banked
Committed before the main batch: gate_main reverts on failure and would take these with it.
2026-08-25 06:12:26 -06:00
Drew T eb6048a536 feat(decomp): main lane m21 — 6 banked
One clean whole-EXE rebuild verified the batch (gate_main), and main re-checked
BYTE-IDENTICAL against config/check.us.sha before anything was credited.

  ApplyMatrix
  FGO_01_OBJ_160
  SetMAC123
  func_80010CEC
  func_80028E44
  func_80052430
2026-08-25 05:58:48 -06:00
Drew T 0cfc942cc8 feat(decomp): ox wave cp overlays — 4 banked
Committed before the main batch: gate_main reverts on failure and would take these with it.
2026-08-25 05:54:17 -06:00
Drew T 8ab6c1082f feat(decomp): ox wave cn overlays — 3 banked
Committed before the main batch: gate_main reverts on failure and would take these with it.
2026-08-25 05:35:12 -06:00
Drew T 2f65dea685 feat(decomp): main lane m20 — 8 banked
One clean whole-EXE rebuild verified the batch (gate_main), and main re-checked
BYTE-IDENTICAL against config/check.us.sha before anything was credited.

  DrawPrim
  DsDataCallback
  DsSyncCallback
  Intpl
  SpuWrite
  __do_global_dtors
  func_80013F98
  func_80028E88
2026-08-25 05:26:57 -06:00
Drew T 9b40d20aa9 feat(decomp): ox wave cl overlays — 3 banked
Committed before the main batch: gate_main reverts on failure and would take these with it.
2026-08-25 05:18:22 -06:00
Drew T c10171e8d9 feat(decomp): ox wave co overlays — 43 banked
Committed before the main batch: gate_main reverts on failure and would take these with it.
2026-08-25 05:01:27 -06:00
Drew T fd8ae5327f feat(decomp): main lane m19 — 10 banked
One clean whole-EXE rebuild verified the batch (gate_main), and main re-checked
BYTE-IDENTICAL against config/check.us.sha before anything was credited.

  DpqColorLight
  FGO_02_OBJ_160
  SsUtReverbOff
  StoreImage
  __main
  func_80013FBC
  func_80014564
  func_80028ECC
  func_8002A28C
  func_80062768
2026-08-25 04:59:44 -06:00
Drew T 29e8114b16 feat(decomp): main lane m18 — 7 banked
One clean whole-EXE rebuild verified the batch (gate_main), and main re-checked
BYTE-IDENTICAL against config/check.us.sha before anything was credited.

  func_80013FE0
  func_80016A3C
  func_80016EB0
  func_80019028
  func_80028F10
  func_8002A2B0
  func_800599B8
2026-08-25 04:31:15 -06:00
Drew T 69d2611903 feat(decomp): ox wave cm overlays — 30 banked
Committed before the main batch: gate_main reverts on failure and would take these with it.
2026-08-25 04:24:00 -06:00
Drew T 235cac48e6 feat(decomp): main lane m17 — 7 banked
One clean whole-EXE rebuild verified the batch (gate_main), and main re-checked
BYTE-IDENTICAL against config/check.us.sha before anything was credited.

  FGO_03_OBJ_160
  func_80014004
  func_80015310
  func_80016EF8
  func_800191A8
  func_80028F54
  func_8002A4D8
2026-08-25 04:04:32 -06:00
Drew T 3eb8056f22 feat(decomp): ox wave ck overlays — 69 banked
Committed before the main batch: gate_main reverts on failure and would take these with it.
2026-08-25 03:57:39 -06:00
Drew T 5c71326396 feat(decomp): main lane m16 — 13 banked
One clean whole-EXE rebuild verified the batch (gate_main), and main re-checked
BYTE-IDENTICAL against config/check.us.sha before anything was credited.

  FGO_04_OBJ_64
  _addque
  func_80013ED0
  func_80014028
  func_80017254
  func_800176F0
  func_80019A10
  func_80028F98
  func_8002A4FC
  func_800413B8
  func_8004D16C
  func_8004D1DC
  func_8005D4F0
2026-08-25 03:41:43 -06:00
Drew T d7b4fd1332 feat(decomp): ox wave cj overlays — 4 banked
Committed before the main batch: gate_main reverts on failure and would take these with it.
2026-08-25 03:20:52 -06:00
Drew T 8a5760450a feat(decomp): main lane m15 — 16 banked
One clean whole-EXE rebuild verified the batch (gate_main), and main re-checked
BYTE-IDENTICAL against config/check.us.sha before anything was credited.

  FGO_05_OBJ_64
  SYS_OBJ_1FF4
  VM_NOWON_OBJ_1C0
  func_800123F0
  func_8001404C
  func_80016ED4
  func_8001739C
  func_800178C8
  func_8001BFF8
  func_80028FDC
  func_8002A748
  func_80038308
  func_80041400
  func_8005D538
  func_8005E3AC
  func_8005EA34
2026-08-25 03:18:47 -06:00
Drew T 10dadb6c1c feat(decomp): ox wave ci overlays — 34 banked
Committed before the main batch: gate_main reverts on failure and would take these with it.
2026-08-25 02:54:38 -06:00
Drew T 5dc373deaf feat(decomp): main lane m14 — 31 banked
One clean whole-EXE rebuild verified the batch (gate_main), and main re-checked
BYTE-IDENTICAL against config/check.us.sha before anything was credited.

  func_800126C4
  func_80013E94
  func_80014070
  func_800141AC
  func_80014998
  func_80014CAC
  func_8001544C
  func_80015954
  func_800174DC
  func_80017714
  func_8001820C
  func_80018E78
  func_80018F88
  func_80018FC8
  func_80019064
  func_8001AE90
  func_8001C9D0
  func_8001CFB8
  func_8001D0F4
  func_80029020
  func_80029A58
  func_80029AAC
  func_80029E94
  func_8002A76C
  func_8002CFE4
  func_8002D858
  func_8002E5F8
  func_8002EE64
  func_800361CC
  func_800374CC
  func_80038908
2026-08-25 02:40:04 -06:00
Drew T 9f228db2fc feat(decomp): free A-prop sibling lane (maintenance pass) — zero model tokens 2026-08-25 02:36:42 -06:00
Drew T 82b4cd5b55 feat(decomp): ox wave ch overlays — 88 banked
Committed before the main batch: gate_main reverts on failure and would take these with it.
2026-08-25 02:36:04 -06:00
Drew T ec8ade5692 feat(decomp): -O0 U3 — 48 banked across the x3 carve group, zero model tokens
The 16-fn -O0 cluster (0x8013B568..0x8013C964), remapped from the ov_SC01_077 exemplars
(16/16 matched there) into all three freshly carved -O0 objects:

  ov_SC02_037  16/16      ov_MAIN_012  16/16      ov_SC03_107  16/16

All three BYTE-IDENTICAL against config/check.<ov>.sha after the batch, and corpus.stubs
reports zero of the 16 addresses still open in any of them. 48 functions for zero model
tokens — the entire cost was a partitioning fix.

R14 NOTE ON THE INSTRUMENT: sweep_parallel summarised "banked=44 notbanked=4" while the
byte gate and corpus.stubs both say 48/48. The bytes win; its counter undercounts (drafts
banked in a later chunk after a bisect appear not to be credited). Worth a look before that
number is ever quoted as a rate.

Three drafts per overlay came with a gather_externs warning — a sibling callee with no
file-scope decl in ov077 (func_8013B83C, func_8013BD74). They banked anyway: C89 implicit
declaration covers a same-TU sibling whose stub sits in the same object. The gate decided,
not the warning.

With U2's 4, this closes the -O0 U2/U3 thread: 52 functions / ~6,730 instructions banked
tonight from the stranded -O0 population without drafting a line.
2026-08-25 02:19:38 -06:00
Drew T c03cd6f3a2 feat(config): -O0 U3 step 1 — carve the 16-fn cluster out of jr_801380E0 in the x3 group
ov_SC02_037, ov_MAIN_012 and ov_SC03_107 never received the P30 _o0c carve, so the 16-fn
-O0 cluster at 0x8013B568..0x8013C98C sat inside their -O2 `jr_801380E0` object. Opt level
is a property of the FILE (§116), so every remap into it was correctly rejected by the gate
— 16 functions x 3 overlays unreachable for a partitioning reason, not a matching one.

o0_subsplit at [0x8013B568, 0x8013C98C) per overlay. All three BYTE-IDENTICAL after
`make extract && make build`, which is the whole claim of a carve — it moves nothing:

  ov_SC02_037  b0c5394ae23cd5f0cbb32687f61bca669151bf5f
  ov_MAIN_012  d6b3e8b971cdd6c53aea8c4f265afb82b363283c
  ov_SC03_107  87d02b578a27a947f1da381255a1faa3f05cedfd

A LOCKING RULE THIS EARNED. ov_MAIN_012's dry run planned 5 regions around an "-O2 island"
at func_8013C0F8 [def]; the real run planned 3, and the function is an INCLUDE_ASM stub in
both HEAD and the carved tree — nothing was lost. The dry run had read a MID-GATE
SUBSTITUTION: a lane had a candidate body in that TU, the gate rejected it, and the stub
came back. o0_subsplit derives its plan from which functions are matched, so a plan derived
outside the per-binary lock can be a plan about a tree state that never existed. Derive the
plan INSIDE `.run/auto/gate.<bin>.lock`, carve under the same lock — which is what the real
runs did, and why they saw the truth.

Next: populate the 3x16 from the ov_SC01_077 exemplars (16/16 matched there), then gate.
2026-08-25 02:14:34 -06:00
Drew T bd45f1f232 feat(decomp): main lane m13 — 34 banked
One clean whole-EXE rebuild verified the batch (gate_main), and main re-checked
BYTE-IDENTICAL against config/check.us.sha before anything was credited.

  GsTMDfastG3GNL
  func_80012558
  func_800140B8
  func_80014C54
  func_80015A74
  func_80017F14
  func_80018384
  func_800183E0
  func_800191D4
  func_8001931C
  func_80019930
  func_8001BB60
  func_8001CB6C
  func_8001CF48
  func_8001D16C
  func_8001D388
  func_800243EC
  func_80028620
  func_80029124
  func_800298BC
  func_80029FE4
  func_8002AA3C
  func_8002CC4C
  func_8002D320
  func_8002D678
  func_8002E8DC
  func_8002F5C8
  func_80030470
  func_800304C8
  func_80033324
  func_80034B3C
  func_80036FB0
  func_800623A4
  gfx2D_BG0_OBJ_4D8
2026-08-25 02:08:23 -06:00
Drew T 2de4ef722a feat(decomp): -O0 U2 — the 4 SC07 whale members bank, 4/4, zero model tokens
rollout_o0 hardcoded `<ov>_o0b.c` as the whale object and listed SC07_006/007/010/011 as
OUT-OF-SCOPE. They were never out of scope structurally — the suffix letter just drifts:
_o0b across the fleet, _o0c in SC07_010, _o0d in SC07_006/007/011. The invariant that
actually identifies the object is that it ENDS at the whale and therefore includes
shared/func_80144B9C.h.

whale_file_of() resolves on that content, and refuses (never guesses) when two -O0 files in
one overlay match, or none do.

NEGATIVE CONTROL (R39) over the already-succeeding population: across all 134 overlays that
bank through the legacy `_o0b.c` path, content resolution returns EXACTLY that file — 134
agree, 0 disagree. The four SC07 overlays resolve to their _o0c/_o0d objects, and overlays
with no -O0 object at all (ov_MAIN_012, ov_SC02_037, ov_SC03_107 — the U3 carve group) are
still refused with `no-o0b`.

Result: func_801457A4 BANKED in all four, each proven by `make build BINARY=<ov>` matching
config/check.<ov>.sha. 4 functions / 316 instructions, no splat change, no drafting.

Also: build_ok() now takes `.run/auto/gate.<bin>.lock`, the same per-binary lock the gater,
sweep_parallel and the maintenance sweep take. This driver was written to be run by hand
between waves; with six lanes live, two processes in one build/<ov> tree would produce a
verdict about neither.
2026-08-25 02:06:20 -06:00
Drew T 4b7ebe7954 feat(decomp): ox wave cg overlays — 36 banked
Committed before the main batch: gate_main reverts on failure and would take these with it.
2026-08-25 01:50:53 -06:00
Drew T 6fe90cd9ba feat(decomp): main lane m12 — 7 banked
One clean whole-EXE rebuild verified the batch (gate_main), and main re-checked
BYTE-IDENTICAL against config/check.us.sha before anything was credited.

  GsTMDfastF3GNL
  GsTMDfastG4GNL
  SetSXSYfifo
  VM_NO1_OBJ_184
  func_8002F150
  func_80053AD8
  func_800626F0
2026-08-25 01:39:08 -06:00
Drew T 32eafed7b2 docs(cookbook): §274-§277 — the 18-wave distill backlog lands, 315 candidates reviewed
The ore that piled up behind a stale READY marker for 10.5 h (waves be..ce). Three Sonnet
reviewers on disjoint wave groups read all 315 harvested notes against the corpus:

  255 COVERED · 21 ADDENDUM · 3 NEW · 26 REJECT

255 already-covered is the flywheel working, not waste — §193-§273 are earlier rounds of
this same cycle, so a note restating a law we own is the corpus doing its job.

  §274  the 21 sharpenings, one block per target section (§8, §20, §82, §134, §164-51,
        §164-64, §172a, §172b-1, §172b-4, §176-F5, §179-C, §179-D, §211, §219+§1-I5,
        §224, §225, §225/§256, §226, §229, §244, §136d-1)
  §275  THE LEFTOVER-REGISTER READ — an entry block that consumes $v0/$v1 with no earlier
        write in the function is reading the CALLER's return value; reproduce with an
        unassigned `register s32 v __asm__("$2")`, and stop hunting for a dropped call
  §276  MIXED ADDRESS-EXPRESSION SPELLING as a CSE-unification dial — spell one occurrence
        of a repeated symbol as offset arithmetic on its neighbour ((&D_X)[1]) and cse
        cannot unify them; found twice, independently, on the same function
  §277  RETURN-TAIL C SPELLING picks the delay-slot-fill vs trailing-move topology

VERIFIED AT MERGE, not taken on trust (R14/G3): the leftover-register read, the CSE-defeat
spelling, the compound-rounding pair (live in ov_SC03_095), and func_801846F0's delay-slot
`addu $v0,$zero,$zero`. Two reviewer claims did NOT survive and are corrected in place:
§275's law was stated as "no call anywhere in the body" when the function has five jal's —
what makes it true is that no write to the register PRECEDES the read; and a claimed
harness defect (func_800CE004 "will not bank") is false, it has a real body at
src/md_MAIN_044/md_MAIN_044.c:443 and corpus.stubs does not list it as open.

B and C reached the same CSE lever from different waves and the §1-I5 / §219 rounding law
arrived twice on three overlays — both unified into one entry rather than duplicated.

Index regenerated: 806 sections. The lane immediately raised its next batch (cf, 34
candidates), which is the proof it is unblocked.
2026-08-25 01:17:28 -06:00
Drew T 3a7f67187c fix(agent): cookbook grep hits come back with the SECTION they live in
MEASURED across the harvested notes: 13 citations to sections that do not exist — §2329
(x5), §13446, §13474, §1914, §19189, §2392, §3478 — against a corpus that stops at §273.
Every one is a grep -n LINE NUMBER cited as a section number, and each resolves to a real
section that says what the note claimed: line 2329 is inside §28 (the stranded/pure-extern
class), 13446/13474 inside §164, 1914 inside §20 > §21.

The cost is compounding: the next agent greps "§2329", finds nothing, and re-derives a
lever we already own — and a distill reviewer scores the note "covered by §2329" as covered
by a section nobody ever wrote. Both directions of the flywheel corrupt.

Not a warning in the brief (R33): grep now returns the right answer. Every hit in
matching-cookbook.md is prefixed with its containing heading, nested where the corpus nests
(`§164 > §16Xy | docs/...:13446: ...`), so the number in front of the model is the one to
cite. Index is built once per process and cached by mtime; 555 headings resolve.

Takes effect on the next shard — api_agent is spawned fresh per draft, no restart needed.
Found by the S60 distill reviewers reading 218 harvested notes.
2026-08-25 01:09:25 -06:00
Drew T 829361dd7b feat(decomp): ox wave cf overlays — 50 banked
Committed before the main batch: gate_main reverts on failure and would take these with it.
2026-08-25 01:09:05 -06:00
Drew T 5e2c15b454 feat(decomp): main lane m11b — 19 banked
One clean whole-EXE rebuild verified the batch (gate_main), and main re-checked
BYTE-IDENTICAL against config/check.us.sha before anything was credited.

  GS_001_OBJ_5D0
  GsInitGraph2
  GsTMDfastF4GNL
  Square0
  func_800168C4
  func_80018194
  func_8001A9F8
  func_8001CA88
  func_8001F97C
  func_8001FB8C
  func_800296F8
  func_80029D3C
  func_8002E79C
  func_8002EDE4
  func_8002F1CC
  func_80036F18
  func_8003775C
  func_800385C0
  func_80062644
2026-08-25 00:59:27 -06:00
Drew T 133c1d45a9 docs(drafter): the rationale for the tail-overlap change committed inside commit:2780
The code landed in commit:2780 ("main lane m11aab — 3 banked"), not under its own message:
the main lane ran `git add -A src/ config/ && git commit` while my files sat STAGED, and a
lane commit takes whatever the shared index holds. Lesson for every future session: with
lanes running, never leave anything staged — commit with `git commit --only <paths>`, which
builds its own temporary index, or stage and commit in one atomic command.

WHAT commit:2780 ACTUALLY CONTAINS, beyond its 3 banked functions:

perf(drafter): overlap a wave's straggler tail with the next wave instead of blocking on it.
Measured four waves for four: once 95% of shards exit, collect_drafts() blocked through the
whole STRAGGLER_GRACE before the wave queued and the next one started — 11m40s each time
(cd 22:32->22:43, cc 23:06->23:18, ce 23:53->00:04, cf 00:37->00:48) at 4-13 live agents of
a 2,000-worker fleet. Against a ~44-minute wave cycle that is 27% of the campaign's wall
clock at 2-5% utilisation; the API rate fell from ~65 req/min to 2-5 in every trough, while
the API's own throttle knee — measured over 160,534 requests — is 150-250 req/min.

The 700s grace is correct and unchanged: a straggler mid-generation needs one full turn, and
a shorter grace guillotines agents mid-thought and costs drafts (S59, the 8k->16k
regression). What was wrong is BLOCKING on it. wait_for_tail() now returns the moment 95% of
shards are done and finish_wave_async() waits out the stragglers in a thread, then collects
and queues the wave; the tail overlaps the next wave's draw and ramp. Nothing in the thread
touches src/, config/ or a lock.

Tested: returns in 0.0s at 95% with the tail alive; NEGATIVE CONTROL (R39) — blocked at 75%,
released only at the real threshold; the marker is written only after the tail lands, with
the true draft count.
2026-08-25 00:56:29 -06:00
Drew T 89373beb95 feat(decomp): main lane m11ab — 10 banked
One clean whole-EXE rebuild verified the batch (gate_main), and main re-checked
BYTE-IDENTICAL against config/check.us.sha before anything was credited.

  FGO_06_OBJ_64
  LightColor
  OuterProduct0
  VM_NO1_OBJ_1F4
  VM_NO1_OBJ_264
  VM_NO1_OBJ_28C
  VM_NO1_OBJ_4A4
  func_80010AE0
  func_800144D4
  start
2026-08-25 00:55:56 -06:00
Drew T 80800911fd feat(decomp): main lane m11aab — 3 banked
One clean whole-EXE rebuild verified the batch (gate_main), and main re-checked
BYTE-IDENTICAL against config/check.us.sha before anything was credited.

  SYS_OBJ_2DD8
  _clr
  func_8005EA68
2026-08-25 00:55:41 -06:00
Drew T 1525ed87f6 feat(decomp): main lane m11aaaa — 1 banked
One clean whole-EXE rebuild verified the batch (gate_main), and main re-checked
BYTE-IDENTICAL against config/check.us.sha before anything was credited.

  func_80027058
2026-08-25 00:52:46 -06:00
Drew T e76a55abdf fix(distill): a stale READY marker no longer blocks the lane forever
A marker is a CLAIM on work, not a record of it. axbm.json sat in .run/distill_ready
for 10.5 hours AFTER its waves were distilled into cookbook §269 — the reviewer landed
the sections, updated the mined state, and never removed the marker — and distill_scan's
one-pending-marker-at-a-time rule (correct, it stopped eight overlapping batches) then
refused to raise anything while 18 waves / 315 novel candidates accumulated behind it.

The marker's own waves are checkable against the mined state, so check them: a marker
whose every wave is already mined clears itself and says so. Negative control (R39): a
marker naming any still-unmined wave survives untouched.

Same family as R47 — a stage that consumes work must also consume the token that
represents it.
2026-08-25 00:49:24 -06:00
Drew T 75bfb04226 fix(maintenance): restore the S59 lane logic a stale second copy had reverted
.run/maintenance.sh (what runs) and tools/lanes/maintenance.sh (a pre-S59 copy) had
diverged. The 150->50 threshold tune landed on the stale copy and was then copied over
the live one, silently reverting five S59 fixes:

* the R47 shape filter (staging fell back to status=='AGREE' alone — the exact defect
  that staged 82 hopeless drafts every 45 minutes)
* the R48 (binary, fn) keying (bare-fn keys collide across overlays)
* reloc --fix MISMATCH auto-repair (measured 4/4 repaired to AGREE)
* rtu_second_chance (re-judges standalone COMPILE-FAILs against the real TU)
* fix_tu_ret_decls (the return-type half of the stale-decl wall)

Rebuilt from the S59 lineage with the 150->50 threshold and the periodic fleet R22
re-applied, both paths now byte-identical, `bash -n` clean, and the two-path hazard
documented in the header so the next edit cannot repeat it.

Also: relaunch_drafter_shell.sh 30s -> 5s ready-marker poll; regenerated backlog and
fleet progress artifacts.
2026-08-25 00:35:27 -06:00
Drew T 5bd66c7b5b feat(decomp): free A-prop sibling lane (maintenance pass) — zero model tokens 2026-08-25 00:32:56 -06:00
Drew T 9696f8fb14 docs(phase-31): S59 FINAL checkpoint — six harness defects, six lanes, and the rules they earned
1,342 banked, 140 commits, open stubs 6,575 (main 1,493 / overlay-md 5,082).

The session's one lesson, measured six times: every lane that looked like the models
underperforming was a harness defect — an -O0 oracle nothing ever passed, a lane
retired on a card-size verdict, carve machinery nothing fed, a poisoned main baseline
that made 737 drafts read as bad, a soft 429 killing 44-72% of shards at turn 1, and a
stager consuming one bit of one verdict.

Records what landed (jtbl island split + gate automation, the -O0 census and unlock,
the new main and distill lanes, two RED binaries fixed, the throughput settings with
their probe evidence, the portable-workflow doc), seven rule candidates for PhaseEnd
approval, the ranked open threads with the A-prop residual named and sized, and a
resume procedure that starts from campaign_status.py and verifies from the process
rather than the file.
2026-08-25 00:25:46 -06:00
Drew T 619f4dfaee tune(maintenance): trigger threshold 150 -> 50 banked (Drew)
150 was tuned for a lane that only re-swept an unchanged sibling pool and banked
nothing. The lane now consumes every verdict layer in the A-prop pipeline, carries the
free pre-gate reject recovery, and runs the periodic fleet R22 — a pass is worth
running on a much smaller refill.
2026-08-25 00:21:16 -06:00
Drew T 845df54ca1 feat(decomp): main lane m10b — 19 banked
One clean whole-EXE rebuild verified the batch (gate_main), and main re-checked
BYTE-IDENTICAL against config/check.us.sha before anything was credited.

  AverageZ3
  DpqColor3
  InvSquareRoot
  MatrixNormal
  OuterProduct12
  Square12
  VM_NOWON_OBJ_2A0
  VM_NOWON_OBJ_44C
  VectorNormalSS
  func_80013478
  func_8001C044
  func_80047EC8
  func_80049440
  func_80062434
  func_8006252C
  func_800625DC
  gfx2D_BG0_OBJ_658
  gfx2D_BG0_OBJ_698
  gfx2D_BG1_OBJ_648
2026-08-25 00:18:52 -06:00
Drew T 86c6d04092 feat(decomp): main lane m10ab — 10 banked
One clean whole-EXE rebuild verified the batch (gate_main), and main re-checked
BYTE-IDENTICAL against config/check.us.sha before anything was credited.

  SYS_OBJ_11C
  SYS_OBJ_19A4
  SYS_OBJ_222C
  SYS_OBJ_2CC4
  SYS_OBJ_640
  SetDrawOffset
  VM_NOWON_OBJ_230
  VM_NOWON_OBJ_2C8
  func_80028488
  func_80041354
2026-08-25 00:15:40 -06:00
Drew T a3e1430551 feat(decomp): main lane m10aabb — 2 banked
One clean whole-EXE rebuild verified the batch (gate_main), and main re-checked
BYTE-IDENTICAL against config/check.us.sha before anything was credited.

  func_8002EB10
  func_8005EA88
2026-08-25 00:15:26 -06:00