[{"timestamp":"2026-11-11T15:14:01Z","commit_sha":"b51ce8d44041ccfe6e390d73321677ace8927959","commit_message":"Monorepo: root README (version table), versions.py, CI and per-version ByteMatch progress workflow\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":58.705353,"total_code":1740454,"matched_code":1018848,"matched_code_percent":58.539207,"total_data":231184,"matched_data":231184,"matched_data_percent":100,"total_functions":8610,"matched_functions":7369,"matched_functions_percent":85.58653,"complete_code":671428,"complete_code_percent":38.57775,"complete_data":231184,"complete_data_percent":100,"total_units":13441,"complete_units":10965}},{"timestamp":"2026-11-11T13:06:01Z","commit_sha":"7eaa21d21221b5573e63c79218c063d8f853b81c","commit_message":"studio: 57 blocks (generation 6)","measures":{"fuzzy_match_percent":58.705353,"total_code":1740454,"matched_code":1018848,"matched_code_percent":58.539207,"total_data":231184,"matched_data":231184,"matched_data_percent":100,"total_functions":8610,"matched_functions":7369,"matched_functions_percent":85.58653,"complete_code":671428,"complete_code_percent":38.57775,"complete_data":231184,"complete_data_percent":100,"total_units":13441,"complete_units":10965}},{"timestamp":"2026-11-11T12:30:21Z","commit_sha":"8c8a8cac6afd3f10c36670e21351edef52cc8416","commit_message":"progress: report after match 517 (claude)","measures":{"fuzzy_match_percent":58.705353,"total_code":1740454,"matched_code":1018848,"matched_code_percent":58.539207,"total_data":231184,"matched_data":231184,"matched_data_percent":100,"total_functions":8610,"matched_functions":7369,"matched_functions_percent":85.58653,"complete_code":671428,"complete_code_percent":38.57775,"complete_data":231184,"complete_data_percent":100,"total_units":13441,"complete_units":10965}},{"timestamp":"2026-11-11T11:36:47Z","commit_sha":"f665c471a57d39bbd67409ae6cd3a6c0ed398c25","commit_message":"progress: report after match 1483 (claude)","measures":{"fuzzy_match_percent":54.587116,"total_code":1740454,"matched_code":947172,"matched_code_percent":54.42097,"total_data":231184,"matched_data":231184,"matched_data_percent":100,"total_functions":8610,"matched_functions":6852,"matched_functions_percent":79.58188,"complete_code":599752,"complete_code_percent":34.459515,"complete_data":231184,"complete_data_percent":100,"total_units":12918,"complete_units":10448}},{"timestamp":"2026-11-10T19:19:09Z","commit_sha":"3a0e07cc0b13e3876e3111f817abaaf46d956adf","commit_message":"progress: report after BuildInfo","measures":{"fuzzy_match_percent":41.210148,"total_code":1740454,"matched_code":714352,"matched_code_percent":41.044003,"total_data":231184,"matched_data":231184,"matched_data_percent":100,"total_functions":8610,"matched_functions":5370,"matched_functions_percent":62.36934,"complete_code":366932,"complete_code_percent":21.082546,"complete_data":231184,"complete_data_percent":100,"total_units":11261,"complete_units":8966}},{"timestamp":"2026-11-07T13:20:30Z","commit_sha":"6c31abd240786f3a898a69bca53c4b167724217d","commit_message":"progress: report (data pass)\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":41.20808,"total_code":1740454,"matched_code":714316,"matched_code_percent":41.041935,"total_data":231184,"matched_data":231184,"matched_data_percent":100,"total_functions":8610,"matched_functions":5369,"matched_functions_percent":62.357723,"complete_code":366896,"complete_code_percent":21.080477,"complete_data":231184,"complete_data_percent":100,"total_units":11261,"complete_units":8965}},{"timestamp":"2026-11-07T00:14:31Z","commit_sha":"2fc1f49cb0c677a31c2d51f74a7ad640612a079c","commit_message":"progress: report (data pass)\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":41.20808,"total_code":1740454,"matched_code":714316,"matched_code_percent":41.041935,"total_data":231184,"matched_data":225848,"matched_data_percent":97.69188,"total_functions":8610,"matched_functions":5369,"matched_functions_percent":62.357723,"complete_code":366896,"complete_code_percent":21.080477,"complete_data":225848,"complete_data_percent":97.69188,"total_units":11217,"complete_units":8910}},{"timestamp":"2026-11-05T19:53:44Z","commit_sha":"1a00afd8cd9a327c5fba7a9fa79e590639e51de6","commit_message":"README: progress section (tools/match.py progress)","measures":{"fuzzy_match_percent":41.20808,"total_code":1740454,"matched_code":714316,"matched_code_percent":41.041935,"total_data":231184,"matched_data":10608,"matched_data_percent":4.588553,"total_functions":8610,"matched_functions":5369,"matched_functions_percent":62.357723,"complete_code":366896,"complete_code_percent":21.080477,"complete_data":10608,"complete_data_percent":4.588553,"total_units":7082,"complete_units":4539}},{"timestamp":"2026-11-05T19:33:25Z","commit_sha":"66d73d15189d9e372513c4e166be7252bf22c33b","commit_message":"tools: sync rom_build.py (ds-decomp-studio/gametools 65b0f709)","measures":{"fuzzy_match_percent":41.20808,"total_code":1740454,"matched_code":714316,"matched_code_percent":41.041935,"total_data":231184,"matched_data":10608,"matched_data_percent":4.588553,"total_functions":8610,"matched_functions":5369,"matched_functions_percent":62.357723,"complete_code":366896,"complete_code_percent":21.080477,"complete_data":10608,"complete_data_percent":4.588553,"total_units":7082,"complete_units":4539}},{"timestamp":"2026-11-04T15:34:05Z","commit_sha":"b0974b0dd5089e64d92aa56fa50ed5f73cf0966f","commit_message":"README: progress section (tools/match.py progress)","measures":{"fuzzy_match_percent":41.20808,"total_code":1740454,"matched_code":714316,"matched_code_percent":41.041935,"total_data":231184,"matched_data":10608,"matched_data_percent":4.588553,"total_functions":8610,"matched_functions":5369,"matched_functions_percent":62.357723,"complete_code":366896,"complete_code_percent":21.080477,"complete_data":10608,"complete_data_percent":4.588553,"total_units":7082,"complete_units":4539}},{"timestamp":"2026-11-04T15:15:39Z","commit_sha":"5f12ff82fc2a7ca6bc283b74f138ef0b840522bf","commit_message":"tools: sync pipeline_lock.py (ds-decomp-studio/gametools 780e6e6c)","measures":{"fuzzy_match_percent":40.99756,"total_code":1740454,"matched_code":710652,"matched_code_percent":40.831413,"total_data":231184,"matched_data":0,"matched_data_percent":0,"total_functions":8610,"matched_functions":5146,"matched_functions_percent":59.76771,"complete_code":363232,"complete_code_percent":20.869957,"complete_data":0,"complete_data_percent":0,"total_units":5918,"complete_units":3708}},{"timestamp":"2026-11-03T18:27:30Z","commit_sha":"b43b849f5cc300c26643317c517bec5b7551960e","commit_message":"missdb: 608 matching data\n\nC definitions of data (a data miss, or the same data matched in another of our DS projects) that compile to exactly these bytes and pointers (missdb.py replay). VERIFY PASSED.","measures":{"fuzzy_match_percent":40.99756,"total_code":1740454,"matched_code":710652,"matched_code_percent":40.831413,"total_data":231184,"matched_data":0,"matched_data_percent":0,"total_functions":8610,"matched_functions":5146,"matched_functions_percent":59.76771,"complete_code":363232,"complete_code_percent":20.869957,"complete_data":0,"complete_data_percent":0,"total_units":5918,"complete_units":3708}},{"timestamp":"2026-11-03T18:05:41Z","commit_sha":"283a9ed286cabce5e5038b1755ce3b222dd8910d","commit_message":"Match 222 function(s) (missdb)\n\nfunc_01ff8930\nfunc_01ff93e8\nfunc_01ff93f8\nfunc_01ff9408\nfunc_01ff9418\nfunc_01ffabe4\nfunc_01ffabf4\nfunc_01ffad84\nfunc_01ffad94\nfunc_01ffb024\nfunc_01ffb034\nfunc_ov001_0215a154\nfunc_ov001_0215a434\nfunc_ov003_021742f0\nfunc_ov003_021742fc\nfunc_ov003_02174308\nfunc_ov003_02174314\nfunc_ov003_02174320\nfunc_ov003_021747a8\nfunc_ov003_02175094\nfunc_ov003_021750a0\nfunc_ov003_021750ac\nfunc_ov003_021750b8\nfunc_ov003_021766d8\nfunc_ov003_02176e00\nfunc_ov003_02179cb4\nfunc_ov003_02179cc4\nfunc_ov003_02179cd4\nfunc_ov003_02179ce4\nfunc_ov003_0217c52c\nfunc_ov003_0217c538\nfunc_ov003_0217c544\nfunc_ov003_0217c550\nfunc_ov003_0217c55c\nfunc_ov003_0217d6dc\nfunc_ov003_0217d6ec\nfunc_ov003_0217dbec\nfunc_ov003_0217dbf8\nfunc_ov003_02181ffc\nfunc_ov003_02182008\nfunc_ov003_021829cc\nfunc_ov003_021829d8\nfunc_ov003_021829e4\nfunc_ov003_021829f0\nfunc_ov003_021829fc\nfunc_ov003_02182a08\nfunc_ov003_02182a14\nfunc_ov003_02182a20\nfunc_ov003_0218301c\nfunc_ov003_021836c4\nfunc_ov003_021836d4\nfunc_ov003_02184778\nfunc_ov003_0218490c\nfunc_ov003_021849f0\nfunc_ov003_02184a74\nfunc_ov003_02184a84\nfunc_ov003_02184a90\nfunc_ov003_02184b80\nfunc_ov003_02184bcc\nfunc_ov003_02184bdc\nfunc_ov003_02184be8\nfunc_ov003_021856b4\nfunc_ov003_0218596c\nfunc_ov003_02185f44\nfunc_ov003_02185f50\nfunc_ov003_0218610c\nfunc_ov003_02186118\nfunc_ov003_02186cf8\nfunc_ov003_02186d0c\nfunc_ov003_02186d20\nfunc_ov003_02186d34\nfunc_ov003_02186d48\nfunc_ov003_02186d5c\nfunc_ov003_02186d70\nfunc_ov003_02186d90\nfunc_ov003_02186da4\nfunc_ov003_02186db8\nfunc_ov003_02186dcc\nfunc_ov003_02186de0\nfunc_ov003_02186df4\nfunc_ov003_02186e08\nfunc_ov003_02186e1c\nfunc_ov003_02186e28\nfunc_ov003_021873e0\nfunc_ov003_02187534\nfunc_ov003_02187790\nfunc_ov003_021877a0\nfunc_ov003_021877b0\nfunc_ov003_021877c0\nfunc_ov003_021877d0\nfunc_ov003_02187f90\nfunc_ov003_0218840c\nfunc_ov003_02188420\nfunc_ov003_02188434\nfunc_ov003_02188440\nfunc_ov003_0218883c\nfunc_ov003_02188850\nfunc_ov003_02188864\nfunc_ov003_02188878\nfunc_ov003_0218888c\nfunc_ov003_021888a0\nfunc_ov003_021888b4\nfunc_ov003_021888c0\nfunc_ov003_0218972c\nfunc_ov003_02189738\nfunc_ov003_02189788\nfunc_ov003_0218deb8\nfunc_ov003_0218dec4\nfunc_ov003_0218e244\nfunc_ov003_0218e25c\nfunc_ov003_0218f2dc\nfunc_ov003_0218f2ec\nfunc_ov003_0218f2fc\nfunc_ov003_0218fd04\nfunc_ov003_0218fd10\nfunc_ov003_0218fd1c\nfunc_ov003_0218fd28\nfunc_ov003_0218ffc0\nfunc_ov003_021908bc\nfunc_ov003_021934e8\nfunc_ov003_02194264\nfunc_ov003_02194278\nfunc_ov003_0219428c\nfunc_ov003_021942a0\nfunc_ov003_02194774\nfunc_ov003_02194780\nfunc_ov003_0219478c\nfunc_ov003_02194798\nfunc_ov003_021949ac\nfunc_ov003_021949b8\nfunc_ov003_021949c4\nfunc_ov003_021949d0\nfunc_ov003_02194c18\nfunc_ov003_02194c24\nfunc_ov003_02194c30\nfunc_ov003_02194c3c\nfunc_ov003_02194c48\nfunc_ov003_02194c54\nfunc_ov003_021952e4\nfunc_ov003_021952f0\nfunc_ov003_021952fc\nfunc_ov003_02195308\nfunc_ov003_02195314\nfunc_ov003_02195320\nfunc_ov004_0215a93c\nfunc_ov004_0216279c\nfunc_ov004_021627b0\nfunc_ov004_02164550\nfunc_ov004_02164560\nfunc_ov004_02164570\nfunc_ov004_02165830\nfunc_ov004_021672d8\nfunc_ov004_021672f8\nfunc_ov004_02167318\nfunc_ov004_02167b10\nfunc_ov004_02167b24\nfunc_ov004_02167b38\nfunc_ov004_0216c5e0\nfunc_ov004_0216ca30\nfunc_ov004_0216cadc\nfunc_ov004_0216da00\nfunc_ov004_0216da10\nfunc_ov004_0216da20\nfunc_ov004_0216da30\nfunc_ov004_0216da40\nfunc_ov004_0216da50\nfunc_ov004_0216da60\nfunc_ov005_0215a3e8\nfunc_ov005_0215a3f8\nfunc_ov005_0215a818\nfunc_ov005_0215a838\nfunc_ov005_0215a858\nfunc_ov005_0215a878\nfunc_ov005_0215a898\nfunc_ov005_0215a8b8\nfunc_ov005_02162308\nfunc_ov005_02162938\nfunc_ov005_02162d4c\nfunc_ov005_02162f64\nfunc_ov005_021654b0\nfunc_ov005_021654c0\nfunc_ov006_0215a60c\nfunc_ov006_0215a618\nfunc_ov006_0215a624\nfunc_ov006_0215a630\nfunc_ov006_0215ea88\nfunc_ov006_0215ea94\nfunc_ov006_0215eaa0\nfunc_ov006_0215eaac\nfunc_ov006_0215eab8\nfunc_ov006_0215eac4\nfunc_ov006_021613a8\nfunc_ov006_02163408\nfunc_ov007_0215bac8\nfunc_ov007_0215bb3c\nfunc_ov007_0215bb48\nfunc_ov007_0215cc8c\nfunc_ov007_0215cda8\nfunc_ov007_0215cdcc\nfunc_ov009_0215aaf4\nfunc_ov011_0215ad64\nfunc_ov011_0215ad74\nfunc_ov011_0215ad84\nfunc_ov013_0215a0a0\nfunc_ov017_0215a0a0\nfunc_ov018_0215a0a0\nfunc_ov019_0215b454\nfunc_ov019_0215b658\nfunc_ov019_0215b874\nfunc_ov019_0215ba58\nfunc_ov019_0215f240\nfunc_ov020_0215a45c\nfunc_ov022_0215a158\nfunc_ov022_0215a5fc\nfunc_ov026_0215a0a0\nfunc_ov028_0215ab98\nfunc_ov028_0215ac28\nfunc_ov028_0215ad10\nfunc_ov028_0215ad34\nfunc_ov028_0215b790\nfunc_ov028_0215b7ec\nfunc_ov028_0215b7f8","measures":{"fuzzy_match_percent":40.99756,"total_code":1740454,"matched_code":710652,"matched_code_percent":40.831413,"total_data":231184,"matched_data":0,"matched_data_percent":0,"total_functions":8610,"matched_functions":5146,"matched_functions_percent":59.76771,"complete_code":363232,"complete_code_percent":20.869957,"complete_data":0,"complete_data_percent":0,"total_units":5918,"complete_units":3708}},{"timestamp":"2026-11-03T11:36:49Z","commit_sha":"336c712a929503199a0821e6c4b4e7eb35855f1a","commit_message":"studio: 102 blocks (generation 5)","measures":{"fuzzy_match_percent":40.99756,"total_code":1740454,"matched_code":710652,"matched_code_percent":40.831413,"total_data":231184,"matched_data":0,"matched_data_percent":0,"total_functions":8610,"matched_functions":5146,"matched_functions_percent":59.76771,"complete_code":363232,"complete_code_percent":20.869957,"complete_data":0,"complete_data_percent":0,"total_units":5918,"complete_units":3708}},{"timestamp":"2026-11-01T20:03:41Z","commit_sha":"1722f3f8b96d5544481f9a9a47d6cb3379ef0101","commit_message":"README: progress section (tools/match.py progress)","measures":{"fuzzy_match_percent":40.99756,"total_code":1740454,"matched_code":710652,"matched_code_percent":40.831413,"total_data":231184,"matched_data":0,"matched_data_percent":0,"total_functions":8610,"matched_functions":5146,"matched_functions_percent":59.76771,"complete_code":363232,"complete_code_percent":20.869957,"complete_data":0,"complete_data_percent":0,"total_units":5918,"complete_units":3708}},{"timestamp":"2026-11-01T20:02:26Z","commit_sha":"b36a709355ff16173538c15bf5aec083a9fd9df6","commit_message":"tools: sync ld_align.py (ds-decomp-studio/gametools c080d7b8)","measures":{"fuzzy_match_percent":40.99756,"total_code":1740454,"matched_code":710652,"matched_code_percent":40.831413,"total_data":231184,"matched_data":0,"matched_data_percent":0,"total_functions":8610,"matched_functions":5146,"matched_functions_percent":59.76771,"complete_code":363232,"complete_code_percent":20.869957,"complete_data":0,"complete_data_percent":0,"total_units":5918,"complete_units":3708}},{"timestamp":"2026-10-29T22:49:55Z","commit_sha":"2561f0811ca595d48af75d6cde37467b1d512c34","commit_message":"studio: 101 blocks (generation 4)","measures":{"fuzzy_match_percent":40.99756,"total_code":1740454,"matched_code":710652,"matched_code_percent":40.831413,"total_data":231184,"matched_data":0,"matched_data_percent":0,"total_functions":8610,"matched_functions":5146,"matched_functions_percent":59.76771,"complete_code":363232,"complete_code_percent":20.869957,"complete_data":0,"complete_data_percent":0,"total_units":5918,"complete_units":3708}},{"timestamp":"2026-10-29T15:55:21Z","commit_sha":"b1f701f6786c60c48e536ad0c8e9ac7edd6ed7a3","commit_message":"tools: sync match.py + ld_align.py (studio gametools 89d0599)\n\nmatch.py verify accepts a .ctor section objdiff does not diff when the ROM is\nbyte-identical; ld_align.py also handles .data/.rodata/.bss objects that\nstart off a 4-byte boundary (no change for objects aligned as before).\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":40.99756,"total_code":1740454,"matched_code":710652,"matched_code_percent":40.831413,"total_data":231184,"matched_data":0,"matched_data_percent":0,"total_functions":8610,"matched_functions":5146,"matched_functions_percent":59.76771,"complete_code":363232,"complete_code_percent":20.869957,"complete_data":0,"complete_data_percent":0,"total_units":5918,"complete_units":3708}},{"timestamp":"2026-10-28T18:24:58Z","commit_sha":"cd1123bec0d6ba4bafc6545049266c2a732078d5","commit_message":"README: progress section (tools/match.py progress)","measures":{"fuzzy_match_percent":40.99756,"total_code":1740454,"matched_code":710652,"matched_code_percent":40.831413,"total_data":231184,"matched_data":0,"matched_data_percent":0,"total_functions":8610,"matched_functions":5146,"matched_functions_percent":59.76771,"complete_code":363232,"complete_code_percent":20.869957,"complete_data":0,"complete_data_percent":0,"total_units":5918,"complete_units":3708}},{"timestamp":"2026-10-28T18:17:54Z","commit_sha":"6d0919ca17f6ce7b962a9ba2839d1fd9ed6af046","commit_message":"tools: sync configure.py, ld_align.py (ds-decomp-studio/gametools 42dac7b0)","measures":{"fuzzy_match_percent":40.99756,"total_code":1740454,"matched_code":710652,"matched_code_percent":40.831413,"total_data":231184,"matched_data":0,"matched_data_percent":0,"total_functions":8610,"matched_functions":5146,"matched_functions_percent":59.76771,"complete_code":363232,"complete_code_percent":20.869957,"complete_data":0,"complete_data_percent":0,"total_units":5918,"complete_units":3708}},{"timestamp":"2026-10-25T17:22:28Z","commit_sha":"6a7990441d7f486d5a66e291053dbf61f3a72e53","commit_message":"README: progress section (tools/match.py progress)","measures":{"fuzzy_match_percent":40.99756,"total_code":1740454,"matched_code":710652,"matched_code_percent":40.831413,"total_data":231184,"matched_data":0,"matched_data_percent":0,"total_functions":8610,"matched_functions":5146,"matched_functions_percent":59.76771,"complete_code":363232,"complete_code_percent":20.869957,"complete_data":0,"complete_data_percent":0,"total_units":5918,"complete_units":3708}},{"timestamp":"2026-10-25T17:15:23Z","commit_sha":"62381edcb266acbd367b52294a825d3c9fa36fac","commit_message":"tools: sync configure.py, probe_compiler.py (ds-decomp-studio/gametools f665df7d)","measures":{"fuzzy_match_percent":40.99756,"total_code":1740454,"matched_code":710652,"matched_code_percent":40.831413,"total_data":231184,"matched_data":0,"matched_data_percent":0,"total_functions":8610,"matched_functions":5146,"matched_functions_percent":59.76771,"complete_code":363232,"complete_code_percent":20.869957,"complete_data":0,"complete_data_percent":0,"total_units":5918,"complete_units":3708}},{"timestamp":"2026-10-24T20:22:32Z","commit_sha":"42ddb7056385a63c924ad46ccf8516bd4ad46b5b","commit_message":"tools: sync configure.py, download_tool.py, get_platform.py, macos_compiler.py (ds-decomp-studio/gametools 64a38e68)","measures":{"fuzzy_match_percent":40.99756,"total_code":1740454,"matched_code":710652,"matched_code_percent":40.831413,"total_data":231184,"matched_data":0,"matched_data_percent":0,"total_functions":8610,"matched_functions":5146,"matched_functions_percent":59.76771,"complete_code":363232,"complete_code_percent":20.869957,"complete_data":0,"complete_data_percent":0,"total_units":5918,"complete_units":3708}},{"timestamp":"2026-10-24T19:57:51Z","commit_sha":"c318ff4587507ddbbe5b658addc02881c17ddc18","commit_message":"README: progress section (tools/match.py progress)","measures":{"fuzzy_match_percent":40.99756,"total_code":1740454,"matched_code":710652,"matched_code_percent":40.831413,"total_data":231184,"matched_data":0,"matched_data_percent":0,"total_functions":8610,"matched_functions":5146,"matched_functions_percent":59.76771,"complete_code":363232,"complete_code_percent":20.869957,"complete_data":0,"complete_data_percent":0,"total_units":5918,"complete_units":3708}},{"timestamp":"2026-10-22T20:31:47Z","commit_sha":"28014d40b1f78a0588cdfc6427c6004ba00ca01a","commit_message":"tools: sync pipeline_lock.py (ds-decomp-studio/gametools 2cf6d91e)","measures":{"fuzzy_match_percent":40.99756,"total_code":1740454,"matched_code":710652,"matched_code_percent":40.831413,"total_data":231184,"matched_data":0,"matched_data_percent":0,"total_functions":8610,"matched_functions":5146,"matched_functions_percent":59.76771,"complete_code":363232,"complete_code_percent":20.869957,"complete_data":0,"complete_data_percent":0,"total_units":5918,"complete_units":3708}},{"timestamp":"2026-10-22T18:43:18Z","commit_sha":"1b5e4e4a87add4910f03cf9d21f61c19e397fc7b","commit_message":"style: pre-commit on every file (clang-format 19.1.5, whitespace, line endings)\n\nThe CI lint failed: files written by tools or contributors without the hooks. match.py verify now runs them on the changed files before building, so this does not come back.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":40.99756,"total_code":1740454,"matched_code":710652,"matched_code_percent":40.831413,"total_data":231184,"matched_data":0,"matched_data_percent":0,"total_functions":8610,"matched_functions":5146,"matched_functions_percent":59.76771,"complete_code":363232,"complete_code_percent":20.869957,"complete_data":0,"complete_data_percent":0,"total_units":5918,"complete_units":3708}},{"timestamp":"2026-10-22T18:04:05Z","commit_sha":"fe4085760feec9649424b51b571f8e0b8564fbbe","commit_message":"docs: fix the formatting of the gametools note\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":40.99756,"total_code":1740454,"matched_code":710652,"matched_code_percent":40.831413,"total_data":231184,"matched_data":0,"matched_data_percent":0,"total_functions":8610,"matched_functions":5146,"matched_functions_percent":59.76771,"complete_code":363232,"complete_code_percent":20.869957,"complete_data":0,"complete_data_percent":0,"total_units":5918,"complete_units":3708}},{"timestamp":"2026-10-22T10:01:32Z","commit_sha":"f8579058602b2dd0fa7a87f81c45a1e6e4b31beb","commit_message":"docs: the matching tools run from DS Decomp Studio (studio/gametools)\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":40.99756,"total_code":1740454,"matched_code":710652,"matched_code_percent":40.831413,"total_data":231184,"matched_data":0,"matched_data_percent":0,"total_functions":8610,"matched_functions":5146,"matched_functions_percent":59.76771,"complete_code":363232,"complete_code_percent":20.869957,"complete_data":0,"complete_data_percent":0,"total_units":5918,"complete_units":3708}},{"timestamp":"2026-10-21T23:35:42Z","commit_sha":"00d331a036a19eb1b699caf570865f194b36c9b9","commit_message":"Match 1438 function(s)\n\n- func_02000bd4\n- func_02000ee8\n- func_02002e60\n- func_0200303c\n- func_0200313c\n- func_02003250\n- func_02003718\n- func_02003798\n- func_02003aa0\n- func_02003e4c\n- func_02003eec\n- func_02003fa4\n- func_0200412c\n- func_02004170\n- func_02005690\n- func_02005718\n- func_02005c84\n- func_02005e68\n- func_02005f74\n- func_02006074\n- func_0200615c\n- func_020066f0\n- func_020067c8\n- func_020068b4\n- func_02006984\n- func_02006b68\n- func_02006b9c\n- func_02006bd0\n- func_02006c64\n- func_02006cb4\n- func_02006d24\n- func_02006db4\n- func_02006e3c\n- func_02006e70\n- func_02006ed8\n- func_02006f44\n- func_02006f88\n- func_02006fd8\n- func_02007040\n- func_020071e0\n- func_02007344\n- func_020073e4\n- func_02007494\n- func_020074e0\n- func_020078e4\n- func_02007a74\n- func_02007c18\n- func_02007c78\n- func_02007de4\n- func_02007e70\n- ... and 1388 more","measures":{"fuzzy_match_percent":40.99756,"total_code":1740454,"matched_code":710652,"matched_code_percent":40.831413,"total_data":231184,"matched_data":0,"matched_data_percent":0,"total_functions":8610,"matched_functions":5146,"matched_functions_percent":59.76771,"complete_code":363232,"complete_code_percent":20.869957,"complete_data":0,"complete_data_percent":0,"total_units":5918,"complete_units":3708}},{"timestamp":"2026-10-21T23:10:20Z","commit_sha":"2acb8bee596851331ae1054222c30804ff326a9e","commit_message":"tools: sync match.py, project.py (ds-decomp-studio/gametools aa6d8315)","measures":{"fuzzy_match_percent":40.99756,"total_code":1740454,"matched_code":710652,"matched_code_percent":40.831413,"total_data":231184,"matched_data":0,"matched_data_percent":0,"total_functions":8610,"matched_functions":5146,"matched_functions_percent":59.76771,"complete_code":363232,"complete_code_percent":20.869957,"complete_data":0,"complete_data_percent":0,"total_units":5918,"complete_units":3708}},{"timestamp":"2026-10-21T23:06:20Z","commit_sha":"bbe21ef220316ef27a28cfd04621a6061661e54d","commit_message":"progress: report 40.83% after merge\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":40.99756,"total_code":1740454,"matched_code":710652,"matched_code_percent":40.831413,"total_data":231184,"matched_data":0,"matched_data_percent":0,"total_functions":8610,"matched_functions":5146,"matched_functions_percent":59.76771,"complete_code":363232,"complete_code_percent":20.869957,"complete_data":0,"complete_data_percent":0,"total_units":5918,"complete_units":3708}},{"timestamp":"2026-10-21T23:02:14Z","commit_sha":"5a83372ac00ab366ab19900c7556fcf7544625b9","commit_message":"Match 5146 functions (40.83% of code) (#2)\n\n* Match functions in src/auto, src/donor and src/open\n\nAdds matched C for functions in the ARM9 binary (5146 of 8610 functions\nmatch byte for byte; 40.83% of code). Unmatched functions stay as stubs.\n\nTwo donor functions were edited after the previous matches and linked to\ndifferent bytes (literal pool address, swapped words); they are restored.\n\nCo-authored-by: Anthony Scotti <598958+amscotti@users.noreply.github.com>\nCo-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>\n\n* README: progress 40.83% of code, 5146/8610 functions\n\nCo-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: NoahVl <fluentprepai@gmail.com>\nCo-authored-by: Anthony Scotti <598958+amscotti@users.noreply.github.com>\nCo-authored-by: Claude Haiku 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":20.869957,"total_code":1740454,"matched_code":363232,"matched_code_percent":20.869957,"total_data":231184,"matched_data":0,"matched_data_percent":0,"total_functions":8610,"matched_functions":3708,"matched_functions_percent":43.0662,"complete_code":363232,"complete_code_percent":20.869957,"complete_data":0,"complete_data_percent":0,"total_units":4543,"complete_units":3708}},{"timestamp":"2026-10-21T10:48:39Z","commit_sha":"93c8edb5e622d44c7eaae91905fce327d2a0652d","commit_message":"README: progress section (tools/match.py progress)","measures":{"fuzzy_match_percent":20.869957,"total_code":1740454,"matched_code":363232,"matched_code_percent":20.869957,"total_data":231184,"matched_data":0,"matched_data_percent":0,"total_functions":8610,"matched_functions":3708,"matched_functions_percent":43.0662,"complete_code":363232,"complete_code_percent":20.869957,"complete_data":0,"complete_data_percent":0,"total_units":4543,"complete_units":3708}},{"timestamp":"2026-10-21T09:25:23Z","commit_sha":"37d4be7d7b49f69ba50cb46701bbbc932a0b280f","commit_message":"tools: sync configure.py from ds-decomp-studio/gametools (be5d3c1): -lang per file, .cpp files possible","measures":{"fuzzy_match_percent":20.869957,"total_code":1740454,"matched_code":363232,"matched_code_percent":20.869957,"total_data":231184,"matched_data":0,"matched_data_percent":0,"total_functions":8610,"matched_functions":3708,"matched_functions_percent":43.0662,"complete_code":363232,"complete_code_percent":20.869957,"complete_data":0,"complete_data_percent":0,"total_units":4543,"complete_units":3708}},{"timestamp":"2026-10-21T09:15:49Z","commit_sha":"f264cb06c59e7d3dc42ceb3e382d5bac75717a63","commit_message":"tools: sync project.py, clone_match.py, donor_match.py, regroup.py (+ shared configure.py, game.toml) from ds-decomp-studio/gametools (dcb867f)","measures":{"fuzzy_match_percent":20.869957,"total_code":1740454,"matched_code":363232,"matched_code_percent":20.869957,"total_data":231184,"matched_data":0,"matched_data_percent":0,"total_functions":8610,"matched_functions":3708,"matched_functions_percent":43.0662,"complete_code":363232,"complete_code_percent":20.869957,"complete_data":0,"complete_data_percent":0,"total_units":4543,"complete_units":3708}},{"timestamp":"2026-10-19T22:59:39Z","commit_sha":"b7a00f35b90b2df8f10acc88aa01aa9cf74dfe55","commit_message":"README: progress section (tools/match.py progress)","measures":{"fuzzy_match_percent":20.869957,"total_code":1740454,"matched_code":363232,"matched_code_percent":20.869957,"total_data":231184,"matched_data":0,"matched_data_percent":0,"total_functions":8610,"matched_functions":3708,"matched_functions_percent":43.0662,"complete_code":363232,"complete_code_percent":20.869957,"complete_data":0,"complete_data_percent":0,"total_units":4543,"complete_units":3708}},{"timestamp":"2026-10-19T21:31:27Z","commit_sha":"78188a70d8ec4fd7e01a016c317bdd2719ffde3b","commit_message":"game.toml: per-game build settings read by the shared tools/configure.py","measures":{"fuzzy_match_percent":17.158281,"total_code":1740454,"matched_code":298632,"matched_code_percent":17.158281,"total_data":231184,"matched_data":0,"matched_data_percent":0,"total_functions":8610,"matched_functions":3353,"matched_functions_percent":38.94309,"complete_code":298632,"complete_code_percent":17.158281,"complete_data":0,"complete_data_percent":0,"total_units":4270,"complete_units":3353}},{"timestamp":"2026-10-19T20:33:37Z","commit_sha":"8758987180f647c84db3ed58989c956c451ddab3","commit_message":"Match 355 function(s)\n\n- func_0200129c\n- func_0200150c\n- func_020015e8\n- func_02001648\n- func_020016e8\n- func_0200196c\n- func_0200245c\n- func_0200296c\n- func_02002a28\n- func_02002aa0\n- func_02002bcc\n- func_02002cb8\n- func_02002dd8\n- func_02006a20\n- func_0205ad2c\n- func_0205dda0\n- func_0205e340\n- func_0205e374\n- func_0205e39c\n- func_0205e3e8\n- func_0205e808\n- func_0205e884\n- func_0205ecb4\n- func_0205ece8\n- func_02061db0\n- func_020622f4\n- func_02062318\n- func_0206377c\n- func_02063840\n- func_020638f4\n- func_02063910\n- func_02063cb0\n- func_02063de0\n- func_02063fc0\n- func_020641a8\n- func_020641dc\n- func_02064280\n- func_020645f0\n- func_02064698\n- func_02064a78\n- func_0206520c\n- func_020653c8\n- func_0206546c\n- func_02065508\n- func_020655ec\n- func_0206563c\n- func_02065914\n- func_02065c50\n- func_02065cc0\n- func_02065e7c\n- ... and 305 more","measures":{"fuzzy_match_percent":17.158281,"total_code":1740454,"matched_code":298632,"matched_code_percent":17.158281,"total_data":231184,"matched_data":0,"matched_data_percent":0,"total_functions":8610,"matched_functions":3353,"matched_functions_percent":38.94309,"complete_code":298632,"complete_code_percent":17.158281,"complete_data":0,"complete_data_percent":0,"total_units":4270,"complete_units":3353}},{"timestamp":"2026-10-19T20:32:11Z","commit_sha":"89c1044c139d85b8619d7e9c2a88428c0bf37afe","commit_message":"studio: 100 blocks (generation 3)","measures":{"fuzzy_match_percent":17.158281,"total_code":1740454,"matched_code":298632,"matched_code_percent":17.158281,"total_data":231184,"matched_data":0,"matched_data_percent":0,"total_functions":8610,"matched_functions":3353,"matched_functions_percent":38.94309,"complete_code":298632,"complete_code_percent":17.158281,"complete_data":0,"complete_data_percent":0,"total_units":4270,"complete_units":3353}},{"timestamp":"2026-10-18T20:16:37Z","commit_sha":"60823014a9a8ff4839c87d1dcdd6e77903c1f117","commit_message":"tools: sync bssgen.py, datagen.py, fam.py, fj.py, hunt.py, ptrscale.py, tryc.py, vcall.py from ds-decomp-studio/gametools (393e4d26)","measures":{"fuzzy_match_percent":17.158281,"total_code":1740454,"matched_code":298632,"matched_code_percent":17.158281,"total_data":231184,"matched_data":0,"matched_data_percent":0,"total_functions":8610,"matched_functions":3353,"matched_functions_percent":38.94309,"complete_code":298632,"complete_code_percent":17.158281,"complete_data":0,"complete_data_percent":0,"total_units":4270,"complete_units":3353}},{"timestamp":"2026-10-18T19:42:59Z","commit_sha":"296a18382572e97c36814c248ea73788d5bea06a","commit_message":"README: progress section (tools/match.py progress)","measures":{"fuzzy_match_percent":17.158281,"total_code":1740454,"matched_code":298632,"matched_code_percent":17.158281,"total_data":231184,"matched_data":0,"matched_data_percent":0,"total_functions":8610,"matched_functions":3353,"matched_functions_percent":38.94309,"complete_code":298632,"complete_code_percent":17.158281,"complete_data":0,"complete_data_percent":0,"total_units":4270,"complete_units":3353}},{"timestamp":"2026-10-18T08:18:20Z","commit_sha":"007f61709be2943de9ddea77b6d4c298b182659d","commit_message":"tools: sync callarg.py, configure.py, osfree.py, reloc_fixes.py from ds-decomp-studio/gametools (9ed18873)","measures":{"fuzzy_match_percent":16.651747,"total_code":1740454,"matched_code":289816,"matched_code_percent":16.651747,"total_data":231184,"matched_data":0,"matched_data_percent":0,"total_functions":8610,"matched_functions":3265,"matched_functions_percent":37.921024,"complete_code":289816,"complete_code_percent":16.651747,"complete_data":0,"complete_data_percent":0,"total_units":4184,"complete_units":3265}},{"timestamp":"2026-10-17T22:56:09Z","commit_sha":"f65ed0e84669be5274ccac62aa21b7d19eb26d39","commit_message":"studio: 107 blocks (generation 2)","measures":{"fuzzy_match_percent":16.651747,"total_code":1740454,"matched_code":289816,"matched_code_percent":16.651747,"total_data":231184,"matched_data":0,"matched_data_percent":0,"total_functions":8610,"matched_functions":3265,"matched_functions_percent":37.921024,"complete_code":289816,"complete_code_percent":16.651747,"complete_data":0,"complete_data_percent":0,"total_units":4184,"complete_units":3265}},{"timestamp":"2026-10-17T21:46:57Z","commit_sha":"466b6e2db2181e395b65b79b00429ce241077a07","commit_message":"Match 3353 function(s)\n\n- AutoloadCallback\n- Entry\n- func_02000900\n- func_02000914\n- func_020009b8\n- func_02000a14\n- func_02000afc\n- func_02000b48\n- func_02000bac\n- func_02000c54\n- func_02000c88\n- func_02000cd0\n- func_02000dec\n- func_02000e2c\n- func_02000e4c\n- func_02000eac\n- func_020010a4\n- func_02001140\n- func_02001154\n- func_0200116c\n- func_020015c8\n- func_02001830\n- func_020018dc\n- func_02001c2c\n- func_02001c44\n- func_02001c54\n- func_02001c88\n- func_02001db4\n- func_02001ef4\n- func_02001f04\n- func_02001f48\n- func_02001fb8\n- func_02001ffc\n- func_0200216c\n- func_020021f8\n- func_02002210\n- func_02002228\n- func_02002240\n- func_02002258\n- func_02002288\n- func_020022d4\n- func_0200231c\n- func_02002330\n- func_0200234c\n- func_0200236c\n- func_02002694\n- func_020026c4\n- func_0200273c\n- func_02002754\n- func_0200276c\n- ... and 3303 more","measures":{"fuzzy_match_percent":16.651747,"total_code":1740454,"matched_code":289816,"matched_code_percent":16.651747,"total_data":231184,"matched_data":0,"matched_data_percent":0,"total_functions":8610,"matched_functions":3265,"matched_functions_percent":37.921024,"complete_code":289816,"complete_code_percent":16.651747,"complete_data":0,"complete_data_percent":0,"total_units":4184,"complete_units":3265}},{"timestamp":"2026-10-17T19:30:47Z","commit_sha":"f337c14c991b25ea6ae545950a04130ac4e62334","commit_message":"tools: sync auto_match.py, bitflag.py, bittail.py, fnptr.py, hwvol.py, modfix.py, nearsig.py, profhook.py, profmap.py, profnames.py, profrename.py, spsize.py, structcopy.py, swdefault.py, vcall.py, workbench.py from ds-decomp-studio/gametools (1ff2b754)","measures":{"fuzzy_match_percent":16.651747,"total_code":1740454,"matched_code":289816,"matched_code_percent":16.651747,"total_data":231184,"matched_data":0,"matched_data_percent":0,"total_functions":8610,"matched_functions":3265,"matched_functions_percent":37.921024,"complete_code":289816,"complete_code_percent":16.651747,"complete_data":0,"complete_data_percent":0,"total_units":4184,"complete_units":3265}},{"timestamp":"2026-10-17T09:00:33Z","commit_sha":"f63282810ca9752171ba021bee3da48a73b90ed5","commit_message":"tools: sync auto_match.py, clone_match.py, gen_context.py, mdiff.py, permrand.py, probe_compiler.py, workbench.py from ds-decomp-studio/gametools (9c4c5c80)","measures":{"fuzzy_match_percent":16.651747,"total_code":1740454,"matched_code":289816,"matched_code_percent":16.651747,"total_data":231184,"matched_data":0,"matched_data_percent":0,"total_functions":8610,"matched_functions":3265,"matched_functions_percent":37.921024,"complete_code":289816,"complete_code_percent":16.651747,"complete_data":0,"complete_data_percent":0,"total_units":4184,"complete_units":3265}},{"timestamp":"2026-10-16T15:33:42Z","commit_sha":"9339bc0e7ce2e40c805c25253c6924c976659977","commit_message":"tools: sync fakematch.py, ghidra_draft.py, workbench.py from ds-decomp-studio/gametools (06252e70)","measures":{"fuzzy_match_percent":16.651747,"total_code":1740454,"matched_code":289816,"matched_code_percent":16.651747,"total_data":231184,"matched_data":0,"matched_data_percent":0,"total_functions":8610,"matched_functions":3265,"matched_functions_percent":37.921024,"complete_code":289816,"complete_code_percent":16.651747,"complete_data":0,"complete_data_percent":0,"total_units":4184,"complete_units":3265}},{"timestamp":"2026-10-16T14:25:24Z","commit_sha":"0c593a9084d12a942652c57022c40307033d7394","commit_message":"README: ByteMatch badges","measures":{"fuzzy_match_percent":16.651747,"total_code":1740454,"matched_code":289816,"matched_code_percent":16.651747,"total_data":231184,"matched_data":0,"matched_data_percent":0,"total_functions":8610,"matched_functions":3265,"matched_functions_percent":37.921024,"complete_code":289816,"complete_code_percent":16.651747,"complete_data":0,"complete_data_percent":0,"total_units":4184,"complete_units":3265}},{"timestamp":"2026-10-16T13:52:51Z","commit_sha":"e98ed3a35ab3d4ca811de3ae94fa168833dbfdc2","commit_message":"README: progress section (tools/match.py progress)\n\nUpdated by DS Decomp Studio (job progress).","measures":{"fuzzy_match_percent":16.651747,"total_code":1740454,"matched_code":289816,"matched_code_percent":16.651747,"total_data":231184,"matched_data":0,"matched_data_percent":0,"total_functions":8610,"matched_functions":3265,"matched_functions_percent":37.921024,"complete_code":289816,"complete_code_percent":16.651747,"complete_data":0,"complete_data_percent":0,"total_units":4184,"complete_units":3265}}]