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.
5.7 KiB
BFM matching progress (generated by tools/progress.py — authoritative)
REAL substantive matches : 329 <- the Gen1-exit >=25 bar counts THIS (of which dedup-shared : 2 one body -> N sites, config/dedup.us.yaml) LINKED real PsyQ objects : 959 <- byte-identical via linked SDK objects NON_MATCHING (near-miss) : 4 splat-auto empty no-ops : 42 INCLUDE_ASM stubs : 748 data blobs (excluded) : 2
matchable functions : 2082 REAL / matchable : 329 / 2082 = 15.80% byte-identical/ matchable: 1330 / 2082 = 63.88% (REAL+LINKED+empties)
LINKED subsegs: apicard1 apicard2 apicard3 apicard4 libc2_1 libc2_2 libcd1 libcd2 libetc libgpu libgs1 libgs2 libgs3 libgs4 libgs5 libgs6 libgte1 libgte10 libgte11 libgte12 libgte13 libgte14 libgte15 libgte16 libgte17 libgte18 libgte19 libgte2 libgte20 libgte21 libgte22 libgte3 libgte4 libgte5 libgte6 libgte7 libgte8 libgte9 libmcrd1 libmcrd2 snd1 snd2 snd3 snd4 snd5 snd6 snd7 snd8 snd9 (959 fns) REAL matches: CdQueueBusy CdReadRequest ClearOTag DebugMenuHandler GameModeDispatch GsTMDfastF3GL GsTMDfastF4GL GsTMDfastG3GL GsTMDfastG4GL LoaderResetReadState LzssDecodeSector MoveImage ResourceGetCdLoc SetGraphQueue SetRCnt func_8001099C func_80010F80 func_800128B4 func_800129CC func_80012AB0 func_80013200 func_80013228 func_80013294 func_800132BC func_80013328 func_80013350 func_800133BC func_800133E4 func_80013450 func_80013F3C func_80013F68 func_80014168 func_800141F0 func_800142C8 func_80014338 func_800143AC func_80014444 func_80014774 func_800147B8 func_80014928 func_80014960 func_800149E0 func_80014B10 func_80014BFC func_80014C28 func_80014CF8 func_80014D30 func_80014D68 func_80014D94 func_80014DC0 func_80014DEC func_80014E24 func_80014E80 func_80014ED4 func_80015018 func_80015144 func_80015208 func_800153A4 func_80015424 func_80015498 func_80015D4C func_80015F04 func_80016110 func_80016450 func_80016638 func_800166E8 func_800167B8 func_800168B4 func_80016940 func_80016B60 func_80016C28 func_80016D78 func_80016F18 func_80017294 func_800173DC func_80017778 func_80017930 func_80017B98 func_80017D98 func_80017DF8 func_80017E30 func_80018094 func_800184F0 func_80018A20 func_80018CE8 func_80018F20 func_80019018 func_8001903C func_800190AC func_80019198 func_8001923C func_80019378 func_80019388 func_80019398 func_800193A8 func_800193B8 func_8001AA78 func_8001AA88 func_8001AAA0 func_8001ABBC func_8001ACF0 func_8001AF04 func_8001B22C func_8001B23C func_8001B26C func_8001B324 func_8001B34C func_8001B374 func_8001B384 func_8001B394 func_8001B7C4 func_8001B85C func_8001B86C func_8001BA84 func_8001BBBC func_8001BE20 func_8001BE30 func_8001BFA0 func_8001BFE8 func_8001C00C func_8001C1E4 func_8001C2C4 func_8001C448 func_8001C558 func_8001C6E4 func_8001C744 func_8001C7B0 func_8001C8C4 func_8001C924 func_8001C97C func_8001CA1C func_8001CB00 func_8001CBDC func_8001CC3C func_8001CCA0 func_8001CD04 func_8001CD50 func_8001CD9C func_8001CDE8 func_8001CE28 func_8001CE68 func_8001CEC0 func_8001CF00 func_8001D0E8 func_8001D3FC func_8001D8C4 func_8001E094 func_8001E668 func_8001E7E0 func_8001F730 func_80020248 func_80020F34 func_80021008 func_80021050 func_80021120 func_80023138 func_800233CC func_80023570 func_80024BC0 func_80024DE8 func_80025000 func_8002528C func_80025504 func_80025818 func_80025A30 func_80025CBC func_80025EB8 func_800262D8 func_80027200 func_800275BC func_800277DC func_800279AC func_80027C10 func_80027D20 func_80027F4C func_80028200 func_80028394 func_80028428 func_80028558 func_800285CC func_80028A48 func_80028C50 func_80029044 func_8002906C func_80029094 func_80029218 func_80029254 func_80029264 func_80029274 func_8002931C func_8002941C func_80029504 func_80029514 func_8002953C func_8002954C func_8002957C func_8002958C func_8002959C func_800295D4 func_80029664 func_80029AF4 func_80029CD4 func_80029E30 func_80029ED4 func_80029FD4 func_8002A04C func_8002A1B4 func_8002A200 func_8002A234 func_8002A26C func_8002A27C func_8002A400 func_8002A44C func_8002A480 func_8002A4B8 func_8002A4C8 func_8002A670 func_8002A6BC func_8002A6F0 func_8002A728 func_8002A738 func_8002A8E0 func_8002A92C func_8002A960 func_8002A998 func_8002A9A8 func_8002AAB4 func_8002AC00 func_8002AEF8 func_8002AF08 func_8002AF18 func_8002AF60 func_8002AF70 func_8002B00C func_8002B064 func_8002B08C func_8002C320 func_8002C8BC func_8002C8F4 func_8002CDD8 func_8002D034 func_8002D1F0 func_8002D240 func_8002D4B8 func_8002D6D8 func_8002D7FC func_8002D834 func_8002DF80 func_8002E638 func_8002E700 func_8002EAB0 func_8002EBAC func_8002EC10 func_8002ED90 func_8002EE90 func_8002EFD0 func_8002EFF8 func_8002F064 func_8002F0F4 func_8002F4E4 func_8002F620 func_8002F648 func_8002F67C func_8002F714 func_8002FAE0 func_8002FB08 func_8002FC64 func_8002FD14 func_80030730 func_80030A14 func_80030D80 func_800314DC func_80031B7C func_80031BE0 func_80032048 func_800322A8 func_800324A4 func_80032774 func_8003324C func_80033398 func_800335B8 func_800336A8 func_80034314 func_80034844 func_80034A54 func_80034A9C func_80034AE0 func_80034B0C func_80034C24 func_80034CF0 func_8003500C func_80035210 func_80036130 func_8003621C func_80036EB4 func_80036EE8 func_80037004 func_80037028 func_80037144 func_80037334 func_80037358 func_80037368 func_800373D0 func_8003750C func_80037CC8 func_80037CD8 func_80037D98 func_800381E4 func_80038210 func_8003836C func_80038638 func_80038668 func_80038838 func_80038958 func_80038A00 func_8003A234 func_80052654 func_8005283C func_80059658 func_80059BFC func_8005AE80 func_8005B7B0 func_8005BA90 func_8005D184 func_8005E0AC func_8005E528 func_8005E820 func_8005F75C func_8005FBC8 NON_MATCHING: CdReadSectorReadyCB CdReadStateMachine StreamLoadStateMachine func_80015A74
build SHA1: 143dbb89f34491258bbc27810d0a12ec8b43a8dd (byte-identical)