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
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.
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.
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.
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
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
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
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
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
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
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_800525DC
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_16C
SYS_OBJ_1A70
SYS_OBJ_FD8
SetPriority
SetRGBfifo
SetRii
SquareRoot12
func_80010BB4
func_80028304
func_8002EA10
func_80047D3C
func_8005AB00
func_8005B75C
gfx2D_BG0_OBJ_1B4
gfx2D_BG0_OBJ_4A0
gteMIMefunc
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.
DrawSyncCallback
SetSZfifo3
_drs
func_80059888
func_80059D68
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_8002E818
func_8005EAA8
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_80011DA0
func_80011E84
func_800273F4
func_8002D4C8
tools/fix_tu_ret_decls.py: sweep-1's dominant residual (32 fresh near-0 rejects
— byte-correct bodies, TU-refused) is the RETURN-TYPE half of the stale-decl
wall: the TU forward-declares 'extern void f(void);' while the byte-true
definition returns s32; the gate's arity pre-pass relaxes the PARENS but not
the return. Retyping the TU's own decls to 'extern s32 f();' (byte-neutral:
every declared-void caller ignores $v0 — fix_header_decl's proven argument,
TU-scoped) banked 14 byte-identical, journaled edits kept only where the gate
paid. 12 SKIPs are void-returning defs (a different conflict, suspected
freshly-spliced (void) preambles), 4 retyped-but-refused.
The S59 scoped R22 sweep (96 binaries whose TUs instantiate the DEFINE macros
my engine_core edit touched) found ov_SC07_010 RED at HEAD: the 14:57
maintenance commit (commit:2694) banked func_8017F2BC's (s16*) definition into a
TU that still carries an earlier draft-preamble decl 'extern void
func_8017F2BC(void);' at line 4932 — conflicting types, TU uncompilable, though
the TU is byte-identical to its committed state (how that pass reported green
is an open question for the lane's arity/splice ordering). Provenance checked:
my commits touch only func_80162CCC decls; the pinned cc1 accepts the
no-proto+definition pair in isolation. Fix: the arity pass's own byte-neutral
no-proto form; whole-binary SHA re-checked green. ov_SC07_002 remains RED on a
jtbl_rodata_pads carve drift (also pre-existing, also from earlier passes) —
named in docs/tool-designs/aprop-lane-s59.md, not papered over.
Two new recovery mechanisms, both byte-proven this sweep:
6/7 rtu-second-chance: standalone COMPILE-FAILs re-judged in their REAL TU
(rtu_match) — 6 banked whole-binary; the standalone verdict was the
wrong oracle for a TU-destined draft
6/15 reloc UNRESOLVED/shape-MATCH: identity unverifiable locally, but the
whole-binary gate is the arbiter — staging them is free banks
Not banked: 5 MISMATCH?-advisory, 4 reloc-repaired (symbols now right, bytes
still differ), 2 old K&R conversions, 9 UNRESOLVED, 1 rtu (all reverted by the
gate; drafts retained in backlog).
Uncommitted src/ changes found at gate entry. These are banked functions from a lane that gates with commit=False, not residue — preserved, not reverted. Top-level src/*.c (main TUs) are excluded by construction (S59).
The population that banked 0/117 on three consecutive passes banks 38/80 with
the S59 fixes, attributed against the 21:04 baseline classes:
29 the closeness-2 ordinal cluster (value/offset swap -> candidate pairing
adjudicated by match_one at draft time)
4 the near-0 TU-integration class (K&R definitions + the arity pre-pass;
func_80162CCC x3 overlays among them — 42 engine_core.h caller decls
kept no-proto for the banked set, byte-neutral for empty calls)
5 drafts the old pipeline refused or mis-staged
Every bank is whole-binary SHA-verified by gate_stage/harvest_verify (G3/P9).
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.
ClearImage2
GsSortBg
SYS_OBJ_1578
SYS_OBJ_1790
SetGraphReverse
func_800167F0
func_8005C1C0
func_8005D8A0
func_8005E804
func_8005EA54
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.
StartRCnt
func_800145EC
func_8005E79C
func_8005EAC8
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.
VectorNormal
func_80018714
func_8001A0FC
func_80029240
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_19D8
func_8001751C
func_8005B684
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.
GetRCnt
StopRCnt
func_8005BED8
func_8005D6A0
func_8005D980
func_8005E9D4
func_8005F228
func_8005F728
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_80014094
func_8001599C
func_80015A2C
func_80016A7C
func_80017758
func_8001BFD0
func_8002AED0
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_80015978
func_800290E0
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_11C0
SYS_OBJ_210
func_80016224
func_8005C29C
Uncommitted src/ changes found at gate entry. These are banked functions from a lane that gates with commit=False, not residue — preserved, not reverted. Top-level src/*.c (main TUs) are excluded by construction (S59).
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.
GetODE
SYS_OBJ_1AA4
SYS_OBJ_604
SYS_OBJ_F00
SYS_OBJ_F24
_getctl
_status
func_80018C64
func_8001C0C8
func_80037FC4
func_8005ADB8
func_8005B710
func_8005D4B8
func_8005E1A4
func_8005EAE8
func_8005F6CC
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.
_cwb
_dws
func_8005A600