[{"timestamp":"2026-10-20T05:09:44Z","commit_sha":"07358325a14d582843f30ad36b904b2da0079c89","commit_message":"Record the 0x08002A764 lift: the unpinned-base lever and two walls\n\nThe 196-byte state copier reaches the ROM's exact length in C with 127 of\n196 bytes matching. The big lever is that a PINNED base is copied before\nevery load that uses it, while an UNPINNED local is read through\ndirectly -- which is also what puts the four long-lived record pointers in\nthe ROM's r4-r7 with no pins at all.\n\nThe note keeps the transcription and what is left: the commutative add's\noperand order (the compiler canonicalises it, not the source) and the\nclamp's two stores, which agbcc if-converts into one.","measures":{"fuzzy_match_percent":98.96554,"total_code":188760,"matched_code":105360,"matched_code_percent":55.81691,"total_data":7873388,"matched_data":7873388,"matched_data_percent":100,"total_functions":1675,"matched_functions":1440,"matched_functions_percent":85.970146,"complete_code":188760,"complete_code_percent":100,"complete_data":7873388,"complete_data_percent":100,"total_units":279,"complete_units":279}},{"timestamp":"2026-10-19T19:37:41Z","commit_sha":"90f06ce10d02e516808391fc657690e6c4fa8f9b","commit_message":"Match Award_CopyTwinB byte-for-byte and unblock the slice gate\n\n- Rework Award_CopyTwinB around the ROM's 72-byte frame: volatile idx/found\n  slots, r9 base, sl flag pointer, r8 rowoff, r3/r2/r1 loop roles, and the\n  r4/r5/r6/r7 scratch sequence for the three 0xFC8/0xFCA/0xFCC words.\n- Pin the tail's stack pointer and row-offset sequence where agbcc\n  rematerialises temp as movs r3,#12 and folds the offset into r0 instead\n  of the ROM's r5.\n- Call _08002BE8 from Course_Dispatch_08AAC so the independent slice links\n  against the assembly closure; the emitted bytes are unchanged.\n- Refresh report.json, report-inputs.json, and source_quality.json.\n\nVerified: corpus_match_probe (_0800BA3C 208/208, _0800BB0C 248/248),\nmake matching-ready PASS, make progress PASS, make fast-check PASS,\nmake ci-check PASS, git diff --check.","measures":{"fuzzy_match_percent":98.95799,"total_code":188760,"matched_code":104752,"matched_code_percent":55.49481,"total_data":7873388,"matched_data":7873388,"matched_data_percent":100,"total_functions":1675,"matched_functions":1438,"matched_functions_percent":85.850746,"complete_code":188760,"complete_code_percent":100,"complete_data":7873388,"complete_data_percent":100,"total_units":279,"complete_units":279}},{"timestamp":"2026-10-13T17:54:20Z","commit_sha":"15bd819c9192d7eb7c37e4c121388f6a51896f76","commit_message":"Credit verified non-function spans in code match reports\n\nUpdate progress reporting and treemaps to include source-owned non-function bytes after the independent code-slice comparison passes. Clarify the distinction between byte-matched code and C-function progress.","measures":{"fuzzy_match_percent":100,"total_code":188760,"matched_code":188760,"matched_code_percent":100,"total_data":7873388,"matched_data":7873388,"matched_data_percent":100,"total_functions":1674,"matched_functions":1674,"matched_functions_percent":100,"complete_code":188760,"complete_code_percent":100,"complete_data":7873388,"complete_data_percent":100,"total_units":279,"complete_units":279}},{"timestamp":"2026-10-13T17:24:42Z","commit_sha":"d92c64fc655dbe9a22e77382d6c29c987989333c","commit_message":"Link and verify the full C/ASM ROM\n\n- Add a whole-image byte-match gate and account for every function entry.\n- Emit ROM padding as source zero fill and update ownership and progress reports.","measures":{"fuzzy_match_percent":99.99226,"total_code":188760,"matched_code":188136,"matched_code_percent":99.66942,"total_data":7873388,"matched_data":7873388,"matched_data_percent":100,"total_functions":1674,"matched_functions":1674,"matched_functions_percent":100,"complete_code":188760,"complete_code_percent":100,"complete_data":7873388,"complete_data_percent":100,"total_units":279,"complete_units":279}},{"timestamp":"2026-10-13T16:53:37Z","commit_sha":"c701fba53490d574b7df82eded0ec930c25e87d0","commit_message":"Separate exact matching, linkage, and data progress metrics\n\n- Report identified C function matches separately from whole-slice ratios and link completion.\n- Clarify the limits of the function census, byte-level data reproduction, and ROM build evidence.\n- Accept numeric call targets that fall within selected C spans.","measures":{"fuzzy_match_percent":99.99226,"total_code":188760,"matched_code":188136,"matched_code_percent":99.66942,"total_data":7873388,"matched_data":7873388,"matched_data_percent":100,"total_functions":1674,"matched_functions":1674,"matched_functions_percent":100,"complete_code":188760,"complete_code_percent":100,"complete_data":7873388,"complete_data_percent":100,"total_units":279,"complete_units":279}},{"timestamp":"2026-10-13T12:56:00Z","commit_sha":"6d4db517dd22b258f233201cc4a8e2fe7ae3a2b3","commit_message":"Match 1,411 functions and speed up decompilation tools\n\nReplace approximated C bodies with ROM-matching implementations, bringing the selected corpus to 91,084 bytes. Optimize matching, audit, and asset tools to reduce repeated scans and subprocess overhead.","measures":{"fuzzy_match_percent":48.25387,"total_code":188760,"matched_code":91084,"matched_code_percent":48.25387,"total_data":8199848,"matched_data":7873388,"matched_data_percent":96.01871,"total_functions":0,"matched_functions":0,"matched_functions_percent":0,"complete_code":91084,"complete_code_percent":48.25387,"complete_data":7873388,"complete_data_percent":96.01871,"total_units":0,"complete_units":0}},{"timestamp":"2026-10-13T04:09:18Z","commit_sha":"f669ec9ce153ecbb63a1fc333caaae4ac3b46de7","commit_message":"Expand matching coverage and add resumable experiment tooling\n\nAdd nine exact C functions to the matching slice, raising coverage to\n89,980 bytes, and improve compiler-matching workflows with instruction\ndiagnostics, full-translation-unit campaigns, and opaque GNU expression support.","measures":{"fuzzy_match_percent":47.931767,"total_code":188760,"matched_code":90476,"matched_code_percent":47.931767,"total_data":8199848,"matched_data":7873388,"matched_data_percent":96.01871,"total_functions":0,"matched_functions":0,"matched_functions_percent":0,"complete_code":90476,"complete_code_percent":47.931767,"complete_data":7873388,"complete_data_percent":96.01871,"total_units":0,"complete_units":0}},{"timestamp":"2026-10-12T20:05:20Z","commit_sha":"0bb8aba497689d0cf82458fc6185861cf73dda9f","commit_message":"Promote more ROM functions into the matching slice\n\n- Reconstruct additional course, menu, race, garage, runtime, and sound routines.\n- Expand the selected manifest to 1,399 functions and 87,224 bytes, raising matched code coverage to 46.2%.\n- Improve relocation resolution and document compiler matching techniques and known limits.","measures":{"fuzzy_match_percent":46.208942,"total_code":188760,"matched_code":87224,"matched_code_percent":46.208942,"total_data":8199848,"matched_data":7873388,"matched_data_percent":96.01871,"total_functions":0,"matched_functions":0,"matched_functions_percent":0,"complete_code":87224,"complete_code_percent":46.208942,"complete_data":7873388,"complete_data_percent":96.01871,"total_units":0,"complete_units":0}},{"timestamp":"2026-10-12T07:35:18Z","commit_sha":"0c405937d061ca5152d978ca4113094721076664","commit_message":"Expand the matched C corpus and unify ROM symbol definitions\n\nAdd two exact functions to the manifest, bringing the matched corpus to\n1,369 functions and 82,440 bytes. Remove Apple-only stubs and aliases, along\nwith the obsolete host declaration audit.","measures":{"fuzzy_match_percent":43.674507,"total_code":188760,"matched_code":82440,"matched_code_percent":43.674507,"total_data":8199848,"matched_data":7873388,"matched_data_percent":96.01871,"total_functions":0,"matched_functions":0,"matched_functions_percent":0,"complete_code":82440,"complete_code_percent":43.674507,"complete_data":7873388,"complete_data_percent":96.01871,"total_units":0,"complete_units":0}},{"timestamp":"2026-10-12T02:30:08Z","commit_sha":"9fd3f063f6767bd9f340a5834ada0a6194bf9faa","commit_message":"Promote matched functions and automate progress updates\n\nIncrease the selected corpus to 1,367 functions and 81,984 bytes. Add\nprogress update tooling, refresh the ownership and report artifacts, and\ndocument compiler register allocation findings.","measures":{"fuzzy_match_percent":43.43293,"total_code":188760,"matched_code":81984,"matched_code_percent":43.43293,"total_data":8199848,"matched_data":7873388,"matched_data_percent":96.01871,"total_functions":0,"matched_functions":0,"matched_functions_percent":0,"complete_code":81984,"complete_code_percent":43.43293,"complete_data":7873388,"complete_data_percent":96.01871,"total_units":0,"complete_units":0}},{"timestamp":"2026-10-10T11:17:43Z","commit_sha":"e20941066213a71cc0f3742cdf3e0bb4018dab45","commit_message":"Lift 52 functions and expand the matched code slice\n\n- Add C implementations and matching entries across race setup, sound, garage, HUD, awards, and runtime code.\n- Update ownership data and reports; matched code grows to 64,740 bytes across 1,252 functions.","measures":{"fuzzy_match_percent":34.29752,"total_code":188760,"matched_code":64740,"matched_code_percent":34.29752,"total_data":8199848,"matched_data":7873388,"matched_data_percent":96.01871,"total_functions":0,"matched_functions":0,"matched_functions_percent":0,"complete_code":64740,"complete_code_percent":34.29752,"complete_data":7873388,"complete_data_percent":96.01871,"total_units":0,"complete_units":0}},{"timestamp":"2026-10-10T02:07:26Z","commit_sha":"6906d11b2ad832830043c17a920c28fc275451a8","commit_message":"Expand exact function matching across menu, save, course, race, and gara\n\n- Reconstruct additional C functions and add them to the matching slice.\n- Update generated ownership and progress reports to reflect the expanded match.","measures":{"fuzzy_match_percent":31.820301,"total_code":188760,"matched_code":60064,"matched_code_percent":31.820301,"total_data":8199848,"matched_data":7873388,"matched_data_percent":96.01871,"total_functions":0,"matched_functions":0,"matched_functions_percent":0,"complete_code":60064,"complete_code_percent":31.820301,"complete_data":7873388,"complete_data_percent":96.01871,"total_units":0,"complete_units":0}},{"timestamp":"2026-10-09T16:36:06Z","commit_sha":"642fecca468609dd65f0da5eb9361419bac7ade4","commit_message":"more progress, new tooling","measures":{"fuzzy_match_percent":30.315744,"total_code":188760,"matched_code":57224,"matched_code_percent":30.315744,"total_data":8199848,"matched_data":7873388,"matched_data_percent":96.01871,"total_functions":0,"matched_functions":0,"matched_functions_percent":0,"complete_code":57224,"complete_code_percent":30.315744,"complete_data":7873388,"complete_data_percent":96.01871,"total_units":0,"complete_units":0}},{"timestamp":"2026-10-09T00:01:09Z","commit_sha":"4305bbc4f6e5d17ab3bedfdb2f865b6b21419d42","commit_message":"1,089 functions / 50,212 C bytes","measures":{"fuzzy_match_percent":26.600975,"total_code":188760,"matched_code":50212,"matched_code_percent":26.600975,"total_data":8199848,"matched_data":7873388,"matched_data_percent":96.01871,"total_functions":0,"matched_functions":0,"matched_functions_percent":0,"complete_code":50212,"complete_code_percent":26.600975,"complete_data":7873388,"complete_data_percent":96.01871,"total_units":0,"complete_units":0}},{"timestamp":"2026-10-08T15:15:07Z","commit_sha":"4b1eb860c220f3734a19b74d776e445d56a41dd0","commit_message":"+1,212 bytes - ai, grids, sound system, runtime, record keeping","measures":{"fuzzy_match_percent":23.651197,"total_code":188760,"matched_code":44644,"matched_code_percent":23.651197,"total_data":8199848,"matched_data":7873388,"matched_data_percent":96.01871,"total_functions":0,"matched_functions":0,"matched_functions_percent":0,"complete_code":44644,"complete_code_percent":23.651197,"complete_data":7873388,"complete_data_percent":96.01871,"total_units":0,"complete_units":0}},{"timestamp":"2026-10-08T02:58:57Z","commit_sha":"dbc53cc68dac602a09fa87124224966883cec342","commit_message":"data region work and additional decomp target progress","measures":{"fuzzy_match_percent":23.009111,"total_code":188760,"matched_code":43432,"matched_code_percent":23.009111,"total_data":8199848,"matched_data":7873388,"matched_data_percent":96.01871,"total_functions":0,"matched_functions":0,"matched_functions_percent":0,"complete_code":43432,"complete_code_percent":23.009111,"complete_data":7873388,"complete_data_percent":96.01871,"total_units":0,"complete_units":0}},{"timestamp":"2026-10-08T00:10:06Z","commit_sha":"85f9c91d412a94e96e8286d6d96da76d6bcd4c98","commit_message":"fix treemap reporting","measures":{"fuzzy_match_percent":22.657343,"total_code":188760,"matched_code":42768,"matched_code_percent":22.657343,"total_data":8199848,"matched_data":0,"matched_data_percent":0,"total_functions":0,"matched_functions":0,"matched_functions_percent":0,"complete_code":42768,"complete_code_percent":22.657343,"complete_data":0,"complete_data_percent":0,"total_units":0,"complete_units":0}},{"timestamp":"2026-10-07T23:59:33Z","commit_sha":"2aa9199744f7fc1a8586d07dbf2b3691002e8a42","commit_message":"Initial setup","measures":{"fuzzy_match_percent":0,"total_code":188760,"matched_code":42768,"matched_code_percent":22.657343,"total_data":8199848,"matched_data":0,"matched_data_percent":0,"total_functions":0,"matched_functions":0,"matched_functions_percent":0,"complete_code":42768,"complete_code_percent":22.657343,"complete_data":0,"complete_data_percent":0,"total_units":0,"complete_units":0}}]