[{"timestamp":"2026-10-15T06:20:40Z","commit_sha":"ccae6cce0de06320e3eb380e9cb248901b48ea6c","commit_message":"Merge pull request #74 from OpenRAC/feat/round3\n\nMatch func_00221380, func_L08_002D4B80, func_L07_0030E370","measures":{"fuzzy_match_percent":87.73948,"total_code":3712808,"matched_code":3197040,"matched_code_percent":86.10841,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4523,"matched_functions_percent":88.530045,"complete_code":611816,"complete_code_percent":16.478525,"complete_data":0,"complete_data_percent":0,"total_units":141,"complete_units":89}},{"timestamp":"2026-10-14T23:02:04Z","commit_sha":"9a8143337c49794a9b6588d253f79683ad1484ce","commit_message":"Merge pull request #73 from OpenRAC/feat/pure-c-round2\n\nfeat(overlays): 38 more functions in C, qcopy helpers allowed","measures":{"fuzzy_match_percent":87.652756,"total_code":3712808,"matched_code":3193820,"matched_code_percent":86.02168,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4520,"matched_functions_percent":88.47133,"complete_code":611816,"complete_code_percent":16.478525,"complete_data":0,"complete_data_percent":0,"total_units":141,"complete_units":89}},{"timestamp":"2026-10-14T21:21:20Z","commit_sha":"9d10e94620095d1b530dffc7ddded4da3aebd265","commit_message":"Merge pull request #72 from OpenRAC/feat/pure-c-lombyte-ports\n\nfeat(overlays): 50 pure-C ports, plus #69, #70 and #71 merged","measures":{"fuzzy_match_percent":85.98189,"total_code":3712808,"matched_code":3131784,"matched_code_percent":84.35082,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4482,"matched_functions_percent":87.72754,"complete_code":482572,"complete_code_percent":12.997494,"complete_data":0,"complete_data_percent":0,"total_units":141,"complete_units":88}},{"timestamp":"2026-10-14T20:59:35Z","commit_sha":"3e53c2d696f551aa5a612d466660ea8543e5c4f5","commit_message":"Merge pull request #69 from cnobis/feat/ports-2\n\nfeat(overlays): fifteen functions adapted from the NTSC decomp","measures":{"fuzzy_match_percent":84.53805,"total_code":3712808,"matched_code":3069448,"matched_code_percent":82.671875,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4389,"matched_functions_percent":85.90722,"complete_code":482572,"complete_code_percent":12.997494,"complete_data":0,"complete_data_percent":0,"total_units":141,"complete_units":88}},{"timestamp":"2026-10-14T11:53:57Z","commit_sha":"e1ee2ee37ba5b1ad8110132c1717ef94cb39acb0","commit_message":"Merge pull request #67 from cblackler19/codex-exact-matches-oct14\n\nfeat(overlays): exact-match Gaspar and Rilgar functions","measures":{"fuzzy_match_percent":84.35374,"total_code":3712808,"matched_code":3059008,"matched_code_percent":82.390686,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4372,"matched_functions_percent":85.57448,"complete_code":482572,"complete_code_percent":12.997494,"complete_data":0,"complete_data_percent":0,"total_units":141,"complete_units":88}},{"timestamp":"2026-10-14T11:52:45Z","commit_sha":"70f7489d678883cddf346746db62d7e783ba1e5c","commit_message":"Merge pull request #66 from OpenRAC/feat/port-backfill\n\nFeat/port backfill","measures":{"fuzzy_match_percent":84.35374,"total_code":3712808,"matched_code":3059008,"matched_code_percent":82.390686,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4372,"matched_functions_percent":85.57448,"complete_code":482572,"complete_code_percent":12.997494,"complete_data":0,"complete_data_percent":0,"total_units":141,"complete_units":88}},{"timestamp":"2026-10-14T08:34:56Z","commit_sha":"9498e87737ad3b145bba6f8ad577f6030220b6a6","commit_message":"Merge pull request #65 from OpenRAC/feat/port-backfill\n\nfix(nonmatching): func_0020E3D0 reads a key's infinite rate as the EE…","measures":{"fuzzy_match_percent":82.19137,"total_code":3712808,"matched_code":3015512,"matched_code_percent":81.21918,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4363,"matched_functions_percent":85.398315,"complete_code":482572,"complete_code_percent":12.997494,"complete_data":0,"complete_data_percent":0,"total_units":141,"complete_units":88}},{"timestamp":"2026-10-14T07:30:30Z","commit_sha":"f6193776480e7a1f14dfa065fe4e5076744789d2","commit_message":"Merge pull request #63 from cblackler19/codex-exact-matches\n\nfeat: Match three functions (2,396 bytes) and update progress","measures":{"fuzzy_match_percent":82.19137,"total_code":3712808,"matched_code":3015512,"matched_code_percent":81.21918,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4363,"matched_functions_percent":85.398315,"complete_code":482572,"complete_code_percent":12.997494,"complete_data":0,"complete_data_percent":0,"total_units":141,"complete_units":88}},{"timestamp":"2026-10-14T07:30:20Z","commit_sha":"f2c62b33f3c405703bd35f210d8167b190dff550","commit_message":"Merge pull request #64 from OpenRAC/feat/port-backfill\n\nfix(nonmatching): func_0020E3D0 reads a key's infinite rate as the EE…","measures":{"fuzzy_match_percent":82.13707,"total_code":3712808,"matched_code":3013116,"matched_code_percent":81.15464,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4360,"matched_functions_percent":85.3396,"complete_code":482572,"complete_code_percent":12.997494,"complete_data":0,"complete_data_percent":0,"total_units":141,"complete_units":88}},{"timestamp":"2026-10-14T06:21:32Z","commit_sha":"08e96018c5d0d42dffa3936dd2f4ee13b8579c7a","commit_message":"feat(nonmatching): func_L14_002F2778 functional\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":82.13707,"total_code":3712808,"matched_code":3013116,"matched_code_percent":81.15464,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4360,"matched_functions_percent":85.3396,"complete_code":482572,"complete_code_percent":12.997494,"complete_data":0,"complete_data_percent":0,"total_units":141,"complete_units":88}},{"timestamp":"2026-10-14T02:04:38Z","commit_sha":"7b776c9ab9db456378cdcdc5653e9c9e3f089576","commit_message":"Merge pull request #62 from OpenRAC/chore/stale-functional\n\nchore(nonmatching): drop functional C for 42 functions that are matched now","measures":{"fuzzy_match_percent":82.13707,"total_code":3712808,"matched_code":3013116,"matched_code_percent":81.15464,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4360,"matched_functions_percent":85.3396,"complete_code":482572,"complete_code_percent":12.997494,"complete_data":0,"complete_data_percent":0,"total_units":141,"complete_units":88}},{"timestamp":"2026-10-14T02:00:46Z","commit_sha":"361e1d3f2fddbbbc8431dc8b0b3e4656bb63543d","commit_message":"Merge pull request #60 from cnobis/feat/ports-1\n\nfeat(overlays): seven split functions adapted from Lombyte","measures":{"fuzzy_match_percent":82.13707,"total_code":3712808,"matched_code":3013116,"matched_code_percent":81.15464,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4360,"matched_functions_percent":85.3396,"complete_code":482572,"complete_code_percent":12.997494,"complete_data":0,"complete_data_percent":0,"total_units":141,"complete_units":88}},{"timestamp":"2026-10-14T01:50:35Z","commit_sha":"713a0b9a6bedef597e357b3e06fbd467d792eda6","commit_message":"Merge pull request #58 from cnobis/feat/jumpers-1\n\nfeat(overlays): thirteen functions that return through shared fragments","measures":{"fuzzy_match_percent":82.13111,"total_code":3712808,"matched_code":3012860,"matched_code_percent":81.14774,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4349,"matched_functions_percent":85.12429,"complete_code":482572,"complete_code_percent":12.997494,"complete_data":0,"complete_data_percent":0,"total_units":141,"complete_units":88}},{"timestamp":"2026-10-14T01:41:39Z","commit_sha":"ddeaaefe224085d2216302c94149ab7938c9d487","commit_message":"Merge pull request #57 from cblackler19/feat/sol-three-exact\n\nfeat(overlays): exact-matched three shared overlay functions","measures":{"fuzzy_match_percent":82.11969,"total_code":3712808,"matched_code":3012436,"matched_code_percent":81.13633,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4336,"matched_functions_percent":84.869835,"complete_code":482572,"complete_code_percent":12.997494,"complete_data":0,"complete_data_percent":0,"total_units":141,"complete_units":88}},{"timestamp":"2026-10-14T01:28:48Z","commit_sha":"9ab7db5109a90babde98761e60a6011425ee24fb","commit_message":"Merge pull request #56 from cnobis/feat/func_L00_002347B8\n\nfeat(overlays): two ammo functions and func_L00_002347B8","measures":{"fuzzy_match_percent":82.10644,"total_code":3712808,"matched_code":3011496,"matched_code_percent":81.11101,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4333,"matched_functions_percent":84.81112,"complete_code":482572,"complete_code_percent":12.997494,"complete_data":0,"complete_data_percent":0,"total_units":141,"complete_units":88}},{"timestamp":"2026-10-13T22:40:01Z","commit_sha":"45abcbb75a28a22a1e06a1b744c21630a3980a2c","commit_message":"Merge pull request #61 from Veradictus/main\n\nfeat: 35 more matches, 149 functions of functional C for the port, 22 fragments joined","measures":{"fuzzy_match_percent":82.09971,"total_code":3712808,"matched_code":3011244,"matched_code_percent":81.10422,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4329,"matched_functions_percent":84.73283,"complete_code":482572,"complete_code_percent":12.997494,"complete_data":0,"complete_data_percent":0,"total_units":141,"complete_units":88}},{"timestamp":"2026-10-13T16:41:16Z","commit_sha":"0b5b7faaaee9b017de98909c09e5cd77d2e396cc","commit_message":"Merge pull request #59 from Veradictus/main\n\nPorting Stuff","measures":{"fuzzy_match_percent":81.19001,"total_code":3712808,"matched_code":2980628,"matched_code_percent":80.27962,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4294,"matched_functions_percent":84.04776,"complete_code":482572,"complete_code_percent":12.997494,"complete_data":0,"complete_data_percent":0,"total_units":141,"complete_units":88}},{"timestamp":"2026-10-13T14:45:08Z","commit_sha":"8fb34dc873fa892ef1694a985dafffb9e4c20dfe","commit_message":"Merge pull request #54 from cnobis/feat/func_L00_0024BD18\n\nfeat(overlays): func_L00_0024BD18 exact match","measures":{"fuzzy_match_percent":81.19001,"total_code":3712808,"matched_code":2980628,"matched_code_percent":80.27962,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4294,"matched_functions_percent":84.04776,"complete_code":482572,"complete_code_percent":12.997494,"complete_data":0,"complete_data_percent":0,"total_units":141,"complete_units":88}},{"timestamp":"2026-10-13T14:26:16Z","commit_sha":"a56867603220b91490c439c99520207f63bd4331","commit_message":"feat(nonmatching): func_L09_002EEF80 functional","measures":{"fuzzy_match_percent":81.18505,"total_code":3712808,"matched_code":2980444,"matched_code_percent":80.27466,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4291,"matched_functions_percent":83.98904,"complete_code":482572,"complete_code_percent":12.997494,"complete_data":0,"complete_data_percent":0,"total_units":141,"complete_units":88}},{"timestamp":"2026-10-13T14:19:56Z","commit_sha":"fa8029a395547ab7398f0218992294ff4a3fa6bf","commit_message":"feat(nonmatching): func_L07_003121D0 functional","measures":{"fuzzy_match_percent":81.18505,"total_code":3712808,"matched_code":2980444,"matched_code_percent":80.27466,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4291,"matched_functions_percent":83.98904,"complete_code":482572,"complete_code_percent":12.997494,"complete_data":0,"complete_data_percent":0,"total_units":141,"complete_units":88}},{"timestamp":"2026-10-13T14:12:55Z","commit_sha":"6a7e4af729eaa25e18c02f704e9b725581a60e19","commit_message":"feat(nonmatching): func_L08_00259040 and func_L12_002E43A8 functional","measures":{"fuzzy_match_percent":81.18505,"total_code":3712808,"matched_code":2980444,"matched_code_percent":80.27466,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4291,"matched_functions_percent":83.98904,"complete_code":482572,"complete_code_percent":12.997494,"complete_data":0,"complete_data_percent":0,"total_units":141,"complete_units":88}},{"timestamp":"2026-10-13T14:05:59Z","commit_sha":"e0f1ebdeaf05bd556ae4506de59653f2eb83e29e","commit_message":"feat(nonmatching): func_L03_002DDEF8 and func_L01_0022D688 functional","measures":{"fuzzy_match_percent":81.18505,"total_code":3712808,"matched_code":2980444,"matched_code_percent":80.27466,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4291,"matched_functions_percent":83.98904,"complete_code":482572,"complete_code_percent":12.997494,"complete_data":0,"complete_data_percent":0,"total_units":141,"complete_units":88}},{"timestamp":"2026-10-13T13:53:46Z","commit_sha":"361f52d7aebeb279570662713b9b3874ba87b7a6","commit_message":"feat(nonmatching): func_L01_00262FE8 and func_L01_0030F318 functional","measures":{"fuzzy_match_percent":81.18505,"total_code":3712808,"matched_code":2980444,"matched_code_percent":80.27466,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4291,"matched_functions_percent":83.98904,"complete_code":482572,"complete_code_percent":12.997494,"complete_data":0,"complete_data_percent":0,"total_units":141,"complete_units":88}},{"timestamp":"2026-10-13T13:30:48Z","commit_sha":"716f462dc62b4d37b8a0dc6ab87790723000a6a2","commit_message":"feat(nonmatching): accept 154 clean near misses and 3 functional moby updates","measures":{"fuzzy_match_percent":81.18505,"total_code":3712808,"matched_code":2980444,"matched_code_percent":80.27466,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4291,"matched_functions_percent":83.98904,"complete_code":482572,"complete_code_percent":12.997494,"complete_data":0,"complete_data_percent":0,"total_units":141,"complete_units":88}},{"timestamp":"2026-10-13T12:02:22Z","commit_sha":"66189a07ddfcbb7130164480349377b27bb31712","commit_message":"feat(nonmatching): func_L12_0030A880 and func_L11_00310058 near misses accepted\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":81.18505,"total_code":3712808,"matched_code":2980444,"matched_code_percent":80.27466,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4291,"matched_functions_percent":83.98904,"complete_code":482572,"complete_code_percent":12.997494,"complete_data":0,"complete_data_percent":0,"total_units":141,"complete_units":88}},{"timestamp":"2026-10-13T11:47:12Z","commit_sha":"6881bbbd0bd221040eac07b7fb6bbd6f9354f599","commit_message":"docs(nonmatching): func_L01_0030C090 is medium until it runs\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":81.18505,"total_code":3712808,"matched_code":2980444,"matched_code_percent":80.27466,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4291,"matched_functions_percent":83.98904,"complete_code":482572,"complete_code_percent":12.997494,"complete_data":0,"complete_data_percent":0,"total_units":141,"complete_units":88}},{"timestamp":"2026-10-13T11:34:13Z","commit_sha":"b6d3bbc4b7f0a86b2dcc94a173ed79fbc1b2896e","commit_message":"docs(nonmatching): func_L12_00307DB0 is medium until it runs\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":81.18505,"total_code":3712808,"matched_code":2980444,"matched_code_percent":80.27466,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4291,"matched_functions_percent":83.98904,"complete_code":482572,"complete_code_percent":12.997494,"complete_data":0,"complete_data_percent":0,"total_units":141,"complete_units":88}},{"timestamp":"2026-10-13T11:30:57Z","commit_sha":"65e0493addd08312d0949c9f194b41f844c38048","commit_message":"feat(nonmatching): func_L03_002DBC38 functional, level 3 Helga update and head-look tail\n\nFixes the near miss: the 0x1F4 timer test uses func_001F9908's result, func_001FA898 stays int, +0x84 is re-read.\nequiv: only register, scheduling, branch-shape and frame differences remain.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":81.18505,"total_code":3712808,"matched_code":2980444,"matched_code_percent":80.27466,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4291,"matched_functions_percent":83.98904,"complete_code":482572,"complete_code_percent":12.997494,"complete_data":0,"complete_data_percent":0,"total_units":141,"complete_units":88}},{"timestamp":"2026-10-13T11:13:40Z","commit_sha":"cd7c23be7be81f84eabdab483631d734534b85f6","commit_message":"feat(nonmatching): func_L01_002F6540 functional, rail-following moby update (path mover state machine)\n\nPlain C with the same reads, writes and calls; equiv: only compiler-choice differences and two FLT_MAX division guards.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":81.18505,"total_code":3712808,"matched_code":2980444,"matched_code_percent":80.27466,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4291,"matched_functions_percent":83.98904,"complete_code":482572,"complete_code_percent":12.997494,"complete_data":0,"complete_data_percent":0,"total_units":141,"complete_units":88}},{"timestamp":"2026-10-13T11:09:32Z","commit_sha":"ea2fc65429bd99ddbf3fcfc8e474d9bfdf6b2841","commit_message":"feat(nonmatching): func_L11_0030E620 functional, Pokitaru cutscene helper moby posing\n\nPoses the 0x480-0x483 helper mobys of func_L11_0030DBF8 from the eased progress globals.\nequiv: only select/branch forms and argument-credit artifacts differ, all checked against the asm.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":81.18505,"total_code":3712808,"matched_code":2980444,"matched_code_percent":80.27466,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4291,"matched_functions_percent":83.98904,"complete_code":482572,"complete_code_percent":12.997494,"complete_data":0,"complete_data_percent":0,"total_units":141,"complete_units":88}},{"timestamp":"2026-10-13T11:01:37Z","commit_sha":"b296aee81bc04307798a104269a1ec0c6b4a3e5a","commit_message":"feat(nonmatching): func_L01_002F0040 functional, Novalis moby hit and target-search helper\n\nRepaired from the near miss: float distance result, the 0/0x800 argument of func_L00_002584A8.\nequiv.py: remaining differences are W copies, branch polarity and register choice only.\n\nCo-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":81.18505,"total_code":3712808,"matched_code":2980444,"matched_code_percent":80.27466,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4291,"matched_functions_percent":83.98904,"complete_code":482572,"complete_code_percent":12.997494,"complete_data":0,"complete_data_percent":0,"total_units":141,"complete_units":88}},{"timestamp":"2026-10-13T07:31:34Z","commit_sha":"d4b2723f2262e850f55810daeeaa5ff29f1e35e0","commit_message":"feat(nonmatching): func_L12_002EB2E8 functional, Hoven flying-enemy update\n\nSeven-state moby update (setup, trigger, charge, chase, waypoint, fall, die). equiv: DIFFERENT only by code shape.\n\nCo-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":81.18505,"total_code":3712808,"matched_code":2980444,"matched_code_percent":80.27466,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4291,"matched_functions_percent":83.98904,"complete_code":482572,"complete_code_percent":12.997494,"complete_data":0,"complete_data_percent":0,"total_units":141,"complete_units":88}},{"timestamp":"2026-10-13T07:15:21Z","commit_sha":"c3b7dd1213522b5869d2f6699b377e8ffa572de7","commit_message":"fix(nonmatching): no blank line at the end of functional.tsv\n\nCo-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":81.18505,"total_code":3712808,"matched_code":2980444,"matched_code_percent":80.27466,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4291,"matched_functions_percent":83.98904,"complete_code":482572,"complete_code_percent":12.997494,"complete_data":0,"complete_data_percent":0,"total_units":141,"complete_units":88}},{"timestamp":"2026-10-13T07:06:28Z","commit_sha":"7b93d75e11cecc50b2f767773c6f4a6088e6a844","commit_message":"docs(nonmatching): the confidence line on the four functional files written for the port\n\nhigh for the two predicates, medium for the level 12 and level 4 ones (a near miss\nrepaired, and one written from the instructions; neither run far in its level),\nas docs/workflow/BACKFILL.md asks.\n\nCo-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01HnBWRX56NfvfSTkUri24bZ","measures":{"fuzzy_match_percent":81.18505,"total_code":3712808,"matched_code":2980444,"matched_code_percent":80.27466,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4291,"matched_functions_percent":83.98904,"complete_code":482572,"complete_code_percent":12.997494,"complete_data":0,"complete_data_percent":0,"total_units":141,"complete_units":88}},{"timestamp":"2026-10-13T06:02:25Z","commit_sha":"d79fffdba5779a3d55d96bc49c0e637fcbe3b12f","commit_message":"notes: func_0012C8B0 first candidate (216/224), three-mult cse blocker\n\nCo-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":81.18505,"total_code":3712808,"matched_code":2980444,"matched_code_percent":80.27466,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4291,"matched_functions_percent":83.98904,"complete_code":482572,"complete_code_percent":12.997494,"complete_data":0,"complete_data_percent":0,"total_units":141,"complete_units":88}},{"timestamp":"2026-10-13T05:58:58Z","commit_sha":"f59b0340a86bacd2c9e24d5c6e73df9bf147e7a9","commit_message":"notes: func_0012AC80 more shift=0 variants, no gain\n\nCo-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":81.18505,"total_code":3712808,"matched_code":2980444,"matched_code_percent":80.27466,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4291,"matched_functions_percent":83.98904,"complete_code":482572,"complete_code_percent":12.997494,"complete_data":0,"complete_data_percent":0,"total_units":141,"complete_units":88}},{"timestamp":"2026-10-13T05:57:58Z","commit_sha":"a264bcdb6308e5ffd65f08fd652e4ca7f6ee94d9","commit_message":"Merge branches 'main' and 'main' of github.com:OpenRAC/rac1-decomp","measures":{"fuzzy_match_percent":81.18505,"total_code":3712808,"matched_code":2980444,"matched_code_percent":80.27466,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4291,"matched_functions_percent":83.98904,"complete_code":482572,"complete_code_percent":12.997494,"complete_data":0,"complete_data_percent":0,"total_units":141,"complete_units":88}},{"timestamp":"2026-10-12T22:06:08Z","commit_sha":"efe37c0ebd8127585da04ec537e60687dde41803","commit_message":"Merge pull request #55 from Veradictus/main\n\nfeat: 27 more functions (4,291 of 5,109), fragment joins and functional C for the port","measures":{"fuzzy_match_percent":81.18505,"total_code":3712808,"matched_code":2980444,"matched_code_percent":80.27466,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4291,"matched_functions_percent":83.98904,"complete_code":482572,"complete_code_percent":12.997494,"complete_data":0,"complete_data_percent":0,"total_units":141,"complete_units":88}},{"timestamp":"2026-10-12T20:11:40Z","commit_sha":"802c91880654a864d4b6aa33fa636502667813fe","commit_message":"nonmatching: func_L09_002F1198 now 18/500 bytes (was 55)\n\nCo-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":80.76777,"total_code":3712808,"matched_code":2963672,"matched_code_percent":79.82293,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4264,"matched_functions_percent":83.460556,"complete_code":482572,"complete_code_percent":12.997494,"complete_data":0,"complete_data_percent":0,"total_units":141,"complete_units":88}},{"timestamp":"2026-10-12T19:49:19Z","commit_sha":"351dacdb464b53be8e68c0e8c7c928ae0cb02aca","commit_message":"Merge PR #53: func_L00_002C6720 exact match\n\nCo-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":80.76777,"total_code":3712808,"matched_code":2963672,"matched_code_percent":79.82293,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4264,"matched_functions_percent":83.460556,"complete_code":482572,"complete_code_percent":12.997494,"complete_data":0,"complete_data_percent":0,"total_units":141,"complete_units":88}},{"timestamp":"2026-10-12T15:42:44Z","commit_sha":"4449aaff13edf6634dc31f3bfda6017b097834a6","commit_message":"nonmatching: func_L09_002F1198 now 55/500 bytes (was 95)\n\nCo-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":80.71078,"total_code":3712808,"matched_code":2961596,"matched_code_percent":79.76701,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4263,"matched_functions_percent":83.44099,"complete_code":482572,"complete_code_percent":12.997494,"complete_data":0,"complete_data_percent":0,"total_units":141,"complete_units":88}},{"timestamp":"2026-10-12T15:12:52Z","commit_sha":"45e34967aa96625762137c042385f2bf84e62d16","commit_message":"vendor_00298BB8.c: func_L15_002A3B98 exact match\n\nCo-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":80.71078,"total_code":3712808,"matched_code":2961596,"matched_code_percent":79.76701,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4263,"matched_functions_percent":83.44099,"complete_code":482572,"complete_code_percent":12.997494,"complete_data":0,"complete_data_percent":0,"total_units":141,"complete_units":88}},{"timestamp":"2026-10-12T15:01:44Z","commit_sha":"33cdd36eabe21a1e4ce2f5fad0dc3c7434f83c70","commit_message":"nonmatching: drop two rows for matched functions\n\nCo-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":80.69547,"total_code":3712808,"matched_code":2961028,"matched_code_percent":79.75172,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4262,"matched_functions_percent":83.42141,"complete_code":482572,"complete_code_percent":12.997494,"complete_data":0,"complete_data_percent":0,"total_units":141,"complete_units":88}},{"timestamp":"2026-10-12T15:01:36Z","commit_sha":"c10f11c287c3879cb6bfa8e8cec5e928a4ffda1b","commit_message":"nonmatching: func_L15_002A3B98 now 568 bytes, 25 off (was an unlinkable 572)\n\nCo-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":80.69547,"total_code":3712808,"matched_code":2961028,"matched_code_percent":79.75172,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4262,"matched_functions_percent":83.42141,"complete_code":482572,"complete_code_percent":12.997494,"complete_data":0,"complete_data_percent":0,"total_units":141,"complete_units":88}},{"timestamp":"2026-10-12T14:27:27Z","commit_sha":"c5d247e45b181f717ef13b462a166233efccc7b4","commit_message":"help_0020CDF0.c: func_L00_00211D28 exact match\n\nCo-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":80.69547,"total_code":3712808,"matched_code":2961028,"matched_code_percent":79.75172,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4262,"matched_functions_percent":83.42141,"complete_code":482572,"complete_code_percent":12.997494,"complete_data":0,"complete_data_percent":0,"total_units":141,"complete_units":88}},{"timestamp":"2026-10-12T13:34:23Z","commit_sha":"4aa43deda767a655a6f3a6dbf2ed03e15cfb2dbc","commit_message":"help_00203E98.c: func_L00_00207220 exact match, file built with -fno-sched-interblock\n\nCo-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":80.69534,"total_code":3712808,"matched_code":2960580,"matched_code_percent":79.73965,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4261,"matched_functions_percent":83.40184,"complete_code":482572,"complete_code_percent":12.997494,"complete_data":0,"complete_data_percent":0,"total_units":141,"complete_units":88}},{"timestamp":"2026-10-12T11:45:40Z","commit_sha":"d10bd3fc75c4cf9ece9f78f57fbcc6c702522bf5","commit_message":"nonmatching: func_L15_002A3B98 near miss, 572/568, builds again\n\nCo-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":80.67797,"total_code":3712808,"matched_code":2960340,"matched_code_percent":79.733185,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4260,"matched_functions_percent":83.38226,"complete_code":482572,"complete_code_percent":12.997494,"complete_data":0,"complete_data_percent":0,"total_units":141,"complete_units":88}},{"timestamp":"2026-10-12T11:38:54Z","commit_sha":"d4a6254ffb9a0a8e5d7d7cbbc39b4ecd47a6a052","commit_message":"nonmatching: func_L00_00227F48 near miss, 552/564\n\nCo-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":80.67797,"total_code":3712808,"matched_code":2960340,"matched_code_percent":79.733185,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4260,"matched_functions_percent":83.38226,"complete_code":482572,"complete_code_percent":12.997494,"complete_data":0,"complete_data_percent":0,"total_units":141,"complete_units":88}},{"timestamp":"2026-10-12T11:32:57Z","commit_sha":"84abd0aab067b3b8ad7854d2101d410d4bb339e3","commit_message":"nonmatching: func_L01_00303810 near miss, 464/524\n\nCo-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":80.67797,"total_code":3712808,"matched_code":2960340,"matched_code_percent":79.733185,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4260,"matched_functions_percent":83.38226,"complete_code":482572,"complete_code_percent":12.997494,"complete_data":0,"complete_data_percent":0,"total_units":141,"complete_units":88}},{"timestamp":"2026-10-12T11:20:49Z","commit_sha":"860e2984c87ef38bf7f859d0beeee8e10b6e7d01","commit_message":"nonmatching: func_L09_002F1198 near miss, 95/500\n\nCo-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":80.67797,"total_code":3712808,"matched_code":2960340,"matched_code_percent":79.733185,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4260,"matched_functions_percent":83.38226,"complete_code":482572,"complete_code_percent":12.997494,"complete_data":0,"complete_data_percent":0,"total_units":141,"complete_units":88}},{"timestamp":"2026-10-12T11:17:38Z","commit_sha":"771fe76990c6608d7cfebaacb6b9864dba3844d3","commit_message":"notes: near misses func_00238F98, func_0023D340, func_00232B90, func_00204918; level notes refreshed\n\nCo-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":80.67797,"total_code":3712808,"matched_code":2960340,"matched_code_percent":79.733185,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4260,"matched_functions_percent":83.38226,"complete_code":482572,"complete_code_percent":12.997494,"complete_data":0,"complete_data_percent":0,"total_units":141,"complete_units":88}},{"timestamp":"2026-10-12T10:35:08Z","commit_sha":"70396998749286a61a11d038356893fa32259c02","commit_message":"refactor(overlays): drop two repeated externs in draw_001F3A78.c\n\nCo-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":80.67797,"total_code":3712808,"matched_code":2960340,"matched_code_percent":79.733185,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4260,"matched_functions_percent":83.38226,"complete_code":482572,"complete_code_percent":12.997494,"complete_data":0,"complete_data_percent":0,"total_units":141,"complete_units":88}},{"timestamp":"2026-10-12T10:29:05Z","commit_sha":"e9253c39053a562c48d8fcf90490deacbc9efcf7","commit_message":"refactor: include/callees.h shares 47 engine prototypes; fix Vec4A clash in help_0020CDF0\n\nCo-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":80.67797,"total_code":3712808,"matched_code":2960340,"matched_code_percent":79.733185,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4260,"matched_functions_percent":83.38226,"complete_code":482572,"complete_code_percent":12.997494,"complete_data":0,"complete_data_percent":0,"total_units":141,"complete_units":88}},{"timestamp":"2026-10-12T10:23:20Z","commit_sha":"cdca44d498e9918a4bcf2b8418a606372565a923","commit_message":"refactor: include/records.h for DispatchRec, PadSlots, AnimSeq in 60 files\n\nCo-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":80.67797,"total_code":3712808,"matched_code":2960340,"matched_code_percent":79.733185,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4260,"matched_functions_percent":83.38226,"complete_code":482572,"complete_code_percent":12.997494,"complete_data":0,"complete_data_percent":0,"total_units":141,"complete_units":88}},{"timestamp":"2026-10-12T10:13:15Z","commit_sha":"8927700612ca72d206f4e6ff323e214edcbd5a20","commit_message":"refactor(overlays): Vec4A in vector.h replaces 21 private aligned xyzw copies\n\nCo-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":80.67797,"total_code":3712808,"matched_code":2960340,"matched_code_percent":79.733185,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4260,"matched_functions_percent":83.38226,"complete_code":482572,"complete_code_percent":12.997494,"complete_data":0,"complete_data_percent":0,"total_units":141,"complete_units":88}},{"timestamp":"2026-10-12T10:10:16Z","commit_sha":"5539a45b061a6eecd75026dee83fe14972883be2","commit_message":"refactor(game): merge same-form aliases of one symbol in 9 files\n\nCo-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":80.67797,"total_code":3712808,"matched_code":2960340,"matched_code_percent":79.733185,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4260,"matched_functions_percent":83.38226,"complete_code":482572,"complete_code_percent":12.997494,"complete_data":0,"complete_data_percent":0,"total_units":141,"complete_units":88}},{"timestamp":"2026-10-12T10:09:51Z","commit_sha":"9db6ca9f73d5cfc48bce01e57aeccd596ab87612","commit_message":"refactor(overlays): merge same-form aliases of one symbol in 52 files\n\nCo-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":80.67797,"total_code":3712808,"matched_code":2960340,"matched_code_percent":79.733185,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4260,"matched_functions_percent":83.38226,"complete_code":482572,"complete_code_percent":12.997494,"complete_data":0,"complete_data_percent":0,"total_units":141,"complete_units":88}},{"timestamp":"2026-10-12T10:08:22Z","commit_sha":"c0525310a5c126423f39a2c9b6c6f8345751a63c","commit_message":"refactor(game): drop repeated identical extern lines in 36 files\n\nCo-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":80.67797,"total_code":3712808,"matched_code":2960340,"matched_code_percent":79.733185,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4260,"matched_functions_percent":83.38226,"complete_code":482572,"complete_code_percent":12.997494,"complete_data":0,"complete_data_percent":0,"total_units":141,"complete_units":88}},{"timestamp":"2026-10-12T10:01:19Z","commit_sha":"4c7231adf482d23e7228c2b51587ba8fb9bd03f2","commit_message":"Match func_L00_001F5C60 in the shared draw overlay (the debug menu draw) (#49)\n\nfunc_L00_001F5C60, 4,884 bytes, replaces its INCLUDE_ASM stub and is checked\nwith the strict overlay check. The starting point was the staged near miss\n(one byte off); decomp-permuter found the two temporaries that close it:\nthe format-string pointer cached in a local on its first use, and the\nconstant 16 held in a local. The staged nonmatching/ file is removed and\nnonmatching/README.md and progress/report.json are regenerated\n(4,226 functions, 78.76% matched code).\n\nThe US counterpart is Lombyte FUN_L00_001f58e0 (draw_debug_menu), which is\nstill a pending draft there.\n\nCo-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":80.67797,"total_code":3712808,"matched_code":2960340,"matched_code_percent":79.733185,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4260,"matched_functions_percent":83.38226,"complete_code":482572,"complete_code_percent":12.997494,"complete_data":0,"complete_data_percent":0,"total_units":141,"complete_units":88}},{"timestamp":"2026-10-12T09:32:35Z","commit_sha":"edbd95cb64035980843ac46bfa45e5e1e97c9a63","commit_message":"refactor(overlays): drop repeated identical extern lines in 126 files\n\nCo-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":80.67762,"total_code":3712808,"matched_code":2955444,"matched_code_percent":79.60132,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4258,"matched_functions_percent":83.34312,"complete_code":482572,"complete_code_percent":12.997494,"complete_data":0,"complete_data_percent":0,"total_units":141,"complete_units":88}},{"timestamp":"2026-10-12T08:10:11Z","commit_sha":"4a46a47401e61b6ae6c9e86bfce3aebf337787d2","commit_message":"refactor(game): shared moby and vector headers in update, pause, transition\n\nCo-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":80.67762,"total_code":3712808,"matched_code":2955444,"matched_code_percent":79.60132,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4258,"matched_functions_percent":83.34312,"complete_code":482572,"complete_code_percent":12.997494,"complete_data":0,"complete_data_percent":0,"total_units":141,"complete_units":88}},{"timestamp":"2026-10-12T08:09:49Z","commit_sha":"3e6174f63b3a379136a138c90a54969b5c8edac8","commit_message":"refactor(overlays): shared moby, hero, vector headers in 16 more level files\n\nCo-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":80.67762,"total_code":3712808,"matched_code":2955444,"matched_code_percent":79.60132,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4258,"matched_functions_percent":83.34312,"complete_code":482572,"complete_code_percent":12.997494,"complete_data":0,"complete_data_percent":0,"total_units":141,"complete_units":88}},{"timestamp":"2026-10-12T07:27:09Z","commit_sha":"85cfe927dbd455e34a7f68aff6c3711089a70c21","commit_message":"audiodec.c: func_0023C390 exact match\n\nCo-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":80.67762,"total_code":3712808,"matched_code":2955444,"matched_code_percent":79.60132,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4258,"matched_functions_percent":83.34312,"complete_code":482572,"complete_code_percent":12.997494,"complete_data":0,"complete_data_percent":0,"total_units":141,"complete_units":88}},{"timestamp":"2026-10-12T05:33:13Z","commit_sha":"fc9d8e0b06aa0896c425b12d2784e20dff3df36d","commit_message":"Merge pull request #52 from Veradictus/main\n\nfeat(report): shared level code is one unit, as each level is","measures":{"fuzzy_match_percent":80.66178,"total_code":3712808,"matched_code":2954856,"matched_code_percent":79.58548,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4257,"matched_functions_percent":83.32355,"complete_code":480996,"complete_code_percent":12.955047,"complete_data":0,"complete_data_percent":0,"total_units":141,"complete_units":87}},{"timestamp":"2026-10-12T04:27:16Z","commit_sha":"a584fe47440f47108b9ca538a1dcd2ba5bca5288","commit_message":"Merge pull request #50 from Veradictus/main\n\nfeat: 32 functions ported from the NTSC decomp (4,257 of 5,109)","measures":{"fuzzy_match_percent":80.66178,"total_code":3712808,"matched_code":2954856,"matched_code_percent":79.58548,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4257,"matched_functions_percent":83.32355,"complete_code":618092,"complete_code_percent":16.647562,"complete_data":0,"complete_data_percent":0,"total_units":280,"complete_units":144}},{"timestamp":"2026-10-11T19:54:22Z","commit_sha":"ae2da5f22dbbbc3143ca6aabdd50a8d118c4814e","commit_message":"chore(report): 4,225 of 5,109 functions\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":79.844505,"total_code":3712808,"matched_code":2919340,"matched_code_percent":78.6289,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4225,"matched_functions_percent":82.697205,"complete_code":608216,"complete_code_percent":16.381563,"complete_data":0,"complete_data_percent":0,"total_units":280,"complete_units":143}},{"timestamp":"2026-10-11T19:39:31Z","commit_sha":"dc7b22e42d1f613def569d2c357bd43c911b89ba","commit_message":"chore(report): 4,221 of 5,109 functions\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":79.81509,"total_code":3712808,"matched_code":2918248,"matched_code_percent":78.59949,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4221,"matched_functions_percent":82.618904,"complete_code":608216,"complete_code_percent":16.381563,"complete_data":0,"complete_data_percent":0,"total_units":280,"complete_units":143}},{"timestamp":"2026-10-11T19:08:17Z","commit_sha":"f33964c1a30c3e0b46544a551cd56a776833d2d3","commit_message":"refactor(overlays): include/moby.h in place of anonymous moby copies\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":79.804855,"total_code":3712808,"matched_code":2917868,"matched_code_percent":78.58925,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4220,"matched_functions_percent":82.599335,"complete_code":608216,"complete_code_percent":16.381563,"complete_data":0,"complete_data_percent":0,"total_units":280,"complete_units":143}},{"timestamp":"2026-10-11T19:06:00Z","commit_sha":"eb79fba207cf85f3a6c50bab6132730089537d3a","commit_message":"refactor(overlays): include/pad.h in place of private pad copies\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":79.804855,"total_code":3712808,"matched_code":2917868,"matched_code_percent":78.58925,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4220,"matched_functions_percent":82.599335,"complete_code":608216,"complete_code_percent":16.381563,"complete_data":0,"complete_data_percent":0,"total_units":280,"complete_units":143}},{"timestamp":"2026-10-11T19:03:22Z","commit_sha":"65676a1f8f4e4275ce5fcdcdf52462a2b3bdbb02","commit_message":"refactor(game): shared Hero and Vec4 in sound.c and space.c\n\nObjects identical to before but for the symbol table's size of D_0013F450.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":79.804855,"total_code":3712808,"matched_code":2917868,"matched_code_percent":78.58925,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4220,"matched_functions_percent":82.599335,"complete_code":608216,"complete_code_percent":16.381563,"complete_data":0,"complete_data_percent":0,"total_units":280,"complete_units":143}},{"timestamp":"2026-10-11T19:00:05Z","commit_sha":"26db96845bccef7584cc071850f73b8c23da67a7","commit_message":"refactor(overlays): include/vector.h in place of private Vec4f copies\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":79.804855,"total_code":3712808,"matched_code":2917868,"matched_code_percent":78.58925,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4220,"matched_functions_percent":82.599335,"complete_code":608216,"complete_code_percent":16.381563,"complete_data":0,"complete_data_percent":0,"total_units":280,"complete_units":143}},{"timestamp":"2026-10-11T18:58:38Z","commit_sha":"e98e43269a5c53a9c372f34fa7946c1cbd67e6f9","commit_message":"refactor(include): Vec4f moves to vector.h, which moby.h includes\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":79.804855,"total_code":3712808,"matched_code":2917868,"matched_code_percent":78.58925,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4220,"matched_functions_percent":82.599335,"complete_code":608216,"complete_code_percent":16.381563,"complete_data":0,"complete_data_percent":0,"total_units":280,"complete_units":143}},{"timestamp":"2026-10-11T18:55:40Z","commit_sha":"5205827fa27584436789f098d58cb62376f751ee","commit_message":"refactor(overlays): drop quadword typedefs nothing uses\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":79.804855,"total_code":3712808,"matched_code":2917868,"matched_code_percent":78.58925,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4220,"matched_functions_percent":82.599335,"complete_code":608216,"complete_code_percent":16.381563,"complete_data":0,"complete_data_percent":0,"total_units":280,"complete_units":143}},{"timestamp":"2026-10-11T18:54:22Z","commit_sha":"65e21103747df6ea21f6852ae1bc76ceba3047c5","commit_message":"refactor(overlays): include/vector.h in place of private Vec4 copies, shared\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":79.804855,"total_code":3712808,"matched_code":2917868,"matched_code_percent":78.58925,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4220,"matched_functions_percent":82.599335,"complete_code":608216,"complete_code_percent":16.381563,"complete_data":0,"complete_data_percent":0,"total_units":280,"complete_units":143}},{"timestamp":"2026-10-11T18:50:03Z","commit_sha":"a7940857fdd5074518e856aa5de284e60b8bbd13","commit_message":"refactor(overlays): the hero in loaders_00240398.c is struct Hero\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":79.804855,"total_code":3712808,"matched_code":2917868,"matched_code_percent":78.58925,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4220,"matched_functions_percent":82.599335,"complete_code":608216,"complete_code_percent":16.381563,"complete_data":0,"complete_data_percent":0,"total_units":280,"complete_units":143}},{"timestamp":"2026-10-11T18:48:32Z","commit_sha":"c6f40359d8cb8efb834d9a2a0a425a75c98f8bba","commit_message":"refactor(overlays): the hero in vendor_00293720.c is struct Hero\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":79.804855,"total_code":3712808,"matched_code":2917868,"matched_code_percent":78.58925,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4220,"matched_functions_percent":82.599335,"complete_code":608216,"complete_code_percent":16.381563,"complete_data":0,"complete_data_percent":0,"total_units":280,"complete_units":143}},{"timestamp":"2026-10-11T18:46:53Z","commit_sha":"7e98880e91c9736c65fc98a411d667688a5b1dbf","commit_message":"refactor(overlays): include/hero.h in vendor_002C12B0.c\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":79.804855,"total_code":3712808,"matched_code":2917868,"matched_code_percent":78.58925,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4220,"matched_functions_percent":82.599335,"complete_code":608216,"complete_code_percent":16.381563,"complete_data":0,"complete_data_percent":0,"total_units":280,"complete_units":143}},{"timestamp":"2026-10-11T18:45:16Z","commit_sha":"71780e646ab55d3b6457c8b3f9f867ab2a07be1e","commit_message":"refactor(hero): name more item-slot fields, read retyped fields by value\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":79.804855,"total_code":3712808,"matched_code":2917868,"matched_code_percent":78.58925,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4220,"matched_functions_percent":82.599335,"complete_code":608216,"complete_code_percent":16.381563,"complete_data":0,"complete_data_percent":0,"total_units":280,"complete_units":143}},{"timestamp":"2026-10-11T18:40:50Z","commit_sha":"5b305a2130e9450bc5beea3e6761707dc8e04408","commit_message":"refactor(overlays): include/hero.h in more files, shared\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":79.804855,"total_code":3712808,"matched_code":2917868,"matched_code_percent":78.58925,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4220,"matched_functions_percent":82.599335,"complete_code":608216,"complete_code_percent":16.381563,"complete_data":0,"complete_data_percent":0,"total_units":280,"complete_units":143}},{"timestamp":"2026-10-11T18:37:35Z","commit_sha":"2f331e0adb0df32de486cba8a03f26a7ccf1d1ef","commit_message":"refactor(overlays): include/hero.h in more files, shared\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":79.804855,"total_code":3712808,"matched_code":2917868,"matched_code_percent":78.58925,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4220,"matched_functions_percent":82.599335,"complete_code":608216,"complete_code_percent":16.381563,"complete_data":0,"complete_data_percent":0,"total_units":280,"complete_units":143}},{"timestamp":"2026-10-11T18:24:47Z","commit_sha":"d9b8a96b937c6ebf586422c7cca8492195814b1b","commit_message":"refactor(overlays): include/hero.h in place of private hero copies, shared\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":79.804855,"total_code":3712808,"matched_code":2917868,"matched_code_percent":78.58925,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4220,"matched_functions_percent":82.599335,"complete_code":608216,"complete_code_percent":16.381563,"complete_data":0,"complete_data_percent":0,"total_units":280,"complete_units":143}},{"timestamp":"2026-10-11T18:07:22Z","commit_sha":"7644c67f24b2d452d48607a3573730adf598ae0e","commit_message":"refactor(overlays): include/moby.h in place of 58 private moby copies, shared (20 files)\n\nThe private moby and moby class structs of these files become the shared\nMoby and MobyClass, and vector types identical to Vec4f become Vec4f. An\naccess whose old type differs from the shared field at the same offset\nkeeps that type through a cast on the shared field's address, so no\ncompiled byte changes.\n\nVerified: overlay_file_check, 0 problems.\n\nCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>","measures":{"fuzzy_match_percent":79.804855,"total_code":3712808,"matched_code":2917868,"matched_code_percent":78.58925,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4220,"matched_functions_percent":82.599335,"complete_code":608216,"complete_code_percent":16.381563,"complete_data":0,"complete_data_percent":0,"total_units":280,"complete_units":143}},{"timestamp":"2026-10-11T16:47:36Z","commit_sha":"cf5e8ad6dc972bd3768ce290d2584c5d03a0ae7e","commit_message":"Merge pull request #48 from Veradictus/main\n\nFive more matches (4,220 of 5,109) and a first-person camera fix for the port","measures":{"fuzzy_match_percent":79.804855,"total_code":3712808,"matched_code":2917868,"matched_code_percent":78.58925,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4220,"matched_functions_percent":82.599335,"complete_code":608216,"complete_code_percent":16.381563,"complete_data":0,"complete_data_percent":0,"total_units":280,"complete_units":143}},{"timestamp":"2026-10-10T20:34:21Z","commit_sha":"ae5490f717e9a508933e38f79f23623ffd6d8462","commit_message":"Merge pull request #47 from Veradictus/main\n\nPort support: functional C for the native build, plus a handful of matching fixes","measures":{"fuzzy_match_percent":79.79022,"total_code":3712808,"matched_code":2914880,"matched_code_percent":78.50877,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4215,"matched_functions_percent":82.501465,"complete_code":608216,"complete_code_percent":16.381563,"complete_data":0,"complete_data_percent":0,"total_units":280,"complete_units":143}},{"timestamp":"2026-10-10T03:40:35Z","commit_sha":"4b86e4fca5bc81eabda107454e0262d76be6398b","commit_message":"Merge pull request #46 from Veradictus/main\n\nMatch 508 functions, add a moby struct and functional C for the native port","measures":{"fuzzy_match_percent":79.779335,"total_code":3712808,"matched_code":2914476,"matched_code_percent":78.497894,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":4214,"matched_functions_percent":82.481895,"complete_code":608216,"complete_code_percent":16.381563,"complete_data":0,"complete_data_percent":0,"total_units":280,"complete_units":143}},{"timestamp":"2026-10-09T20:35:28Z","commit_sha":"0fe9b5129b831024e5372b05e52c0279f4fe54ab","commit_message":"Merge pull request #45 from dev-gian/feat/four-overlay-matches\n\nMatch 4 functions in Rilgar, Pokitaru, Gemlik and shared overlays","measures":{"fuzzy_match_percent":63.130333,"total_code":3712808,"matched_code":2273016,"matched_code_percent":61.22094,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":3706,"matched_functions_percent":72.53866,"complete_code":566668,"complete_code_percent":15.262518,"complete_data":0,"complete_data_percent":0,"total_units":280,"complete_units":131}},{"timestamp":"2026-10-09T07:30:30Z","commit_sha":"48bbff8ed606c7aba7e7e93050fc875e5af1d778","commit_message":"Decompile 5 functions in movie player without inline asm","measures":{"fuzzy_match_percent":63.103775,"total_code":3712808,"matched_code":2271268,"matched_code_percent":61.173862,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":3702,"matched_functions_percent":72.460365,"complete_code":566668,"complete_code_percent":15.262518,"complete_data":0,"complete_data_percent":0,"total_units":280,"complete_units":131}},{"timestamp":"2026-10-09T06:13:01Z","commit_sha":"0da680d7a13884a5531b1eb574e4bf9cd3f59e1f","commit_message":"Revert pseudo-functions using register pinning and inline asm to INCLUDE_ASM","measures":{"fuzzy_match_percent":63.07221,"total_code":3712808,"matched_code":2270096,"matched_code_percent":61.142296,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":3698,"matched_functions_percent":72.38207,"complete_code":566668,"complete_code_percent":15.262518,"complete_data":0,"complete_data_percent":0,"total_units":280,"complete_units":131}},{"timestamp":"2026-10-08T22:18:05Z","commit_sha":"6ded75da99da1d7dec69bf76af7e46dc24b3c14c","commit_message":"Decompile 25 small functions (menu, help, vendor, sound, and vibuf helpers)","measures":{"fuzzy_match_percent":63.085136,"total_code":3712808,"matched_code":2270576,"matched_code_percent":61.155224,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":3717,"matched_functions_percent":72.75397,"complete_code":566668,"complete_code_percent":15.262518,"complete_data":0,"complete_data_percent":0,"total_units":280,"complete_units":131}},{"timestamp":"2026-10-08T21:06:25Z","commit_sha":"d9cf6452a5923102855152d08d6963b1c653fcf9","commit_message":"Decompile 5 small functions (menu card state helpers, vibuf CHCR/tag)","measures":{"fuzzy_match_percent":63.071884,"total_code":3712808,"matched_code":2270084,"matched_code_percent":61.14197,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":3699,"matched_functions_percent":72.40164,"complete_code":566668,"complete_code_percent":15.262518,"complete_data":0,"complete_data_percent":0,"total_units":280,"complete_units":131}},{"timestamp":"2026-10-08T20:52:20Z","commit_sha":"5fb90abd2c1ce2b3e9c4d822003ebba94be4964b","commit_message":"Merge pull request #44 from dev-gian/feat/eight-overlay-matches\n\nMatch 8 functions in Batalia, Pokitaru, Hoven and Gemlik overlays","measures":{"fuzzy_match_percent":63.06359,"total_code":3712808,"matched_code":2269776,"matched_code_percent":61.133675,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":3694,"matched_functions_percent":72.30378,"complete_code":566668,"complete_code_percent":15.262518,"complete_data":0,"complete_data_percent":0,"total_units":280,"complete_units":131}},{"timestamp":"2026-10-08T17:40:42Z","commit_sha":"a35ffbee49bb74c70b7b3e3492085d415f652038","commit_message":"Merge pull request #42 from dev-gian/feat/rilgar-batalia-matches\n\nMatch 8 functions in Rilgar and Batalia overlays","measures":{"fuzzy_match_percent":62.940693,"total_code":3712808,"matched_code":2264244,"matched_code_percent":60.984676,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":3686,"matched_functions_percent":72.147194,"complete_code":566668,"complete_code_percent":15.262518,"complete_data":0,"complete_data_percent":0,"total_units":280,"complete_units":131}},{"timestamp":"2026-10-08T17:25:37Z","commit_sha":"b8f9355792ac169d9cc3e6ab786320222053e564","commit_message":"Merge pull request #43 from Veradictus/main\n\nFour big ones from Lombyte, courtesy of GPT","measures":{"fuzzy_match_percent":62.81397,"total_code":3712808,"matched_code":2257800,"matched_code_percent":60.811115,"total_data":0,"matched_data":0,"matched_data_percent":0,"total_functions":5109,"matched_functions":3678,"matched_functions_percent":71.99061,"complete_code":566668,"complete_code_percent":15.262518,"complete_data":0,"complete_data_percent":0,"total_units":280,"complete_units":131}}]