[{"timestamp":"2026-10-14T18:25:08Z","commit_sha":"b008258e3ebd7c683f5b8faeed8dc23077077676","commit_message":"Match 7 functions: HotboxTracker_HandleMessage, LargeInt_AddInt, func_002EFE68, func_003B2950, func_003B2C50, func_003B3A10, func_00413FB0\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n13271/14331 functions, 74.99% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":74.99713,"total_code":3661240,"matched_code":2745480,"matched_code_percent":74.98771,"total_data":339552,"matched_data":339280,"matched_data_percent":99.9199,"total_functions":14331,"matched_functions":13271,"matched_functions_percent":92.60345,"complete_code":2746088,"complete_code_percent":75.00432,"complete_data":339552,"complete_data_percent":100,"total_units":9269,"complete_units":8572}},{"timestamp":"2026-10-14T18:18:09Z","commit_sha":"128bff469fbbec4ca46ed3c160cfbac07e2f7dbe","commit_message":"Match cGameGOBJ_ctor, Pickup_BuildPromptText, func_002D5160, func_0030F310\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n13264/14331 functions, 74.92% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":74.9307,"total_code":3661240,"matched_code":2743048,"matched_code_percent":74.92129,"total_data":339552,"matched_data":339280,"matched_data_percent":99.9199,"total_functions":14331,"matched_functions":13264,"matched_functions_percent":92.554596,"complete_code":2743656,"complete_code_percent":74.93789,"complete_data":339552,"complete_data_percent":100,"total_units":9266,"complete_units":8565}},{"timestamp":"2026-10-14T18:09:58Z","commit_sha":"537fa448d052af0466a9d2e81da7be5803f6307d","commit_message":"Match func_001D5E90, func_001D5FA0\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n13260/14331 functions, 74.64% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":74.65035,"total_code":3661240,"matched_code":2732784,"matched_code_percent":74.640945,"total_data":339552,"matched_data":339280,"matched_data_percent":99.9199,"total_functions":14331,"matched_functions":13260,"matched_functions_percent":92.526695,"complete_code":2733392,"complete_code_percent":74.65755,"complete_data":339552,"complete_data_percent":100,"total_units":9265,"complete_units":8560}},{"timestamp":"2026-10-14T18:01:53Z","commit_sha":"cc99df732f6cc5abdeedf0131f83c62e8c601561","commit_message":"Match World_Construct, WeaponInv_Update, Targeting_LockPick\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n13258/14331 functions, 74.62% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":74.63244,"total_code":3661240,"matched_code":2732128,"matched_code_percent":74.623024,"total_data":339552,"matched_data":339280,"matched_data_percent":99.9199,"total_functions":14331,"matched_functions":13258,"matched_functions_percent":92.51273,"complete_code":2732736,"complete_code_percent":74.63963,"complete_data":339552,"complete_data_percent":100,"total_units":9263,"complete_units":8558}},{"timestamp":"2026-10-14T17:30:13Z","commit_sha":"8c75add00337f67dfcb089c15ecea81900ed580a","commit_message":"Match Actor_UpdateJumpApex; cleanup g9 (183 main TUs from 678 files)\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n13255/14331 functions, 74.44% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":74.44804,"total_code":3661240,"matched_code":2725376,"matched_code_percent":74.43861,"total_data":339552,"matched_data":339280,"matched_data_percent":99.9199,"total_functions":14331,"matched_functions":13255,"matched_functions_percent":92.4918,"complete_code":2725984,"complete_code_percent":74.455215,"complete_data":339552,"complete_data_percent":100,"total_units":9260,"complete_units":8555}},{"timestamp":"2026-10-14T17:20:19Z","commit_sha":"39c43dc46bd334ff725329a6e33c30ead2f5d73d","commit_message":"Match func_0033E5B0\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n13254/14331 functions, 74.4% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":74.41035,"total_code":3661240,"matched_code":2723996,"matched_code_percent":74.40092,"total_data":339552,"matched_data":339280,"matched_data_percent":99.9199,"total_functions":14331,"matched_functions":13254,"matched_functions_percent":92.484825,"complete_code":2724604,"complete_code_percent":74.41752,"complete_data":339552,"complete_data_percent":100,"total_units":9769,"complete_units":9065}},{"timestamp":"2026-10-14T16:46:58Z","commit_sha":"4ac179317124dcbd1070e88cc2fbf0d980bc41a2","commit_message":"Round 88: match func_0039CB70\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n13250/14331 functions, 74.3% code, 99.91% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":74.31179,"total_code":3661240,"matched_code":2720388,"matched_code_percent":74.30237,"total_data":339552,"matched_data":339260,"matched_data_percent":99.914,"total_functions":14331,"matched_functions":13250,"matched_functions_percent":92.45691,"complete_code":2720996,"complete_code_percent":74.31898,"complete_data":339532,"complete_data_percent":99.99411,"total_units":9769,"complete_units":9061}},{"timestamp":"2026-10-14T15:30:39Z","commit_sha":"c497960a136f889484c73cd5cd8c3b9055212d55","commit_message":"Round 87: match NpcAttack_WeaponPosture, NpcPerception_UpdateRecords, Actor_HandleCombatEvent; cleanup g8 (2069 lib files -> 954 TUs)\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n13252/14331 functions, 74.09% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":74.10246,"total_code":3661240,"matched_code":2712724,"matched_code_percent":74.09304,"total_data":339552,"matched_data":339280,"matched_data_percent":99.9199,"total_functions":14331,"matched_functions":13252,"matched_functions_percent":92.47086,"complete_code":2713332,"complete_code_percent":74.10964,"complete_data":339552,"complete_data_percent":100,"total_units":9768,"complete_units":9063}},{"timestamp":"2026-10-14T15:21:48Z","commit_sha":"1b256e6e673cb724ad1efc3d4f0e84efcf2a5ecc","commit_message":"Round 86: match func_00343E10, func_002A2F00\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n13249/14331 functions, 73.85% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":73.854416,"total_code":3661240,"matched_code":2703644,"matched_code_percent":73.84503,"total_data":339552,"matched_data":339280,"matched_data_percent":99.9199,"total_functions":14331,"matched_functions":13249,"matched_functions_percent":92.449936,"complete_code":2704252,"complete_code_percent":73.86164,"complete_data":339552,"complete_data_percent":100,"total_units":10891,"complete_units":10183}},{"timestamp":"2026-10-14T15:03:30Z","commit_sha":"8f3149e650c3e5ec7be3230c467be40c9e76f29e","commit_message":"Round 85: match Projectile_Update, func_002958B0, func_0035D430\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n13247/14331 functions, 73.69% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":73.69629,"total_code":3661240,"matched_code":2697856,"matched_code_percent":73.68694,"total_data":339552,"matched_data":339280,"matched_data_percent":99.9199,"total_functions":14331,"matched_functions":13247,"matched_functions_percent":92.43598,"complete_code":2698464,"complete_code_percent":73.70355,"complete_data":339552,"complete_data_percent":100,"total_units":10890,"complete_units":10180}},{"timestamp":"2026-10-14T14:56:24Z","commit_sha":"5c91122c18cb89f6f7579063d81bb5626cba0e3a","commit_message":"Round 84: match PathObj_Update\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n13244/14331 functions, 73.35% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":73.355316,"total_code":3661240,"matched_code":2685372,"matched_code_percent":73.34597,"total_data":339552,"matched_data":339280,"matched_data_percent":99.9199,"total_functions":14331,"matched_functions":13244,"matched_functions_percent":92.41505,"complete_code":2685980,"complete_code_percent":73.36258,"complete_data":339552,"complete_data_percent":100,"total_units":10889,"complete_units":10177}},{"timestamp":"2026-10-14T14:15:47Z","commit_sha":"8e99fa1a8811637afaa63e5f8a0c7219a26d3e43","commit_message":"Round 83: match func_00232F10\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n13243/14331 functions, 73.2% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":73.205864,"total_code":3661240,"matched_code":2679900,"matched_code_percent":73.19651,"total_data":339552,"matched_data":339280,"matched_data_percent":99.9199,"total_functions":14331,"matched_functions":13243,"matched_functions_percent":92.408066,"complete_code":2680508,"complete_code_percent":73.21312,"complete_data":339552,"complete_data_percent":100,"total_units":10889,"complete_units":10176}},{"timestamp":"2026-10-14T13:53:05Z","commit_sha":"cbfab1a31d8d675d2877d777c2f9e9ad5f43af08","commit_message":"Round 82: match cNPC_v0E 00159590\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n13242/14331 functions, 73.08% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":73.0847,"total_code":3661240,"matched_code":2675464,"matched_code_percent":73.075356,"total_data":339552,"matched_data":339280,"matched_data_percent":99.9199,"total_functions":14331,"matched_functions":13242,"matched_functions_percent":92.401085,"complete_code":2676072,"complete_code_percent":73.09196,"complete_data":339552,"complete_data_percent":100,"total_units":10889,"complete_units":10175}},{"timestamp":"2026-10-14T13:16:33Z","commit_sha":"12381087bee93ed30899947b3cb43348ec523a1c","commit_message":"Round 81: cleanup g7 - merge 1176 per-function files into 506 module translation units\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n13241/14331 functions, 72.98% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":72.986374,"total_code":3661240,"matched_code":2671864,"matched_code_percent":72.97703,"total_data":339552,"matched_data":339280,"matched_data_percent":99.9199,"total_functions":14331,"matched_functions":13241,"matched_functions_percent":92.39411,"complete_code":2672472,"complete_code_percent":72.99363,"complete_data":339552,"complete_data_percent":100,"total_units":10889,"complete_units":10174}},{"timestamp":"2026-10-14T13:01:54Z","commit_sha":"323b47daea25021d6eb0161e25828b119f1b4a7b","commit_message":"Round 80: match Actor_HandleActionMessage 001A92A0; refresh handoff status\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n13241/14331 functions, 72.98% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":72.986374,"total_code":3661240,"matched_code":2671864,"matched_code_percent":72.97703,"total_data":339552,"matched_data":339280,"matched_data_percent":99.9199,"total_functions":14331,"matched_functions":13241,"matched_functions_percent":92.39411,"complete_code":2672472,"complete_code_percent":72.99363,"complete_data":339552,"complete_data_percent":100,"total_units":11575,"complete_units":10860}},{"timestamp":"2026-10-14T12:45:00Z","commit_sha":"f9b7946f2d494356ffa1b8d2fc45e621d58b0ece","commit_message":"Round 79: match Script_Load, Ladder_Update\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n13240/14331 functions, 72.5% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":72.50796,"total_code":3661240,"matched_code":2654348,"matched_code_percent":72.49861,"total_data":339552,"matched_data":339280,"matched_data_percent":99.9199,"total_functions":14331,"matched_functions":13240,"matched_functions_percent":92.38713,"complete_code":2654956,"complete_code_percent":72.51521,"complete_data":339552,"complete_data_percent":100,"total_units":11573,"complete_units":10858}},{"timestamp":"2026-10-14T12:32:45Z","commit_sha":"cb931635e000ed224f449c50bb96b812eb834b44","commit_message":"Round 78: match Player_RunTargeting, BulletPool_UpdateAll\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n13238/14331 functions, 72.09% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":72.101974,"total_code":3661240,"matched_code":2639484,"matched_code_percent":72.09262,"total_data":339552,"matched_data":339280,"matched_data_percent":99.9199,"total_functions":14331,"matched_functions":13238,"matched_functions_percent":92.37318,"complete_code":2640092,"complete_code_percent":72.10923,"complete_data":339552,"complete_data_percent":100,"total_units":11573,"complete_units":10856}},{"timestamp":"2026-10-14T12:15:41Z","commit_sha":"018933cbfd8943938fe7a579366504d1119e048a","commit_message":"Round 77: match Ladder_HandleExitAction 00472E10\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n13236/14331 functions, 71.79% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":71.79836,"total_code":3661240,"matched_code":2628368,"matched_code_percent":71.78902,"total_data":339552,"matched_data":339280,"matched_data_percent":99.9199,"total_functions":14331,"matched_functions":13236,"matched_functions_percent":92.35922,"complete_code":2628976,"complete_code_percent":71.80562,"complete_data":339552,"complete_data_percent":100,"total_units":11572,"complete_units":10854}},{"timestamp":"2026-10-14T11:51:30Z","commit_sha":"9f600483a9b6daa1d5e5590e1ae84f1771733d36","commit_message":"Round 76: match Melee_StartAttack 00196480\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n13235/14331 functions, 71.66% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":71.67075,"total_code":3661240,"matched_code":2623696,"matched_code_percent":71.66141,"total_data":339552,"matched_data":339280,"matched_data_percent":99.9199,"total_functions":14331,"matched_functions":13235,"matched_functions_percent":92.35224,"complete_code":2624304,"complete_code_percent":71.67801,"complete_data":339552,"complete_data_percent":100,"total_units":11571,"complete_units":10853}},{"timestamp":"2026-10-14T11:16:53Z","commit_sha":"097ff8d1b8f0a7181a91ca064099baa1c61b78b2","commit_message":"Round 75: match 00399080\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n13234/14331 functions, 71.58% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":71.58478,"total_code":3661240,"matched_code":2620548,"matched_code_percent":71.575424,"total_data":339552,"matched_data":339280,"matched_data_percent":99.9199,"total_functions":14331,"matched_functions":13234,"matched_functions_percent":92.34527,"complete_code":2621156,"complete_code_percent":71.592026,"complete_data":339552,"complete_data_percent":100,"total_units":11570,"complete_units":10852}},{"timestamp":"2026-10-14T10:59:44Z","commit_sha":"307f6a6a4ab47cfefe7ca3782aadbc2ccf9a3448","commit_message":"Round 74: Actor_UpdateAnimationState, func_0041ED20, func_00382ED0 + cleanup g6c (212 split runs merged)\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n13233/14331 functions, 71.47% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":71.476395,"total_code":3661240,"matched_code":2616580,"matched_code_percent":71.46704,"total_data":339552,"matched_data":339280,"matched_data_percent":99.9199,"total_functions":14331,"matched_functions":13233,"matched_functions_percent":92.33829,"complete_code":2617188,"complete_code_percent":71.48365,"complete_data":339552,"complete_data_percent":100,"total_units":11569,"complete_units":10851}},{"timestamp":"2026-10-14T10:42:04Z","commit_sha":"d47e0e89d323fec733fc07edc99997ebd126e4c0","commit_message":"Round 73: AnimToken_Handle + cleanup g6b (aiMsgs.cc merged into one unit)\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n13230/14331 functions, 71.1% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":71.10832,"total_code":3661240,"matched_code":2603104,"matched_code_percent":71.09897,"total_data":339552,"matched_data":339280,"matched_data_percent":99.9199,"total_functions":14331,"matched_functions":13230,"matched_functions_percent":92.31735,"complete_code":2603712,"complete_code_percent":71.11558,"complete_data":339552,"complete_data_percent":100,"total_units":12051,"complete_units":11331}},{"timestamp":"2026-10-14T10:33:25Z","commit_sha":"7154d66aecad26990173d024562cc12acbbe5af4","commit_message":"Round 72: func_002B8C10, func_003C18A0\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n13229/14331 functions, 70.74% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":70.74823,"total_code":3661240,"matched_code":2589920,"matched_code_percent":70.73888,"total_data":339552,"matched_data":339280,"matched_data_percent":99.9199,"total_functions":14331,"matched_functions":13229,"matched_functions_percent":92.31037,"complete_code":2590528,"complete_code_percent":70.75548,"complete_data":339552,"complete_data_percent":100,"total_units":12075,"complete_units":11355}},{"timestamp":"2026-10-14T09:31:09Z","commit_sha":"680d14b9f5a3b76910ab950c598668bbaf54fa64","commit_message":"Round 71: func_003C65C0\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n13227/14331 functions, 70.7% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":70.70649,"total_code":3661240,"matched_code":2588392,"matched_code_percent":70.69714,"total_data":339552,"matched_data":339280,"matched_data_percent":99.9199,"total_functions":14331,"matched_functions":13227,"matched_functions_percent":92.296425,"complete_code":2589000,"complete_code_percent":70.713745,"complete_data":339552,"complete_data_percent":100,"total_units":12074,"complete_units":11353}},{"timestamp":"2026-10-14T08:47:28Z","commit_sha":"762fe9d3f748cc04fec2481c9790a0069fc44f19","commit_message":"Round 70: PlayerCamera_Follow\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n13226/14331 functions, 70.69% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":70.70005,"total_code":3661240,"matched_code":2588156,"matched_code_percent":70.6907,"total_data":339552,"matched_data":339280,"matched_data_percent":99.9199,"total_functions":14331,"matched_functions":13226,"matched_functions_percent":92.289444,"complete_code":2588764,"complete_code_percent":70.707306,"complete_data":339552,"complete_data_percent":100,"total_units":12073,"complete_units":11352}},{"timestamp":"2026-10-14T08:34:05Z","commit_sha":"b681ad6f9badcf382c4b7d87caa149b851177060","commit_message":"Round 69: Actor_HandleLedgeAction, NpcPath_RebuildRoute, NpcRoute_Distance +4\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n13225/14331 functions, 70.46% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":70.46614,"total_code":3661240,"matched_code":2579592,"matched_code_percent":70.45679,"total_data":339552,"matched_data":339280,"matched_data_percent":99.9199,"total_functions":14331,"matched_functions":13225,"matched_functions_percent":92.28246,"complete_code":2580200,"complete_code_percent":70.47339,"complete_data":339552,"complete_data_percent":100,"total_units":12073,"complete_units":11351}},{"timestamp":"2026-10-14T08:23:48Z","commit_sha":"99498a51cc82381ed492b3c8835456ae7782ddd8","commit_message":"Cleanup g5: merge Objective.cc into one unit (79 files -> 1), vtables as data units\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n13218/14331 functions, 70.06% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":70.069,"total_code":3661240,"matched_code":2565052,"matched_code_percent":70.059654,"total_data":339552,"matched_data":339280,"matched_data_percent":99.9199,"total_functions":14331,"matched_functions":13218,"matched_functions_percent":92.23362,"complete_code":2565660,"complete_code_percent":70.076256,"complete_data":339552,"complete_data_percent":100,"total_units":12069,"complete_units":11344}},{"timestamp":"2026-10-14T08:08:10Z","commit_sha":"917d10ca41cc7a066d5b6678ad014f56cb773bc1","commit_message":"Round 67: SkelNodes_ApplyScale, func_00280470\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n13218/14331 functions, 70.06% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":70.069,"total_code":3661240,"matched_code":2565052,"matched_code_percent":70.059654,"total_data":339552,"matched_data":339280,"matched_data_percent":99.9199,"total_functions":14331,"matched_functions":13218,"matched_functions_percent":92.23362,"complete_code":2565660,"complete_code_percent":70.076256,"complete_data":339552,"complete_data_percent":100,"total_units":12148,"complete_units":11423}},{"timestamp":"2026-10-14T07:39:46Z","commit_sha":"4b257032f0a9141768e61ac255419ea09bd75b27","commit_message":"Round 66: 11 matches incl. Shadow_AddLightEntries, Secondary_InstallMotionSlots\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n13216/14331 functions, 70.03% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":70.03973,"total_code":3661240,"matched_code":2563980,"matched_code_percent":70.03037,"total_data":339552,"matched_data":339280,"matched_data_percent":99.9199,"total_functions":14331,"matched_functions":13216,"matched_functions_percent":92.219666,"complete_code":2564588,"complete_code_percent":70.04698,"complete_data":339552,"complete_data_percent":100,"total_units":12147,"complete_units":11421}},{"timestamp":"2026-10-14T07:31:25Z","commit_sha":"9a87df81a91282912b335e8e0c36077be9421b92","commit_message":"Round 65: Actor_HandleObjectAction (huge), HeldItem_UpdateFlight\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n13205/14331 functions, 69.87% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":69.88055,"total_code":3661240,"matched_code":2558152,"matched_code_percent":69.87119,"total_data":339552,"matched_data":339280,"matched_data_percent":99.9199,"total_functions":14331,"matched_functions":13205,"matched_functions_percent":92.14291,"complete_code":2558760,"complete_code_percent":69.8878,"complete_data":339552,"complete_data_percent":100,"total_units":12144,"complete_units":11410}},{"timestamp":"2026-10-14T07:20:03Z","commit_sha":"403ffa759fa0542e339107787d3e32dc1eb59061","commit_message":"Cleanup g4: merge GobjMan and 103 contiguous same-TU runs (647 files -> 104 units)\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n13203/14331 functions, 69.49% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":69.50122,"total_code":3661240,"matched_code":2544264,"matched_code_percent":69.49187,"total_data":339552,"matched_data":339280,"matched_data_percent":99.9199,"total_functions":14331,"matched_functions":13203,"matched_functions_percent":92.12895,"complete_code":2544872,"complete_code_percent":69.50848,"complete_data":339552,"complete_data_percent":100,"total_units":12142,"complete_units":11408}},{"timestamp":"2026-10-14T06:45:40Z","commit_sha":"ae0b6a97674abbe2a0a7237c26b9bcaf0a9f51f9","commit_message":"Round 63: Shadow_BuildProjection; refresh HANDOFF status\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n13203/14331 functions, 69.49% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":69.50122,"total_code":3661240,"matched_code":2544264,"matched_code_percent":69.49187,"total_data":339552,"matched_data":339280,"matched_data_percent":99.9199,"total_functions":14331,"matched_functions":13203,"matched_functions_percent":92.12895,"complete_code":2544872,"complete_code_percent":69.50848,"complete_data":339552,"complete_data_percent":100,"total_units":12696,"complete_units":11962}},{"timestamp":"2026-10-14T06:27:28Z","commit_sha":"8cef39c1d79f3f9b7d4c50d74ba15c201df255df","commit_message":"Round 62: Combat_RelativeAngles, func_002909C0 + cleanup g3 (SFOLobby Cell/Account/Callback/Config/Lobby, message: 102 files -> 6 TUs)\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n13202/14331 functions, 69.42% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":69.42922,"total_code":3661240,"matched_code":2541628,"matched_code_percent":69.41987,"total_data":339552,"matched_data":339280,"matched_data_percent":99.9199,"total_functions":14331,"matched_functions":13202,"matched_functions_percent":92.12197,"complete_code":2542236,"complete_code_percent":69.43647,"complete_data":339552,"complete_data_percent":100,"total_units":12696,"complete_units":11961}},{"timestamp":"2026-10-14T06:16:00Z","commit_sha":"03037f1612790b986fb8b58164144befe04bf0c9","commit_message":"Round 61: 9 matches incl. func_002757A0 (3.2 KB), GuiNewParts_BuildBonusList, Camera_ApplyInput, Ladder_Dismount\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n13200/14331 functions, 69.41% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":69.42136,"total_code":3661240,"matched_code":2541340,"matched_code_percent":69.412,"total_data":339552,"matched_data":339280,"matched_data_percent":99.9199,"total_functions":14331,"matched_functions":13200,"matched_functions_percent":92.10802,"complete_code":2541948,"complete_code_percent":69.42861,"complete_data":339552,"complete_data_percent":100,"total_units":12793,"complete_units":12058}},{"timestamp":"2026-10-14T05:58:27Z","commit_sha":"4736419c9c8a0e04fa9b1cb02e1b39ba0308f055","commit_message":"Round 60: 21 matches (c94mx mixed lane)\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n13191/14331 functions, 69.13% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":69.137955,"total_code":3661240,"matched_code":2530964,"matched_code_percent":69.1286,"total_data":339552,"matched_data":339280,"matched_data_percent":99.9199,"total_functions":14331,"matched_functions":13191,"matched_functions_percent":92.04522,"complete_code":2531572,"complete_code_percent":69.14521,"complete_data":339552,"complete_data_percent":100,"total_units":12789,"complete_units":12049}},{"timestamp":"2026-10-14T05:27:04Z","commit_sha":"f0f909edc8f58a5f3bb742d4532d43e90dc2a8de","commit_message":"Round 59: cNIEventLight_ctor, cNIEventOBJ_ctor; cleanup g2: merge 5 game TUs (20 files -> 5)\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n13170/14331 functions, 69.02% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":69.02521,"total_code":3661240,"matched_code":2526836,"matched_code_percent":69.015854,"total_data":339552,"matched_data":339280,"matched_data_percent":99.9199,"total_functions":14331,"matched_functions":13170,"matched_functions_percent":91.89868,"complete_code":2527444,"complete_code_percent":69.03246,"complete_data":339552,"complete_data_percent":100,"total_units":12785,"complete_units":12028}},{"timestamp":"2026-10-14T05:18:35Z","commit_sha":"d11847a9c6c7d540664c6b105a9110ee0557defb","commit_message":"Round 58: Actor_UpdateAnimationEvents, Npc_Initialize, Skm_UploadBones\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n13168/14331 functions, 68.88% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":68.889626,"total_code":3661240,"matched_code":2521872,"matched_code_percent":68.88027,"total_data":339552,"matched_data":339280,"matched_data_percent":99.9199,"total_functions":14331,"matched_functions":13168,"matched_functions_percent":91.88473,"complete_code":2522480,"complete_code_percent":68.89688,"complete_data":339552,"complete_data_percent":100,"total_units":12800,"complete_units":12041}},{"timestamp":"2026-10-14T05:01:59Z","commit_sha":"86070df092d698fa0558ab1ca3f9906c5adf8c66","commit_message":"Cleanup g1: merge 6 game TUs into real source files (decals, hog, fileman, targetManager, motionManager, FileHalPS2; 25 files -> 7)\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n13165/14331 functions, 68.7% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":68.70936,"total_code":3661240,"matched_code":2515272,"matched_code_percent":68.700005,"total_data":339552,"matched_data":339280,"matched_data_percent":99.9199,"total_functions":14331,"matched_functions":13165,"matched_functions_percent":91.86379,"complete_code":2515880,"complete_code_percent":68.716606,"complete_data":339552,"complete_data_percent":100,"total_units":12798,"complete_units":12038}},{"timestamp":"2026-10-14T04:48:31Z","commit_sha":"54f9c2f8f241ac0ab2977edadf2d8d92e3d7a5cf","commit_message":"Round 56: 3 matches incl. func_004C90C0 (13.6 KB), Generator_Spawn, Ladder_AlignTopBottom\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n13165/14331 functions, 68.7% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":68.70936,"total_code":3661240,"matched_code":2515272,"matched_code_percent":68.700005,"total_data":339552,"matched_data":339280,"matched_data_percent":99.9199,"total_functions":14331,"matched_functions":13165,"matched_functions_percent":91.86379,"complete_code":2515880,"complete_code_percent":68.716606,"complete_data":339552,"complete_data_percent":100,"total_units":12817,"complete_units":12057}},{"timestamp":"2026-10-14T04:34:00Z","commit_sha":"b5a142ef9f5e63b13105f23c044b77be5ceb6d2a","commit_message":"Cleanup: fix objdiff jump-table data in merged units; merge 9 newlib units (21 files -> 9); 31 SDK/newlib names\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n13162/14331 functions, 68.29% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":68.29671,"total_code":3661240,"matched_code":2500164,"matched_code_percent":68.28735,"total_data":339552,"matched_data":339280,"matched_data_percent":99.9199,"total_functions":14331,"matched_functions":13162,"matched_functions_percent":91.84286,"complete_code":2500772,"complete_code_percent":68.30396,"complete_data":339552,"complete_data_percent":100,"total_units":12816,"complete_units":12054}},{"timestamp":"2026-10-14T03:59:02Z","commit_sha":"9d2b16b401a5832445345a8e4c53b38f3f0b4c5c","commit_message":"Round 54: 5 matches (WaterFx_RenderRipples, sceFsInit, 00240DE0, 002189E0, 00398070)\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n13162/14331 functions, 68.29% code, 99.63% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":68.29671,"total_code":3661240,"matched_code":2500164,"matched_code_percent":68.28735,"total_data":339552,"matched_data":338280,"matched_data_percent":99.62539,"total_functions":14331,"matched_functions":13162,"matched_functions_percent":91.84286,"complete_code":2500772,"complete_code_percent":68.30396,"complete_data":339552,"complete_data_percent":100,"total_units":12828,"complete_units":12066}},{"timestamp":"2026-10-14T03:20:06Z","commit_sha":"05a036e0264ca203e1f382a135a0d7b585b7438f","commit_message":"Cleanup: merge 5 library units into real source files (libezcnf, libezctl, vfiprintf, libdbc, vfprintf; 35 files -> 5)\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n13157/14331 functions, 68.14% code, 99.63% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":68.14987,"total_code":3661240,"matched_code":2494788,"matched_code_percent":68.14052,"total_data":339552,"matched_data":338280,"matched_data_percent":99.62539,"total_functions":14331,"matched_functions":13157,"matched_functions_percent":91.80797,"complete_code":2495396,"complete_code_percent":68.15713,"complete_data":339552,"complete_data_percent":100,"total_units":12825,"complete_units":12061}},{"timestamp":"2026-10-14T03:05:04Z","commit_sha":"19c574e6e259ac64c986ef08c46b0e1275c1ff4b","commit_message":"Round 53: 4 matches (c82lg: func_002C1100, func_0028F760; c88tx: cBackpack_v10, func_002497C0)\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n13157/14331 functions, 68.14% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":68.14987,"total_code":3661240,"matched_code":2494788,"matched_code_percent":68.14052,"total_data":339552,"matched_data":339280,"matched_data_percent":99.9199,"total_functions":14331,"matched_functions":13157,"matched_functions_percent":91.80797,"complete_code":2495396,"complete_code_percent":68.15713,"complete_data":339552,"complete_data_percent":100,"total_units":12867,"complete_units":12103}},{"timestamp":"2026-10-14T02:32:27Z","commit_sha":"6a9e8f5edd68ecb95c394ec8c74328879f37d2fd","commit_message":"Round 52: 18 matches (c83lg/c84lg/c85nm/c87mx: Lift_Update, Generator_SpawnTest, NpcPath_Update, Camera_ConstructFov, PlayerInput_DrawDebugCamera, ...)\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n13153/14331 functions, 67.91% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":67.921646,"total_code":3661240,"matched_code":2486432,"matched_code_percent":67.91229,"total_data":339552,"matched_data":339280,"matched_data_percent":99.9199,"total_functions":14331,"matched_functions":13153,"matched_functions_percent":91.78005,"complete_code":2487040,"complete_code_percent":67.9289,"complete_data":339552,"complete_data_percent":100,"total_units":12865,"complete_units":12099}},{"timestamp":"2026-10-14T01:20:29Z","commit_sha":"c61c8913596598f36a64bb70591e7956b9e9fea2","commit_message":"Round 51: Blast_Prepare (c77lg), 001099F8 via gcc29as296 (c80nm)\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n13135/14331 functions, 67.32% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":67.32578,"total_code":3661240,"matched_code":2464616,"matched_code_percent":67.31643,"total_data":339552,"matched_data":339280,"matched_data_percent":99.9199,"total_functions":14331,"matched_functions":13135,"matched_functions_percent":91.65446,"complete_code":2465224,"complete_code_percent":67.33304,"complete_data":339552,"complete_data_percent":100,"total_units":12857,"complete_units":12080}},{"timestamp":"2026-10-14T00:59:09Z","commit_sha":"193e7de36a0bb58834fa3d03e1ecb3b7c3c253b5","commit_message":"Round 50: splat ignores fake constant symbols (D_FFFF/D_FFFFF/D_FFFFFF, scratchpad 0x70000000, uncached 0x20000000) so 20 byte-identical SDK/game functions score 100%; c80nm 001DFAD0\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n13133/14331 functions, 67.26% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":67.27432,"total_code":3661240,"matched_code":2462732,"matched_code_percent":67.26497,"total_data":339552,"matched_data":339280,"matched_data_percent":99.9199,"total_functions":14331,"matched_functions":13133,"matched_functions_percent":91.6405,"complete_code":2463340,"complete_code_percent":67.28157,"complete_data":339552,"complete_data_percent":100,"total_units":12856,"complete_units":12077}},{"timestamp":"2026-10-14T00:29:15Z","commit_sha":"1add25db3ac36b2773044d6b051ee24bb8d9c5c3","commit_message":"Round 49: 4 matches (Skf_Register, 002D40A0, 0027FA40, 003A1AD0); call sceSifInitRpc as func_0010FBC0 instead of the extra.ld D_ alias (fixes libcdvd/sifrpc relocation fuzzy)\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n13112/14331 functions, 66.98% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":67.269325,"total_code":3661240,"matched_code":2452448,"matched_code_percent":66.984085,"total_data":339552,"matched_data":339276,"matched_data_percent":99.91872,"total_functions":14331,"matched_functions":13112,"matched_functions_percent":91.493965,"complete_code":2463172,"complete_code_percent":67.27699,"complete_data":339552,"complete_data_percent":100,"total_units":12855,"complete_units":12076}},{"timestamp":"2026-10-14T00:14:40Z","commit_sha":"289720ea2c22ccb0fbe63009c69f07604fd5510d","commit_message":"Round 48: sceCdRead + 00108440 via new gcc29as296 kind (991111 cc1, 2.96 gas)\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n13108/14331 functions, 66.82% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":67.10097,"total_code":3661240,"matched_code":2446284,"matched_code_percent":66.81572,"total_data":339552,"matched_data":339276,"matched_data_percent":99.91872,"total_functions":14331,"matched_functions":13108,"matched_functions_percent":91.46605,"complete_code":2457008,"complete_code_percent":67.10863,"complete_data":339552,"complete_data_percent":100,"total_units":12855,"complete_units":12072}},{"timestamp":"2026-10-14T00:03:58Z","commit_sha":"cd0e5f1ce26bff40e5fb82f9376474326ad874b7","commit_message":"Round 47: 16 matches (c66lg SDK x12 incl sceGsResetGraph/sceGsResetPath, libmpeg _getRef0/_doMC; c72da Skm_BuildPalette, Actor_SurfaceSoundEffects, 001CEA90, 00372120)\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n13106/14331 functions, 66.79% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":67.07431,"total_code":3661240,"matched_code":2445308,"matched_code_percent":66.78907,"total_data":339552,"matched_data":339276,"matched_data_percent":99.91872,"total_functions":14331,"matched_functions":13106,"matched_functions_percent":91.452095,"complete_code":2456032,"complete_code_percent":67.08197,"complete_data":339552,"complete_data_percent":100,"total_units":12855,"complete_units":12070}},{"timestamp":"2026-10-13T23:54:45Z","commit_sha":"bf16787758ef7fe7f228ef37690c76a721c8ba38","commit_message":"Round 46: Skm_ClassifyParts (c76lg) + 83 function names from port research (names3)\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n13091/14331 functions, 66.44% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":66.713684,"total_code":3661240,"matched_code":2432468,"matched_code_percent":66.43836,"total_data":339552,"matched_data":339276,"matched_data_percent":99.91872,"total_functions":14331,"matched_functions":13091,"matched_functions_percent":91.34743,"complete_code":2442828,"complete_code_percent":66.72133,"complete_data":339552,"complete_data_percent":100,"total_units":12846,"complete_units":12051}},{"timestamp":"2026-10-13T23:15:25Z","commit_sha":"4f191e9cf5dccf60b88de9e32877da272e81d068","commit_message":"Round 45: 9 matches (c62lg AgentData_Load/Save/Reset/TotalPoints, awards_SetAwardsAndBonuses, 0043ACE0; c71lg Lift_Ctor, Object_HandleMessage, 001828E0)\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n13090/14331 functions, 66.41% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":66.68167,"total_code":3661240,"matched_code":2431296,"matched_code_percent":66.40635,"total_data":339552,"matched_data":339276,"matched_data_percent":99.91872,"total_functions":14331,"matched_functions":13090,"matched_functions_percent":91.340454,"complete_code":2441656,"complete_code_percent":66.689316,"complete_data":339552,"complete_data_percent":100,"total_units":12846,"complete_units":12050}},{"timestamp":"2026-10-13T22:57:52Z","commit_sha":"d5abc98293c17799d9736f0d5ee20d3d5d5492c4","commit_message":"Round 44: c73nm near-misses x6 (PathObj_GetPoint, SkaClip_Submit, Xform_Detach, AnimRoot_Construct, ModelCtx_ComputeBounds, 00371CF0)\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n13081/14331 functions, 66.09% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":66.36768,"total_code":3661240,"matched_code":2419800,"matched_code_percent":66.09236,"total_data":339552,"matched_data":339276,"matched_data_percent":99.91872,"total_functions":14331,"matched_functions":13081,"matched_functions_percent":91.27765,"complete_code":2430160,"complete_code_percent":66.37533,"complete_data":339552,"complete_data_percent":100,"total_units":12846,"complete_units":12041}},{"timestamp":"2026-10-13T22:26:44Z","commit_sha":"3027cab0e3bfe79d8067d4968854d2ba75811142","commit_message":"Round 43: 20 matches (c69da dead-addiu x11, c70da x9 incl ManUtils_LoadSKL, AnimSelector_Evaluate, MotionSlider_Evaluate)\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n13075/14331 functions, 66.02% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":66.298416,"total_code":3661240,"matched_code":2417264,"matched_code_percent":66.023094,"total_data":339552,"matched_data":339276,"matched_data_percent":99.91872,"total_functions":14331,"matched_functions":13075,"matched_functions_percent":91.23578,"complete_code":2427624,"complete_code_percent":66.30606,"complete_data":339552,"complete_data_percent":100,"total_units":12844,"complete_units":12035}},{"timestamp":"2026-10-13T22:12:43Z","commit_sha":"ef95735aae49ffee7695027bcc9be8d3ba15b0ab","commit_message":"Round 42: c66lg runtime/SDK x10 (MW exception runtime x6, libmpeg/libgraph/sceGsSyncPath)\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n13056/14331 functions, 65.73% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":65.98286,"total_code":3661240,"matched_code":2406396,"matched_code_percent":65.72626,"total_data":339552,"matched_data":339276,"matched_data_percent":99.91872,"total_functions":14331,"matched_functions":13056,"matched_functions_percent":91.1032,"complete_code":2416068,"complete_code_percent":65.99043,"complete_data":339552,"complete_data_percent":100,"total_units":12829,"complete_units":12015}},{"timestamp":"2026-10-13T21:41:37Z","commit_sha":"6c21d09362b1872262f20d734968383a7910283d","commit_message":"Round 41: 7 matches (c62lg frontend x4, c68nm 0020E730 + 0028BA90, c71lg Melee_ApplyHit)\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n13046/14331 functions, 65.55% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":65.81002,"total_code":3661240,"matched_code":2400068,"matched_code_percent":65.55342,"total_data":339552,"matched_data":339276,"matched_data_percent":99.91872,"total_functions":14331,"matched_functions":13046,"matched_functions_percent":91.033424,"complete_code":2409740,"complete_code_percent":65.8176,"complete_data":339552,"complete_data_percent":100,"total_units":12826,"complete_units":12005}},{"timestamp":"2026-10-13T20:47:15Z","commit_sha":"a3d2ab76574139c53c6c101b6304a51bfa1141a8","commit_message":"docs: refresh HANDOFF status after round 40 (13,039 / 65.45%)\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":65.7035,"total_code":3661240,"matched_code":2396168,"matched_code_percent":65.44689,"total_data":339552,"matched_data":339276,"matched_data_percent":99.91872,"total_functions":14331,"matched_functions":13039,"matched_functions_percent":90.98457,"complete_code":2405840,"complete_code_percent":65.71107,"complete_data":339552,"complete_data_percent":100,"total_units":12826,"complete_units":11998}},{"timestamp":"2026-10-13T20:46:04Z","commit_sha":"be5df2e1f7429c6216761095c7f51130b8ee1cc8","commit_message":"Round 40: 22 matches (c63da dead-addiu x14, c69da x4, c64lg cHotbox_ctor + 002A3BF0, c66lg d2b, c68nm 001364B0)\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n13039/14331 functions, 65.45% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":65.7035,"total_code":3661240,"matched_code":2396168,"matched_code_percent":65.44689,"total_data":339552,"matched_data":339276,"matched_data_percent":99.91872,"total_functions":14331,"matched_functions":13039,"matched_functions_percent":90.98457,"complete_code":2405840,"complete_code_percent":65.71107,"complete_data":339552,"complete_data_percent":100,"total_units":12826,"complete_units":11998}},{"timestamp":"2026-10-13T20:30:24Z","commit_sha":"555a5e6e071bf0710289a036fa8b7d5d7a7ac15b","commit_message":"Round 39: 7 matches (c62lg UI x5 incl 0041A450, 00415BB0, 0040D3C0; c60da 003C13C0 + 003A2A90)\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n13017/14331 functions, 65.08% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":65.34078,"total_code":3661240,"matched_code":2382888,"matched_code_percent":65.084175,"total_data":339552,"matched_data":339276,"matched_data_percent":99.91872,"total_functions":14331,"matched_functions":13017,"matched_functions_percent":90.83106,"complete_code":2392560,"complete_code_percent":65.34835,"complete_data":339552,"complete_data_percent":100,"total_units":12810,"complete_units":11975}},{"timestamp":"2026-10-13T20:11:27Z","commit_sha":"60afd69e2e3f5209e76750580028614830fc6c7c","commit_message":"Round 38: newlib x5 (19.5 KB): _vfprintf_r, __svfscanf, _dtoa_r, _strtod_r, qsort (c66lg)\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n13010/14331 functions, 64.98% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":65.23207,"total_code":3661240,"matched_code":2378908,"matched_code_percent":64.97547,"total_data":339552,"matched_data":339276,"matched_data_percent":99.91872,"total_functions":14331,"matched_functions":13010,"matched_functions_percent":90.78222,"complete_code":2388580,"complete_code_percent":65.23965,"complete_data":339552,"complete_data_percent":100,"total_units":12810,"complete_units":11968}},{"timestamp":"2026-10-13T20:03:25Z","commit_sha":"20f1df2a8bde75ca8f89887765b6ac036521e65c","commit_message":"Round 37: 8 matches (c60da dead-addiu x8 incl SkelNode_CopyConstruct, SkelNode_Assign, Root_GetWorldPose, Placement_Invert, Ladder_BlendToTarget)\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n13005/14331 functions, 64.43% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":64.68406,"total_code":3661240,"matched_code":2358844,"matched_code_percent":64.42746,"total_data":339552,"matched_data":339276,"matched_data_percent":99.91872,"total_functions":14331,"matched_functions":13005,"matched_functions_percent":90.74733,"complete_code":2368516,"complete_code_percent":64.691635,"complete_data":339552,"complete_data_percent":100,"total_units":12807,"complete_units":11960}},{"timestamp":"2026-10-13T19:55:37Z","commit_sha":"df06f8937888dce4e9dbf3e12b7ea368d7330ee2","commit_message":"Round 36: 9 matches (c62lg large UI draw 0041E560 + 00424F60; c65nm near-miss x7 incl Xform_Construct, AnimRoot_CopyRegion, Shadow_AddEntry, Shadow_AddGroundEntry)\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n12997/14331 functions, 64.36% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":64.61404,"total_code":3661240,"matched_code":2356280,"matched_code_percent":64.35743,"total_data":339552,"matched_data":339276,"matched_data_percent":99.91872,"total_functions":14331,"matched_functions":12997,"matched_functions_percent":90.691505,"complete_code":2365952,"complete_code_percent":64.621605,"complete_data":339552,"complete_data_percent":100,"total_units":12802,"complete_units":11952}},{"timestamp":"2026-10-13T19:47:07Z","commit_sha":"a9f933164b65a227f018d010d2034534c2599340","commit_message":"Round 35: 11 matches (c66lg newlib _vfiprintf_r + __kernel_rem_pio2, c50sm x8, c54lg 00167630 via extern strings)\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n12988/14331 functions, 64.23% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":64.48752,"total_code":3661240,"matched_code":2351648,"matched_code_percent":64.23092,"total_data":339552,"matched_data":339276,"matched_data_percent":99.91872,"total_functions":14331,"matched_functions":12988,"matched_functions_percent":90.62871,"complete_code":2361320,"complete_code_percent":64.49509,"complete_data":339552,"complete_data_percent":100,"total_units":12799,"complete_units":11943}},{"timestamp":"2026-10-13T19:26:54Z","commit_sha":"fcc613135677063687162b0ee1e74cb0ca06537e","commit_message":"docs: refresh HANDOFF status (12,977 functions, 63.97% code)\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":64.23132,"total_code":3661240,"matched_code":2342268,"matched_code_percent":63.97472,"total_data":339552,"matched_data":339276,"matched_data_percent":99.91872,"total_functions":14331,"matched_functions":12977,"matched_functions_percent":90.55195,"complete_code":2351940,"complete_code_percent":64.23889,"complete_data":339552,"complete_data_percent":100,"total_units":12795,"complete_units":11931}},{"timestamp":"2026-10-13T19:24:57Z","commit_sha":"74357a0e587fbf177e227c7b2fc6e4931beaa6ce","commit_message":"Round 34: 26 matches (c50sm x11, c54lg x4 large, c56lg x4 incl __divdi3, c60da x3, c55lg cNPC_CriticalNextFrame + __moddi3, c62lg 00412600, c65nm cSoundGOBJ_ctor)\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n12977/14331 functions, 63.97% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":64.23132,"total_code":3661240,"matched_code":2342268,"matched_code_percent":63.97472,"total_data":339552,"matched_data":339276,"matched_data_percent":99.91872,"total_functions":14331,"matched_functions":12977,"matched_functions_percent":90.55195,"complete_code":2351940,"complete_code_percent":64.23889,"complete_data":339552,"complete_data_percent":100,"total_units":12795,"complete_units":11931}},{"timestamp":"2026-10-13T19:14:30Z","commit_sha":"8f0d2ac8980fc95970a362520d5233fd3a1389ee","commit_message":"Round 33: 19 matches (c59da dead-addiu x11 incl SkaClip_Construct, Placement_ApplyParent, Xform_*; c42gn gcc x5; c61nm x3)\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n12952/14331 functions, 63.39% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":63.645832,"total_code":3661240,"matched_code":2320832,"matched_code_percent":63.389236,"total_data":339552,"matched_data":339276,"matched_data_percent":99.91872,"total_functions":14331,"matched_functions":12952,"matched_functions_percent":90.3775,"complete_code":2330504,"complete_code_percent":63.653408,"complete_data":339552,"complete_data_percent":100,"total_units":12779,"complete_units":11903}},{"timestamp":"2026-10-13T18:26:43Z","commit_sha":"8eb2bca896fbca2f3783076fc1401f06b1689ae4","commit_message":"Round 32: 18 matches (c50sm x12 untouched small, c52md x5 incl jump-table gcc296g0, c51md 0031D680)\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n12933/14331 functions, 63.19% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":63.450054,"total_code":3661240,"matched_code":2313664,"matched_code_percent":63.19345,"total_data":339552,"matched_data":339276,"matched_data_percent":99.91872,"total_functions":14331,"matched_functions":12933,"matched_functions_percent":90.24493,"complete_code":2323336,"complete_code_percent":63.457626,"complete_data":339552,"complete_data_percent":100,"total_units":12767,"complete_units":11884}},{"timestamp":"2026-10-13T18:02:55Z","commit_sha":"f49bf540e5da1333c829a4c1726f8af47079d574","commit_message":"Round 31: 14 matches (c58nm near-miss closers x7 incl AnimModel_Update, NpcAi_Construct, cGenerator_ctor, Script_LinkDefinition; c57da dead-addiu x7 incl Culler_TestObject, Root_RefreshWorldCache)\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n12915/14331 functions, 62.94% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":63.201286,"total_code":3661240,"matched_code":2304556,"matched_code_percent":62.944687,"total_data":339552,"matched_data":339276,"matched_data_percent":99.91872,"total_functions":14331,"matched_functions":12915,"matched_functions_percent":90.11932,"complete_code":2314228,"complete_code_percent":63.20886,"complete_data":339552,"complete_data_percent":100,"total_units":12756,"complete_units":11865}},{"timestamp":"2026-10-13T17:23:30Z","commit_sha":"a21e222dd7ae9b6b522d9aac71b5605eb671f526","commit_message":"Round 30: 14 matches (c57da gobj dead-addiu idiom solved x6, c45dw x3, c47fr ItemRegTable_Append + 00400620, c49ty x3)\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n12901/14331 functions, 62.7% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":62.95809,"total_code":3661240,"matched_code":2295652,"matched_code_percent":62.70149,"total_data":339552,"matched_data":339276,"matched_data_percent":99.91872,"total_functions":14331,"matched_functions":12901,"matched_functions_percent":90.02164,"complete_code":2305324,"complete_code_percent":62.96566,"complete_data":339552,"complete_data_percent":100,"total_units":12750,"complete_units":11850}},{"timestamp":"2026-10-13T16:21:54Z","commit_sha":"485febb4b7620dee1e32ba928db7f57689a5b41b","commit_message":"Round 29: 8 matches (c41nd Script_Cleanup, Model_SetupMaterialFx, cNPC_v10, 0013C800, 0037BD40; c43mn 00418E00, Appearance_ReorderParts, 00381F30)\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n12887/14331 functions, 62.4% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":62.660812,"total_code":3661240,"matched_code":2284768,"matched_code_percent":62.404217,"total_data":339552,"matched_data":339276,"matched_data_percent":99.91872,"total_functions":14331,"matched_functions":12887,"matched_functions_percent":89.92394,"complete_code":2294440,"complete_code_percent":62.668385,"complete_data":339552,"complete_data_percent":100,"total_units":12743,"complete_units":11835}},{"timestamp":"2026-10-13T16:10:06Z","commit_sha":"d400b5ba7d50a1585be78d79ba4c0362a11eede6","commit_message":"Round 28: 5 matches (c46nm 002D9EC8, 004CC810, 003E7D60, 003FB750, 00333600)\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n12879/14331 functions, 62.18% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":62.441216,"total_code":3661240,"matched_code":2276728,"matched_code_percent":62.184612,"total_data":339552,"matched_data":339276,"matched_data_percent":99.91872,"total_functions":14331,"matched_functions":12879,"matched_functions_percent":89.86812,"complete_code":2286400,"complete_code_percent":62.448788,"complete_data":339552,"complete_data_percent":100,"total_units":12739,"complete_units":11827}},{"timestamp":"2026-10-13T15:47:38Z","commit_sha":"1bef6e5cae10faacd3ab4e557c4840d8f5a93487","commit_message":"Round 27: 4 matches (c40nd NpcPerception_Clear, CameraCol_SetCollection, Object_ClosestPlayerDistSq, sceDbcCreateSocket)\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n12874/14331 functions, 62.14% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":62.39216,"total_code":3661240,"matched_code":2274932,"matched_code_percent":62.13556,"total_data":339552,"matched_data":339276,"matched_data_percent":99.91872,"total_functions":14331,"matched_functions":12874,"matched_functions_percent":89.83323,"complete_code":2284604,"complete_code_percent":62.399734,"complete_data":339552,"complete_data_percent":100,"total_units":12739,"complete_units":11822}},{"timestamp":"2026-10-13T15:31:32Z","commit_sha":"d2a19586473a7da9a26b2ad0f3b633e01bbfff64","commit_message":"Round 26: 14 matches (c32sm 5, c35md 5, c34sm 2, c36md 00417C60, c38fr static init 004C7500)\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n12870/14331 functions, 62.11% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":62.364742,"total_code":3661240,"matched_code":2273928,"matched_code_percent":62.108143,"total_data":339552,"matched_data":339276,"matched_data_percent":99.91872,"total_functions":14331,"matched_functions":12870,"matched_functions_percent":89.80531,"complete_code":2283600,"complete_code_percent":62.37231,"complete_data":339552,"complete_data_percent":100,"total_units":12738,"complete_units":11819}},{"timestamp":"2026-10-13T15:23:36Z","commit_sha":"9be9a842ac287169ea4f2df9b97a8ae233677c76","commit_message":"Round 25: 2 units (c33sm 002E2BB8; tank 00286570+00286590 two-function unit)\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n12856/14331 functions, 61.74% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":61.995247,"total_code":3661240,"matched_code":2260400,"matched_code_percent":61.738647,"total_data":339552,"matched_data":339276,"matched_data_percent":99.91872,"total_functions":14331,"matched_functions":12856,"matched_functions_percent":89.70763,"complete_code":2270072,"complete_code_percent":62.00282,"complete_data":339552,"complete_data_percent":100,"total_units":12735,"complete_units":11804}},{"timestamp":"2026-10-13T14:44:37Z","commit_sha":"68932c1ceee6c366ffc8dedd52d2686f1f6b1950","commit_message":"Round 24: 2 matches (c31fr XML parser 00311418, 002CF648)\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n12855/14331 functions, 61.73% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":61.986504,"total_code":3661240,"matched_code":2260104,"matched_code_percent":61.730564,"total_data":339552,"matched_data":339276,"matched_data_percent":99.91872,"total_functions":14331,"matched_functions":12855,"matched_functions_percent":89.70065,"complete_code":2269488,"complete_code_percent":61.98687,"complete_data":339552,"complete_data_percent":100,"total_units":12734,"complete_units":11802}},{"timestamp":"2026-10-13T14:36:43Z","commit_sha":"7be1240657ecf33bb4fece4358e8be38ccc1d9f2","commit_message":"Round 23: 5 matches (c24fr Col_Relocate, 004434A0, 0044E430; c27fr Skas_Load, 003F0BD0)\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n12853/14331 functions, 61.49% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":61.7444,"total_code":3661240,"matched_code":2251240,"matched_code_percent":61.488457,"total_data":339552,"matched_data":339276,"matched_data_percent":99.91872,"total_functions":14331,"matched_functions":12853,"matched_functions_percent":89.68669,"complete_code":2260624,"complete_code_percent":61.744762,"complete_data":339552,"complete_data_percent":100,"total_units":12733,"complete_units":11799}},{"timestamp":"2026-10-13T14:23:45Z","commit_sha":"1ae309fcb45bf8d1ebbe0952c8a81559200bd08a","commit_message":"Round 22: 5 matches (c28nm gcc296g0 002E0210, Montgomery modexp 002F14E8, Npc_SetupModel; c30nm 00460450, 0029D390)\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n12848/14331 functions, 61.18% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":61.43325,"total_code":3661240,"matched_code":2239848,"matched_code_percent":61.177307,"total_data":339552,"matched_data":339276,"matched_data_percent":99.91872,"total_functions":14331,"matched_functions":12848,"matched_functions_percent":89.6518,"complete_code":2249232,"complete_code_percent":61.433613,"complete_data":339552,"complete_data_percent":100,"total_units":12732,"complete_units":11794}},{"timestamp":"2026-10-13T14:14:40Z","commit_sha":"d9a07d0449285117e72f8a74813cc326ad24f5fb","commit_message":"Round 21: 6 matches (c25gn mpeg2decode form_predictions; c26fr 00134110, World_Teardown, World_Setup, 00245F00, GuiScoresEquip update 0035BFB0)\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n12843/14331 functions, 60.96% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":61.211796,"total_code":3661240,"matched_code":2231740,"matched_code_percent":60.955853,"total_data":339552,"matched_data":339276,"matched_data_percent":99.91872,"total_functions":14331,"matched_functions":12843,"matched_functions_percent":89.61691,"complete_code":2241124,"complete_code_percent":61.21216,"complete_data":339552,"complete_data_percent":100,"total_units":12730,"complete_units":11789}},{"timestamp":"2026-10-13T14:06:08Z","commit_sha":"cdd2fe14b8f7f6a2a11c523c40d7e0479448d396","commit_message":"Round 20: 3 matches (c21nm 00327D90, 00146460, HeldItem_Release)\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n12837/14331 functions, 60.64% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":60.893547,"total_code":3661240,"matched_code":2220088,"matched_code_percent":60.6376,"total_data":339552,"matched_data":339276,"matched_data_percent":99.91872,"total_functions":14331,"matched_functions":12837,"matched_functions_percent":89.57504,"complete_code":2229472,"complete_code_percent":60.893906,"complete_data":339552,"complete_data_percent":100,"total_units":12727,"complete_units":11783}},{"timestamp":"2026-10-13T13:56:56Z","commit_sha":"e6bbb6045a5696540d2c0a7902303676864ffbee","commit_message":"Round 19: 3 matches (c22fr 0029A190, selection-tab setter 002A7E90 + jtbl, 002CB3D0)\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n12834/14331 functions, 60.54% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":60.79828,"total_code":3661240,"matched_code":2216600,"matched_code_percent":60.542328,"total_data":339552,"matched_data":339276,"matched_data_percent":99.91872,"total_functions":14331,"matched_functions":12834,"matched_functions_percent":89.554115,"complete_code":2225984,"complete_code_percent":60.798637,"complete_data":339552,"complete_data_percent":100,"total_units":12726,"complete_units":11780}},{"timestamp":"2026-10-13T13:49:06Z","commit_sha":"7b6a248967cc8a276dade4428d29326dbefb3fdb","commit_message":"Round 18: 2 matches (c20fr 001B57C0; c19fr gcc296g0 00314550)\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n12831/14331 functions, 60.42% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":60.674824,"total_code":3661240,"matched_code":2212080,"matched_code_percent":60.418873,"total_data":339552,"matched_data":339276,"matched_data_percent":99.91872,"total_functions":14331,"matched_functions":12831,"matched_functions_percent":89.53318,"complete_code":2221464,"complete_code_percent":60.67518,"complete_data":339552,"complete_data_percent":100,"total_units":12726,"complete_units":11777}},{"timestamp":"2026-10-13T13:41:02Z","commit_sha":"a2cec6c13a67b5e4d328ca3231f0949c41ab5f77","commit_message":"Round 17: 3 matches (c18fr PlayerComp_HandleMessage + jtbl, Actor_Revive, Actor_ResetAnimChannels)\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n12829/14331 functions, 60.34% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":60.593758,"total_code":3661240,"matched_code":2209112,"matched_code_percent":60.33781,"total_data":339552,"matched_data":339276,"matched_data_percent":99.91872,"total_functions":14331,"matched_functions":12829,"matched_functions_percent":89.519226,"complete_code":2218496,"complete_code_percent":60.594116,"complete_data":339552,"complete_data_percent":100,"total_units":12726,"complete_units":11775}},{"timestamp":"2026-10-13T13:34:02Z","commit_sha":"19fee327f6743dbe3358e1f5214dbe236b8090e5","commit_message":"Round 16: 5 matches (c17fr 0040FF20, 00410630; c15fr MW EH unwind interpreter 00101640, libmpeg PES header 0010A998, newlib __ieee754_rem_pio2 0011CA20)\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n12826/14331 functions, 60.2% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":60.45763,"total_code":3661240,"matched_code":2204128,"matched_code_percent":60.20168,"total_data":339552,"matched_data":339276,"matched_data_percent":99.91872,"total_functions":14331,"matched_functions":12826,"matched_functions_percent":89.49829,"complete_code":2213512,"complete_code_percent":60.457985,"complete_data":339552,"complete_data_percent":100,"total_units":12725,"complete_units":11771}},{"timestamp":"2026-10-13T13:24:58Z","commit_sha":"e0c274879d0a65c52dfaf1a787d0b36733a020cc","commit_message":"Round 15: 2 matches (c16nm 00256500, Script_cElevatorGOBJ_ChooseFloor_2)\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n12821/14331 functions, 59.97% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":60.23006,"total_code":3661240,"matched_code":2195796,"matched_code_percent":59.974106,"total_data":339552,"matched_data":339276,"matched_data_percent":99.91872,"total_functions":14331,"matched_functions":12821,"matched_functions_percent":89.4634,"complete_code":2205180,"complete_code_percent":60.230415,"complete_data":339552,"complete_data_percent":100,"total_units":12719,"complete_units":11763}},{"timestamp":"2026-10-13T13:15:34Z","commit_sha":"bb4f19349306d504d1dba78d6f24a38eb2661c70","commit_message":"Round 14: 3 matches (c13fr 0044FA70, 00450060, 00458A30)\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n12819/14331 functions, 59.96% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":60.211704,"total_code":3661240,"matched_code":2195124,"matched_code_percent":59.955753,"total_data":339552,"matched_data":339276,"matched_data_percent":99.91872,"total_functions":14331,"matched_functions":12819,"matched_functions_percent":89.44945,"complete_code":2204508,"complete_code_percent":60.21206,"complete_data":339552,"complete_data_percent":100,"total_units":12719,"complete_units":11761}},{"timestamp":"2026-10-13T13:08:05Z","commit_sha":"2f888cd38231f87d01c538ba1f67edeb1b7abca3","commit_message":"Round 13: 9 matches (c11nm MsgQueue_Pump, vector<SkelNode>::insert, 001C8E10, FileMan_GetSize; c10fr 00253070; c14fr 00428450, 0042C1E0, 0042E180, 0043F200)\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n12816/14331 functions, 59.83% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":60.081802,"total_code":3661240,"matched_code":2190368,"matched_code_percent":59.82585,"total_data":339552,"matched_data":339276,"matched_data_percent":99.91872,"total_functions":14331,"matched_functions":12816,"matched_functions_percent":89.42851,"complete_code":2199752,"complete_code_percent":60.082157,"complete_data":339552,"complete_data_percent":100,"total_units":12718,"complete_units":11758}},{"timestamp":"2026-10-13T12:59:28Z","commit_sha":"dcee04ba1d3e45c7873554a88a9cdb81fed7fd0a","commit_message":"Round 12: 3 matches (c9fr cInteractGOBJ_v01, cGenerator_v01, gcc29 002234D0 USB keyboard parser)\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n12807/14331 functions, 59.51% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":59.76846,"total_code":3661240,"matched_code":2178896,"matched_code_percent":59.512512,"total_data":339552,"matched_data":339276,"matched_data_percent":99.91872,"total_functions":14331,"matched_functions":12807,"matched_functions_percent":89.36571,"complete_code":2188280,"complete_code_percent":59.76882,"complete_data":339552,"complete_data_percent":100,"total_units":12717,"complete_units":11749}},{"timestamp":"2026-10-13T12:37:41Z","commit_sha":"6cb3c9f3fe4e3a8e8aa554f4d938f983e020d399","commit_message":"Round 11: 6 matches (c6mr Archive_Open, AnimCtl_InstallMotion, Script_AddPDAQuip, TeamRelations_CreateMultiplayer; c4gq gcc296 002DB0D0, 002E85B8)\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n12804/14331 functions, 59.4% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":59.653202,"total_code":3661240,"matched_code":2174676,"matched_code_percent":59.39725,"total_data":339552,"matched_data":339276,"matched_data_percent":99.91872,"total_functions":14331,"matched_functions":12804,"matched_functions_percent":89.34477,"complete_code":2184060,"complete_code_percent":59.65356,"complete_data":339552,"complete_data_percent":100,"total_units":12716,"complete_units":11746}},{"timestamp":"2026-10-13T12:26:10Z","commit_sha":"f26b7a8bc8087492e377e8b60c1092867e10593c","commit_message":"Match 10 more functions (round 10)\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n12798/14331 functions, 59.33% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":59.59016,"total_code":3661240,"matched_code":2172368,"matched_code_percent":59.334213,"total_data":339552,"matched_data":339276,"matched_data_percent":99.91872,"total_functions":14331,"matched_functions":12798,"matched_functions_percent":89.30291,"complete_code":2181752,"complete_code_percent":59.59052,"complete_data":339552,"complete_data_percent":100,"total_units":12714,"complete_units":11740}},{"timestamp":"2026-10-13T12:18:23Z","commit_sha":"87952bad35af8c1e2ff0cbf2acb9efb9ca2accdb","commit_message":"Match text drawing function 003CFAB0 (round 9)\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n12788/14331 functions, 59.04% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":59.299007,"total_code":3661240,"matched_code":2161708,"matched_code_percent":59.043056,"total_data":339552,"matched_data":339276,"matched_data_percent":99.91872,"total_functions":14331,"matched_functions":12788,"matched_functions_percent":89.23313,"complete_code":2171092,"complete_code_percent":59.299362,"complete_data":339552,"complete_data_percent":100,"total_units":12710,"complete_units":11729}},{"timestamp":"2026-10-13T12:05:04Z","commit_sha":"f241157619202e151c42b1f72449389c7cc969af","commit_message":"Match Hotbox_UpdateTracker and NpcPerception_Think (round 8)\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n12787/14331 functions, 58.97% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":59.22876,"total_code":3661240,"matched_code":2159136,"matched_code_percent":58.972805,"total_data":339552,"matched_data":339276,"matched_data_percent":99.91872,"total_functions":14331,"matched_functions":12787,"matched_functions_percent":89.22615,"complete_code":2168520,"complete_code_percent":59.22911,"complete_data":339552,"complete_data_percent":100,"total_units":12710,"complete_units":11728}},{"timestamp":"2026-10-13T11:52:42Z","commit_sha":"96018315bd6501aa36300f9cb49febe49af54dd3","commit_message":"Match NpcPerception_NextCandidate (round 7)\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n12785/14331 functions, 58.89% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":59.147476,"total_code":3661240,"matched_code":2156160,"matched_code_percent":58.89152,"total_data":339552,"matched_data":339276,"matched_data_percent":99.91872,"total_functions":14331,"matched_functions":12785,"matched_functions_percent":89.2122,"complete_code":2165544,"complete_code_percent":59.147827,"complete_data":339552,"complete_data_percent":100,"total_units":12710,"complete_units":11726}},{"timestamp":"2026-10-13T11:39:49Z","commit_sha":"fda60932c28d743261a3274bf6ea12100c29e877","commit_message":"Match hotbox, slot-list, and text layout functions (round codex-6)\n\nReconstruct 4488 bytes across Hotbox_Type2Receiver, AgentOpen_BuildSlotList, and the text position/layout routine. Update the handoff status and matching lessons.\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64 (SHA-256 9924da91767c8145411f37fa6c14c9d77208264c17f1ce9ee157d51abdd31dc6)\n12784/14331 functions, 58.84% code, 99.92% data\n\nCo-authored-by: Codex <codex@openai.com>","measures":{"fuzzy_match_percent":59.1006,"total_code":3661240,"matched_code":2154444,"matched_code_percent":58.844654,"total_data":339552,"matched_data":339276,"matched_data_percent":99.91872,"total_functions":14331,"matched_functions":12784,"matched_functions_percent":89.205215,"complete_code":2163828,"complete_code_percent":59.10096,"complete_data":339552,"complete_data_percent":100,"total_units":12710,"complete_units":11725}},{"timestamp":"2026-10-13T11:28:06Z","commit_sha":"15288eef27f2781429bbed3b16a465592ae9e379","commit_message":"Match equipment and event handlers (round codex-5)\n\nReconstruct 2980 bytes in equipment menu handling and Event_Send, including message routing, cloning, and queue insertion.\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64 (SHA-256 9924da91767c8145411f37fa6c14c9d77208264c17f1ce9ee157d51abdd31dc6)\n12781/14331 functions, 58.72% code, 99.92% data\n\nCo-authored-by: Codex <codex@openai.com>","measures":{"fuzzy_match_percent":58.978024,"total_code":3661240,"matched_code":2149956,"matched_code_percent":58.722073,"total_data":339552,"matched_data":339276,"matched_data_percent":99.91872,"total_functions":14331,"matched_functions":12781,"matched_functions_percent":89.18428,"complete_code":2159340,"complete_code_percent":58.97838,"complete_data":339552,"complete_data_percent":100,"total_units":12708,"complete_units":11721}},{"timestamp":"2026-10-13T11:16:34Z","commit_sha":"dc2686d2dc99ba2c028f946116b6fabebb42a190","commit_message":"Match three menu, save, and model functions (round codex-4)\n\nReconstruct 5736 bytes across menu handling, memory-card management, and model preparation. All three pass per-file matching and the full retail comparison.\n\nThe generated report counts two additions; func_0038A800 has identical linked bytes but target-only scratchpad relocations leave its symbolic report at 99.93%. Document this reporting artifact in the handoff.\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64 (SHA-256 9924da91767c8145411f37fa6c14c9d77208264c17f1ce9ee157d51abdd31dc6)\n12779/14331 functions, 58.64% code, 99.92% data\n\nCo-authored-by: Codex <codex@openai.com>","measures":{"fuzzy_match_percent":58.896626,"total_code":3661240,"matched_code":2146976,"matched_code_percent":58.64068,"total_data":339552,"matched_data":339276,"matched_data_percent":99.91872,"total_functions":14331,"matched_functions":12779,"matched_functions_percent":89.170334,"complete_code":2156360,"complete_code_percent":58.896988,"complete_data":339552,"complete_data_percent":100,"total_units":12708,"complete_units":11719}},{"timestamp":"2026-10-13T10:59:48Z","commit_sha":"748853c9bbc638733cf8a6205ddae214816c849d","commit_message":"Match equipment acceptance handler (round codex-3)\n\nReconstruct the full 2564-byte GuiEquipmentModify_Accept function, including inventory changes and screen input handling.\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64 (SHA-256 9924da91767c8145411f37fa6c14c9d77208264c17f1ce9ee157d51abdd31dc6)\n12777/14331 functions, 58.55% code, 99.92% data\n\nCo-authored-by: Codex <codex@openai.com>","measures":{"fuzzy_match_percent":58.74,"total_code":3661240,"matched_code":2143568,"matched_code_percent":58.5476,"total_data":339552,"matched_data":339276,"matched_data_percent":99.91872,"total_functions":14331,"matched_functions":12777,"matched_functions_percent":89.15637,"complete_code":2150624,"complete_code_percent":58.74032,"complete_data":339552,"complete_data_percent":100,"total_units":12706,"complete_units":11716}},{"timestamp":"2026-10-13T10:41:31Z","commit_sha":"b331d4f718a62a469cbdb2ed4f5c62b343b9f0bd","commit_message":"Match 8 more functions (round codex-2)\n\nMatch equipment-screen setup, animation transitions, player lookup, lobby handling, NPC messaging, interpolation, and two GCC library routines. Update the handoff totals and matching techniques.\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64 (SHA-256 9924da91767c8145411f37fa6c14c9d77208264c17f1ce9ee157d51abdd31dc6)\n12776/14331 functions, 58.48% code, 99.92% data\n\nCo-authored-by: Codex <codex@openai.com>","measures":{"fuzzy_match_percent":58.669975,"total_code":3661240,"matched_code":2141004,"matched_code_percent":58.477562,"total_data":339552,"matched_data":339276,"matched_data_percent":99.91872,"total_functions":14331,"matched_functions":12776,"matched_functions_percent":89.1494,"complete_code":2148060,"complete_code_percent":58.670288,"complete_data":339552,"complete_data_percent":100,"total_units":12705,"complete_units":11715}},{"timestamp":"2026-10-13T10:26:55Z","commit_sha":"70eb9a5ff005d1ebe2daf31523a7b18db73cc35d","commit_message":"Match 4 more functions (round codex-1)\n\nMatch terrain-list finalization, model-load completion, and two texture-cache update functions.\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64 (SHA-256 9924da91767c8145411f37fa6c14c9d77208264c17f1ce9ee157d51abdd31dc6)\n12768/14331 functions, 58.34% code, 99.92% data\n\nCo-authored-by: Codex <codex@openai.com>","measures":{"fuzzy_match_percent":58.53723,"total_code":3661240,"matched_code":2136144,"matched_code_percent":58.344822,"total_data":339552,"matched_data":339276,"matched_data_percent":99.91872,"total_functions":14331,"matched_functions":12768,"matched_functions_percent":89.093575,"complete_code":2143200,"complete_code_percent":58.537544,"complete_data":339552,"complete_data_percent":100,"total_units":12703,"complete_units":11707}},{"timestamp":"2026-10-13T10:02:24Z","commit_sha":"4dd079168a95b28ba0b75cfc265d40446bcc1d37","commit_message":"Fix duplicate collision preset type exposed by a full rebuild\n\nUse the shared HumanColPreset definition and update the preset setter's field accesses. Document transitive header invalidation for cached builds.\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64 (SHA-256 9924da91767c8145411f37fa6c14c9d77208264c17f1ce9ee157d51abdd31dc6)\n12764/14331 functions, 58.28% code, 99.92% data\n\nCo-authored-by: Codex <codex@openai.com>","measures":{"fuzzy_match_percent":58.469826,"total_code":3661240,"matched_code":2133676,"matched_code_percent":58.277416,"total_data":339552,"matched_data":339276,"matched_data_percent":99.91872,"total_functions":14331,"matched_functions":12764,"matched_functions_percent":89.06566,"complete_code":2140732,"complete_code_percent":58.470135,"complete_data":339552,"complete_data_percent":100,"total_units":12700,"complete_units":11703}},{"timestamp":"2026-10-13T09:30:14Z","commit_sha":"3126bb1d4fd6c4e86965b8a6d94559243b5d88de","commit_message":"Add handoff guide for continuing the matching work\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":58.469826,"total_code":3661240,"matched_code":2133676,"matched_code_percent":58.277416,"total_data":339552,"matched_data":339276,"matched_data_percent":99.91872,"total_functions":14331,"matched_functions":12764,"matched_functions_percent":89.06566,"complete_code":2140732,"complete_code_percent":58.470135,"complete_data":339552,"complete_data_percent":100,"total_units":12700,"complete_units":11703}},{"timestamp":"2026-10-13T09:29:19Z","commit_sha":"bafe25dcdcabca3440f605a20da839af6239b752","commit_message":"Improve readability of GobjMan, guiManager, humanCollision, system, FileHalPS2, hog, motionManager and others\n\nOK: build/SCUS_972.64 matches retail SCUS_972.64\n12764/14331 functions, 58.28% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":58.469826,"total_code":3661240,"matched_code":2133676,"matched_code_percent":58.277416,"total_data":339552,"matched_data":339276,"matched_data_percent":99.91872,"total_functions":14331,"matched_functions":12764,"matched_functions_percent":89.06566,"complete_code":2140732,"complete_code_percent":58.470135,"complete_data":339552,"complete_data_percent":100,"total_units":12700,"complete_units":11703}},{"timestamp":"2026-10-13T09:20:05Z","commit_sha":"2762f0ee3d03fa3731e69e0eabbaf71b9e4bcd1a","commit_message":"Match 42 more functions (round 5w)\n\nLibrary code (EE-GCC 2.96 and 2.9 SDK functions: timers, interrupts, the gp\nswap callback, VU0 microprogram call) and game code (Game_ParseCommandLine,\nAgentData_EndLevel and others).\n\nOK: build/SCUS_972.64 matches retail (SHA-256 9924da91...31dc6)\n12764/14331 functions, 58.28% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":58.469826,"total_code":3661240,"matched_code":2133676,"matched_code_percent":58.277416,"total_data":339552,"matched_data":339276,"matched_data_percent":99.91872,"total_functions":14331,"matched_functions":12764,"matched_functions_percent":89.06566,"complete_code":2140732,"complete_code_percent":58.470135,"complete_data":339552,"complete_data_percent":100,"total_units":12700,"complete_units":11703}},{"timestamp":"2026-10-13T08:34:14Z","commit_sha":"3590431b5094d666f47e9b7a422b5d1fd8e40468","commit_message":"Improve readability of frontend, NINotice, MoviePlayer, pickup_menu, 989snd and ezNet\n\nNames 33 functions (FrontEndScene, MoviePlayer, SCE SIF/module calls, ezNetCnf/\nezNetCtl, vfiprintf, 989snd wrappers) and about 25 struct fields, and adds\nfrontend.h, movie_player.h and ezNet.h with SND_CMD_* ids in 989snd.h.\n\nOK: build/SCUS_972.64 matches retail (SHA-256 9924da91...31dc6)\n12722/14331 functions, 57.97% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":58.1661,"total_code":3661240,"matched_code":2122556,"matched_code_percent":57.973694,"total_data":339552,"matched_data":339276,"matched_data_percent":99.91872,"total_functions":14331,"matched_functions":12722,"matched_functions_percent":88.77259,"complete_code":2129612,"complete_code_percent":58.166416,"complete_data":339552,"complete_data_percent":100,"total_units":12684,"complete_units":11660}},{"timestamp":"2026-10-13T07:55:35Z","commit_sha":"23f790a6b62d171b580c0e7792d6a4fdcd7ea803","commit_message":"Improve readability of DME, lgaud, RSA, 989snd, flashlight, bullet and population\n\nNames 73 functions (including the PS2 kernel thread/semaphore calls, sceSifCallRpc\nand printf) and 17 DME globals, and adds headers for DME, lgaud, 989snd,\nflashlight and population with named structs and enums in place of raw offsets.\n\nOK: build/SCUS_972.64 matches retail (SHA-256 9924da91...31dc6)\n12722/14331 functions, 57.97% code, 99.92% data\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":58.1661,"total_code":3661240,"matched_code":2122556,"matched_code_percent":57.973694,"total_data":339552,"matched_data":339276,"matched_data_percent":99.91872,"total_functions":14331,"matched_functions":12722,"matched_functions_percent":88.77259,"complete_code":2129612,"complete_code_percent":58.166416,"complete_data":339552,"complete_data_percent":100,"total_units":12684,"complete_units":11660}},{"timestamp":"2026-10-13T07:44:52Z","commit_sha":"a87fc83a7d5b490249bdd192614d04b30341462b","commit_message":"Keep merge_units markers as func_ addresses\n\napply_names.py renamed the address labels in merge_units begin/end markers,\nwhich merge_units.py and clone_match.py parse. It now leaves markers alone and\nrestores the 106 markers it had renamed in 43 files.\n\nOK: build/SCUS_972.64 matches retail (SHA-256 9924da91...31dc6)\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":58.1661,"total_code":3661240,"matched_code":2122556,"matched_code_percent":57.973694,"total_data":339552,"matched_data":339276,"matched_data_percent":99.91872,"total_functions":14331,"matched_functions":12722,"matched_functions_percent":88.77259,"complete_code":2129612,"complete_code_percent":58.166416,"complete_data":339552,"complete_data_percent":100,"total_units":12684,"complete_units":11660}},{"timestamp":"2026-10-13T07:41:03Z","commit_sha":"a583ac585fb583744aa71be03bdf59a034ea8a0e","commit_message":"Match 79 more functions (round 5v)\n\nIntegrate the matches from batches r5h8, r5h9, r5i1, r5i2, r5i3, r5i4 and\nthe second near-miss pass (nm2), and apply the current function names.\n\nThe build prints the OK line (SHA-256 9924da91...31dc6). This round was\nverified on a GitHub Codespace (4-core AMD EPYC).\n\n12,722 of 14,331 functions matched, 57.97% of code, 99.92% of data.\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":58.1661,"total_code":3661240,"matched_code":2122556,"matched_code_percent":57.973694,"total_data":339552,"matched_data":339276,"matched_data_percent":99.91872,"total_functions":14331,"matched_functions":12722,"matched_functions_percent":88.77259,"complete_code":2129612,"complete_code_percent":58.166416,"complete_data":339552,"complete_data_percent":100,"total_units":12684,"complete_units":11660}},{"timestamp":"2026-10-13T07:14:30Z","commit_sha":"fbfdc7629c2eece5d52dd39be79d213dc614c303","commit_message":"Match 43 more functions (round 5u)\n\nIntegrate the matches from batches r5h5, r5h6 and r5h7 and apply the\ncurrent function names.\n\nThe build prints the OK line (SHA-256 9924da91...31dc6).\n\n12,643 of 14,331 functions matched, 57.13% of code, 99.92% of data.\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":57.317753,"total_code":3661240,"matched_code":2091496,"matched_code_percent":57.125347,"total_data":339552,"matched_data":339276,"matched_data_percent":99.91872,"total_functions":14331,"matched_functions":12643,"matched_functions_percent":88.22134,"complete_code":2098552,"complete_code_percent":57.31807,"complete_data":339552,"complete_data_percent":100,"total_units":12648,"complete_units":11575}},{"timestamp":"2026-10-13T06:58:16Z","commit_sha":"8d0861d46a78c2f853a6b364a341871c9e01b8c0","commit_message":"Pin glibc CPU routines so ee-gcc 2.96 output is host-independent\n\nThe 32-bit ee-gcc 2.96 cc1 reads uninitialized memory. On an AMD EPYC host\n(GitHub Codespaces) three library units compiled differently than on an\nIntel host, and which ones changed depended on the environment size.\nSetting GLIBC_TUNABLES to disable the CPU-specific glibc string routines\nfor every compile makes the output identical on both hosts.\n\nA clean rebuild of every object prints the OK line (SHA-256 9924da91...31dc6)\non both WSL (Intel i9-13900H) and a 4-core Codespace (AMD EPYC 7763).\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":56.922695,"total_code":3661240,"matched_code":2077032,"matched_code_percent":56.73029,"total_data":339552,"matched_data":339276,"matched_data_percent":99.91872,"total_functions":14331,"matched_functions":12600,"matched_functions_percent":87.921295,"complete_code":2084088,"complete_code_percent":56.923008,"complete_data":339552,"complete_data_percent":100,"total_units":12631,"complete_units":11531}},{"timestamp":"2026-10-13T06:37:55Z","commit_sha":"77da63931c422f1d86ad75d2f2448811b37ec439","commit_message":"Merge finished modules into translation units\n\nAdd tools/merge_units.py (docs/merge_units.md), which folds runs of\nper-function func_XXXXXXXX.c units into module files and keeps a merge only\nif the merged unit reproduces the retail code, padding and data.\n--unmerge splits a unit back. integrate_pending.py now refuses to replace\nthe start of a merged unit, and clone_match.py reads merged blocks.\n\nRan it with --all-complete: 252 per-function units in 35 modules with no\nassembly left became 73 module units (e.g. main/group 7 -> 1, aiMsgs,\nDME, lgaud, SFOLobby_*). Matched functions, code and data are unchanged.\n\nThe build prints the OK line (SHA-256 9924da91...31dc6).\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":56.922695,"total_code":3661240,"matched_code":2077032,"matched_code_percent":56.73029,"total_data":339552,"matched_data":339276,"matched_data_percent":99.91872,"total_functions":14331,"matched_functions":12600,"matched_functions_percent":87.921295,"complete_code":2084088,"complete_code_percent":56.923008,"complete_data":339552,"complete_data_percent":100,"total_units":12631,"complete_units":11531}},{"timestamp":"2026-10-13T06:22:18Z","commit_sha":"2b91eeb9275f6d94fea81fe3fde9ab2b59d44259","commit_message":"Improve readability of the SFOLobby and aiMsgs modules\n\nAdd include/SFOLobby.h with the 0x26A8-byte lobby struct (100+ named\nfields, enums and entry/reply structs) and use it across the seven SFOLobby\nmodules instead of raw offsets. Name the aiMsgs network packet fields and\n61 functions (SFOLobby_*, LobbyArray_*, aiMsgs _NetReceive/_NetRegister).\n\nThe build prints the OK line (SHA-256 9924da91...31dc6).\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":56.922695,"total_code":3661240,"matched_code":2077032,"matched_code_percent":56.73029,"total_data":339552,"matched_data":339276,"matched_data_percent":99.91872,"total_functions":14331,"matched_functions":12600,"matched_functions_percent":87.921295,"complete_code":2084088,"complete_code_percent":56.923008,"complete_data":339552,"complete_data_percent":100,"total_units":12810,"complete_units":11710}},{"timestamp":"2026-10-13T05:53:25Z","commit_sha":"7d18fba34dd944efd489b8be5dd366e42c583836","commit_message":"Match 43 more functions (round 5t)\n\nBatches r5g4, r5h3 and r5h4. Four r5g4 units keep an empty weak callee in\n.dtors_drop so the call resolves; the link script discards the section.\n\nThe build prints the OK line (SHA-256 9924da91...31dc6).\n\n12,600 / 14,331 functions (87.92%), 56.73% code, 99.92% data.\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":56.922695,"total_code":3661240,"matched_code":2077032,"matched_code_percent":56.73029,"total_data":339552,"matched_data":339276,"matched_data_percent":99.91872,"total_functions":14331,"matched_functions":12600,"matched_functions_percent":87.921295,"complete_code":2084088,"complete_code_percent":56.923008,"complete_data":339552,"complete_data_percent":100,"total_units":12810,"complete_units":11710}},{"timestamp":"2026-10-13T05:21:41Z","commit_sha":"981dbe6f11283ccb935c7f4b9e2694a15f5d1556","commit_message":"Match 78 more functions (round 5s) and link gp-relative literals from C\n\nRound 5s: neighbour batches r5g6, r5g8, r5g9, r5h1, r5h2 and the nm1\nnear-miss finisher (72 functions; 0045CE10 skipped: its .data is shared with\nfunc_0045CA20).\n\nEE-GCC units whose float literals land in .lit4/.lit8 can now be C: the new\ntools/lit_pool.py points each gp-relative literal load at the matching entry\nof retail's shared literal pool (checking the bytes) and drops the section.\nSix previously blocked lib functions are integrated with it. compile_aligned.py\nalso retries a compile that hangs under wibo.\n\nThe build prints the OK line (SHA-256 9924da91...31dc6).\n12557 / 14331 functions, 56.29% code, 99.92% data; progress/report.json updated.\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":56.485466,"total_code":3661240,"matched_code":2061024,"matched_code_percent":56.29306,"total_data":339552,"matched_data":339276,"matched_data_percent":99.91872,"total_functions":14331,"matched_functions":12557,"matched_functions_percent":87.62124,"complete_code":2068080,"complete_code_percent":56.48578,"complete_data":339552,"complete_data_percent":100,"total_units":12785,"complete_units":11666}},{"timestamp":"2026-10-13T04:17:07Z","commit_sha":"9c1a7508aba93d4a403a9808321a3fc469814d64","commit_message":"Match 46 more functions (round 5r)\n\nNeighbour batches r5g2 (gcc296 lobby/network code) and r5g7 (AgentData mw38\nmethods), plus r5f5's mixed mw38/gcc batch.\n\nThe build prints the OK line (SHA-256 9924da91...31dc6).\n12478 / 14331 functions, 55.50% code, 99.92% data; progress/report.json updated.\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":55.68967,"total_code":3661240,"matched_code":2031888,"matched_code_percent":55.497265,"total_data":339552,"matched_data":339276,"matched_data_percent":99.91872,"total_functions":14331,"matched_functions":12478,"matched_functions_percent":87.06999,"complete_code":2038944,"complete_code_percent":55.689983,"complete_data":339552,"complete_data_percent":100,"total_units":12753,"complete_units":11586}},{"timestamp":"2026-10-13T03:36:38Z","commit_sha":"a39b7c59e078cea20b5be8cbd3aaab383df7df7b","commit_message":"Pair GCC units' anonymous data with retail labels in objdiff\n\nGCC emits literal/const data as anonymous .LC blocks with no symbols, so\nobjdiff could not pair it with the target's D_xxx labels and 136 gcc-built\nlib units scored 0% data. data_obj.py now takes the target object and adds\nlocal OBJECT symbols at each retail label offset (sized to the next symbol)\nin the base object. Only objdiff bases change; link objects are untouched.\n\nThe build prints the OK line (SHA-256 9924da91...31dc6).\n12432 / 14331 functions, 55.08% code, 99.92% data; progress/report.json updated.\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":55.27571,"total_code":3661240,"matched_code":2016732,"matched_code_percent":55.083305,"total_data":339552,"matched_data":339276,"matched_data_percent":99.91872,"total_functions":14331,"matched_functions":12432,"matched_functions_percent":86.74901,"complete_code":2023788,"complete_code_percent":55.276024,"complete_data":339552,"complete_data_percent":100,"total_units":12728,"complete_units":11538}},{"timestamp":"2026-10-13T03:32:03Z","commit_sha":"5a7e6d22e733cef0b32e9976057b67d64501cb13","commit_message":"Match 66 more functions (round 5q)\n\nIntegrates the single-function matches from agents r5eh, r5g5, r5f3 and r5g3:\nthe lobby list/array/pump helpers, the gcc-built audio and FFT routines, script,\nGUI, sound-event and animation functions. One gcc file whose float constants\nlive in .lit4 is held back until that section can be linked from C.\n\nThe build prints the OK line (SHA-256 9924da91...31dc6).\n\n12432 / 14331 functions, 55.08% code, 97.51% data; progress/report.json updated.\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":55.27571,"total_code":3661240,"matched_code":2016732,"matched_code_percent":55.083305,"total_data":339552,"matched_data":331088,"matched_data_percent":97.5073,"total_functions":14331,"matched_functions":12432,"matched_functions_percent":86.74901,"complete_code":2023788,"complete_code_percent":55.276024,"complete_data":339552,"complete_data_percent":100,"total_units":12728,"complete_units":11538}},{"timestamp":"2026-10-13T03:14:13Z","commit_sha":"dde32c1dd893ddbc54395a3ddde07ff6991b6f38","commit_message":"Match 31 more functions (round 5p)\n\nIntegrates the single-function matches from agents r5g1 and r5f4: the RC4 and\nRSA key routines and list/ring-buffer helpers in the gcc-built network code,\nplus weapon inventory, fire object, animation group and lobby functions.\n\nThe build prints the OK line (SHA-256 9924da91...31dc6).\n\n12366 / 14331 functions, 54.36% code, 97.83% data; progress/report.json updated.\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":54.54831,"total_code":3661240,"matched_code":1990100,"matched_code_percent":54.3559,"total_data":339552,"matched_data":332180,"matched_data_percent":97.8289,"total_functions":14331,"matched_functions":12366,"matched_functions_percent":86.28847,"complete_code":1997156,"complete_code_percent":54.548622,"complete_data":339552,"complete_data_percent":100,"total_units":12693,"complete_units":11472}},{"timestamp":"2026-10-13T02:44:10Z","commit_sha":"2de1be981256dcdc283b6ab50c12df8a86df3ee5","commit_message":"Match 30 more functions (round 5o)\n\nIntegrates the single-function matches from agents r5f1 and r5ei: 200-700 byte\nroutines in gameobj, lobby, script and GUI code plus six gcc-compiled library\nfunctions. First round on the data_gen release/integrate/regenerate flow.\n\nThe build prints the OK line (SHA-256 9924da91...31dc6).\n\n12335 / 14331 functions, 54.12% code, 97.83% data; progress/report.json updated.\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":54.308064,"total_code":3661240,"matched_code":1981304,"matched_code_percent":54.115654,"total_data":339552,"matched_data":332180,"matched_data_percent":97.8289,"total_functions":14331,"matched_functions":12335,"matched_functions_percent":86.07215,"complete_code":1988360,"complete_code_percent":54.30838,"complete_data":339552,"complete_data_percent":100,"total_units":12673,"complete_units":11441}},{"timestamp":"2026-10-13T02:30:52Z","commit_sha":"8a3a8769f9b0afce38ae9db720cbc187cf9dcc36","commit_message":"Convert all remaining asm data to C data-only units\n\ntools/data_gen.py turns every asm data subsegment that no C unit owns into an\nordinary C unit, src/data/d_<VRAM>.c: strings, typed int/float/pointer arrays,\nstructs for mixed labels, and aligned(N) where the retail address needs it.\nNo inline asm, .incbin or linker aliases. Each unit is compiled with MW 3.0.3\nand checked against the ROM (sections, size, alignment, bytes, relocations)\nbefore it is written. configure.py builds data/ subsegments without a code\nunit as data-only units. docs/data_gen.md describes the rules and the\nrelease/integrate workflow.\n\n1108 units, 229,348 bytes, every unit 100% in objdiff.\n\nThe build prints the OK line (SHA-256 9924da91...31dc6).\n\n12305 / 14331 functions, 53.83% code, 97.83% data; progress/report.json updated.\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":54.02073,"total_code":3661240,"matched_code":1970784,"matched_code_percent":53.828323,"total_data":339552,"matched_data":332180,"matched_data_percent":97.8289,"total_functions":14331,"matched_functions":12305,"matched_functions_percent":85.862816,"complete_code":1977840,"complete_code_percent":54.02104,"complete_data":339552,"complete_data_percent":100,"total_units":12657,"complete_units":11411}},{"timestamp":"2026-10-13T02:17:16Z","commit_sha":"c1024d910da1d50764f2ebeeb376c513b7a98270","commit_message":"Match 37 more functions (round 5n)\n\nIntegrates the single-function matches from agents r5eg and r5f2, mostly\n200-700 byte gameobj, script, GUI, lobby and static-init routines.\n\nThe build prints the OK line (SHA-256 9924da91...31dc6).\n\n12305 / 14331 functions, 53.83% code, 30.28% data; progress/report.json updated.\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":54.02073,"total_code":3661240,"matched_code":1970784,"matched_code_percent":53.828323,"total_data":339552,"matched_data":102832,"matched_data_percent":30.28461,"total_functions":14331,"matched_functions":12305,"matched_functions_percent":85.862816,"complete_code":1977840,"complete_code_percent":54.02104,"complete_data":110204,"complete_data_percent":32.455708,"total_units":12657,"complete_units":10303}},{"timestamp":"2026-10-13T01:56:34Z","commit_sha":"bcda57b0b0569453483f5446644b43e3567ec5a6","commit_message":"Match 13 more functions and name 82 (round 5m)\n\nr5ef (mw38, mw50, gcc296g0, gcc29) and the last two clone-family matches from fam1.\n\n82 new function names come from today's port research (level end, front end, script hosting, NPC combat and GUI screen stack notes). They were added to config/symbol_addrs.txt and applied across src and include by tools/apply_names.py.\n\nThe build prints the OK line (SHA-256 9924da91...31dc6).\n\n12268 / 14331 functions, 53.43% code, 30.28% data; progress/report.json updated.\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":53.621628,"total_code":3661240,"matched_code":1956172,"matched_code_percent":53.429222,"total_data":339552,"matched_data":102800,"matched_data_percent":30.275187,"total_functions":14331,"matched_functions":12268,"matched_functions_percent":85.60463,"complete_code":1963228,"complete_code_percent":53.62194,"complete_data":110052,"complete_data_percent":32.410942,"total_units":12631,"complete_units":10266}},{"timestamp":"2026-10-13T01:31:09Z","commit_sha":"fb9f118c8ab16e2ecb4ddae0b6634108a5ee5d06","commit_message":"Match 28 more functions (round 5l)\n\nTwo 400-700 byte batches (r5ee, r5ed) in mw38 and gcc296g0. They include the world view setup, object marker icons, hotbox interaction selection, a same-shape group of four functions at 001DE870-001DEF90, and lobby and script helpers.\n\nThe build prints the OK line (SHA-256 9924da91...31dc6).\n\n12255 / 14331 functions, 53.19% code, 30.28% data; progress/report.json updated.\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":53.379196,"total_code":3661240,"matched_code":1947296,"matched_code_percent":53.18679,"total_data":339552,"matched_data":102800,"matched_data_percent":30.275187,"total_functions":14331,"matched_functions":12255,"matched_functions_percent":85.513916,"complete_code":1954352,"complete_code_percent":53.379513,"complete_data":110052,"complete_data_percent":32.410942,"total_units":12626,"complete_units":10253}},{"timestamp":"2026-10-13T00:46:14Z","commit_sha":"f1022e6b99d4cf93d21fdf6531d9353e63cded76","commit_message":"Match 31 more functions (round 5k)\n\nTwo 400-700 byte batches (r5e9, r5ec) in mw38, gcc29, gcc296 and gcc296g0. They include script native registration, shadow and physics helpers, and two gcc switch functions whose .rodata jump tables also match.\n\nThe build prints the OK line (SHA-256 9924da91...31dc6).\n\n12227 / 14331 functions, 52.73% code, 30.26% data; progress/report.json updated.\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":52.926018,"total_code":3661240,"matched_code":1930704,"matched_code_percent":52.733612,"total_data":339552,"matched_data":102736,"matched_data_percent":30.256336,"total_functions":14331,"matched_functions":12227,"matched_functions_percent":85.31854,"complete_code":1937760,"complete_code_percent":52.92633,"complete_data":109968,"complete_data_percent":32.3862,"total_units":12610,"complete_units":10225}},{"timestamp":"2026-10-13T00:07:34Z","commit_sha":"80eaeec30c9bbd5b03229853978d8968f4c14e40","commit_message":"Match 47 more functions (round 5j)\n\nThree 400-700 byte batches (r5e6, r5eb, r5ea) in mw38, mw50, gcc296 and gcc296g0: lobby cells, hotbox and UI helpers, gcc vector and sound routines. One unit's .data block was upgraded alongside its function.\n\nThe build prints the OK line (SHA-256 9924da91...31dc6).\n\n12197 / 14331 functions, 52.29% code, 30.23% data; progress/report.json updated.\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":52.46817,"total_code":3661240,"matched_code":1914512,"matched_code_percent":52.29136,"total_data":339552,"matched_data":102632,"matched_data_percent":30.22571,"total_functions":14331,"matched_functions":12197,"matched_functions_percent":85.10921,"complete_code":1920996,"complete_code_percent":52.468456,"complete_data":109608,"complete_data_percent":32.280178,"total_units":12588,"complete_units":10194}},{"timestamp":"2026-10-12T23:35:51Z","commit_sha":"c1c1366561b8f6476c58d4dcb10a3c80952e3fda","commit_message":"Match 61 more functions (round 5i)\n\n22 come from clone-family work: one member of a same-shape pair is hand-matched and tools/clone_match.py stamps the twin (SoundEvent and Global_Distance helpers, deque iterators, MotionGraph_ClearActive and others). The rest are 400-700 byte mw38, mw50 and gcc296 functions.\n\nfunc_0044B7A0 calls an overlay function outside the main ELF; config/extra.ld now defines func_1E68080 = 0x01E68080 for it. MotionGraph_ClearActive's empty iterator destructor uses the ALLOC_GUARD_DTOR drop section so its out-of-line copy is discarded.\n\nThe build prints the OK line (SHA-256 9924da91...31dc6).\n\n12151 / 14331 functions, 51.64% code, 30.21% data; progress/report.json updated.\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":51.80785,"total_code":3661240,"matched_code":1890804,"matched_code_percent":51.643814,"total_data":339552,"matched_data":102580,"matched_data_percent":30.210394,"total_functions":14331,"matched_functions":12151,"matched_functions_percent":84.78822,"complete_code":1896820,"complete_code_percent":51.808132,"complete_data":109556,"complete_data_percent":32.264866,"total_units":12563,"complete_units":10147}},{"timestamp":"2026-10-12T23:02:59Z","commit_sha":"e9a5494a905b3effca57d608e2398ea1eb25e2dc","commit_message":"Match 35 more functions (round 5h)\n\nIncludes ScriptDesc_Find, mw38 game/UI code, gcc296 and gcc296g0 helpers, and three units that now link their .data (a static-init block, an enum-to-string switch and a network table).\n\nThe build prints the OK line (SHA-256 9924da91...31dc6).\n\n12090 / 14331 functions, 50.99% code, 30.21% data; progress/report.json updated.\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":51.149494,"total_code":3661240,"matched_code":1866700,"matched_code_percent":50.985455,"total_data":339552,"matched_data":102580,"matched_data_percent":30.210394,"total_functions":14331,"matched_functions":12090,"matched_functions_percent":84.36257,"complete_code":1872716,"complete_code_percent":51.149773,"complete_data":109552,"complete_data_percent":32.263687,"total_units":12516,"complete_units":10086}},{"timestamp":"2026-10-12T22:15:50Z","commit_sha":"e9a3dc1d6fd40f64704c3845d6ee8452f5f99645","commit_message":"Match 33 more functions (round 5g)\n\nmw38 C++ game and UI code (vtable calls through t9, lq/sq vector copies), gcc296g0 network helpers and one mw50 unit in main/man.\n\nThe build prints the OK line (SHA-256 9924da91...31dc6).\n\n12056 / 14331 functions, 50.52% code, 30.16% data; progress/report.json updated.\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":50.671974,"total_code":3661240,"matched_code":1849644,"matched_code_percent":50.519604,"total_data":339552,"matched_data":102392,"matched_data_percent":30.155027,"total_functions":14331,"matched_functions":12056,"matched_functions_percent":84.12532,"complete_code":1855232,"complete_code_percent":50.672234,"complete_data":108084,"complete_data_percent":31.831354,"total_units":12497,"complete_units":10051}},{"timestamp":"2026-10-12T21:46:27Z","commit_sha":"6ba4ea6bb8de9ba403f8975f801e2227e3cb9cc0","commit_message":"Match 29 more functions (round 5f)\n\nMostly 400-1200 byte mw38 and gcc296 functions, including Relation_SameHierarchy, several gcc296g0 network helpers and a static-init unit, plus one CodeWarrior 3.04 function.\n\nThe build prints the OK line (SHA-256 9924da91...31dc6).\n\n12023 / 14331 functions, 49.96% code, 29.69% data; progress/report.json updated.\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":50.111397,"total_code":3661240,"matched_code":1829120,"matched_code_percent":49.95903,"total_data":339552,"matched_data":100824,"matched_data_percent":29.693243,"total_functions":14331,"matched_functions":12023,"matched_functions_percent":83.89505,"complete_code":1834708,"complete_code_percent":50.111656,"complete_data":106416,"complete_data_percent":31.340118,"total_units":12464,"complete_units":10018}},{"timestamp":"2026-10-12T21:11:13Z","commit_sha":"d30e3bbe2c84a8560774599881115f7c469d914e","commit_message":"Match 32 more functions, add clone auto-matcher (round 5e)\n\ntools/clone_match.py finds unmatched functions whose instruction shape\nequals an already matched function, rewrites the template's source for the\nclone (name, callees, globals, vtables, single differing immediates) and\nkeeps only full matches. It produced 20 of the matches here, including\nseven pairs where one member was hand-matched and the twin was stamped.\nThe rest are NpcAi_ModeSearch, 128-bit masked-compare helpers and gcc296\nnetwork code.\n\nThe build prints the OK line (SHA-256 9924da91...31dc6).\n\n11994 / 14331 functions, 49.54% code, 29.69% data; progress/report.json updated.\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":49.696457,"total_code":3661240,"matched_code":1813928,"matched_code_percent":49.54409,"total_data":339552,"matched_data":100824,"matched_data_percent":29.693243,"total_functions":14331,"matched_functions":11994,"matched_functions_percent":83.692696,"complete_code":1819516,"complete_code_percent":49.696712,"complete_data":106416,"complete_data_percent":31.340118,"total_units":12441,"complete_units":9989}},{"timestamp":"2026-10-12T20:40:39Z","commit_sha":"b721fa9e1776fcb144ef5b11dad017675adea5fb","commit_message":"Match 35 more functions (round 5d)\n\nIncludes large functions such as Actor_ReactToActionChanges, the\nmovie-subtitle renderer, AsyncLoader_QueueLoad, Equip_UpdateGrip,\nNetObj_SendMessage and a run of mw38 C++ UI/list code around 0x0043C890,\nplus two static-init units that now link their .data.\n\nThe build prints the OK line (SHA-256 9924da91...31dc6).\n\n11962 / 14331 functions, 49.20% code, 29.69% data; progress/report.json updated.\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":49.354607,"total_code":3661240,"matched_code":1801412,"matched_code_percent":49.202236,"total_data":339552,"matched_data":100808,"matched_data_percent":29.688532,"total_functions":14331,"matched_functions":11962,"matched_functions_percent":83.469406,"complete_code":1807000,"complete_code_percent":49.354862,"complete_data":106336,"complete_data_percent":31.316557,"total_units":12417,"complete_units":9957}},{"timestamp":"2026-10-12T19:44:57Z","commit_sha":"cef9084d1383e2b765baf59320291989c7416fa0","commit_message":"Match 20 functions, link data of 8 more units, add shared headers (round 5c)\n\nPlayer/AI and line-of-sight collision code (Los_GatherCandidates,\nLos_TraceImmediate, ColScratch_Init, ColQuery_CopyCandidates) plus 8 data\nupgrades (IRX argument strings, GUI and string literals, small tables).\n\ndocs/HEADERS.md indexes all headers in include/, and 14 new shared headers\n(cmessage.h, sound_event.h, fileman_entry.h, sso_string.h, script_arg.h,\ncnpc_vslots.h, gui_widget_vslots.h, pop_reader.h, sif_rpc_types.h,\nrtudp_types.h, ee_kernel_types.h, ieee_shapes.h, fp_bit_df.h,\nlayout_assert.h) give common layouts for new matches. Existing ScriptArg\ntypedefs are now include-guarded; no layout changes.\n\nThe build prints the OK line (SHA-256 9924da91...31dc6).\n\n11927 / 14331 functions, 48.57% code, 29.53% data; progress/report.json updated.\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":48.72214,"total_code":3661240,"matched_code":1778256,"matched_code_percent":48.569775,"total_data":339552,"matched_data":100280,"matched_data_percent":29.533031,"total_functions":14331,"matched_functions":11927,"matched_functions_percent":83.22518,"complete_code":1783844,"complete_code_percent":48.7224,"complete_data":105808,"complete_data_percent":31.161058,"total_units":12395,"complete_units":9922}},{"timestamp":"2026-10-12T19:21:13Z","commit_sha":"3ad0f63694b5a55f0758824439066937209126f4","commit_message":"Match 42 more functions: backpack, heap, RtUdp and HUD code (round 5b)\n\ncBackpack methods, Mem_HeapAlloc/Mem_HeapFree and heap helpers, RtUdp\ntransport helpers and HUD/object code, matched with mw38, mw50 and\nEE-GCC 2.96.\n\nThe build prints the OK line (SHA-256 9924da91...31dc6).\n\n11907 / 14331 functions, 48.24% code, 29.35% data; progress/report.json updated.\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":48.39482,"total_code":3661240,"matched_code":1766272,"matched_code_percent":48.242455,"total_data":339552,"matched_data":99668,"matched_data_percent":29.352793,"total_functions":14331,"matched_functions":11907,"matched_functions_percent":83.08562,"complete_code":1771860,"complete_code_percent":48.39508,"complete_data":105196,"complete_data_percent":30.980822,"total_units":12387,"complete_units":9902}},{"timestamp":"2026-10-12T18:55:43Z","commit_sha":"35c1ca0a437660e47f59c395cefe215e9eee2bec","commit_message":"Match 57 more functions and grow 14 units' data blocks (round 5a)\n\nLibc (strtol, strtoul, memalign, mult, quorem, cvt, ratio), sceDbc and\ngame code. integrate_pending.py now lets a unit that already links a data\nblock take a larger one: the old block goes back to the asm data next to it\nand the new block, which must contain it, is cut out again. This unblocked\n14 data upgrades.\n\nThe build prints the OK line (SHA-256 9924da91...31dc6).\n\n11865 / 14331 functions, 47.74% code, 29.35% data; progress/report.json updated.\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":47.888874,"total_code":3661240,"matched_code":1747748,"matched_code_percent":47.736504,"total_data":339552,"matched_data":99668,"matched_data_percent":29.352793,"total_functions":14331,"matched_functions":11865,"matched_functions_percent":82.79255,"complete_code":1753336,"complete_code_percent":47.88913,"complete_data":105144,"complete_data_percent":30.965508,"total_units":12360,"complete_units":9860}},{"timestamp":"2026-10-12T18:51:21Z","commit_sha":"6da1da74ca6e14e77f91f43bb6f40c83538620a7","commit_message":"Match 90 more functions, link data of 109 more units, add 364 names (round 4)\n\nRound 4 matches functions across the libc, sceDbc, HUD, inventory, script\nand gameplay code, upgrades 109 matched units to link their own strings and tables,\nand applies 364 function names from the port research. apply_names.py now\nrenames macro-suffixed tokens (func_X_V) too; extra.ld defines __dl__FPv and\ntwo data symbols referenced from C.\n\nThe build prints the OK line (SHA-256 9924da91...31dc6).\n\n11808 / 14331 functions, 47.13% code, 28.28% data; progress/report.json updated.\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":47.283722,"total_code":3661240,"matched_code":1725592,"matched_code_percent":47.131355,"total_data":339552,"matched_data":96032,"matched_data_percent":28.281971,"total_functions":14331,"matched_functions":11808,"matched_functions_percent":82.394806,"complete_code":1731180,"complete_code_percent":47.28398,"complete_data":101384,"complete_data_percent":29.858166,"total_units":12340,"complete_units":9803}},{"timestamp":"2026-10-12T16:11:09Z","commit_sha":"592a5ac1a1d787c32f8a59a102e80e2d155d3516","commit_message":"Match libc/fio, sceDbc, RtUdp, NIEvent, skeleton and UI code (round 3)\n\n117 more functions matched across the SDK, game logic and library code.\nThe build prints the OK line (SHA-256 9924da91...31dc6).\n\n11718 / 14331 functions, 46.10% code, 26.60% data; progress/report.json updated.\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":46.174564,"total_code":3661240,"matched_code":1687692,"matched_code_percent":46.096184,"total_data":339552,"matched_data":90332,"matched_data_percent":26.60329,"total_functions":14331,"matched_functions":11718,"matched_functions_percent":81.7668,"complete_code":1690568,"complete_code_percent":46.174736,"complete_data":94700,"complete_data_percent":27.88969,"total_units":12235,"complete_units":9709}},{"timestamp":"2026-10-12T09:28:33Z","commit_sha":"a6876842f9d02617ade60b1d4948f57e5115d4f6","commit_message":"Match SDK, libm, XML, NPC, curve and model code\n\nThe build prints the OK line (SHA-256 9924da91...31dc6).\n11433 / 14331 functions, 43.09% code, 26.59% data; progress/report.json updated.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01FXUdFNu14AqmQhpT2vL8XV","measures":{"fuzzy_match_percent":43.15942,"total_code":3661240,"matched_code":1577752,"matched_code_percent":43.093376,"total_data":339552,"matched_data":90292,"matched_data_percent":26.591509,"total_functions":14331,"matched_functions":11433,"matched_functions_percent":79.77811,"complete_code":1580176,"complete_code_percent":43.159588,"complete_data":94308,"complete_data_percent":27.774244,"total_units":12077,"complete_units":9423}},{"timestamp":"2026-10-12T08:50:57Z","commit_sha":"3e467a975f4f21793eb49ed0aa1c60926bec4724","commit_message":"Match net handlers, tank, GUI, island initializers and more mid-size code\n\nThe build prints the OK line (SHA-256 9924da91...31dc6).\n11296 / 14331 functions, 41.44% code, 26.59% data; progress/report.json updated.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01FXUdFNu14AqmQhpT2vL8XV","measures":{"fuzzy_match_percent":41.502384,"total_code":3661240,"matched_code":1517084,"matched_code_percent":41.436344,"total_data":339552,"matched_data":90292,"matched_data_percent":26.591509,"total_functions":14331,"matched_functions":11296,"matched_functions_percent":78.822136,"complete_code":1519508,"complete_code_percent":41.502552,"complete_data":94308,"complete_data_percent":27.774244,"total_units":11990,"complete_units":9286}},{"timestamp":"2026-10-12T08:27:59Z","commit_sha":"73fa3a0ef4287d26c453221022454b48606955cd","commit_message":"Match SDK, library, port and builder code; link the data of more units\n\nThe build prints the OK line (SHA-256 9924da91...31dc6).\n11129 / 14331 functions, 40.63% code, 26.59% data; progress/report.json updated.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01FXUdFNu14AqmQhpT2vL8XV","measures":{"fuzzy_match_percent":40.698612,"total_code":3661240,"matched_code":1487656,"matched_code_percent":40.632572,"total_data":339552,"matched_data":90292,"matched_data_percent":26.591509,"total_functions":14331,"matched_functions":11129,"matched_functions_percent":77.65683,"complete_code":1490080,"complete_code_percent":40.69878,"complete_data":94260,"complete_data_percent":27.760107,"total_units":11884,"complete_units":9119}},{"timestamp":"2026-10-12T07:30:43Z","commit_sha":"9403447ed75f088f9fcfca042d5c384dfdabf2f6","commit_message":"Add a digest of matching techniques\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01FXUdFNu14AqmQhpT2vL8XV","measures":{"fuzzy_match_percent":39.511692,"total_code":3661240,"matched_code":1444200,"matched_code_percent":39.445652,"total_data":339552,"matched_data":55300,"matched_data_percent":16.286165,"total_functions":14331,"matched_functions":10964,"matched_functions_percent":76.50548,"complete_code":1446624,"complete_code_percent":39.51186,"complete_data":57092,"complete_data_percent":16.81392,"total_units":11697,"complete_units":8954}},{"timestamp":"2026-10-12T07:27:37Z","commit_sha":"55f1942069c623dc654eccf21ba6bfed7353e776","commit_message":"Link the data of 1,104 more C units (strings, tables, vtables)\n\nThe build prints the OK line (SHA-256 9924da91...31dc6).\n10964 / 14331 functions, 39.45% code, 16.29% data; progress/report.json updated.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01FXUdFNu14AqmQhpT2vL8XV","measures":{"fuzzy_match_percent":39.511692,"total_code":3661240,"matched_code":1444200,"matched_code_percent":39.445652,"total_data":339552,"matched_data":55300,"matched_data_percent":16.286165,"total_functions":14331,"matched_functions":10964,"matched_functions_percent":76.50548,"complete_code":1446624,"complete_code_percent":39.51186,"complete_data":57092,"complete_data_percent":16.81392,"total_units":11697,"complete_units":8954}},{"timestamp":"2026-10-12T06:55:00Z","commit_sha":"76f49e1c2c444f28439f6ae98b4fed8138bf787e","commit_message":"Match large builders, SDK and library code; fold alignment padding\n\nThe build prints the OK line (SHA-256 9924da91...31dc6).\n10964 / 14331 functions, 39.45% code; progress/report.json updated.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01Uqack8zNUGjdqTDiYfZ6mk\nCo-Authored-By: Codex <noreply@openai.com>\nCodex-Session: codex://threads/01a12c78-eacc-7992-b320-867d28bccb18","measures":{"fuzzy_match_percent":39.511692,"total_code":3661240,"matched_code":1444200,"matched_code_percent":39.445652,"total_data":339552,"matched_data":10388,"matched_data_percent":3.0593252,"total_functions":14331,"matched_functions":10964,"matched_functions_percent":76.50548,"complete_code":1446624,"complete_code_percent":39.51186,"complete_data":10388,"complete_data_percent":3.0593252,"total_units":10931,"complete_units":8954}},{"timestamp":"2026-10-12T01:21:28Z","commit_sha":"8d63394964a45ad1bcbc4ce15e42bd39849834e1","commit_message":"Link matched data and expand route, script, backpack and SDK coverage\n\nThe build prints the OK line (SHA-256 9924da91...31dc6).\n10856 / 17854 functions, 35.62% code; progress/report.json updated.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01Uqack8zNUGjdqTDiYfZ6mk\nCo-Authored-By: Codex <noreply@openai.com>\nCodex-Session: codex://threads/01a12c78-eacc-7992-b320-867d28bccb18","measures":{"fuzzy_match_percent":35.682926,"total_code":3675332,"matched_code":1309048,"matched_code_percent":35.617138,"total_data":339552,"matched_data":10388,"matched_data_percent":3.0593252,"total_functions":17854,"matched_functions":10856,"matched_functions_percent":60.804302,"complete_code":1311472,"complete_code_percent":35.68309,"complete_data":10388,"complete_data_percent":3.0593252,"total_units":13710,"complete_units":8846}},{"timestamp":"2026-10-11T19:52:31Z","commit_sha":"964876b0862f719f32596df7dc1b0d682eb1fee5","commit_message":"Match large functions, copy-idiom and VU0 functions, gcc29 SDK and library\n\nThe build prints the OK line (SHA-256 9924da91...31dc6).\n10525 / 17610 functions, 33.01% code; progress/report.json updated.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01Uqack8zNUGjdqTDiYfZ6mk","measures":{"fuzzy_match_percent":33.063408,"total_code":3674380,"matched_code":1213032,"matched_code_percent":33.01324,"total_data":339552,"matched_data":0,"matched_data_percent":0,"total_functions":17610,"matched_functions":10525,"matched_functions_percent":59.76718,"complete_code":1214880,"complete_code_percent":33.063538,"complete_data":0,"complete_data_percent":0,"total_units":13011,"complete_units":8512}},{"timestamp":"2026-10-11T18:52:22Z","commit_sha":"209faf1658ab37710be2cf4190ccdd03e6fd0ee3","commit_message":"Match agent batches and Sony SDK code (gcc29)\n\nThe build prints the OK line (SHA-256 9924da91...31dc6).\n10061 / 17332 functions, 29.42% code; progress/report.json updated.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01Uqack8zNUGjdqTDiYfZ6mk","measures":{"fuzzy_match_percent":29.438461,"total_code":3673268,"matched_code":1080524,"matched_code_percent":29.415876,"total_data":339552,"matched_data":0,"matched_data_percent":0,"total_functions":17332,"matched_functions":10061,"matched_functions_percent":58.048695,"complete_code":1081356,"complete_code_percent":29.438528,"complete_data":0,"complete_data_percent":0,"total_units":12357,"complete_units":8044}},{"timestamp":"2026-10-11T17:37:49Z","commit_sha":"3f71466ef2564af8757992dffad34a16aea7dfe5","commit_message":"Match large functions, V4Copy unfolded copies and delay-slot fixes\n\nThe build prints the OK line (SHA-256 9924da91...31dc6).\n9981 / 17281 functions, 29.11% code; progress/report.json updated.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01Uqack8zNUGjdqTDiYfZ6mk","measures":{"fuzzy_match_percent":29.132778,"total_code":3673064,"matched_code":1069236,"matched_code_percent":29.110193,"total_data":339552,"matched_data":0,"matched_data_percent":0,"total_functions":17281,"matched_functions":9981,"matched_functions_percent":57.757072,"complete_code":1070068,"complete_code_percent":29.132843,"complete_data":0,"complete_data_percent":0,"total_units":12226,"complete_units":7964}},{"timestamp":"2026-10-11T16:20:42Z","commit_sha":"2dc70d320fcc68d0346fe76560be200c6f41c228","commit_message":"Match m2c near misses, delay-slot and template sweeps\n\nThe build prints the OK line (SHA-256 9924da91...31dc6).\n9860 / 17199 functions, 27.75% code; progress/report.json updated.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01Uqack8zNUGjdqTDiYfZ6mk","measures":{"fuzzy_match_percent":27.770294,"total_code":3672736,"matched_code":1019100,"matched_code_percent":27.747705,"total_data":339552,"matched_data":0,"matched_data_percent":0,"total_functions":17199,"matched_functions":9860,"matched_functions_percent":57.328915,"complete_code":1019932,"complete_code_percent":27.770359,"complete_data":0,"complete_data_percent":0,"total_units":12074,"complete_units":7843}},{"timestamp":"2026-10-11T15:38:18Z","commit_sha":"f846f3f45dbf039252e206a869ca528ecec7da6a","commit_message":"Match CanonicalKey loop functions, bottom-test loops and near misses\n\nThe build prints the OK line (SHA-256 9924da91...31dc6).\n9734 / 17107 functions, 26.66% code; progress/report.json updated.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01Uqack8zNUGjdqTDiYfZ6mk","measures":{"fuzzy_match_percent":26.68506,"total_code":3672368,"matched_code":979144,"matched_code_percent":26.662468,"total_data":339552,"matched_data":0,"matched_data_percent":0,"total_functions":17107,"matched_functions":9734,"matched_functions_percent":56.900684,"complete_code":979976,"complete_code_percent":26.685125,"complete_data":0,"complete_data_percent":0,"total_units":11890,"complete_units":7717}},{"timestamp":"2026-10-11T14:16:37Z","commit_sha":"d029a0d47fc2b68cab2062bfc1d23e597b1e3540","commit_message":"Match m2c-generated functions, GCC network library and families\n\nThe build prints the OK line (SHA-256 9924da91...31dc6).\n9492 / 16961 functions, 25.23% code; progress/report.json updated.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01Uqack8zNUGjdqTDiYfZ6mk","measures":{"fuzzy_match_percent":25.247826,"total_code":3671784,"matched_code":926216,"matched_code_percent":25.225231,"total_data":339552,"matched_data":0,"matched_data_percent":0,"total_functions":16961,"matched_functions":9492,"matched_functions_percent":55.963684,"complete_code":927048,"complete_code_percent":25.24789,"complete_data":0,"complete_data_percent":0,"total_units":11547,"complete_units":7475}},{"timestamp":"2026-10-11T14:02:31Z","commit_sha":"30d38014e3e71956f02c9874f19c7d490f8ca72c","commit_message":"Match VU0 vector functions, second pass 0x0012F000-0x00180000\n\nThe build prints the OK line (SHA-256 9924da91...31dc6).\n9428 / 16920 functions, 24.98% code; progress/report.json updated.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01Uqack8zNUGjdqTDiYfZ6mk","measures":{"fuzzy_match_percent":25.000998,"total_code":3671620,"matched_code":917112,"matched_code_percent":24.978403,"total_data":339552,"matched_data":0,"matched_data_percent":0,"total_functions":16920,"matched_functions":9428,"matched_functions_percent":55.72104,"complete_code":917944,"complete_code_percent":25.00106,"complete_data":0,"complete_data_percent":0,"total_units":11450,"complete_units":7411}},{"timestamp":"2026-10-11T13:35:44Z","commit_sha":"404b0f2d21c0528ef3cef85e06b5a22d4264dc99","commit_message":"Match templates and generators, second pass 0x00180000-0x00280000, rotateloops and quad-copy idioms\n\nThe build prints the OK line (SHA-256 9924da91...31dc6).\n9302 / 16835 functions, 24.47% code; progress/report.json updated.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01Uqack8zNUGjdqTDiYfZ6mk","measures":{"fuzzy_match_percent":24.490358,"total_code":3671280,"matched_code":898280,"matched_code_percent":24.46776,"total_data":339552,"matched_data":0,"matched_data_percent":0,"total_functions":16835,"matched_functions":9302,"matched_functions_percent":55.253937,"complete_code":899112,"complete_code_percent":24.490423,"complete_data":0,"complete_data_percent":0,"total_units":11275,"complete_units":7285}},{"timestamp":"2026-10-11T12:49:36Z","commit_sha":"65c96676f8f3c615f71d0ca9a13d90bb7c583679","commit_message":"Match second pass 0x00280000-0x00380000, pipelined quad copies and library functions\n\nThe build prints the OK line (SHA-256 9924da91...31dc6).\n8977 / 16629 functions, 22.97% code; progress/report.json updated.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01Uqack8zNUGjdqTDiYfZ6mk","measures":{"fuzzy_match_percent":22.981188,"total_code":3670456,"matched_code":843196,"matched_code_percent":22.972513,"total_data":339552,"matched_data":0,"matched_data_percent":0,"total_functions":16629,"matched_functions":8977,"matched_functions_percent":53.984005,"complete_code":843516,"complete_code_percent":22.981232,"complete_data":0,"complete_data_percent":0,"total_units":10802,"complete_units":6958}},{"timestamp":"2026-10-11T12:25:50Z","commit_sha":"adb6a9c5afd0434e0d3674dd550a18204d09ea38","commit_message":"Match second pass 0x00380000-0x00476B00 and GCC network library\n\nThe build prints the OK line (SHA-256 9924da91...31dc6).\n8831 / 16552 functions, 21.63% code; progress/report.json updated.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01Uqack8zNUGjdqTDiYfZ6mk","measures":{"fuzzy_match_percent":21.640936,"total_code":3670148,"matched_code":793936,"matched_code_percent":21.632261,"total_data":339552,"matched_data":0,"matched_data_percent":0,"total_functions":16552,"matched_functions":8831,"matched_functions_percent":53.353073,"complete_code":794256,"complete_code_percent":21.64098,"complete_data":0,"complete_data_percent":0,"total_units":10610,"complete_units":6812}},{"timestamp":"2026-10-11T11:51:52Z","commit_sha":"faf2584b8cbd8c96b22deb4f6a02ac04925c28ca","commit_message":"Match range batches 0x00100000-0x001C0000 (game code, C runtime, newlib, SCE)\n\nThe build prints the OK line (SHA-256 9924da91...31dc6).\n8516 / 16369 functions, 19.82% code; progress/report.json updated.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01Uqack8zNUGjdqTDiYfZ6mk","measures":{"fuzzy_match_percent":19.831886,"total_code":3669416,"matched_code":727396,"matched_code_percent":19.823208,"total_data":339552,"matched_data":0,"matched_data_percent":0,"total_functions":16369,"matched_functions":8516,"matched_functions_percent":52.02517,"complete_code":727716,"complete_code_percent":19.83193,"complete_data":0,"complete_data_percent":0,"total_units":10146,"complete_units":6497}},{"timestamp":"2026-10-11T11:35:18Z","commit_sha":"763f0d84e555d776e2714f6d44365c7025dacdb0","commit_message":"Match GCC network library and range batch 0x00140000-0x00180000\n\nThe build prints the OK line (SHA-256 9924da91...31dc6).\n8352 / 16267 functions, 19.03% code; progress/report.json updated.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01Uqack8zNUGjdqTDiYfZ6mk","measures":{"fuzzy_match_percent":19.041397,"total_code":3669008,"matched_code":698312,"matched_code_percent":19.03272,"total_data":339552,"matched_data":0,"matched_data_percent":0,"total_functions":16267,"matched_functions":8352,"matched_functions_percent":51.34321,"complete_code":698632,"complete_code_percent":19.041441,"complete_data":0,"complete_data_percent":0,"total_units":9903,"complete_units":6333}},{"timestamp":"2026-10-11T11:02:00Z","commit_sha":"5bfe37bc8959adbf3dc9a4f52a7fbdb7db37e438","commit_message":"Match 270 template functions by macro spray and range batch 0x001C0000-0x00200000\n\nThe build prints the OK line (SHA-256 9924da91...31dc6).\n7870 / 15975 functions, 16.03% code; progress/report.json updated.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01Uqack8zNUGjdqTDiYfZ6mk","measures":{"fuzzy_match_percent":16.037188,"total_code":3667840,"matched_code":587900,"matched_code_percent":16.028507,"total_data":339552,"matched_data":0,"matched_data_percent":0,"total_functions":15975,"matched_functions":7870,"matched_functions_percent":49.264477,"complete_code":588220,"complete_code_percent":16.037231,"complete_data":0,"complete_data_percent":0,"total_units":9201,"complete_units":5851}},{"timestamp":"2026-10-11T10:49:07Z","commit_sha":"30381f3f47cc42cd50349466546cb2fda0385bd5","commit_message":"Match range batches 0x00200000-0x00280000 and status-report wrappers\n\nThe build prints the OK line (SHA-256 9924da91...31dc6).\n7813 / 15941 functions, 15.83% code; progress/report.json updated.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01Uqack8zNUGjdqTDiYfZ6mk","measures":{"fuzzy_match_percent":15.83853,"total_code":3667704,"matched_code":580592,"matched_code_percent":15.829849,"total_data":339552,"matched_data":0,"matched_data_percent":0,"total_functions":15941,"matched_functions":7813,"matched_functions_percent":49.011982,"complete_code":580912,"complete_code_percent":15.838573,"complete_data":0,"complete_data_percent":0,"total_units":9120,"complete_units":5794}},{"timestamp":"2026-10-11T10:32:44Z","commit_sha":"9741d0512da6fc6294cadd06ce50eada223241e0","commit_message":"Match range batches 0x00280000-0x00340000 and new family headers\n\nThe build prints the OK line (SHA-256 9924da91...31dc6).\n7381 / 15717 functions, 14.2% code; progress/report.json updated.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01Uqack8zNUGjdqTDiYfZ6mk","measures":{"fuzzy_match_percent":14.207409,"total_code":3666808,"matched_code":520640,"matched_code_percent":14.198725,"total_data":339552,"matched_data":0,"matched_data_percent":0,"total_functions":15717,"matched_functions":7381,"matched_functions_percent":46.961887,"complete_code":520960,"complete_code_percent":14.207453,"complete_data":0,"complete_data_percent":0,"total_units":8514,"complete_units":5362}},{"timestamp":"2026-10-11T10:04:32Z","commit_sha":"372bb50ec5968998c4012a0ba5519bdfadaaf263","commit_message":"Match soft-float, codec library and new families\n\nThe build prints the OK line (SHA-256 9924da91...31dc6).\n7121 / 15561 functions, 13.1% code; progress/report.json updated.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01Uqack8zNUGjdqTDiYfZ6mk","measures":{"fuzzy_match_percent":13.1125555,"total_code":3666184,"matched_code":480412,"matched_code_percent":13.103871,"total_data":339552,"matched_data":0,"matched_data_percent":0,"total_functions":15561,"matched_functions":7121,"matched_functions_percent":45.76184,"complete_code":480732,"complete_code_percent":13.112598,"complete_data":0,"complete_data_percent":0,"total_units":8126,"complete_units":5102}},{"timestamp":"2026-10-11T09:46:11Z","commit_sha":"1339a8b0bfd9ddae218de0ed2f6fba980ec69a7b","commit_message":"Match range batches 0x00380000-0x00400000\n\nThe build prints the OK line (SHA-256 9924da91...31dc6).\n6939 / 15439 functions, 12.53% code; progress/report.json updated.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01Uqack8zNUGjdqTDiYfZ6mk","measures":{"fuzzy_match_percent":12.540004,"total_code":3665696,"matched_code":459360,"matched_code_percent":12.531318,"total_data":339552,"matched_data":0,"matched_data_percent":0,"total_functions":15439,"matched_functions":6939,"matched_functions_percent":44.94462,"complete_code":459680,"complete_code_percent":12.540047,"complete_data":0,"complete_data_percent":0,"total_units":7835,"complete_units":4920}},{"timestamp":"2026-10-11T09:30:11Z","commit_sha":"39d8140f7f51e52773f29e8e1dbe3791e24ea766","commit_message":"Match newlib float math, families, range batches; add CodeWarrior 3.0 build 50 units\n\nThe build prints the OK line (SHA-256 9924da91...31dc6).\n6848 / 15374 functions, 12.14% code; progress/report.json updated.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01Uqack8zNUGjdqTDiYfZ6mk","measures":{"fuzzy_match_percent":12.151635,"total_code":3665436,"matched_code":445092,"matched_code_percent":12.142948,"total_data":339552,"matched_data":0,"matched_data_percent":0,"total_functions":15374,"matched_functions":6848,"matched_functions_percent":44.542736,"complete_code":445412,"complete_code_percent":12.151679,"complete_data":0,"complete_data_percent":0,"total_units":7710,"complete_units":4829}},{"timestamp":"2026-10-11T09:04:04Z","commit_sha":"5b0b9aef2228719faab745e82f249b579d6a0fc8","commit_message":"Match destructor/container families, range batch and near misses\n\nThe build prints the OK line (SHA-256 9924da91...31dc6).\n6521 / 15171 functions, 10.7% code; progress/report.json updated.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01Uqack8zNUGjdqTDiYfZ6mk","measures":{"fuzzy_match_percent":10.697196,"total_code":3664624,"matched_code":392012,"matched_code_percent":10.697196,"total_data":339552,"matched_data":0,"matched_data_percent":0,"total_functions":15171,"matched_functions":6521,"matched_functions_percent":42.983322,"complete_code":392012,"complete_code_percent":10.697196,"complete_data":0,"complete_data_percent":0,"total_units":7251,"complete_units":4501}},{"timestamp":"2026-10-11T08:48:46Z","commit_sha":"db21d7965f175ca82cc8e8aa2fb4ae103873f02e","commit_message":"Match appearance, research, ladder helpers and pod/vector families\n\nThe build prints the OK line (SHA-256 9924da91...31dc6).\n6299 / 15045 functions, 9.83% code; progress/report.json updated.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01Uqack8zNUGjdqTDiYfZ6mk","measures":{"fuzzy_match_percent":9.832429,"total_code":3664120,"matched_code":360272,"matched_code_percent":9.832429,"total_data":339552,"matched_data":0,"matched_data_percent":0,"total_functions":15045,"matched_functions":6299,"matched_functions_percent":41.86773,"complete_code":360272,"complete_code_percent":9.832429,"complete_data":0,"complete_data_percent":0,"total_units":6916,"complete_units":4279}},{"timestamp":"2026-10-11T08:33:30Z","commit_sha":"3d740c5b1537dc46642b4f3b71f69fffc1f78df3","commit_message":"Match 162 destructor-family functions from shared headers\n\nThe build prints the OK line (SHA-256 9924da91...31dc6).\n6250 / 15015 functions, 9.52% code; progress/report.json updated.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01Uqack8zNUGjdqTDiYfZ6mk","measures":{"fuzzy_match_percent":9.518013,"total_code":3664000,"matched_code":348740,"matched_code_percent":9.518013,"total_data":339552,"matched_data":0,"matched_data_percent":0,"total_functions":15015,"matched_functions":6250,"matched_functions_percent":41.625042,"complete_code":348740,"complete_code_percent":9.518013,"complete_data":0,"complete_data_percent":0,"total_units":6826,"complete_units":4230}},{"timestamp":"2026-10-11T08:20:34Z","commit_sha":"27b5c178bac409f8db737734742c320e5b77e61e","commit_message":"Match 38 functions; add an EE-GCC 2.96 -G0 profile\n\nThe build prints the OK line (SHA-256 9924da91...31dc6).\n6085 / 14882 functions, 8.82% code; progress/report.json updated.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01Uqack8zNUGjdqTDiYfZ6mk","measures":{"fuzzy_match_percent":8.8162365,"total_code":3663468,"matched_code":322980,"matched_code_percent":8.8162365,"total_data":339552,"matched_data":0,"matched_data_percent":0,"total_functions":14882,"matched_functions":6085,"matched_functions_percent":40.88832,"complete_code":322980,"complete_code_percent":8.8162365,"complete_data":0,"complete_data_percent":0,"total_units":6538,"complete_units":4065}},{"timestamp":"2026-10-11T06:06:27Z","commit_sha":"84c5e6c6f0590b4202aa92628edd12c13a3103ad","commit_message":"Add matching speedup tools and complete transfer-map families\n\nAdd conservative byte-weighted candidate ranking with port research citations and bounded isolated compiler trials. Integrate twenty transfer-map mutation and allocator routines totaling 4,896 code bytes. All sixty tooling/configuration tests pass; the full mixed-compiler image matches retail and every prior complete unit remains unchanged.\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":8.582925,"total_code":3663320,"matched_code":314420,"matched_code_percent":8.582925,"total_data":339552,"matched_data":0,"matched_data_percent":0,"total_functions":14845,"matched_functions":6047,"matched_functions_percent":40.734257,"complete_code":314420,"complete_code_percent":8.582925,"complete_data":0,"complete_data_percent":0,"total_units":6464,"complete_units":4027}},{"timestamp":"2026-10-11T05:31:49Z","commit_sha":"4951d57ba505d1ff633852bf270caf7101b33c35","commit_message":"Match recursive transfer-map destruction block\n\nRecover four 724-byte postorder tree destruction routines with a shared typed implementation. Preserve recursive targets, allocator cleanup layers and separately owned payload lifetimes. The full mixed-compiler build remains byte-identical to retail.\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":8.449276,"total_code":3663320,"matched_code":309524,"matched_code_percent":8.449276,"total_data":339552,"matched_data":0,"matched_data_percent":0,"total_functions":14845,"matched_functions":6027,"matched_functions_percent":40.59953,"complete_code":309524,"complete_code_percent":8.449276,"complete_data":0,"complete_data_percent":0,"total_units":6464,"complete_units":4019}},{"timestamp":"2026-10-11T05:05:39Z","commit_sha":"63217deebb5aa9127332fdee23d86d2fec7f411f","commit_message":"Match transfer updates, timeouts and ID-map lookups\n\nRecover six routines totaling 1,664 code bytes. Preserve reference validation, callback-safe iteration, unsigned map lookup and strict timeout handling with the existing software clock conversion. The complete mixed-compiler build remains byte-identical to retail.\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":8.370221,"total_code":3663320,"matched_code":306628,"matched_code_percent":8.370221,"total_data":339552,"matched_data":0,"matched_data_percent":0,"total_functions":14845,"matched_functions":6023,"matched_functions_percent":40.572582,"complete_code":306628,"complete_code_percent":8.370221,"complete_data":0,"complete_data_percent":0,"total_units":6462,"complete_units":4018}},{"timestamp":"2026-10-11T04:32:38Z","commit_sha":"f61a256256de64b7bf0c2a020b41101424c05b3a","commit_message":"Match transfer message dispatch and map cleanup\n\nRecover three routines totaling 2,688 code bytes, including the previously deferred transfer sender. Preserve allocator guards, iterator lifetimes, raw iterator copies and ordered map cleanup. The clean mixed-compiler build reproduces the retail executable byte for byte.\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":8.324799,"total_code":3663320,"matched_code":304964,"matched_code_percent":8.324799,"total_data":339552,"matched_data":0,"matched_data_percent":0,"total_functions":14845,"matched_functions":6017,"matched_functions_percent":40.532166,"complete_code":304964,"complete_code_percent":8.324799,"complete_data":0,"complete_data_percent":0,"total_units":6460,"complete_units":4015}},{"timestamp":"2026-10-11T04:00:12Z","commit_sha":"d414555a65320fbbe249500012ad02c32bf59f8d","commit_message":"Match object ownership routing and request destruction\n\nRecover the 1,124-byte ownership router and its 96-byte request destructor with scoped compiler settings. Preserve live peer queries, remote notices, local callbacks and transfer timers. The whole build remains byte-identical to retail.\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":8.251422,"total_code":3663320,"matched_code":302276,"matched_code_percent":8.251422,"total_data":339552,"matched_data":0,"matched_data_percent":0,"total_functions":14845,"matched_functions":6014,"matched_functions_percent":40.511955,"complete_code":302276,"complete_code_percent":8.251422,"complete_data":0,"complete_data_percent":0,"total_units":6458,"complete_units":4012}},{"timestamp":"2026-10-11T03:36:55Z","commit_sha":"41c6f950e38edd9895d130742a217a8ad64b2337","commit_message":"Match object transfer timers and reference lifecycle\n\nRecover four functions totaling 1,116 code bytes with CodeWarrior build 38. Preserve timer conversion, map iteration, allocator guards and transfer notices. The clean mixed-compiler build reproduces the retail executable byte for byte.\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":8.218119,"total_code":3663320,"matched_code":301056,"matched_code_percent":8.21812,"total_data":339552,"matched_data":0,"matched_data_percent":0,"total_functions":14845,"matched_functions":6012,"matched_functions_percent":40.49848,"complete_code":301056,"complete_code_percent":8.21812,"complete_data":0,"complete_data_percent":0,"total_units":6458,"complete_units":4011}},{"timestamp":"2026-10-11T03:12:31Z","commit_sha":"bea40d69cbe41a967122a54689e78205e73be617","commit_message":"Match network admission and peer averaging routines\n\nRecover three routines totaling 640 code bytes. Preserve peer averaging, retry sentinel checks and player admission limits; publish the verified 6,008-function report.\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":8.1876545,"total_code":3663320,"matched_code":299940,"matched_code_percent":8.1876545,"total_data":339552,"matched_data":0,"matched_data_percent":0,"total_functions":14845,"matched_functions":6008,"matched_functions_percent":40.47154,"complete_code":299940,"complete_code_percent":8.1876545,"complete_data":0,"complete_data_percent":0,"total_units":6458,"complete_units":4009}},{"timestamp":"2026-10-11T02:52:43Z","commit_sha":"9a56cbb88bb949e1c2a1ff382cfae5fb8a14bba7","commit_message":"Match game enumeration and network worker stop routines\n\nRecover two routines totaling 528 code bytes. Preserve iterator restart, live worker polling, and priority coordination; publish the verified 6,005-function report.\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":8.170184,"total_code":3663320,"matched_code":299300,"matched_code_percent":8.170184,"total_data":339552,"matched_data":0,"matched_data_percent":0,"total_functions":14845,"matched_functions":6005,"matched_functions_percent":40.45133,"complete_code":299300,"complete_code_percent":8.170184,"complete_data":0,"complete_data_percent":0,"total_units":6454,"complete_units":4006}},{"timestamp":"2026-10-11T02:37:50Z","commit_sha":"9e778eceaaf3d07e27416a0f16ebf4b6f0e4f094","commit_message":"Match network value-event lifecycle block\n\nRecover three contiguous routines totaling 528 code bytes. Preserve clone ownership, callback registration and exact serialization capacity semantics; publish the verified 6,003-function report.\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":8.155771,"total_code":3663320,"matched_code":298772,"matched_code_percent":8.155771,"total_data":339552,"matched_data":0,"matched_data_percent":0,"total_functions":14845,"matched_functions":6003,"matched_functions_percent":40.43786,"complete_code":298772,"complete_code_percent":8.155771,"complete_data":0,"complete_data_percent":0,"total_units":6453,"complete_units":4004}},{"timestamp":"2026-10-11T02:24:05Z","commit_sha":"32f3aae139beb8bb718429a185fe703b7b634777","commit_message":"Match cell-range erase copy and cleanup blocks\n\nRecover five routines totaling 796 code bytes. Preserve owned strings, overlapping copies, aligned color transfers, and reverse destruction; publish the clean-build-verified 6,000-function report.\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":8.141358,"total_code":3663320,"matched_code":298244,"matched_code_percent":8.141358,"total_data":339552,"matched_data":0,"matched_data_percent":0,"total_functions":14845,"matched_functions":6000,"matched_functions_percent":40.417652,"complete_code":298244,"complete_code_percent":8.141358,"complete_data":0,"complete_data_percent":0,"total_units":6451,"complete_units":4003}},{"timestamp":"2026-10-11T02:05:37Z","commit_sha":"0bf5f910408671d00feb4b4097f2416c24d417fc","commit_message":"Match text-array row release and destruction blocks\n\nRecover six routines totaling 1,208 code bytes. Preserve live row traversal, ordered widget destruction, and allocator scope; publish the clean-build-verified 5,995-function report.\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":8.119629,"total_code":3663320,"matched_code":297448,"matched_code_percent":8.119629,"total_data":339552,"matched_data":0,"matched_data_percent":0,"total_functions":14845,"matched_functions":5995,"matched_functions_percent":40.38397,"complete_code":297448,"complete_code_percent":8.119629,"complete_data":0,"complete_data_percent":0,"total_units":6449,"complete_units":4001}},{"timestamp":"2026-10-11T01:52:03Z","commit_sha":"a0a317600337b93346d49e22f612424a31d6465c","commit_message":"Match text-array row construction and lifecycle blocks\n\nRecover seven routines totaling 1,296 code bytes, including the 432-byte row builder. Preserve default cell initialization, ownership, child activation and cleanup; publish the clean-build-verified 5,989-function report.\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":8.086654,"total_code":3663320,"matched_code":296240,"matched_code_percent":8.086654,"total_data":339552,"matched_data":0,"matched_data_percent":0,"total_functions":14845,"matched_functions":5989,"matched_functions_percent":40.34355,"complete_code":296240,"complete_code_percent":8.086654,"complete_data":0,"complete_data_percent":0,"total_units":6449,"complete_units":3999}},{"timestamp":"2026-10-11T01:32:12Z","commit_sha":"04a15c0dbf5e9988aa08aee92b2f3e0938105ad9","commit_message":"Match large grid navigation input handler\n\nRecover the 1,864-byte grid input routine while preserving event checks, page movement, notifications, and original boundary behavior. Publish the clean-build-verified 5,982-function report.\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":8.051276,"total_code":3663320,"matched_code":294944,"matched_code_percent":8.051276,"total_data":339552,"matched_data":0,"matched_data_percent":0,"total_functions":14845,"matched_functions":5982,"matched_functions_percent":40.2964,"complete_code":294944,"complete_code_percent":8.051276,"complete_data":0,"complete_data_percent":0,"total_units":6448,"complete_units":3997}},{"timestamp":"2026-10-11T01:19:36Z","commit_sha":"fafaddb5e8755163cfcc05a723e8b5e6412434d1","commit_message":"Match large grid drawing and activation routines\n\nRecover three routines totaling 1,900 code bytes, including the 1,380-byte grid renderer. Preserve live drawing passes and viewport mapping; publish the clean-build-verified report exceeding eight percent matched code.\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":8.000393,"total_code":3663320,"matched_code":293080,"matched_code_percent":8.000393,"total_data":339552,"matched_data":0,"matched_data_percent":0,"total_functions":14845,"matched_functions":5981,"matched_functions_percent":40.28966,"complete_code":293080,"complete_code_percent":8.000393,"complete_data":0,"complete_data_percent":0,"total_units":6448,"complete_units":3996}},{"timestamp":"2026-10-11T00:53:58Z","commit_sha":"64a575eb73286b4e08e0dbdf4cbc196fbf9adf7c","commit_message":"Match grid selection and sizing blocks\n\nRecover six routines totaling 1,172 code bytes. Preserve selection callbacks, viewport bounds, marker positioning, and column sizing; correct the existing resource-height contract without changing its bytes. Publish the verified 5,978-function report.\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":7.9485273,"total_code":3663320,"matched_code":291180,"matched_code_percent":7.9485273,"total_data":339552,"matched_data":0,"matched_data_percent":0,"total_functions":14845,"matched_functions":5978,"matched_functions_percent":40.26945,"complete_code":291180,"complete_code_percent":7.9485273,"complete_data":0,"complete_data_percent":0,"total_units":6447,"complete_units":3994}},{"timestamp":"2026-10-11T00:23:52Z","commit_sha":"addbfe9df5c8fae46b8eba9f520970c7466446b7","commit_message":"Match contiguous vector and string support block\n\nRecover six routines totaling 788 code bytes. Preserve backward entry copying, guarded cleanup, and inline or heap-backed string ownership; publish the verified 5,972-function report.\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":7.916535,"total_code":3663320,"matched_code":290008,"matched_code_percent":7.916535,"total_data":339552,"matched_data":0,"matched_data_percent":0,"total_functions":14845,"matched_functions":5972,"matched_functions_percent":40.229034,"complete_code":290008,"complete_code_percent":7.916535,"complete_data":0,"complete_data_percent":0,"total_units":6447,"complete_units":3992}},{"timestamp":"2026-10-11T00:06:43Z","commit_sha":"cfff5fc3528b4780481afa603d1026a2d1f92166","commit_message":"Match text-list mutation and cleanup blocks\n\nRecover seven routines totaling 1,132 code bytes. Preserve entry ownership, live layout notifications, and layered cleanup; publish the clean-build-verified 5,966-function report.\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":7.8950243,"total_code":3663320,"matched_code":289220,"matched_code_percent":7.8950243,"total_data":339552,"matched_data":0,"matched_data_percent":0,"total_functions":14845,"matched_functions":5966,"matched_functions_percent":40.188618,"complete_code":289220,"complete_code_percent":7.8950243,"complete_data":0,"complete_data_percent":0,"total_units":6446,"complete_units":3990}},{"timestamp":"2026-10-10T23:47:50Z","commit_sha":"2439ab58965aaedc74959220678fd8ee9530cfea","commit_message":"Match contiguous text-child lifecycle block\n\nRecover seven routines totaling 1,328 code bytes. Preserve resource lookup, lazy child construction, scoped allocator accounting, and ordered cleanup; publish the clean-build-verified 5,959-function report.\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":7.8641233,"total_code":3663320,"matched_code":288088,"matched_code_percent":7.8641233,"total_data":339552,"matched_data":0,"matched_data_percent":0,"total_functions":14845,"matched_functions":5959,"matched_functions_percent":40.14146,"complete_code":288088,"complete_code_percent":7.8641233,"complete_data":0,"complete_data_percent":0,"total_units":6446,"complete_units":3987}},{"timestamp":"2026-10-10T23:20:11Z","commit_sha":"f2f348012e27c5ae3936fe0449dc05010cc4ebc1","commit_message":"Match GUI text-row rendering routine\n\nRecover the 312-byte text row renderer with typed style and rectangle layouts. Preserve paired coordinate conversions and unconditional base rendering; publish the clean-build-verified 5,952-function report.\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":7.827872,"total_code":3663320,"matched_code":286760,"matched_code_percent":7.8278723,"total_data":339552,"matched_data":0,"matched_data_percent":0,"total_functions":14845,"matched_functions":5952,"matched_functions_percent":40.094307,"complete_code":286760,"complete_code_percent":7.8278723,"complete_data":0,"complete_data_percent":0,"total_units":6446,"complete_units":3986}},{"timestamp":"2026-10-10T22:56:29Z","commit_sha":"29f21fa708c14c09e5b52c6983a5e0e8aa303ae7","commit_message":"Match contiguous GUI widget destruction block\n\nRecover the 576-byte widget destructor and two list cleanup routines, totaling 792 code bytes. Preserve scoped allocator accounting and iterator lifetimes; publish the verified 5,951-function report.\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":7.819355,"total_code":3663320,"matched_code":286448,"matched_code_percent":7.8193555,"total_data":339552,"matched_data":0,"matched_data_percent":0,"total_functions":14845,"matched_functions":5951,"matched_functions_percent":40.08757,"complete_code":286448,"complete_code_percent":7.8193555,"complete_data":0,"complete_data_percent":0,"total_units":6445,"complete_units":3985}},{"timestamp":"2026-10-10T22:42:56Z","commit_sha":"7413d5f4822f43a01b605bb3a9099ea8f052055c","commit_message":"Match GUI state and widget stream-loading blocks\n\nRecover six routines totaling 1,356 code bytes with build 38. Preserve live child traversal and aligned stream field reads; publish the verified 5,948-function report.\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":7.797735,"total_code":3663320,"matched_code":285656,"matched_code_percent":7.797735,"total_data":339552,"matched_data":0,"matched_data_percent":0,"total_functions":14845,"matched_functions":5948,"matched_functions_percent":40.067364,"complete_code":285656,"complete_code_percent":7.797735,"complete_data":0,"complete_data_percent":0,"total_units":6444,"complete_units":3983}},{"timestamp":"2026-10-10T22:17:56Z","commit_sha":"48b12dededf9c7381deccd722738454c6ac59492","commit_message":"Match seven GUI focus and lifecycle routines\n\nAdd 1,344 retail-identical code bytes in the contiguous GUI lifecycle block and related state-propagation routine. Preserve live child iteration, byte-sized message responses, focus selection and flag ordering. Clean-build shared virtual-slot changes and publish the 5,942-function progress report.\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":7.76072,"total_code":3663320,"matched_code":284300,"matched_code_percent":7.76072,"total_data":339552,"matched_data":0,"matched_data_percent":0,"total_functions":14845,"matched_functions":5942,"matched_functions_percent":40.026943,"complete_code":284300,"complete_code_percent":7.76072,"complete_data":0,"complete_data_percent":0,"total_units":6440,"complete_units":3979}},{"timestamp":"2026-10-10T21:46:04Z","commit_sha":"3a1e6733996834f1614cc24424f295db9aecbac5","commit_message":"Match six GUI lookup and message-dispatch functions\n\nRecover 1,492 retail-identical code bytes in two larger GUI blocks, preserving recursive order and byte-return handler contracts. Correct the existing string comparison wrapper return contract without renaming its legacy symbol or changing its machine code. The clean full build and 17 configuration tests pass; publish the 5,935-function progress report.\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":7.724032,"total_code":3663320,"matched_code":282956,"matched_code_percent":7.724032,"total_data":339552,"matched_data":0,"matched_data_percent":0,"total_functions":14845,"matched_functions":5935,"matched_functions_percent":39.97979,"complete_code":282956,"complete_code_percent":7.724032,"complete_data":0,"complete_data_percent":0,"total_units":6437,"complete_units":3977}},{"timestamp":"2026-10-10T21:13:28Z","commit_sha":"add9fe21eba6fa969f0a4ad51751888691bc00a6","commit_message":"Match four GUI traversal functions in a contiguous block\n\nRecover 1,520 code bytes across forward and backward widget searches with typed virtual slots and live child-list iteration. Inline shared selection predicates, preserve existing source spans, and verify the complete retail hash. Publish the 5,929-function progress report.\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":7.683304,"total_code":3663320,"matched_code":281464,"matched_code_percent":7.683304,"total_data":339552,"matched_data":0,"matched_data_percent":0,"total_functions":14845,"matched_functions":5929,"matched_functions_percent":39.939373,"complete_code":281464,"complete_code_percent":7.683304,"complete_data":0,"complete_data_percent":0,"total_units":6437,"complete_units":3975}},{"timestamp":"2026-10-10T20:47:39Z","commit_sha":"b1d991dc86a15d59bc779902f72eb50b8b81e30b","commit_message":"Match three functions in two larger network polling blocks\n\nRecover 1,240 code bytes across the contiguous NPC service/dispatch block and the session polling block using readable C and shared inline helpers. Preserve all existing unit spans and align the forwarding wrapper return contract. The complete retail hash and 17 configuration tests pass; publish the 5,925-function report.\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":7.6418114,"total_code":3663320,"matched_code":279944,"matched_code_percent":7.641811,"total_data":339552,"matched_data":0,"matched_data_percent":0,"total_functions":14845,"matched_functions":5925,"matched_functions_percent":39.91243,"complete_code":279944,"complete_code_percent":7.641811,"complete_data":0,"complete_data_percent":0,"total_units":6435,"complete_units":3974}},{"timestamp":"2026-10-10T20:35:39Z","commit_sha":"85abe2696bc655429d883edb5dff568b9dc2225c","commit_message":"Match four holder and text-list accessors with build 38\n\nAdd 236 retail-identical code bytes using typed value copies and a shared inline entry accessor. Preserve invalid-index sentinels and signed-byte results. Verify the full mixed-compiler retail hash and publish the 5,922-function report.\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":7.607962,"total_code":3663320,"matched_code":278704,"matched_code_percent":7.607962,"total_data":339552,"matched_data":0,"matched_data_percent":0,"total_functions":14845,"matched_functions":5922,"matched_functions_percent":39.89222,"complete_code":278704,"complete_code_percent":7.607962,"complete_data":0,"complete_data_percent":0,"total_units":6433,"complete_units":3972}},{"timestamp":"2026-10-10T20:17:09Z","commit_sha":"178ad765fa4c0a2939e57c77b536d51e5150120c","commit_message":"Match three session-peer and widget-visibility functions\n\nAdd 564 bytes of retail-identical C with CodeWarrior build 38 and shared typed layouts. The two widget controls reuse an inline helper. Verify the complete mixed-toolchain build and publish the 5,918-function progress report.\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":7.60152,"total_code":3663320,"matched_code":278468,"matched_code_percent":7.6015196,"total_data":339552,"matched_data":0,"matched_data_percent":0,"total_functions":14845,"matched_functions":5918,"matched_functions_percent":39.865273,"complete_code":278468,"complete_code_percent":7.6015196,"complete_data":0,"complete_data_percent":0,"total_units":6432,"complete_units":3970}},{"timestamp":"2026-10-10T20:00:43Z","commit_sha":"0ff0f1d20c77eae12973cf6b47b23c812cf321cb","commit_message":"Match six GUI parser and network callback functions\n\nAdd 668 bytes of readable C in the reserved range with CodeWarrior build 38. Reuse and extend typed layouts while preserving every existing C unit span. The clean mixed-toolchain build matches the retail SHA-256, and all six units are identical in objdiff.\n\nCo-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>","measures":{"fuzzy_match_percent":7.586124,"total_code":3663320,"matched_code":277904,"matched_code_percent":7.586124,"total_data":339552,"matched_data":0,"matched_data_percent":0,"total_functions":14845,"matched_functions":5915,"matched_functions_percent":39.845066,"complete_code":277904,"complete_code_percent":7.586124,"complete_data":0,"complete_data_percent":0,"total_units":6428,"complete_units":3968}},{"timestamp":"2026-10-10T06:25:50Z","commit_sha":"732043922dfa8927dfa6741b86014c9612415432","commit_message":"Match 81 more functions (51 CodeWarrior, 30 EE-GCC)\n\nEighth agent round, each function checked with tools/check_match.py and\nfree of data sections: 51 with CodeWarrior 3.0 b38, 29 with EE-GCC 2.96\n(much of the 0x0031xxxx maths/physics library, newlib strstr, dtoa's\nBigint compare) and 1 with EE-GCC 2.95.3.\n\nThe build prints the OK line (SHA-256 9924da91...31dc6).\n5894 / 14845 functions, 7.54% code; progress/report.json updated.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01Uqack8zNUGjdqTDiYfZ6mk","measures":{"fuzzy_match_percent":7.5447407,"total_code":3663320,"matched_code":276388,"matched_code_percent":7.544741,"total_data":339552,"matched_data":0,"matched_data_percent":0,"total_functions":14845,"matched_functions":5894,"matched_functions_percent":39.703606,"complete_code":276388,"complete_code_percent":7.544741,"complete_data":0,"complete_data_percent":0,"total_units":6400,"complete_units":3947}},{"timestamp":"2026-10-10T06:06:33Z","commit_sha":"43c8efd7d6fc72499c3347646076a8d40b3fcdbe","commit_message":"Match 14 functions that use the allocator lock guard\n\nAllocation and free wrappers (component attach, string duplicate, group\nclear, script event and contact-event constructors, and others) that hold\ninclude/alloc_guard.h's AllocGuard across Mem_Alloc/Mem_Free, all with\nCodeWarrior 3.0 b38. Each was checked with tools/check_match.py and\ncontains no other linked code.\n\nThe build prints the OK line (SHA-256 9924da91...31dc6).\n5813 / 14803 functions, 7.27% code; progress/report.json updated.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01Uqack8zNUGjdqTDiYfZ6mk","measures":{"fuzzy_match_percent":7.2671843,"total_code":3663152,"matched_code":266208,"matched_code_percent":7.267184,"total_data":339552,"matched_data":0,"matched_data_percent":0,"total_functions":14803,"matched_functions":5813,"matched_functions_percent":39.269066,"complete_code":266208,"complete_code_percent":7.267184,"complete_data":0,"complete_data_percent":0,"total_units":6285,"complete_units":3866}},{"timestamp":"2026-10-10T05:56:58Z","commit_sha":"4b6562a3a87c80c955f52325fd741b1587327e6f","commit_message":"Match 61 more functions; add the allocator lock guard header\n\nSeventh agent round, each function checked with tools/check_match.py:\n55 with CodeWarrior 3.0 b38, 3 with 3.0.3 and 3 with EE-GCC 2.96\n(fdlibm sinf/cosf and libgcc's fp-bit compare).\n\ninclude/alloc_guard.h: the original code wraps allocator calls in a C++\nlock object whose non-trivial destructor gives those functions a 16-byte\nlarger frame. Its out-of-line destructor (merged into one copy at\n0x0012F530 by the original link) is declared weak and placed in a\ndiscarded section, so users stay byte-identical. check_match.py ignores\ncode outside .text accordingly.\n\nTwo matched functions with switch jump tables are held back: their tables\nduplicate data that is still in assembly.\n\nThe build prints the OK line (SHA-256 9924da91...31dc6).\n5799 / 14790 functions, 7.18% code; progress/report.json updated.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01Uqack8zNUGjdqTDiYfZ6mk","measures":{"fuzzy_match_percent":7.1775274,"total_code":3663100,"matched_code":262920,"matched_code_percent":7.1775274,"total_data":339552,"matched_data":0,"matched_data_percent":0,"total_functions":14790,"matched_functions":5799,"matched_functions_percent":39.208923,"complete_code":262920,"complete_code_percent":7.1775274,"complete_data":0,"complete_data_percent":0,"total_units":6264,"complete_units":3852}},{"timestamp":"2026-10-10T05:26:42Z","commit_sha":"71c199fe76bf92731ddb7e283e61b91f23bad565","commit_message":"Match 5 static-initialiser functions placed among the data\n\nThe original link put the static initialisers (listed at 0x004D8D10)\nbetween data blocks; splat.yaml had them as one named asm island,\nsinit_4C3700. Five matched initialisers now build from C under\nsrc/main/sinit/ (four with CodeWarrior 3.0 b38, one with 3.04), and the\nisland is split around them.\n\nThe build prints the OK line (SHA-256 9924da91...31dc6).\n5738 / 14746 functions, 6.78% code; progress/report.json updated.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01Uqack8zNUGjdqTDiYfZ6mk","measures":{"fuzzy_match_percent":6.7792835,"total_code":3662924,"matched_code":248320,"matched_code_percent":6.7792835,"total_data":339552,"matched_data":0,"matched_data_percent":0,"total_functions":14746,"matched_functions":5738,"matched_functions_percent":38.912247,"complete_code":248320,"complete_code_percent":6.7792835,"complete_data":0,"complete_data_percent":0,"total_units":6168,"complete_units":3791}},{"timestamp":"2026-10-10T05:20:49Z","commit_sha":"991e00454eb03882deae290b666a148edac6de9c","commit_message":"Match 68 more functions from the sixth agent round\n\nEach function checked with tools/check_match.py: 66 with CodeWarrior\n3.0 build 38 and 2 with EE-GCC 2.96 (library code: strrchr and two\nnetwork message helpers).\n\nThe build prints the OK line (SHA-256 9924da91...31dc6).\n5733 / 14741 functions, 6.77% code; progress/report.json updated.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01Uqack8zNUGjdqTDiYfZ6mk","measures":{"fuzzy_match_percent":6.765124,"total_code":3662904,"matched_code":247800,"matched_code_percent":6.7651243,"total_data":339552,"matched_data":0,"matched_data_percent":0,"total_functions":14741,"matched_functions":5733,"matched_functions_percent":38.891525,"complete_code":247800,"complete_code_percent":6.7651243,"complete_data":0,"complete_data_percent":0,"total_units":6158,"complete_units":3786}},{"timestamp":"2026-10-10T04:51:10Z","commit_sha":"e29dff73630bcb998f8ab21f26d783fb1f7d7124","commit_message":"Match 79 more functions, mostly with CodeWarrior 3.0 b38\n\nFifth agent round, each function checked with tools/check_match.py:\n74 with CodeWarrior 3.0 build 38 (several only reproducible with b38, such\nas loops padded to seven instructions), 4 with EE-GCC 2.96 (including\nfdlibm tanf), plus one translator candidate that only b38 reproduces.\n\nThe build prints the OK line (SHA-256 9924da91...31dc6).\n5665 / 14690 functions, 6.47% code; progress/report.json updated.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01Uqack8zNUGjdqTDiYfZ6mk","measures":{"fuzzy_match_percent":6.4665956,"total_code":3662700,"matched_code":236852,"matched_code_percent":6.4665956,"total_data":339552,"matched_data":0,"matched_data_percent":0,"total_functions":14690,"matched_functions":5665,"matched_functions_percent":38.56365,"complete_code":236852,"complete_code_percent":6.4665956,"complete_data":0,"complete_data_percent":0,"total_units":6056,"complete_units":3718}},{"timestamp":"2026-10-10T04:34:04Z","commit_sha":"78fbde38e0e751295fbf34a0b50e8210ecb734df","commit_message":"Use CodeWarrior PS2 3.0 build 38 instead of 3.04; match 6 more functions\n\nEvery C unit that recompiles byte-identically was rebuilt with each\nCodeWarrior PS2 build available (3.0 b22 = the R3.04 release, 3.0 b38/b50/\nb52 from 2003, 3.0.1 b44-b87):\n\n  compiler        units reproduced (of 3,226)   3.04-only units (of 278)\n  3.0 b22 (3.04)  2,993                          278\n  3.0 b38         2,997                          278\n  3.0 b50/b52     2,995                          276\n  3.0.1 b44-b87   ~2,300                         ~45\n\n3.0 b38 (2003-03-07) reproduces everything 3.04 does and also gives the\nshort-loop padding retail uses (pad to 7 instructions with a nop delay slot\nwhile keeping speed-mode loop alignment), which no 3.04 option produces.\nThe 3.04 entries in config/compiler_overrides.json now name cwps2-3.0b38\n(supply it with --compiler-dir cwps2-3.0b38=DIR; without it those units\nbuild from assembly as before). check_match.py accepts -c mw38.\n\n6 functions that only b38 reproduces are added (sorted list insert, two\nevent-object chain walks, a byte clear, a tree successor and an AI\ncomponent constructor). (The previous commit message should have said 58\nfunctions with 3.04 and 4 with EE-GCC.)\n\nThe build prints the OK line (SHA-256 9924da91...31dc6).\n5586 / 14631 functions, 6.26% code; progress/report.json updated.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01Uqack8zNUGjdqTDiYfZ6mk","measures":{"fuzzy_match_percent":6.2633243,"total_code":3662464,"matched_code":229392,"matched_code_percent":6.2633247,"total_data":339552,"matched_data":0,"matched_data_percent":0,"total_functions":14631,"matched_functions":5586,"matched_functions_percent":38.17921,"complete_code":229392,"complete_code_percent":6.2633247,"complete_data":0,"complete_data_percent":0,"total_units":5943,"complete_units":3639}},{"timestamp":"2026-10-10T03:35:38Z","commit_sha":"87c66d228a5cae38564ed72bde7494c4b8f9cd99","commit_message":"Match 62 more functions (59 with CodeWarrior 3.04, 3 EE-GCC)\n\nHand-matched functions from the fourth agent round, each checked with\ntools/check_match.py: 59 with CodeWarrior 3.04, 2 with EE-GCC 2.96 and one\n(Mtx_Copy) with the default EE-GCC 2.95.3.\n\nThe build prints the OK line (SHA-256 9924da91...31dc6).\n5580 / 14625 functions, 6.25% code; progress/report.json updated.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01Uqack8zNUGjdqTDiYfZ6mk","measures":{"fuzzy_match_percent":6.2477474,"total_code":3662440,"matched_code":228820,"matched_code_percent":6.2477474,"total_data":339552,"matched_data":0,"matched_data_percent":0,"total_functions":14625,"matched_functions":5580,"matched_functions_percent":38.153847,"complete_code":228820,"complete_code_percent":6.2477474,"complete_data":0,"complete_data_percent":0,"total_units":5933,"complete_units":3633}},{"timestamp":"2026-10-10T03:17:37Z","commit_sha":"6e2b02a776db463b5f5864286b6ff18670509a28","commit_message":"Match 155 more functions (119 with EE-GCC 2.96); report data honestly\n\n- 119 library functions that only EE-GCC 2.96 reproduces, from the\n  automatic translator's candidates compiled with 2.96 at -O2. They sit in\n  the SDK/middleware areas (0x0012xxxx, 0x002Bxxxx-0x0032xxxx); none was\n  reproduced by CodeWarrior 3.04, 3.0.3 or EE-GCC 2.95.3.\n- 36 hand-matched functions with CodeWarrior 3.04.\n- configure.py lists the data, rodata and bss segments that are still in\n  assembly as objdiff units, so the report counts them toward the data\n  total (339,552 bytes, 0% linked from source) instead of showing an empty\n  data total as 100%.\n\nThe build prints the OK line (SHA-256 9924da91...31dc6).\n5,518 / 14,582 functions, 6.00% code; progress/report.json updated.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01Uqack8zNUGjdqTDiYfZ6mk","measures":{"fuzzy_match_percent":5.9963937,"total_code":3662268,"matched_code":219604,"matched_code_percent":5.996393,"total_data":339552,"matched_data":0,"matched_data_percent":0,"total_functions":14582,"matched_functions":5518,"matched_functions_percent":37.841175,"complete_code":219604,"complete_code_percent":5.996393,"complete_data":0,"complete_data_percent":0,"total_units":5835,"complete_units":3571}},{"timestamp":"2026-10-10T03:08:14Z","commit_sha":"1f7afcdec89250970fc7b48f44cd796dfe75aaa2","commit_message":"Publish progress report: 5,363 / 14,469 functions, 5.71% code\n\nFrom the verified build of af54adb (OK line, SHA-256 9924da91...31dc6).\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01Uqack8zNUGjdqTDiYfZ6mk","measures":{"fuzzy_match_percent":5.7097416,"total_code":3661812,"matched_code":209080,"matched_code_percent":5.7097416,"total_data":0,"matched_data":0,"matched_data_percent":100,"total_functions":14469,"matched_functions":5363,"matched_functions_percent":37.06545,"complete_code":209080,"complete_code_percent":5.7097416,"complete_data":0,"complete_data_percent":100,"total_units":5551,"complete_units":3416}},{"timestamp":"2026-10-10T03:07:16Z","commit_sha":"af54adbcb94bb9b345536c8010c2322c937b6da3","commit_message":"Build library units with EE-GCC 2.96; match the first one\n\nPart of the library code around 0x00310000-0x00322000 uses branch-likely\ninstructions, gp-relative data and a nop pattern that no EE-GCC 2.95 build\nreproduces. decomp.me's ee-gcc2.96 (2.96-ee-001003-1) at -O2 does: the float\nargmax at 0x0031BB28 now builds from C.\n\n- config/compiler_overrides.json may name an EE-GCC build (ee-gcc*) for a\n  lib/ unit; configure.py validates that Metrowerks builds stay on main/\n  units and EE-GCC builds on lib/ units.\n- ee-gcc2.96 is a 32-bit Linux program. It runs directly on Linux and\n  through WSL on Windows (tools/wsl_gcc.py, which copies the compiler and\n  the inputs into WSL because the 32-bit tools cannot stat files on a\n  Windows drive). If it is missing, its units build from their retail\n  assembly, as for a missing CodeWarrior build.\n- tools/setup_tools.py fetches ee-gcc2.96; tools/check_match.py accepts\n  -c gcc296.\n- Tests for the new override rules.\n\nThe build prints the OK line (SHA-256 9924da91...31dc6).\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01Uqack8zNUGjdqTDiYfZ6mk","measures":{"fuzzy_match_percent":5.3571973,"total_code":3661392,"matched_code":196148,"matched_code_percent":5.3571973,"total_data":0,"matched_data":0,"matched_data_percent":100,"total_functions":14364,"matched_functions":5202,"matched_functions_percent":36.215538,"complete_code":196148,"complete_code_percent":5.3571973,"complete_data":0,"complete_data_percent":100,"total_units":5315,"complete_units":3255}},{"timestamp":"2026-10-10T02:56:02Z","commit_sha":"6e063af329dcfdb6bb6067654c8de7230aeeba0d","commit_message":"Match 18 more functions with CodeWarrior 3.04\n\nHand-matched functions, each checked with tools/check_match.py and built\nwith 3.04 through config/compiler_overrides.json.\n\nThe 3.04 build prints the OK line (SHA-256 9924da91...31dc6).\n5362 / 14469 functions, 5.71% code (the previous commit's message lost its totals).\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01Uqack8zNUGjdqTDiYfZ6mk","measures":{"fuzzy_match_percent":5.3571973,"total_code":3661392,"matched_code":196148,"matched_code_percent":5.3571973,"total_data":0,"matched_data":0,"matched_data_percent":100,"total_functions":14364,"matched_functions":5202,"matched_functions_percent":36.215538,"complete_code":196148,"complete_code_percent":5.3571973,"complete_data":0,"complete_data_percent":100,"total_units":5315,"complete_units":3255}},{"timestamp":"2026-10-10T02:36:17Z","commit_sha":"fa4190d66ba881b389cec61ad21379e65cf310ae","commit_message":"Match two camera/animation functions that use max.s\n\nBoth clamp a float with the R5900 max.s instruction, which no C form makes\nCodeWarrior emit, so a small inline asm helper provides it. Built with 3.04.\n\nThe 3.04 build prints the OK line (SHA-256 9924da91...31dc6).\n /  functions, 0% code.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01Uqack8zNUGjdqTDiYfZ6mk","measures":{"fuzzy_match_percent":5.3571973,"total_code":3661392,"matched_code":196148,"matched_code_percent":5.3571973,"total_data":0,"matched_data":0,"matched_data_percent":100,"total_functions":14364,"matched_functions":5202,"matched_functions_percent":36.215538,"complete_code":196148,"complete_code_percent":5.3571973,"complete_data":0,"complete_data_percent":100,"total_units":5315,"complete_units":3255}},{"timestamp":"2026-10-10T02:26:10Z","commit_sha":"e1d04312f3d26d3aa4691a0c2b5f029d95d7da21","commit_message":"Match 45 more functions with CodeWarrior 3.04\n\nHand-matched functions, each one checked against the retail bytes with\ntools/check_match.py, integrated as single-function units with a 3.04 entry\nin config/compiler_overrides.json. check_match.py drops the 3.03J option; the\nproject uses CodeWarrior 3.04, 3.0.3 and EE-GCC only.\n\nThe 3.04 build prints the OK line (SHA-256 9924da91...31dc6).\n5342 / 14455 functions, 5.65% code.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01Uqack8zNUGjdqTDiYfZ6mk","measures":{"fuzzy_match_percent":5.3571973,"total_code":3661392,"matched_code":196148,"matched_code_percent":5.3571973,"total_data":0,"matched_data":0,"matched_data_percent":100,"total_functions":14364,"matched_functions":5202,"matched_functions_percent":36.215538,"complete_code":196148,"complete_code_percent":5.3571973,"complete_data":0,"complete_data_percent":100,"total_units":5315,"complete_units":3255}},{"timestamp":"2026-10-10T02:11:47Z","commit_sha":"029d78b36c848390a6935ceed54ed69ac970cbb0","commit_message":"Match 95 more functions with CodeWarrior 3.04\n\nCompile the automatic translator's candidates with CodeWarrior 3.04 as well\nas 3.0.3. 95 that only 3.04 reproduces become single-function units with a\n3.04 entry in config/compiler_overrides.json. check_match.py also accepts a\n3.03J install (mw303j).\n\nThe 3.04 build prints the OK line (SHA-256 9924da91...31dc6).\n5,297 / 14,430 functions, 5.52% code.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":5.3571973,"total_code":3661392,"matched_code":196148,"matched_code_percent":5.3571973,"total_data":0,"matched_data":0,"matched_data_percent":100,"total_functions":14364,"matched_functions":5202,"matched_functions_percent":36.215538,"complete_code":196148,"complete_code_percent":5.3571973,"complete_data":0,"complete_data_percent":100,"total_units":5315,"complete_units":3255}},{"timestamp":"2026-10-10T01:17:02Z","commit_sha":"d3793f77a061c8df4f4e9628ab7d84ab9171d1c4","commit_message":"Match 56 library functions; build 3.04 units from assembly when it is missing\n\nIntegrate 55 EE-GCC library functions (C library, SDK, MPEG and network\nhelpers) and one Metrowerks MPEG parser stub. A Metrowerks unit that starts\non an 8-byte boundary now gets its .text alignment from its retail address.\n\nWithout a licensed CodeWarrior 3.04, configure.py warns and builds the units\nassigned to it from their retail assembly, so the license-free build still\nmatches. Add tools/check_match.py, which compiles a candidate with 3.0.3,\n3.04 and/or EE-GCC and reports which compiler reproduces each function.\n\nBoth the 3.04 build and the fallback build print the OK line\n(SHA-256 9924da91...31dc6). 5,202 / 14,364 functions, 5.36% code.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01Jory32U4LCoHJj36sonJSZ","measures":{"fuzzy_match_percent":5.3571973,"total_code":3661392,"matched_code":196148,"matched_code_percent":5.3571973,"total_data":0,"matched_data":0,"matched_data_percent":100,"total_functions":14364,"matched_functions":5202,"matched_functions_percent":36.215538,"complete_code":196148,"complete_code_percent":5.3571973,"complete_data":0,"complete_data_percent":100,"total_units":5315,"complete_units":3255}},{"timestamp":"2026-10-10T00:30:03Z","commit_sha":"2661430c1ceeaa2f0611dc5959fede14755f79ce","commit_message":"Match 1,102 more functions (5,122 total, 5.24% code); mark C units as linked\n\nHand-matched functions written as readable C: per-file optimizer pragmas\nfor code built at lower optimization levels, C++ mode with class\ndeclarations for virtual calls through $t9, allocator/tag structs passed\nby value, the SSO string layout and stack-staged script arguments. Every\nfunction was compared with the retail bytes including call targets and\ndata addresses, and the full build matches the retail SHA-256.\n\nobjdiff now marks C units as complete: each contains only matched\nfunctions and is linked into the byte-identical executable, so decomp.dev\nreports them as linked code.\n\nName 50 more functions (C runtime string/memory helpers, string class\nmethods, IsType checks, message helpers).\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_019vTi7RqqypAf2a5KHq9z6K","measures":{"fuzzy_match_percent":5.2360287,"total_code":3661248,"matched_code":191704,"matched_code_percent":5.2360287,"total_data":0,"matched_data":0,"matched_data_percent":100,"total_functions":14328,"matched_functions":5122,"matched_functions_percent":35.748188,"complete_code":191704,"complete_code_percent":5.2360287,"complete_data":0,"complete_data_percent":100,"total_units":5197,"complete_units":3176}},{"timestamp":"2026-10-09T22:47:48Z","commit_sha":"5afe82ae9f35b1e1627d1afea68206b367cd6a02","commit_message":"Make the remaining ungrouped sources readable; name 62 functions\n\nRewrite the generated C in the ~900 matched files that are not yet\nassigned to a source file (src/main/*.c) with typed structs and\nstructured control flow; new headers include/loose0[0-5]_types.h hold\nthe provisional layouts (GUI widget/screen classes, lobby, motion graph,\nstring, texture registry). Every function is still byte-identical; the\nfull build matches the retail SHA-256.\n\nName 62 more functions, including 13 GUI class constructors and 11\nclass-name getters identified from vtable slot 19, the soft-float\ncompares, sprintf/memset and container helpers.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_019vTi7RqqypAf2a5KHq9z6K","measures":{"fuzzy_match_percent":2.824726,"total_code":3661240,"matched_code":103420,"matched_code_percent":2.824726,"total_data":0,"matched_data":0,"matched_data_percent":100,"total_functions":14328,"matched_functions":4020,"matched_functions_percent":28.056952,"complete_code":0,"complete_code_percent":0,"complete_data":0,"complete_data_percent":100,"total_units":3872,"complete_units":0}},{"timestamp":"2026-10-09T21:55:05Z","commit_sha":"c3f75fd126fc95f49af31652efb42d35efab0977","commit_message":"Make GUI, HUD, network, effects, loader and gameplay sources readable\n\nRewrite the generated C in 70 more source directories (Gui*, hud*,\nNetObj*, SFOLobby_*, NIEvent, MovieSubtitles, system, specfx, particle,\ntexman, Loader, fstream, globalization, GobjMan, interface_*, group,\ncollision, materialProperties, grenade, taser and others) with typed\nstructs and structured control flow. Every function is still\nbyte-identical; the full build matches the retail SHA-256.\n\nName 31 more functions (language selection, group script helpers,\nparticle and special-effect setup, GUI constructors, containers).\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_019vTi7RqqypAf2a5KHq9z6K","measures":{"fuzzy_match_percent":2.824726,"total_code":3661240,"matched_code":103420,"matched_code_percent":2.824726,"total_data":0,"matched_data":0,"matched_data_percent":100,"total_functions":14328,"matched_functions":4020,"matched_functions_percent":28.056952,"complete_code":0,"complete_code_percent":0,"complete_data":0,"complete_data_percent":100,"total_units":3872,"complete_units":0}},{"timestamp":"2026-10-09T21:36:58Z","commit_sha":"06419a9571ccc3dce9f98b0ac3961f346eda547d","commit_message":"Make 21 more source directories readable; name 42 functions\n\nRewrite the generated C in ska, GameGOBJ, gameobj, gobj, AgentData,\nbackpack, aiMsgs, interface_model, scriptUtils, scriptBase, scriptManager,\ntank, hotbox, player, playerControls, weapon, gameSound, node, path, man\nand Checkpoint with typed structs, named fields and structured control\nflow. New per-directory headers in include/ hold the recovered layouts\n(cAgentData, cBackpack, cGOBJ, cElevatorGOBJ, cTank, cHotbox, inventory,\nsound manager, path lists, script manager stack and enums, AI messages).\nEvery function is still byte-identical; the full build matches the retail\nSHA-256.\n\nName 42 more functions (script type registration, script stack, clip\naxis flags, tank/turret, crouch zones, checkpoint and objective helpers).\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_019vTi7RqqypAf2a5KHq9z6K","measures":{"fuzzy_match_percent":2.824726,"total_code":3661240,"matched_code":103420,"matched_code_percent":2.824726,"total_data":0,"matched_data":0,"matched_data_percent":100,"total_functions":14328,"matched_functions":4020,"matched_functions_percent":28.056952,"complete_code":0,"complete_code_percent":0,"complete_data":0,"complete_data_percent":100,"total_units":3872,"complete_units":0}},{"timestamp":"2026-10-09T21:27:52Z","commit_sha":"3d603d64315621b65231f1ce7fcd389fe72df725","commit_message":"Make npc, game, human, Objective and ai sources readable; name 72 functions\n\nRewrite the generated C in src/main/{npc,NPCInfoObject,game,gameCamera,\nhuman,Objective,ai} with typed structs, named fields and structured\ncontrol flow instead of raw pointer arithmetic and gotos. New per-directory\nheaders in include/ describe the recovered layouts (cNPC, cObjective,\ncObjectiveMan, Actor, message and curve types). Every function is still\nbyte-identical; the full build matches the retail SHA-256.\n\nName 72 more functions, including the cNPC script methods identified\nthrough the cNPC vtable at 0x004D9380.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_019vTi7RqqypAf2a5KHq9z6K","measures":{"fuzzy_match_percent":2.824726,"total_code":3661240,"matched_code":103420,"matched_code_percent":2.824726,"total_data":0,"matched_data":0,"matched_data_percent":100,"total_functions":14328,"matched_functions":4020,"matched_functions_percent":28.056952,"complete_code":0,"complete_code_percent":0,"complete_data":0,"complete_data_percent":100,"total_units":3872,"complete_units":0}},{"timestamp":"2026-10-09T21:06:05Z","commit_sha":"41f50c06e5903caf701cd8eac3b6e2e1180c2eee","commit_message":"Extend source-file ranges to 150 files (47% of functions)\n\nconfig/tu_ranges.txt now assigns 6,645 functions (53% of code bytes) to\nsource files, extended from the file-name anchors by data layout order,\nvtables, class membership and call graph; 18 file names marked '?' are\ninferred (class or library name) without a file-name string. Method and\nper-file notes: docs/tu_ranges_report.md. Verified byte-identical.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01EVDCKzbbqJurWMLT2RRPp8","measures":{"fuzzy_match_percent":2.824726,"total_code":3661240,"matched_code":103420,"matched_code_percent":2.824726,"total_data":0,"matched_data":0,"matched_data_percent":100,"total_functions":14328,"matched_functions":4020,"matched_functions_percent":28.056952,"complete_code":0,"complete_code_percent":0,"complete_data":0,"complete_data_percent":100,"total_units":3872,"complete_units":0}},{"timestamp":"2026-10-09T20:57:18Z","commit_sha":"8dddcd7c1fcd1542492c9fa2340d2561df8b9e50","commit_message":"Name 1,273 more functions from script registrations and vtables (2.82%)\n\n537 script method wrappers are named Script_<Class>_<Method> from their\nregistrations (0x003D84F0 class methods, 0x003D8740 globals), with 122\nimplementations and 60 type initialisers; 554 C++ virtuals, constructors\nand destructors are named from the Metrowerks vtables (<Class>_vXX, _ctor,\n_dtor). 2,313 functions are named. The automatic decompiler now splits units\nwhere declarations would conflict instead of dropping functions (+74).\nVerified byte-identical; 4,020 functions build from C.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01EVDCKzbbqJurWMLT2RRPp8","measures":{"fuzzy_match_percent":2.824726,"total_code":3661240,"matched_code":103420,"matched_code_percent":2.824726,"total_data":0,"matched_data":0,"matched_data_percent":100,"total_functions":14328,"matched_functions":4020,"matched_functions_percent":28.056952,"complete_code":0,"complete_code_percent":0,"complete_data":0,"complete_data_percent":100,"total_units":3864,"complete_units":0}},{"timestamp":"2026-10-09T20:16:49Z","commit_sha":"0b92d0dd02d4c7f30e35356472cfb46ec3f27e82","commit_message":"Group matched units by source file and name 129 more functions (2.75%)\n\nconfig/tu_ranges.txt lists 132 source files (game.cc, npc.cc, Objective.cc,\nhud.cc, ...) with the address ranges of the functions that reference their\nfile names; matched units in those ranges now live in src/main/<file>/ and\nsrc/lib/<file>/. 129 library and game functions were named from their own\ndiagnostic strings (sceUsbKb*, sceDbc*, sceCd*, lgAud*, ezNetCnf*, ...).\nVerified byte-identical.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01EVDCKzbbqJurWMLT2RRPp8","measures":{"fuzzy_match_percent":2.7456272,"total_code":3661240,"matched_code":100524,"matched_code_percent":2.7456272,"total_data":0,"matched_data":0,"matched_data_percent":100,"total_functions":14328,"matched_functions":3946,"matched_functions_percent":27.540482,"complete_code":0,"complete_code_percent":0,"complete_data":0,"complete_data_percent":100,"total_units":3883,"complete_units":0}},{"timestamp":"2026-10-09T19:54:05Z","commit_sha":"082e9f3205e8b6dc0fca885fe35bbe6ba03ab8aa","commit_message":"Match library code with EE-GCC and name 759 more functions (2.74%)\n\nLibrary units (src/lib/) are compiled with EE-GCC 2.95.3-136 (decomp.me's\narchive, Windows build), selected per unit; the automatic decompiler now\nverifies candidates with both compilers. Object .text alignment is set from\neach unit's start address so mixed 8/16-byte aligned code links in the retail\nlayout. 911 functions are now named, mostly from the port project's research\nnotes (parallel naming pass), and tools/apply_names.py applies names to the C\nsources. 3,942 functions build from C; verified byte-identical.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01EVDCKzbbqJurWMLT2RRPp8","measures":{"fuzzy_match_percent":2.7376518,"total_code":3661240,"matched_code":100232,"matched_code_percent":2.7376518,"total_data":0,"matched_data":0,"matched_data_percent":100,"total_functions":14327,"matched_functions":3942,"matched_functions_percent":27.514484,"complete_code":0,"complete_code_percent":0,"complete_data":0,"complete_data_percent":100,"total_units":3875,"complete_units":0}},{"timestamp":"2026-10-09T19:25:47Z","commit_sha":"7ecdb867d1ec741f7b06ee22137b9c78ed39255f","commit_message":"Add the automatic decompiler as a repository tool (3,418 functions, 2.40%)\n\ntools/autodecomp/run.py scans the functions still in assembly, translates\nthem to C (straight.py: branch-free expression form; goto.py: one variable\nper register with gotos), compiles and compares them with the retail bytes,\nand integrates the byte-identical ones into src/main and config/splat.yaml.\nThis run added 13 functions. Verified byte-identical.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01EVDCKzbbqJurWMLT2RRPp8","measures":{"fuzzy_match_percent":2.399187,"total_code":3661240,"matched_code":87840,"matched_code_percent":2.399187,"total_data":0,"matched_data":0,"matched_data_percent":100,"total_functions":14327,"matched_functions":3418,"matched_functions_percent":23.857052,"complete_code":0,"complete_code_percent":0,"complete_data":0,"complete_data_percent":100,"total_units":3402,"complete_units":0}},{"timestamp":"2026-10-09T19:12:15Z","commit_sha":"fe26eab1f0ee921e34e2351fd95baeb606bddb0b","commit_message":"Update the progress log (3,405 functions, 2.39%)\n\nDescribe how the matched C is produced and verified, the code split out of\nthe data area, the naming pass and the compiler-build question.\nVerified byte-identical.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01EVDCKzbbqJurWMLT2RRPp8","measures":{"fuzzy_match_percent":2.385312,"total_code":3661240,"matched_code":87332,"matched_code_percent":2.385312,"total_data":0,"matched_data":0,"matched_data_percent":100,"total_functions":14327,"matched_functions":3405,"matched_functions_percent":23.766315,"complete_code":0,"complete_code_percent":0,"complete_data":0,"complete_data_percent":100,"total_units":3402,"complete_units":0}},{"timestamp":"2026-10-09T19:08:44Z","commit_sha":"36b0f62103ae67f35a3267d17d29d7868f491066","commit_message":"Match 210 more functions, including ones with stack locals (2.37%)\n\nThe register-level translator now models stack locals as an array at the\noffset Metrowerks uses, folds constant float loads, short/char sign\nextension, conditional moves, virtual calls and tail jumps.\nVerified byte-identical; 3,397 functions build from C.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01EVDCKzbbqJurWMLT2RRPp8","measures":{"fuzzy_match_percent":2.3672855,"total_code":3661240,"matched_code":86672,"matched_code_percent":2.3672855,"total_data":0,"matched_data":0,"matched_data_percent":100,"total_functions":14327,"matched_functions":3397,"matched_functions_percent":23.710478,"complete_code":0,"complete_code_percent":0,"complete_data":0,"complete_data_percent":100,"total_units":3388,"complete_units":0}},{"timestamp":"2026-10-09T19:04:59Z","commit_sha":"c6a40a25330b651aac2198ebdb257a47416b06a2","commit_message":"Fix the previous commit's build and publish its report (2.09%)\n\nThe previous commit was made before its build finished: eight units had\nconflicting declarations of functions defined in the same file. Extern\ndeclarations now come from each function's own signature. Verified\nbyte-identical; 3,187 functions build from C.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01EVDCKzbbqJurWMLT2RRPp8","measures":{"fuzzy_match_percent":2.0916412,"total_code":3661240,"matched_code":76580,"matched_code_percent":2.0916412,"total_data":0,"matched_data":0,"matched_data_percent":100,"total_functions":14327,"matched_functions":3187,"matched_functions_percent":22.244713,"complete_code":0,"complete_code_percent":0,"complete_data":0,"complete_data_percent":100,"total_units":3314,"complete_units":0}},{"timestamp":"2026-10-09T18:59:09Z","commit_sha":"6a5345653fecd9cc09e09ecda4167806458d5056","commit_message":"Match 167 more functions, including ones with branches (2.1%)\n\nA register-level translator turns functions with conditional branches into\nC with gotos; MWCC's optimizer reproduces the original code for many of\nthem. Results are kept only when byte-identical.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01EVDCKzbbqJurWMLT2RRPp8","measures":{"fuzzy_match_percent":1.802668,"total_code":3661240,"matched_code":66000,"matched_code_percent":1.802668,"total_data":0,"matched_data":0,"matched_data_percent":100,"total_functions":14327,"matched_functions":3018,"matched_functions_percent":21.065123,"complete_code":0,"complete_code_percent":0,"complete_data":0,"complete_data_percent":100,"total_units":3130,"complete_units":0}},{"timestamp":"2026-10-09T18:56:48Z","commit_sha":"efaa9fe4943a30e470789c59be9a119ac3b923dc","commit_message":"Name 60 more functions (curves, camera, collision, animation)\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01EVDCKzbbqJurWMLT2RRPp8","measures":{"fuzzy_match_percent":1.802668,"total_code":3661240,"matched_code":66000,"matched_code_percent":1.802668,"total_data":0,"matched_data":0,"matched_data_percent":100,"total_functions":14327,"matched_functions":3018,"matched_functions_percent":21.065123,"complete_code":0,"complete_code_percent":0,"complete_data":0,"complete_data_percent":100,"total_units":3130,"complete_units":0}},{"timestamp":"2026-10-09T18:52:47Z","commit_sha":"46daa96c822c14b6bd048dd9f3575cdaff83b13b","commit_message":"Name 92 functions from the port's research notes\n\nNames for math helpers, containers, curves, transforms, script wrappers and\nobjective state setters, taken from research/ADDRESS_INDEX.md of the port\nproject. The executable is still byte-identical.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01EVDCKzbbqJurWMLT2RRPp8","measures":{"fuzzy_match_percent":1.802668,"total_code":3661240,"matched_code":66000,"matched_code_percent":1.802668,"total_data":0,"matched_data":0,"matched_data_percent":100,"total_functions":14327,"matched_functions":3018,"matched_functions_percent":21.065123,"complete_code":0,"complete_code_percent":0,"complete_data":0,"complete_data_percent":100,"total_units":3130,"complete_units":0}},{"timestamp":"2026-10-09T18:49:23Z","commit_sha":"5e09b9f67ffd768e34dbfb7a5489affe06fda6f4","commit_message":"Split code that the original link placed among the data\n\nThe rt_crypt assembly routines (0x004AE1C0, 0x004B13D0) and the static\ninitialiser functions (0x004C3700-0x004D8D0C, listed by the table at\n0x004D8D10) are now disassembled as code and counted in the progress\ntotals. Objects are linked in address order with one section pattern.\nThe executable is still byte-identical.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01EVDCKzbbqJurWMLT2RRPp8","measures":{"fuzzy_match_percent":1.802668,"total_code":3661240,"matched_code":66000,"matched_code_percent":1.802668,"total_data":0,"matched_data":0,"matched_data_percent":100,"total_functions":14327,"matched_functions":3018,"matched_functions_percent":21.065123,"complete_code":0,"complete_code_percent":0,"complete_data":0,"complete_data_percent":100,"total_units":3130,"complete_units":0}},{"timestamp":"2026-10-09T18:42:22Z","commit_sha":"873d6982f359a4ded5f422b5a748739bfbef5d75","commit_message":"Match 1,009 straight-line functions with calls (1.85%)\n\nExtend the automatic decompiler to branch-free functions that call other\nfunctions and reference global data (callee arity and return kind are\ninferred from the callee's code). Link with a short wildcard script and an\nobject response file, which makes linking ~3,000 objects fast.\n3,018 functions now build from C; the executable is still byte-identical.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01EVDCKzbbqJurWMLT2RRPp8","measures":{"fuzzy_match_percent":1.8522447,"total_code":3563244,"matched_code":66000,"matched_code_percent":1.8522447,"total_data":0,"matched_data":0,"matched_data_percent":100,"total_functions":14119,"matched_functions":3018,"matched_functions_percent":21.375452,"complete_code":0,"complete_code_percent":0,"complete_data":0,"complete_data_percent":100,"total_units":3127,"complete_units":0}},{"timestamp":"2026-10-09T18:37:50Z","commit_sha":"2b1755e236ee094336f2f42cd05e17054297543c","commit_message":"Match 48 more leaf functions (0.91%)\n\nAdd quadword copies and multiply-by-constant expressions to the leaf\ndecompiler; 2,009 functions now build from C, byte-identical.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01EVDCKzbbqJurWMLT2RRPp8","measures":{"fuzzy_match_percent":0.90905726,"total_code":3563252,"matched_code":32392,"matched_code_percent":0.90905726,"total_data":0,"matched_data":0,"matched_data_percent":100,"total_functions":14119,"matched_functions":2009,"matched_functions_percent":14.2290535,"complete_code":0,"complete_code_percent":0,"complete_data":0,"complete_data_percent":100,"total_units":2189,"complete_units":0}},{"timestamp":"2026-10-09T18:28:52Z","commit_sha":"0d06c82eef1acb5f1cfd1764c40a022fb5bdb87b","commit_message":"Match 368 more functions with an automatic leaf decompiler (0.86%)\n\nBranch-free leaf functions (loads, stores, integer and float arithmetic)\nwere translated to C by a symbolic pass, compiled and kept only when\nbyte-identical; duplicates of matched functions reuse their source.\n1,961 functions now build from C; the executable is still byte-identical.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01EVDCKzbbqJurWMLT2RRPp8","measures":{"fuzzy_match_percent":0.86359316,"total_code":3563252,"matched_code":30772,"matched_code_percent":0.86359316,"total_data":0,"matched_data":0,"matched_data_percent":100,"total_functions":14119,"matched_functions":1961,"matched_functions_percent":13.889086,"complete_code":0,"complete_code_percent":0,"complete_data":0,"complete_data_percent":100,"total_units":2179,"complete_units":0}},{"timestamp":"2026-10-09T18:19:25Z","commit_sha":"13eb22e4f2245638b1f745c03ce52ac1a812eb66","commit_message":"Match 692 more functions (0.64% of code)\n\nAdd a container swap, map constructor, iterator comparison and 4-word\ncopy, and reuse every matched leaf function's source for byte-identical\nduplicates elsewhere in the executable (C++ template instances).\n1,593 functions now build from C; the executable is still byte-identical.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01EVDCKzbbqJurWMLT2RRPp8","measures":{"fuzzy_match_percent":0.644692,"total_code":3563252,"matched_code":22972,"matched_code_percent":0.644692,"total_data":0,"matched_data":0,"matched_data_percent":100,"total_functions":14119,"matched_functions":1593,"matched_functions_percent":11.282669,"complete_code":0,"complete_code_percent":0,"complete_data":0,"complete_data_percent":100,"total_units":1949,"complete_units":0}},{"timestamp":"2026-10-09T17:53:29Z","commit_sha":"b57c1db988c469ec6b8f495a4412c617b45c93bb","commit_message":"Initial import of the Omega Strain matching decompilation\n\nsplat + ninja + objdiff project that rebuilds SCUS_972.64 byte-identically\nfrom split assembly and C compiled with Metrowerks CodeWarrior PS2\n(mwccps2 -O4,p). 901 of 14,119 functions build from C so far.\n\nNo game data is included; users supply their own executable. A locally\ngenerated objdiff report is uploaded by CI for decomp.dev.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01EVDCKzbbqJurWMLT2RRPp8","measures":{"fuzzy_match_percent":0.21474765,"total_code":3563252,"matched_code":7652,"matched_code_percent":0.21474764,"total_data":0,"matched_data":0,"matched_data_percent":100,"total_functions":14119,"matched_functions":901,"matched_functions_percent":6.3814716,"complete_code":0,"complete_code_percent":0,"complete_data":0,"complete_data_percent":100,"total_units":1217,"complete_units":0}}]