[{"timestamp":"2026-09-30T22:36:54Z","commit_sha":"abc09c9ce271948794e7fb6d9c654e04ce11cc8f","commit_message":"Update the build\n\nAlso updated: ROADMAP.md, CONTRIBUTING.md, tools/lint_c.py.","measures":{"fuzzy_match_percent":0.6383,"total_code":2608780,"matched_code":11768,"matched_code_percent":0.4511,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":8234,"matched_functions":238,"matched_functions_percent":2.8905,"complete_code":11768,"complete_code_percent":0.4511,"complete_data":0,"complete_data_percent":0,"total_units":17,"complete_units":0}},{"timestamp":"2026-09-30T21:47:21Z","commit_sha":"951806757240f242a78af5a4e992fa57dde9fd69","commit_message":"Name 4 symbols from evidence\n\nNamed: func_0021D5F0 -> waitNextField,\n  func_00220EC0 -> mpegAddStrCallback, func_00244EB0 -> memcardInit,\n  func_002535E0 -> alarmWakeupHandler\nHeaders: game_00/adxowner.h\n\nCo-Authored-By: Claude <noreply@anthropic.com>","measures":{"fuzzy_match_percent":0.6383,"total_code":2608780,"matched_code":11768,"matched_code_percent":0.4511,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":8234,"matched_functions":238,"matched_functions_percent":2.8905,"complete_code":11768,"complete_code_percent":0.4511,"complete_data":0,"complete_data_percent":0,"total_units":17,"complete_units":0}},{"timestamp":"2026-09-30T21:34:56Z","commit_sha":"8966af81e5072efcea56257719cd53f79666af29","commit_message":"Match 31 functions in game_00, game_01, game_model\n\nMatched (31): func_0015A580, func_0015AA30, func_00184180,\n  func_00185740, func_001C4980, func_001C4990, func_0020FAC0,\n  func_00211150, func_00211160, func_00219080, func_00219090,\n  func_0021D5E0, func_0021D5F0, func_0021DF20, func_0021F320,\n  func_00220EC0, func_00221190, func_002240B0, func_00244EB0,\n  func_002522E0, func_002522F0, func_002535E0, func_00254CA0,\n  func_00255450, func_00255590, func_002A5558, func_0031A720,\n  func_00329990, func_00379940, func_0037F970, func_00380D80\nAlso updated: CONTRIBUTING.md.\n\nCo-Authored-By: Claude <noreply@anthropic.com>","measures":{"fuzzy_match_percent":0.6383,"total_code":2608780,"matched_code":11768,"matched_code_percent":0.4511,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":8234,"matched_functions":238,"matched_functions_percent":2.8905,"complete_code":11768,"complete_code_percent":0.4511,"complete_data":0,"complete_data_percent":0,"total_units":17,"complete_units":0}},{"timestamp":"2026-09-30T21:02:52Z","commit_sha":"99b0f2d43cc159600075cfe40b7c8303d04de679","commit_message":"Update README","measures":{"fuzzy_match_percent":0.6135,"total_code":2608780,"matched_code":11120,"matched_code_percent":0.4263,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":8234,"matched_functions":207,"matched_functions_percent":2.514,"complete_code":11120,"complete_code_percent":0.4263,"complete_data":0,"complete_data_percent":0,"total_units":17,"complete_units":0}},{"timestamp":"2026-09-30T20:56:18Z","commit_sha":"953c49dbdf5ef9977466d7a92f8f57462e250237","commit_message":"Update CONTRIBUTING.md, tools/lint_c.py\n\nUpdated: CONTRIBUTING.md, tools/lint_c.py. Also updated: ROADMAP.md, the symbol map (symbols/).","measures":{"fuzzy_match_percent":0.6135,"total_code":2608780,"matched_code":11120,"matched_code_percent":0.4263,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":8234,"matched_functions":207,"matched_functions_percent":2.514,"complete_code":11120,"complete_code_percent":0.4263,"complete_data":0,"complete_data_percent":0,"total_units":17,"complete_units":0}},{"timestamp":"2026-09-30T20:11:55Z","commit_sha":"6e6ba205b6d25839836980be31ffa29946b86e5b","commit_message":"Update CONTRIBUTING.md\n\nUpdated: CONTRIBUTING.md. Also updated: PLATFORM.md, ROADMAP.md.","measures":{"fuzzy_match_percent":0.6135,"total_code":2608780,"matched_code":11120,"matched_code_percent":0.4263,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":8234,"matched_functions":207,"matched_functions_percent":2.514,"complete_code":11120,"complete_code_percent":0.4263,"complete_data":0,"complete_data_percent":0,"total_units":17,"complete_units":0}},{"timestamp":"2026-09-30T19:10:00Z","commit_sha":"72699d4c052b5986eb1f5defe0cda256ee6f0d02","commit_message":"game_00: Match 12 functions\n\nMatched (12): func_00159E30, func_0015AFD0, func_0015B6B0,\n  func_001C85B0, func_002076A0, func_00207F70, func_0020A4E0,\n  func_0020F400, func_0020F860, func_0020F9F0, func_0020FA40,\n  func_0020FA50\nAlso updated: CONTRIBUTING.md.\n\nCo-Authored-By: Claude <noreply@anthropic.com>","measures":{"fuzzy_match_percent":0.6147,"total_code":2608780,"matched_code":11120,"matched_code_percent":0.4263,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":8234,"matched_functions":207,"matched_functions_percent":2.514,"complete_code":11120,"complete_code_percent":0.4263,"complete_data":0,"complete_data_percent":0,"total_units":17,"complete_units":0}},{"timestamp":"2026-09-30T18:41:58Z","commit_sha":"8f5a5f8f5378fa359b493ff388e5ab98c2ae7a43","commit_message":"Update tools/lint_c.py\n\nUpdated: tools/lint_c.py. Also updated: ROADMAP.md.","measures":{"fuzzy_match_percent":0.5971,"total_code":2608780,"matched_code":10608,"matched_code_percent":0.4066,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":8234,"matched_functions":195,"matched_functions_percent":2.3682,"complete_code":10608,"complete_code_percent":0.4066,"complete_data":0,"complete_data_percent":0,"total_units":17,"complete_units":0}},{"timestamp":"2026-09-30T17:34:21Z","commit_sha":"7dd6796704148a6b4b356ba803928a3a279c5653","commit_message":"Update the build\n\nAlso updated: ROADMAP.md, tools/lint_c.py.","measures":{"fuzzy_match_percent":0.5971,"total_code":2608780,"matched_code":10608,"matched_code_percent":0.4066,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":8234,"matched_functions":195,"matched_functions_percent":2.3682,"complete_code":10608,"complete_code_percent":0.4066,"complete_data":0,"complete_data_percent":0,"total_units":17,"complete_units":0}},{"timestamp":"2026-09-30T16:51:36Z","commit_sha":"1d407aa10a4f27c398e471f2f65157d452db3259","commit_message":"Clean up 5 matched function files\n\nFiles: game_00/unit_00166E80.c, game_00/unit_00199770.c,\n  game_00/unit_001B1360.c, game_00/unit_001B3230.c,\n  game_00/unit_001B3DA0.c\nHeaders: game_00/tbl_0051E444.h\nAlso updated: CONTRIBUTING.md.\n\nCo-Authored-By: Claude <noreply@anthropic.com>","measures":{"fuzzy_match_percent":0.5971,"total_code":2608780,"matched_code":10608,"matched_code_percent":0.4066,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":8234,"matched_functions":195,"matched_functions_percent":2.3682,"complete_code":10608,"complete_code_percent":0.4066,"complete_data":0,"complete_data_percent":0,"total_units":17,"complete_units":0}},{"timestamp":"2026-09-30T15:48:33Z","commit_sha":"4b57e93d59705354b4345006451a7d1d16c22894","commit_message":"Update README","measures":{"fuzzy_match_percent":0.5971,"total_code":2608780,"matched_code":10608,"matched_code_percent":0.4066,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":8234,"matched_functions":195,"matched_functions_percent":2.3682,"complete_code":10608,"complete_code_percent":0.4066,"complete_data":0,"complete_data_percent":0,"total_units":17,"complete_units":0}},{"timestamp":"2026-09-30T15:26:43Z","commit_sha":"3887892886edceb824a631c5e4941a734ac84b20","commit_message":"Update the build\n\nAlso updated: ROADMAP.md.","measures":{"fuzzy_match_percent":0.5971,"total_code":2608780,"matched_code":10608,"matched_code_percent":0.4066,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":8234,"matched_functions":195,"matched_functions_percent":2.3682,"complete_code":10608,"complete_code_percent":0.4066,"complete_data":0,"complete_data_percent":0,"total_units":17,"complete_units":0}},{"timestamp":"2026-09-30T14:52:12Z","commit_sha":"f6ffe0b17e33431f9c76c666da641e0946afae5d","commit_message":"Match 24 functions in game_00, game_01, game_model\n\nMatched (24): func_0015E5C0, func_00166F60, func_001836B0,\n  func_00189BE0, func_001C9C00, func_001E2F20, func_001E52A0,\n  func_001E6C20, func_001F1520, func_001F4150, func_001FEEE0,\n  func_00200E50, func_00201480, func_00201490, func_00202120,\n  func_00202130, func_00203A30, func_00207310, func_00207690,\n  func_00210D20, func_0031DE80, func_00329650, func_00381CD0,\n  func_00382EB0\n\nCo-Authored-By: Claude <noreply@anthropic.com>","measures":{"fuzzy_match_percent":0.5971,"total_code":2608780,"matched_code":10608,"matched_code_percent":0.4066,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":8234,"matched_functions":195,"matched_functions_percent":2.3682,"complete_code":10608,"complete_code_percent":0.4066,"complete_data":0,"complete_data_percent":0,"total_units":17,"complete_units":0}},{"timestamp":"2026-09-30T00:39:51Z","commit_sha":"26aefd91a8a66fc51fd5e6b9ac9023412bd84ceb","commit_message":"Update README","measures":{"fuzzy_match_percent":0.5688,"total_code":2608780,"matched_code":10208,"matched_code_percent":0.3913,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":8234,"matched_functions":171,"matched_functions_percent":2.0768,"complete_code":10208,"complete_code_percent":0.3913,"complete_data":0,"complete_data_percent":0,"total_units":17,"complete_units":0}},{"timestamp":"2026-09-29T23:48:54Z","commit_sha":"4e72bc7155c9bd075802bd75930745bd7b086965","commit_message":"game_00: Match 11 functions\n\nMatched (11): func_001619C0, func_00177580, func_00183780,\n  func_0019C690, func_001AB7D0, func_001AD2A0, func_001B3B20,\n  func_001B43A0, func_001BB380, func_002113E0, func_00229500\n\nCo-Authored-By: Claude <noreply@anthropic.com>","measures":{"fuzzy_match_percent":0.5688,"total_code":2608780,"matched_code":10208,"matched_code_percent":0.3913,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":8234,"matched_functions":171,"matched_functions_percent":2.0768,"complete_code":10208,"complete_code_percent":0.3913,"complete_data":0,"complete_data_percent":0,"total_units":17,"complete_units":0}},{"timestamp":"2026-09-28T23:25:35Z","commit_sha":"2ed4f230cd8f6f38ae82f8edc462d3a7dbf580da","commit_message":"Clean up 16 matched function files\n\nFiles: game_00/unit_00166E80.c, game_00/unit_001735C0.c,\n  game_00/unit_001768D0.c, game_00/unit_00179310.c,\n  game_00/unit_00198140.c, game_00/unit_0019E550.c,\n  game_00/unit_001A5D70.c, game_00/unit_001AA110.c,\n  game_00/unit_001AD300.c, game_00/unit_001B02A0.c,\n  game_00/unit_001B1360.c, game_00/unit_001B3230.c,\n  game_00/unit_001B3DA0.c, game_00/unit_001B4430.c,\n  game_00/unit_001B6090.c, game_00/unit_001B72E0.c\nHeaders: game_00/kindflags.h, game_00/tbl_0051D890.h\n\nCo-Authored-By: Claude <noreply@anthropic.com>","measures":{"fuzzy_match_percent":0.5625,"total_code":2608780,"matched_code":9492,"matched_code_percent":0.3638,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":8234,"matched_functions":160,"matched_functions_percent":1.9432,"complete_code":9492,"complete_code_percent":0.3638,"complete_data":0,"complete_data_percent":0,"total_units":17,"complete_units":0}},{"timestamp":"2026-09-28T23:08:32Z","commit_sha":"d16b5f1622e6d9462c4765f106e6529fe9e8061a","commit_message":"Name 609 symbols from evidence\n\nNamed: func_00100230 -> WaitDma, func_001002A0 -> WatchDma,\n  func_00100328 -> CheckAddress, func_00100350 -> memclr,\n  func_00100388 -> sceDmaGetChan, func_001003B0 -> sceDmaReset,\n  func_00100490 -> sceDmaPutEnv, func_00100668 -> sceDmaGetEnv,\n  func_001006B8 -> sceDmaSend, func_00100720 -> sceDmaSendN,\n  func_00100798 -> sceDmaSendI, func_00100810 -> sceDmaRecv,\n  func_00100858 -> sceDmaRecvN, func_001008D8 -> sceDmaRecvI,\n  func_00100958 -> sceDmaSync, func_00100990 -> sceDmaWatch,\n  func_001009C8 -> sceDmaPause, func_00100A78 -> sceGsResetGraph,\n  func_00100C18 -> sceGsResetPath, func_00100C80 -> checkModelVersion,\n  func_00100D30 -> sceGsSetDefDispEnv,\n  func_001010A8 -> sceGsPutDispEnv, func_00101168 -> sceGszbufaddr,\n  func_00101230 -> sceGsSetDefDrawEnv,\n  func_00101418 -> sceGsSetDefClear, func_00101520 -> sceGsPutDrawEnv,\n  func_00101608 -> sceGsSetDefDBuff, func_001018A0 -> sceGsSwapDBuff,\n  func_00101900 -> sceGsSyncV, func_00101998 -> sceGsSyncPath,\n  func_00101CB0 -> sceGsSetDefStoreImage,\n  func_00101DF0 -> sceGsExecStoreImage,\n  func_00102480 -> sceGsSyncVCallback,\n  func_001025A8 -> sceGsSetDefDrawEnv2,\n  func_00102788 -> sceGsSwapDBuffDc, func_001027E8 -> setD3_CHCR,\n  func_001028D8 -> sceIpuStopDMA, func_001029C0 -> sceIpuRestartDMA,\n  func_00102B10 -> sceIpuSync, func_00102BF0 -> sceIpuInit,\n  func_001036F0 -> VSync, func_00103780 -> VSync2,\n  func_00103828 -> write, func_001038A8 -> read, func_00103960 -> sbrk,\n  func_00103A38 -> kill, func_00103AB0 -> _sceSDC,\n  func_00103BF0 -> _sceIDC, func_00104128 -> iWakeupThread,\n  func_001041C0 -> iRotateThreadReadyQueue,\n  func_00104240 -> iSuspendThread, func_001042D8 -> DelayThread,\n  func_001043A0 -> StartThread, func_00104518 -> _DelayThreadHandler,\n  func_00104540 -> sceDeci2Open, func_00104588 -> sceDeci2Close,\n  func_001045B0 -> sceDeci2ReqSend, func_001045E0 -> sceDeci2Poll,\n  func_00104608 -> sceDeci2GrpOpen, func_00104638 -> sceDeci2GrpClose,\n  func_00104660 -> sceDeci2ExRecv, func_00104698 -> sceDeci2ExSend,\n  func_001046D0 -> sceDeci2ExReqSend, func_00104700 -> sceDeci2ExLock,\n  func_00104728 -> sceDeci2ExUnLock, func_00104750 -> kputs,\n  func_001047A0 -> QueuePeekWriteDone,\n  func_001047E0 -> QueuePeekReadDone, func_00104820 -> sceTtyHandler,\n  func_001049B8 -> sceTtyWrite, func_00104B30 -> sceTtyRead,\n  func_00104C00 -> sceTtyInit, func_00104CC0 -> kputchar,\n  func_00104CF8 -> deci2Putchar, func_00104DA8 -> serialPutchar,\n  func_00104DE0 -> ftoi, func_00104E70 -> printfloat,\n  func_00105048 -> _sceSnprintf, func_00105D60 -> snprintf_char,\n  func_00105E08 -> _sceSnprintf_pf, func_00105E58 -> sceVsnprintf,\n  func_00105E90 -> sceSnprintf, func_00105ED8 -> sceVprintf,\n  func_00105F48 -> sceCdChgSys, func_001060C0 -> sceSifSetDmaInternal,\n  func_00106248 -> sceSifInitCmd, func_001064C8 -> sceSifExitCmd,\n  func_00106530 -> sceSifAddCmdHandler,\n  func_001065A8 -> sceSifRemoveCmdHandler,\n  func_001065F8 -> _sceSifSendCmd, func_00106730 -> sceSifSendCmd,\n  func_00106770 -> isceSifSendCmd, func_001067B0 -> _sceSifCmdIntrHdlr,\n  func_00106C38 -> _sceRpcGetFPacket,\n  func_00106C68 -> _sceRpcGetFPacket2, func_00106CA8 -> _request_end,\n  func_00106D78 -> _alarm_rdata, func_00106DB8 -> _request_rdata,\n  func_00106E88 -> sceSifGetOtherData, func_00106FF0 -> _search_svdata,\n  func_00107040 -> _alarm_bind, func_00107080 -> _request_bind,\n  func_00107150 -> sceSifBindRpc, func_001072A0 -> _request_call,\n  func_00107330 -> sceSifCallRpc, func_00107530 -> sceSifCheckStatRpc,\n  func_00107570 -> sceSifSetRpcQueue,\n  func_00107608 -> sceSifRegisterRpc, func_001076D8 -> sceSifRemoveRpc,\n  func_00107770 -> sceSifRemoveRpcQueue,\n  func_00107800 -> sceSifGetNextRequest,\n  func_00107858 -> sceSifExecRequest, func_00107A20 -> sceSifRpcLoop,\n  func_00107A60 -> _sceFsIobSemaMK, func_00107AD0 -> use_iob_cnt,\n  func_00107B50 -> new_iob, func_00107BD8 -> sceFsSifCallRpc,\n  func_00107CC8 -> get_iob, func_00107D38 -> _sceFs_Rcv_Intr,\n  func_001080F0 -> _sceFsSemInit, func_00108148 -> _sceFsWaitS,\n  func_00108188 -> scePowerOffHandler,\n  func_00108228 -> _sceFs_Poff_Intr, func_00108270 -> sceFsInit,\n  func_00108508 -> sceFsReset, func_00108540 -> sceFsSetIopBuf,\n  func_00108680 -> sceFsSetIopPrio, func_00108770 -> sceOpen,\n  func_00108A00 -> sceClose, func_00108B78 -> sceLseek,\n  func_00108DB8 -> sceRead, func_00109028 -> sceWrite,\n  func_001092E8 -> sceIoctl, func_00109670 -> sceIoctl2,\n  func_00109858 -> _sceCallCode, func_00109A28 -> sceMkdir,\n  func_00109C00 -> sceFormat, func_00109E80 -> sceAddDrv,\n  func_00109FD0 -> sceDopen, func_0010A098 -> sceDclose,\n  func_0010A200 -> sceDread, func_0010A358 -> sceGetstat,\n  func_0010A510 -> sceChstat, func_0010A760 -> sceRename,\n  func_0010A988 -> sceSync, func_0010AB38 -> sceMount,\n  func_0010ADD8 -> sceLseek64, func_0010B018 -> sceDevctl,\n  func_0010B2C0 -> sceSymlink, func_0010B4B8 -> sceReadlink,\n  func_0010B698 -> sceSifInitIopHeap,\n  func_0010B720 -> sceSifAllocIopHeap,\n  func_0010B790 -> sceSifAllocSysMemory,\n  func_0010B8A8 -> sceSifLoadIopHeap,\n  func_0010B998 -> sceSifQueryMemSize,\n  func_0010BA08 -> sceSifQueryMaxFreeMemSize,\n  func_0010BA78 -> sceSifQueryTotalFreeMemSize,\n  func_0010BAE8 -> sceSifQueryBlockTopAddress,\n  func_0010BB68 -> sceSifQueryBlockSize, func_0010BBE8 -> _lf_bind,\n  func_0010BD78 -> sceSifLoadFileReset,\n  func_0010BDB0 -> _sceSifLoadModuleBuffer,\n  func_0010BFB8 -> sceSifStopModule,\n  func_0010C1C0 -> sceSifUnloadModule,\n  func_0010C250 -> sceSifSearchModuleByName,\n  func_0010C2F0 -> sceSifSearchModuleByAddress,\n  func_0010C3C0 -> _sceSifLoadModule,\n  func_0010C628 -> _sceSifLoadElfPart, func_0010C750 -> sceSifLoadElf,\n  func_0010C778 -> sceSifGetIopAddr, func_0010C868 -> sceSifSetIopAddr,\n  func_0010C948 -> sceSifResetIop, func_0010CAA0 -> sceSifIsAliveIop,\n  func_0010CAC8 -> sceSifSyncIop, func_0010CB18 -> sceSifRebootIop,\n  func_0010CC28 -> SetTLBHandler, func_0010CC88 -> SetDebugHandler,\n  func_0010CD78 -> InitTLBFunctions, func_0010CE70 -> SetTLBEntry,\n  func_0010CF00 -> InitTLB, func_0010CF40 -> InitTLB32MB,\n  func_0010D4A0 -> DIntr, func_0010D508 -> supplement_crt0,\n  func_0010D5C0 -> kFindAddress, func_0010D610 -> GetSystemCallEntry,\n  func_0010D648 -> InitSystemCallTableAddress,\n  func_0010D818 -> PatchIsNeeded, func_0010D880 -> InitExecPS2,\n  func_0010D980 -> SetArg, func_0010DAA0 -> ExecPS2,\n  func_0010DB10 -> LoadExecPS2, func_0010DB80 -> ExecOSD,\n  func_0010DC38 -> InitAlarm, func_0010DD10 -> SetT2,\n  func_0010DDB0 -> InitTimer, func_0010DF08 -> EndTimer,\n  func_0010DFC0 -> GetTimerPreScaleFactor,\n  func_0010DFF0 -> StartTimerSystemTime,\n  func_0010E080 -> StopTimerSystemTime, func_0010E100 -> SetNextComp,\n  func_0010E290 -> InsertAlarm, func_0010E318 -> UnlinkAlarm,\n  func_0010E350 -> cbTimerHandler,\n  func_0010E608 -> iGetTimerSystemTime,\n  func_0010E658 -> GetTimerSystemTime,\n  func_0010E6D8 -> iAllocTimerCounter,\n  func_0010E748 -> AllocTimerCounter,\n  func_0010E790 -> iFreeTimerCounter,\n  func_0010E8A0 -> iGetTimerUsedUnusedCounters,\n  func_0010E8F0 -> GetTimerUsedUnusedCounters,\n  func_0010E950 -> iStartTimerCounter,\n  func_0010EA50 -> iStopTimerCounter, func_0010EB80 -> SetTimerCount,\n  func_0010ECE8 -> iGetTimerCount, func_0010EDA8 -> iSetTimerHandler,\n  func_0010EEB8 -> SetTimerHandler, func_0010F190 -> SetTimerAlarm,\n  func_0010F2C0 -> iSetTimerAlarm, func_0010F3B0 -> ReleaseTimerAlarm,\n  func_0010F458 -> iReleaseTimerAlarm,\n  func_0010F4F8 -> sceSifSetRebootNotifyBuffer,\n  func_0010F578 -> sceSifAddRebootNotifyHandler,\n  func_0010F630 -> sceSifRemoveRebootNotifyHandler,\n  func_0010F688 -> sceSifExecNotifyHandler, func_0010F730 -> sceMcInit,\n  func_0010F9C8 -> sceMcEnd,\n  func_0010FA88 -> sceMcChangeThreadPriority,\n  func_0010FB48 -> sceMcGetSlotMax, func_0010FC08 -> sceMcOpen,\n  func_0010FD30 -> sceMcMkdir, func_0010FD68 -> sceMcClose,\n  func_0010FE28 -> sceMcSeek, func_0010FF08 -> mceIntrReadFixAlign,\n  func_0010FFB8 -> sceMcRead, func_001100D0 -> sceMcWrite,\n  func_00110248 -> sceMcSync, func_00110310 -> mceGetInfoApdx,\n  func_00110368 -> sceMcGetInfo, func_001104E8 -> sceMcUdCheckNewCard,\n  func_00110558 -> sceMcGetDir, func_001106A8 -> mceStorePwd,\n  func_00110738 -> sceMcChdir, func_00110878 -> sceMcFormat,\n  func_00110948 -> sceMcDelete, func_00110A68 -> sceMcFlush,\n  func_00110B28 -> sceMcSetFileInfo, func_00110CF8 -> sceMcRename,\n  func_00110E50 -> sceMcUnformat, func_00110F20 -> sceMcGetEntSpace,\n  func_00111030 -> regMain, func_00111098 -> mceRegistSifFunc,\n  func_00111118 -> mceEncEcc, func_00111198 -> mceDecEcc,\n  func_001112B0 -> mceDecEccAll, func_00111338 -> mceExtractSliceData,\n  func_00111468 -> mceSifEntry, func_00111528 -> sceMcReadFast,\n  func_00111638 -> sceMcWriteFast, func_00111740 -> _dualPrimeVector,\n  func_001118C8 -> _getAllRefs, func_00111FD0 -> _motionComp0,\n  func_00112220 -> _getRef0, func_001126A8 -> _doMC,\n  func_001128C8 -> _sceMpegPictureData0, func_00112B08 -> _slice0,\n  func_00112E38 -> _motionVector, func_00113260 -> _motionVectors,\n  func_00113400 -> _decMB0,\n  func_00113958 -> _sceMpegMbAddressIncrement,\n  func_00113AD0 -> _sceMpegWaitIpuIdle,\n  func_00113C38 -> _sceMpegWaitIpuIdle64,\n  func_00113DB8 -> _sceMpegNextBit, func_00113EA0 -> _sceMpegPeepBit,\n  func_00113F30 -> _sceMpegFlushBuf, func_00114008 -> _skipMB0,\n  func_001140C8 -> _copyAddRefImage, func_00114278 -> dmaRefImage,\n  func_001143F8 -> _rix_000, func_00114470 -> _ri0_000,\n  func_00114508 -> _rix_001, func_001145C0 -> _ri0_001,\n  func_00114690 -> _rix_010, func_00114740 -> _ri0_010,\n  func_001147F8 -> _rix_011, func_001148F0 -> _ri0_011,\n  func_001149F0 -> _rix_100, func_00114A90 -> _ri0_100,\n  func_00114B40 -> _rix_101, func_00114C20 -> _ri0_101,\n  func_00114D08 -> _rix_110, func_00114DE0 -> _ri0_110,\n  func_00114EB0 -> _rix_111, func_00114FD0 -> _ri0_111,\n  func_001150E8 -> receiveDataFromIPU,\n  func_00115188 -> _sceMpegSliceA0, func_00115328 -> _initSeq,\n  func_00115640 -> _sequenceHeader,\n  func_001158F0 -> _groupOfPicturesHeader,\n  func_00115990 -> _pictureHeader, func_00115AD8 -> _sequenceExtension,\n  func_00115C18 -> _quantMatrixExtension,\n  func_00115D00 -> _sequenceScalableExtension,\n  func_00115D20 -> _pictureCodingExtension,\n  func_00115F28 -> _extensionAndUserData,\n  func_00116138 -> _sceMpegNextHeader,\n  func_00116298 -> flushByteBoundary,\n  func_001162E8 -> _sequenceDisplayExtension,\n  func_00116378 -> _copyrightExtension,\n  func_00116410 -> _pictureDisplayExtension,\n  func_00116508 -> _clearOnce, func_001165D8 -> sceMpegCreate,\n  func_00116810 -> _sendDataToIPU, func_00116910 -> _clearEach,\n  func_001169D8 -> _getpic, func_00116B90 -> _updateRefImage,\n  func_00116E48 -> _decodeOrSkipFrame,\n  func_00116FB8 -> _decodeOrSkipField, func_00117180 -> sceMpegInit,\n  func_00117238 -> sceMpegAddBs, func_00117278 -> sceMpegGetPicture,\n  func_001172C0 -> sceMpegGetPictureRAW8,\n  func_00117318 -> sceMpegReset, func_001173D0 -> sceMpegGetDecodeMode,\n  func_001173F0 -> sceMpegAddCallback,\n  func_00117428 -> sceMpegSetBuffType,\n  func_00117470 -> _sceMpegDispatchMpegCallback,\n  func_001174E8 -> _sceMpegDispatchMpegCbNodata,\n  func_00117560 -> _decodeOrSkip, func_001175A8 -> sceMpegClearRefBuff,\n  func_00117600 -> sceMpegGetPictureRAW8xy,\n  func_001176F8 -> _decPicture, func_001178D8 -> _cpr8,\n  func_00117B68 -> _dispRefImage, func_00117E28 -> _dispRefImageField,\n  func_00118248 -> _sceMpegFlush, func_00118308 -> _sceMpegOutputFrame,\n  func_00118398 -> _doCSC2, func_00118558 -> _sceMpegCscStoreRefImage,\n  func_00118A30 -> _ch3dmaCSC, func_00118B78 -> _ch4dma,\n  func_00118E50 -> _system_header, func_00119020 -> _pack_header,\n  func_001196C8 -> _PES_packet, func_0011B470 -> sceMpegDemuxPssRing,\n  func_0011B870 -> sceMpegAddStrCallback,\n  func_0011B9A0 -> _sceMpegType2id,\n  func_0011BA58 -> _sceMpegStopIpuDma,\n  func_0011BAF8 -> _sceMpegErrorBdec, func_0011BBC0 -> _sceMpegError,\n  func_0011BC18 -> _sceMpegError1, func_0011BC58 -> scePadInit,\n  func_0011BDA8 -> _pad_intr_hdr, func_0011BDF0 -> scePadInit2,\n  func_0011BEE8 -> scePadEnd, func_0011BF98 -> _send_to_iop,\n  func_0011C0B0 -> scePadPortOpen, func_0011C298 -> scePadPortClose,\n  func_0011C350 -> scePadGetDmaStr,\n  func_0011C4A8 -> scePadGetFrameCount, func_0011C500 -> scePadRead,\n  func_0011C578 -> scePadGetState,\n  func_0011C5F0 -> scePadStateIntToStr,\n  func_0011C628 -> scePadSetReqState,\n  func_0011C6E0 -> scePadGetReqState, func_0011C770 -> scePadInfoAct,\n  func_0011C888 -> scePadInfoComb, func_0011C9A0 -> scePadInfoMode,\n  func_0011CAD8 -> scePadSetMainMode,\n  func_0011CB90 -> scePadSetActDirect,\n  func_0011CC58 -> scePadSetActAlign,\n  func_0011CD30 -> scePadGetButtonMask,\n  func_0011CDE0 -> scePadSetButtonInfo,\n  func_0011CE90 -> scePadInfoPressMode,\n  func_0011CF10 -> scePadEnterPressMode,\n  func_0011CF68 -> scePadExitPressMode,\n  func_0011CFC0 -> scePadSetVrefParam,\n  func_0011D090 -> scePadGetPortMax, func_0011D0F8 -> scePadGetSlotMax,\n  func_0011D160 -> scePadGetModVersion,\n  func_0011D1C8 -> scePadSetWarningLevel,\n  func_0011D230 -> scePadSetDmaCallback,\n  func_0011D358 -> scePadSetFlushRate,\n  func_0011D5B8 -> sceGifPkCloseGifTag,\n  func_0011D660 -> sceGifPkAddGsAD, func_0011D690 -> GetRomName,\n  func_0011D700 -> IsT10K, func_0011D740 -> sceScfGetLanguage,\n  func_0011D7C0 -> sceScfGetAspect, func_0011D800 -> sceScfGetSpdif,\n  func_0011D840 -> sceScfGetTimeZone,\n  func_0011D890 -> sceScfGetDateNotation,\n  func_0011D8F8 -> sceScfGetSummerTime,\n  func_0011D960 -> sceScfGetTimeNotation, func_0011D9C8 -> tobcd,\n  func_0011D9F8 -> frombcd, func_0011DAE8 -> adddate,\n  func_0011DBA0 -> subdate, func_0011DC48 -> addhour,\n  func_0011DC78 -> subhour, func_0011DCA0 -> AdjustTime,\n  func_0011DD38 -> sceScfGetLocalTimefromRTC,\n  func_0011DD80 -> sceSdRemoteInit, func_0011DE30 -> sceSdTransToIOP,\n  func_0011DED8 -> sceSdRemote, func_0011E298 -> atoi,\n  func_0011E2F0 -> _calloc_r, func_0011E3B0 -> _close_r,\n  func_0011E408 -> quorem, func_0011E620 -> _dtoa_r,\n  func_0011F800 -> exit, func_0011F8B0 -> fflush, func_0011F9B8 -> std,\n  func_0011FA10 -> __sfmoreglue, func_0011FA80 -> __sfp,\n  func_0011FB80 -> __sinit, func_0011FC10 -> fread,\n  func_0011FD30 -> _free_r, func_00120050 -> _malloc_trim_r,\n  func_00120220 -> __sfvwrite, func_001205F8 -> _fwalk,\n  func_001206B0 -> _setlocale_r, func_00120800 -> __smakebuf,\n  func_00120980 -> _memalign_r, func_00120B88 -> malloc_extend_top,\n  func_00120DE0 -> _malloc_r, func_00121558 -> _mbtowc_r,\n  func_00121598 -> memchr, func_00121678 -> memcmp,\n  func_00121710 -> memcpy, func_001217C0 -> memmove,\n  func_001218C8 -> memset, func_00121998 -> _Balloc,\n  func_00121A40 -> _Bfree, func_00121A70 -> _multadd,\n  func_00121B88 -> _s2b, func_00121CD0 -> _hi0bits,\n  func_00121D58 -> _lo0bits, func_00121E18 -> _i2b,\n  func_00121E50 -> _multiply, func_00122080 -> _pow5mult,\n  func_00122180 -> _lshift, func_001222F8 -> __mcmp,\n  func_00122360 -> __mdiff, func_001224F0 -> _ulp,\n  func_00122588 -> _b2d, func_00122708 -> _d2b,\n  func_00122888 -> _ratio, func_00122948 -> _mprec_log10,\n  func_001229B8 -> _printf_r, func_001229F8 -> printf,\n  func_00122A48 -> qsort, func_00123480 -> rand,\n  func_00123540 -> _realloc_r, func_00123AD0 -> __srefill,\n  func_00123EE8 -> _sbrk_r, func_00124128 -> _sprintf_r,\n  func_00124190 -> sprintf, func_00124208 -> sscanf,\n  func_00124290 -> __sread, func_001242F8 -> __swrite,\n  func_00124378 -> __sseek, func_00124400 -> strcasecmp,\n  func_001244B8 -> strcat, func_001245E8 -> strchr,\n  func_00124778 -> strcmp, func_001248C0 -> strcpy,\n  func_001249D8 -> strlen, func_00124B10 -> strncat,\n  func_00124CC0 -> strncmp, func_00124E78 -> strncpy,\n  func_00125038 -> strstr, func_001250A8 -> _strtod_r,\n  func_00126028 -> strtok_r, func_001260C8 -> _strtol_r,\n  func_00126338 -> _strtoul_r, func_001265D0 -> __submore,\n  func_001266C0 -> ungetc, func_00126848 -> __sprint,\n  func_00126890 -> __sbprintf, func_001269C0 -> _vfprintf_r,\n  func_00127ED8 -> cvt, func_00128088 -> exponent,\n  func_00128168 -> __svfscanf, func_00128C70 -> __sccl,\n  func_00128D78 -> vsprintf, func_00128E30 -> __swsetup,\n  func_00128F40 -> __ieee754_log, func_00129430 -> __ieee754_log10,\n  func_001295B8 -> __ieee754_pow, func_0012A2E0 -> __ieee754_rem_pio2,\n  func_0012A800 -> __ieee754_sqrt, func_0012AB08 -> __ieee754_acosf,\n  func_0012AF38 -> __ieee754_asinf, func_0012B2D8 -> __ieee754_atan2f,\n  func_0012B5C0 -> __ieee754_fmodf, func_0012B810 -> __ieee754_powf,\n  func_0012C0A0 -> __ieee754_rem_pio2f,\n  func_0012C480 -> __ieee754_sqrtf, func_0012C5B8 -> __kernel_rem_pio2,\n  func_0012D120 -> __kernel_tan, func_0012D598 -> __kernel_cosf,\n  func_0012D6F0 -> __kernel_rem_pio2f, func_0012E040 -> __kernel_sinf,\n  func_0012E148 -> fabs, func_0012E180 -> floor,\n  func_0012E358 -> matherr, func_0012E380 -> rint,\n  func_0012E580 -> tan, func_0012E610 -> atanf, func_0012E8B8 -> cosf,\n  func_0012E9C0 -> floorf, func_0012EAA8 -> sinf,\n  func_0012EB98 -> log10, func_0012ECE0 -> pow,\n  func_0012F310 -> atan2f, func_0012F438 -> fmodf,\n  func_0012F578 -> powf, func_0012FA80 -> sqrtf,\n  func_0012FB98 -> __divdi3, func_00130288 -> __fixdfdi,\n  func_001302E8 -> __fixunsdfdi, func_001303D8 -> __fixunssfdi,\n  func_001304D0 -> __floatdidf, func_00130568 -> __floatdisf,\n  func_00130648 -> __moddi3, func_00130CB0 -> __muldi3,\n  func_00130D10 -> __udivdi3, func_001312E0 -> __umoddi3,\n  func_00131820 -> __pack_d, func_00131950 -> __unpack_d,\n  func_00131C30 -> dpadd, func_00131C88 -> dpsub,\n  func_00131CF0 -> dpmul, func_00131F98 -> dpdiv,\n  func_00132100 -> __fpcmp_parts_d, func_00132218 -> dpcmp,\n  func_00132268 -> litodp, func_00132320 -> dptoli,\n  func_001323B8 -> dptoul, func_00132458 -> __negdf2,\n  func_00132490 -> __make_dp, func_001324C0 -> dptofp,\n  func_00132518 -> __pack_f, func_00132628 -> __unpack_f,\n  func_001328F0 -> fpadd, func_00132948 -> fpsub,\n  func_001329B0 -> fpmul, func_00132BA8 -> fpdiv,\n  func_00132D08 -> __fpcmp_parts_f, func_00132E20 -> fpcmp,\n  func_00132E70 -> sitofp, func_00132F28 -> fptosi,\n  func_00132FB8 -> fptoui, func_00133050 -> __negsf2,\n  func_00133088 -> __make_fp, func_001330B8 -> fptodp,\n  func_0013F490 -> ADXRNA_GetStat, func_0014C7C0 -> DTR_ExecHndl,\n  func_0014CBF0 -> DTR_Init, func_0014D108 -> DTX_Create,\n  func_001536D0 -> PS2RNA_SetupVoice, func_00154C78 -> PS2RNA_Start,\n  func_00154ED0 -> PS2RNA_ClearBuf, func_00154F18 -> PS2RNA_SetPcmType,\n  func_001552C8 -> PS2RNA_SetStartSmpl,\n  func_00155478 -> PS2RNA_SetBitPerSmpl,\n  func_001554C8 -> PS2RNA_GetStartSmpl,\n  func_00155600 -> PS2RNA_IsOverflow,\n  func_00155648 -> PS2RNA_ClearOverflow,\n  func_00155698 -> PS2RNA_DiscardData,\n  func_001556E0 -> PS2RNA_SetTotalNumSmpl,\n  func_00155728 -> PS2RNA_SetStmHdInfo, func_001598E0 -> _dpfge,\n  func_00159970 -> _f_ulltof, func_00229520 -> sys_bp,\n  func_003536C8 -> sceCdCallback, func_00353940 -> _sceCd_cd_read_intr,\n  func_003539F8 -> cmd_sem_init, func_00353AE0 -> cdvd_exit,\n  func_00353B80 -> sceCdPOffCallback, func_00353C58 -> PowerOffCB,\n  func_00353CD0 -> sceCdLayerSearchFile,\n  func_00353FF0 -> _sceCd_ncmd_prechk,\n  func_00354148 -> sceCdNcmdDiskReady, func_003541E0 -> sceCdSync,\n  func_00354280 -> sceCdSyncS, func_003542F0 -> _sceCd_scmd_prechk,\n  func_00354448 -> _sceCdSC, func_003544F8 -> sceCdInit,\n  func_003547E0 -> sceCdDiskReady_old, func_003549F8 -> sceCdDiskReady,\n  func_00354C18 -> sceCdRead, func_00354DF8 -> sceCdSeek,\n  func_00354EC8 -> sceCdStandby, func_00354F78 -> sceCdGetError,\n  func_00355010 -> sceCdStatus, func_003550C8 -> sceCdBreak,\n  func_00355180 -> sceCdMmode, func_00355278 -> sceCdReadClock,\n  func_00355338 -> sceCdStInit, func_00355368 -> sceCdStStart,\n  func_003553A0 -> sceCdStSeekF, func_003553D0 -> sceCdStSeek,\n  func_00355400 -> sceCdStStop, func_00355438 -> sceCdStRead,\n  func_003555C0 -> sceCdStPause, func_00355610 -> sceCdStResume,\n  func_00355668 -> sceCdStStat, func_003556B0 -> sceCdStream\n\nCo-Authored-By: Claude <noreply@anthropic.com>","measures":{"fuzzy_match_percent":0.5625,"total_code":2608780,"matched_code":9492,"matched_code_percent":0.3638,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":8234,"matched_functions":160,"matched_functions_percent":1.9432,"complete_code":9492,"complete_code_percent":0.3638,"complete_data":0,"complete_data_percent":0,"total_units":17,"complete_units":0}},{"timestamp":"2026-09-28T22:17:06Z","commit_sha":"a38b6baaead285b14b62ef58a2c4ac0146b6f294","commit_message":"Clean up 192 matched function files\n\nFiles: game_00/func_0016CFD0.c, game_00/func_0016D000.c,\n  game_00/func_0016D070.c, game_00/func_0016D0B0.c,\n  game_00/func_0016E8F0.c, game_00/func_0016E9E0.c,\n  game_00/func_0016F680.c, game_00/func_0016F6D0.c,\n  game_00/func_001711F0.c, game_00/func_00175070.c,\n  game_00/func_00175080.c, game_00/func_00175090.c,\n  game_00/func_00175B10.c, game_00/func_00175B80.c,\n  game_00/func_00176140.c, game_00/func_001766A0.c,\n  game_00/func_00176740.c, game_00/func_00176BC0.c,\n  game_00/func_00176BE0.c, game_00/func_00176C00.c,\n  game_00/func_00176C10.c, game_00/func_00176C30.c,\n  game_00/func_00176C50.c, game_00/func_001775A0.c,\n  game_00/func_00177B00.c, game_00/func_00178060.c,\n  game_00/func_00179380.c, game_00/func_001795F0.c,\n  game_00/func_0017A590.c, game_00/func_0017A670.c,\n  game_00/func_0017A820.c, game_00/func_0017E920.c,\n  game_00/func_0017EC80.c, game_00/func_001990B0.c,\n  game_00/func_001990C0.c, game_00/func_00199CF0.c,\n  game_00/func_0019A9A0.c, game_00/func_0019AA30.c,\n  game_00/func_0019AE60.c, game_00/func_0019AE90.c,\n  game_00/func_0019AEA0.c, game_00/func_0019B470.c,\n  game_00/func_0019C1D0.c, game_00/func_0019C1E0.c,\n  game_00/func_0019C7F0.c, game_00/func_0019CB40.c,\n  game_00/func_0019CFF0.c, game_00/func_0019D0B0.c,\n  game_00/func_0019D4E0.c, game_00/func_0019D6A0.c,\n  game_00/func_0019D6E0.c, game_00/func_0019D750.c,\n  game_00/func_0019D850.c, game_00/func_0019DA00.c,\n  game_00/func_0019DCC0.c, game_00/func_001A04B0.c,\n  game_00/func_001A27C0.c, game_00/func_001A2930.c,\n  game_00/func_001A2E20.c, game_00/func_001A3560.c,\n  game_00/func_001A35D0.c, game_00/func_001A3600.c,\n  game_00/func_001A36A0.c, game_00/func_001A36D0.c,\n  game_00/func_001A3700.c, game_00/func_001A3730.c,\n  game_00/func_001A3750.c, game_00/func_001A3790.c,\n  game_00/func_001A37B0.c, game_00/func_001A37D0.c,\n  game_00/func_001A3800.c, game_00/func_001A3820.c,\n  game_00/func_001A3A80.c, game_00/func_001A3E30.c,\n  game_00/func_001A3EA0.c, game_00/func_001A47A0.c,\n  game_00/func_001A4960.c, game_00/func_001A49A0.c,\n  game_00/func_001A5450.c, game_00/func_001A6370.c,\n  game_00/func_001A6380.c, game_00/func_001A6390.c,\n  game_00/func_001A9A00.c, game_00/func_001A9D80.c,\n  game_00/func_001AA1F0.c, game_00/func_001AA210.c,\n  game_00/func_001AA230.c, game_00/func_001AA310.c,\n  game_00/func_001AA340.c, game_00/func_001AA370.c,\n  game_00/func_001AA460.c, game_00/func_001AA490.c,\n  game_00/func_001AA4C0.c, game_00/func_001AA880.c,\n  game_00/func_001AB030.c, game_00/func_001AB2B0.c,\n  game_00/func_001AB330.c, game_00/func_001AB340.c,\n  game_00/func_001AB770.c, game_00/func_001AD0E0.c,\n  game_00/func_001AD250.c, game_00/func_001AD3D0.c,\n  game_00/func_001AE2F0.c, game_00/func_001AE7A0.c,\n  game_00/func_001AE7D0.c, game_00/func_001AE860.c,\n  game_00/func_001B0380.c, game_00/func_001B0390.c,\n  game_00/func_001B03A0.c, game_00/func_001B03B0.c,\n  game_00/func_001B03C0.c, game_00/func_001B04D0.c,\n  game_00/func_001B0550.c, game_00/func_001B13B0.c,\n  game_00/func_001B13C0.c, game_00/func_001B2E60.c,\n  game_00/func_001B35C0.c, game_00/func_001B38F0.c,\n  game_00/func_001B3920.c, game_00/func_001B3AD0.c,\n  game_00/func_001B3F70.c, game_00/func_001B4240.c,\n  game_00/func_001B4320.c, game_00/func_001B57E0.c,\n  game_00/func_001B5800.c, game_00/func_001B5F30.c,\n  game_00/func_001B6220.c, game_00/func_001B6F00.c,\n  game_00/func_001B7230.c, game_00/func_001B7460.c,\n  game_00/func_001B74A0.c, game_00/func_001B76B0.c,\n  game_00/func_001B7BD0.c, game_00/func_001B7BE0.c,\n  game_00/func_001BB140.c, game_00/func_001BB220.c,\n  game_00/func_001BB270.c, game_00/func_001BB2B0.c,\n  game_00/func_001BB3C0.c, game_00/func_001BB5B0.c,\n  game_00/func_001BB690.c, game_00/func_001BB6D0.c,\n  game_00/func_001BB710.c, game_00/func_001BB750.c,\n  game_00/func_001BB7A0.c, game_00/func_001BB7F0.c,\n  game_00/func_001BB840.c, game_00/func_001BB890.c,\n  game_00/func_001BBC20.c, game_00/func_001BBC50.c,\n  game_00/func_001BBC80.c, game_00/func_001BE4F0.c,\n  game_00/func_001BF7C0.c, game_00/func_001BF7D0.c,\n  game_00/func_001BF810.c, game_00/func_001BF830.c,\n  game_00/func_001BF870.c, game_00/func_001BF8B0.c,\n  game_00/func_001C0780.c, game_00/func_001C07F0.c,\n  game_00/unit_00166E80.c, game_00/unit_001735C0.c,\n  game_00/unit_001768D0.c, game_00/unit_00179310.c,\n  game_00/unit_0017A710.c, game_00/unit_0017CC60.c,\n  game_00/unit_00198140.c, game_00/unit_00199770.c,\n  game_00/unit_0019C590.c, game_00/unit_0019CB40.c,\n  game_00/unit_0019D960.c, game_00/unit_0019E550.c,\n  game_00/unit_001A27D0.c, game_00/unit_001A36A0.c,\n  game_00/unit_001A3AD0.c, game_00/unit_001A5D70.c,\n  game_00/unit_001AA110.c, game_00/unit_001AA740.c,\n  game_00/unit_001AB610.c, game_00/unit_001AD300.c,\n  game_00/unit_001AE7A0.c, game_00/unit_001B02A0.c,\n  game_00/unit_001B1360.c, game_00/unit_001B3230.c,\n  game_00/unit_001B3DA0.c, game_00/unit_001B4430.c,\n  game_00/unit_001B6090.c, game_00/unit_001B72E0.c,\n  game_00/unit_001BAF60.c, game_00/unit_001BB5F0.c,\n  game_00/unit_001BD110.c, game_00/unit_001BF730.c\nHeaders: common.h\n\nCo-Authored-By: Claude <noreply@anthropic.com>","measures":{"fuzzy_match_percent":0.5625,"total_code":2608780,"matched_code":9492,"matched_code_percent":0.3638,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":8234,"matched_functions":160,"matched_functions_percent":1.9432,"complete_code":9492,"complete_code_percent":0.3638,"complete_data":0,"complete_data_percent":0,"total_units":17,"complete_units":0}},{"timestamp":"2026-09-28T21:34:12Z","commit_sha":"f8e7f1f5c2437a9c7e2e9d4ebaa7445579f7884f","commit_message":"Add the standalone build: configure.py and ninja\n\nAlso updated: the symbol map (symbols/), PLATFORM.md, ROADMAP.md, the splat configuration.","measures":{"fuzzy_match_percent":0.5625,"total_code":2608780,"matched_code":9492,"matched_code_percent":0.3638,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":8234,"matched_functions":160,"matched_functions_percent":1.9432,"complete_code":9492,"complete_code_percent":0.3638,"complete_data":0,"complete_data_percent":0,"total_units":17,"complete_units":0}},{"timestamp":"2026-09-27T12:45:51Z","commit_sha":"5ae87a1f21ccccf90797aaec12d5f09d8b9f4eda","commit_message":"Update CONTRIBUTING.md, tools/lint_c.py","measures":{"fuzzy_match_percent":0.5625,"total_code":2608780,"matched_code":9492,"matched_code_percent":0.3638,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":8234,"matched_functions":160,"matched_functions_percent":1.9432,"complete_code":9492,"complete_code_percent":0.3638,"complete_data":0,"complete_data_percent":0,"total_units":17,"complete_units":0}},{"timestamp":"2026-09-23T14:12:59Z","commit_sha":"036cb2672b797dfd4ff00162023fa1e411fb44a7","commit_message":"game_00: Match 11 functions\n\nMatched (11): func_0017E920, func_0017EC80, func_001BE4F0,\n  func_001BF7C0, func_001BF7D0, func_001BF810, func_001BF830,\n  func_001BF870, func_001BF8B0, func_001C0780, func_001C07F0\nHeaders: game_00/obj2524.h\n\nCo-Authored-By: Claude <noreply@anthropic.com>","measures":{"fuzzy_match_percent":0.5625,"total_code":2608780,"matched_code":9492,"matched_code_percent":0.3638,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":8234,"matched_functions":160,"matched_functions_percent":1.9432,"complete_code":9492,"complete_code_percent":0.3638,"complete_data":0,"complete_data_percent":0,"total_units":17,"complete_units":0}},{"timestamp":"2026-09-23T13:53:43Z","commit_sha":"a98fc2832b8f54d4fdd31d4b4d73b7c2121a9b8e","commit_message":"Update tools/lint_c.py","measures":{"fuzzy_match_percent":0.5324,"total_code":2608780,"matched_code":8764,"matched_code_percent":0.3359,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":8234,"matched_functions":149,"matched_functions_percent":1.8096,"complete_code":8764,"complete_code_percent":0.3359,"complete_data":0,"complete_data_percent":0,"total_units":17,"complete_units":0}},{"timestamp":"2026-09-23T10:09:28Z","commit_sha":"59462b2c80bb48cd5a9c03af99c5ae6e5a78b5fa","commit_message":"remediation 2026-09-23-remediation-19: publication hygiene — tools/lint_c.py refreshed (member-offset rule) by progress.py","measures":{"fuzzy_match_percent":0.5324,"total_code":2608780,"matched_code":8764,"matched_code_percent":0.3359,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":8234,"matched_functions":149,"matched_functions_percent":1.8096,"complete_code":8764,"complete_code_percent":0.3359,"complete_data":0,"complete_data_percent":0,"total_units":17,"complete_units":0}},{"timestamp":"2026-09-23T10:09:28Z","commit_sha":"7288716e4ac35de1f564d206f7670d7389c1826f","commit_message":"Update tools/lint_c.py","measures":{"fuzzy_match_percent":0.5324,"total_code":2608780,"matched_code":8764,"matched_code_percent":0.3359,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":8234,"matched_functions":149,"matched_functions_percent":1.8096,"complete_code":8764,"complete_code_percent":0.3359,"complete_data":0,"complete_data_percent":0,"total_units":17,"complete_units":0}},{"timestamp":"2026-09-23T09:02:27Z","commit_sha":"d86e9add9027a04ae330793cf1eeece8f9449e74","commit_message":"run 2026-09-23-016-match-batch: match-batch — 11 of 12 matched in game_00, func_001BDF30 parked at 72.7","measures":{"fuzzy_match_percent":0.5324,"total_code":2608780,"matched_code":8764,"matched_code_percent":0.3359,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":8234,"matched_functions":149,"matched_functions_percent":1.8096,"complete_code":8764,"complete_code_percent":0.3359,"complete_data":0,"complete_data_percent":0,"total_units":17,"complete_units":0}},{"timestamp":"2026-09-23T08:22:25Z","commit_sha":"733260057a33595c6d10dc3218a9af5d7c815b95","commit_message":"remediation 2026-09-19-remediation-17: publication hygiene — refresh the shipped tools/lint_c.py\n\nThe copy contributors run had drifted 28 lines from the toolkit's: it rejected\nthe inline float-to-int asm block (K1 6.20) that the project now accepts as\nfinal C. Nothing kept the two in sync; progress.py now refreshes it at every\nSHIP, beside the README table and CONTRIBUTING's pinned-compiler line.\nThe README and progress.json stamps come from that same regeneration.","measures":{"fuzzy_match_percent":0.5064,"total_code":2608780,"matched_code":7452,"matched_code_percent":0.2857,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":8234,"matched_functions":138,"matched_functions_percent":1.676,"complete_code":7452,"complete_code_percent":0.2857,"complete_data":0,"complete_data_percent":0,"total_units":17,"complete_units":0}},{"timestamp":"2026-09-19T13:52:26Z","commit_sha":"353af8b3f6bfe058b58a4fc9af597071f82c0e9b","commit_message":"remediation 2026-09-19-remediation-16: publication hygiene — regenerate the README progress table after the last run was closed\n\nThe SHIP order ran progress.py before next_step.py --close-run, and progress.py takes\nsteps_run and the last-run name from state/steps.jsonl, which --close-run writes. Both\npublic READMEs were therefore one run behind. The order is fixed in dps2-step SKILL.md\nand PROJECT-INSTRUCTIONS <run_lifecycle>; this commit republishes the current numbers.","measures":{"fuzzy_match_percent":0.5064,"total_code":2608780,"matched_code":7452,"matched_code_percent":0.2857,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":8234,"matched_functions":138,"matched_functions_percent":1.676,"complete_code":7452,"complete_code_percent":0.2857,"complete_data":0,"complete_data_percent":0,"total_units":17,"complete_units":0}},{"timestamp":"2026-09-19T09:15:13Z","commit_sha":"b73cdb484660729e927cd048a752f58f46381982","commit_message":"remediation 2026-09-19-remediation-15: publication hygiene — ignore reference/type-census.json\n\nThe S8 type census (xrefs.py --type-census) is regenerated every consolidate from\nsrc/ and include/, like the xrefs index and the naming census beside it.","measures":{"fuzzy_match_percent":0.5064,"total_code":2608780,"matched_code":7452,"matched_code_percent":0.2857,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":8234,"matched_functions":138,"matched_functions_percent":1.676,"complete_code":7452,"complete_code_percent":0.2857,"complete_data":0,"complete_data_percent":0,"total_units":17,"complete_units":0}},{"timestamp":"2026-09-19T08:40:40Z","commit_sha":"763d31663f1981c99c0efa3e77ba8403ecff794f","commit_message":"run 2026-09-19-015-consolidate: consolidate — 22 functions folded onto two shared headers (Obj2524, Vec4/Vec3); 3 byte-offset lint errors rewritten to plain C","measures":{"fuzzy_match_percent":0.5064,"total_code":2608780,"matched_code":7452,"matched_code_percent":0.2857,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":8234,"matched_functions":138,"matched_functions_percent":1.676,"complete_code":7452,"complete_code_percent":0.2857,"complete_data":0,"complete_data_percent":0,"total_units":17,"complete_units":0}},{"timestamp":"2026-09-19T06:21:55Z","commit_sha":"756a65f5589040cf420859b22dce73a440e92827","commit_message":"run 2026-09-19-014-consolidate: consolidate — 59 SDK entry points named from the S5 Ghidra export; naming census fixed to read functions.json by address; byte-offset match rewritten to plain C","measures":{"fuzzy_match_percent":0.3287,"total_code":2608780,"matched_code":4764,"matched_code_percent":0.1826,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":8234,"matched_functions":94,"matched_functions_percent":1.1416,"complete_code":4764,"complete_code_percent":0.1826,"complete_data":0,"complete_data_percent":0,"total_units":17,"complete_units":0}},{"timestamp":"2026-09-19T04:36:56Z","commit_sha":"9ae1a3eb3c764bc578d3ddcc0da8a9af1009ee03","commit_message":"run 2026-09-19-013-ghidra-hints: ghidra-hints — Ghidra 12.1.3 + ee-reloaded v2.1.37 headless export (7263 functions, 142747 xrefs, 10098 strings, 7122 decompiler C); exports gitignored, MANIFEST.json committed","measures":{"fuzzy_match_percent":0.3287,"total_code":2608780,"matched_code":4764,"matched_code_percent":0.1826,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":8234,"matched_functions":94,"matched_functions_percent":1.1416,"complete_code":4764,"complete_code_percent":0.1826,"complete_data":0,"complete_data_percent":0,"total_units":17,"complete_units":0}},{"timestamp":"2026-09-19T03:49:36Z","commit_sha":"3047d34533d41715e245e201767461cad2c44475","commit_message":"run 2026-09-19-012-match-batch: match-batch — 12 of 12 matched byte-identical (82 -> 94), check green","measures":{"fuzzy_match_percent":0.3287,"total_code":2608780,"matched_code":4764,"matched_code_percent":0.1826,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":8234,"matched_functions":94,"matched_functions_percent":1.1416,"complete_code":4764,"complete_code_percent":0.1826,"complete_data":0,"complete_data_percent":0,"total_units":17,"complete_units":0}},{"timestamp":"2026-09-18T21:29:38Z","commit_sha":"2f0a812958092e56959d46d29226f77c6448c1ad","commit_message":"remediation 12: publication hygiene — ignore reference/naming-census.json (holds decoded game strings, like the xrefs index)","measures":{"fuzzy_match_percent":0.2001,"total_code":2608780,"matched_code":2880,"matched_code_percent":0.1104,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":8234,"matched_functions":63,"matched_functions_percent":0.7651,"complete_code":2880,"complete_code_percent":0.1104,"complete_data":0,"complete_data_percent":0,"total_units":17,"complete_units":0}},{"timestamp":"2026-09-18T20:45:05Z","commit_sha":"7a4d5672d56b5f8f122532d69a37dcfabba9cc7c","commit_message":"run 2026-09-18-011-consolidate: consolidate — D_0051D890 layout settled, 8 lint errors rewritten as plain C, tbl_0051C870.h added","measures":{"fuzzy_match_percent":0.2001,"total_code":2608780,"matched_code":2880,"matched_code_percent":0.1104,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":8234,"matched_functions":63,"matched_functions_percent":0.7651,"complete_code":2880,"complete_code_percent":0.1104,"complete_data":0,"complete_data_percent":0,"total_units":17,"complete_units":0}},{"timestamp":"2026-09-17T14:44:09Z","commit_sha":"5229f425683665ac09ec670d21bf5d19b7728146","commit_message":"remediation 10: community practice — a VU0 macro-mode asm block over register locals is final C; tools/lint_c.py reports it as vu0-asm (advisory), any other asm as inline-asm","measures":{"fuzzy_match_percent":0.119,"total_code":2608780,"matched_code":2512,"matched_code_percent":0.0963,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":8234,"matched_functions":53,"matched_functions_percent":0.6437,"complete_code":2512,"complete_code_percent":0.0963,"complete_data":0,"complete_data_percent":0,"total_units":17,"complete_units":0}},{"timestamp":"2026-09-17T07:23:51Z","commit_sha":"5abe09471c265ef9b32bc9d6abbfff1593afc034","commit_message":"remediation 9: community practice — CONTRIBUTING names the pinned compiler id and flags (regenerated by progress.py); README progress line refreshed","measures":{"fuzzy_match_percent":0.119,"total_code":2608780,"matched_code":2512,"matched_code_percent":0.0963,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":8234,"matched_functions":53,"matched_functions_percent":0.6437,"complete_code":2512,"complete_code_percent":0.0963,"complete_data":0,"complete_data_percent":0,"total_units":17,"complete_units":0}},{"timestamp":"2026-09-17T06:46:20Z","commit_sha":"319b381865652807a033369ba5be3a44df4e8edb","commit_message":"run 2026-09-17-010-match-batch: match-batch — 12 of 12 matched byte-identical (53 total); func_00176140 switch table placed at 0x004FEA50","measures":{"fuzzy_match_percent":0.119,"total_code":2608780,"matched_code":2512,"matched_code_percent":0.0963,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":8234,"matched_functions":53,"matched_functions_percent":0.6437,"complete_code":2512,"complete_code_percent":0.0963,"complete_data":0,"complete_data_percent":0,"total_units":17,"complete_units":0}},{"timestamp":"2026-09-17T06:31:45Z","commit_sha":"07e21eaf430ee5cfe253b70ed0660b4443d62032","commit_message":"remediation 8: publication hygiene — private project name in policy.json evidence; README Contributing section","measures":{"fuzzy_match_percent":0.111,"total_code":2608780,"matched_code":2128,"matched_code_percent":0.0816,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":8234,"matched_functions":41,"matched_functions_percent":0.4979,"complete_code":2128,"complete_code_percent":0.0816,"complete_data":0,"complete_data_percent":0,"total_units":17,"complete_units":0}},{"timestamp":"2026-09-17T05:22:57Z","commit_sha":"7c72ad2db4f699cebf10ae2e0c09dfd3b89b4a55","commit_message":"remediation 7: readability contract — lint_c.py, honest progress before segment-map, language evidence","measures":{"fuzzy_match_percent":0.111,"total_code":2608780,"matched_code":2128,"matched_code_percent":0.0816,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":8234,"matched_functions":41,"matched_functions_percent":0.4979,"complete_code":2128,"complete_code_percent":0.0816,"complete_data":0,"complete_data_percent":0,"total_units":17,"complete_units":0}},{"timestamp":"2026-09-17T04:17:42Z","commit_sha":"4e5eba81cf218c72a6c4455da3f1178b864f9507","commit_message":"run 2026-09-17-009-match-batch: match-batch — 11 of 12 matched byte-identical (41 total), func_00176140 parked at 99.77 on a foreign-segment jump table","measures":{"fuzzy_match_percent":0.111,"total_code":2608780,"matched_code":2128,"matched_code_percent":0.0816,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":8234,"matched_functions":41,"matched_functions_percent":0.4979,"complete_code":2128,"complete_code_percent":0.0816,"complete_data":0,"complete_data_percent":0,"total_units":17,"complete_units":0}},{"timestamp":"2026-09-17T03:52:26Z","commit_sha":"8dde2d52fa21cbd000b1e32c5807b643a3df45ea","commit_message":"remediation 2026-09-17-remediation-5: decomp.dev progress report — tools/objdiff_report.py (objdiff v2 report from the ledger), Progress report workflow uploading <BOOT2>_report, README title/badges/reporting section, CONTRIBUTING tools section","measures":{"fuzzy_match_percent":0.0794,"total_code":2608780,"matched_code":1480,"matched_code_percent":0.0567,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":8234,"matched_functions":30,"matched_functions_percent":0.3643,"complete_code":1480,"complete_code_percent":0.0567,"complete_data":0,"complete_data_percent":0,"total_units":17,"complete_units":0}},{"timestamp":"2026-09-17T03:52:26Z","commit_sha":"a4091ea39a368d65a737cd358df5215914d25020","commit_message":"remediation 2026-09-17-remediation-5: decomp.dev progress report — tools/objdiff_report.py (objdiff v2 report from the ledger), Progress report workflow uploading <BOOT2>_report, README title/badges/reporting section, CONTRIBUTING tools section","measures":{"fuzzy_match_percent":0.0794,"total_code":2608780,"matched_code":1480,"matched_code_percent":0.0567,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":8234,"matched_functions":30,"matched_functions_percent":0.3643,"complete_code":1480,"complete_code_percent":0.0567,"complete_data":0,"complete_data_percent":0,"total_units":17,"complete_units":0}}]