[{"timestamp":"2026-10-15T08:07:58Z","commit_sha":"60293489468046bd6fb6a0ad4f40236c31938ee6","commit_message":"Split finished function runs out of 12 units","measures":{"fuzzy_match_percent":20.50955,"total_code":1599294,"matched_code":328008,"matched_code_percent":20.50955,"total_data":0,"matched_data":0,"matched_data_percent":100,"total_functions":6927,"matched_functions":3446,"matched_functions_percent":49.747364,"complete_code":174460,"complete_code_percent":10.908564,"complete_data":0,"complete_data_percent":100,"total_units":367,"complete_units":83}},{"timestamp":"2026-10-15T07:48:03Z","commit_sha":"a1e73982564c758cc25ac115e14d4d4ff10f09be","commit_message":"Name 56 more functions and data symbols","measures":{"fuzzy_match_percent":20.295706,"total_code":1599294,"matched_code":324588,"matched_code_percent":20.295706,"total_data":0,"matched_data":0,"matched_data_percent":100,"total_functions":6927,"matched_functions":3438,"matched_functions_percent":49.631874,"complete_code":154186,"complete_code_percent":9.64088,"complete_data":0,"complete_data_percent":100,"total_units":344,"complete_units":68}},{"timestamp":"2026-10-15T07:36:36Z","commit_sha":"ebd2e2163705724645e50450db8681185a5d35a7","commit_message":"Decompile 6 spawn-child functions in four units","measures":{"fuzzy_match_percent":20.07811,"total_code":1599294,"matched_code":321108,"matched_code_percent":20.07811,"total_data":0,"matched_data":0,"matched_data_percent":100,"total_functions":6927,"matched_functions":3388,"matched_functions_percent":48.910065,"complete_code":154186,"complete_code_percent":9.64088,"complete_data":0,"complete_data_percent":100,"total_units":344,"complete_units":68}},{"timestamp":"2026-10-15T07:33:54Z","commit_sha":"817dcae5a2ebc237f548e88801e96c226bab2cea","commit_message":"Decompile 8 more functions of code_0807ED70","measures":{"fuzzy_match_percent":19.938047,"total_code":1599294,"matched_code":318868,"matched_code_percent":19.938047,"total_data":0,"matched_data":0,"matched_data_percent":100,"total_functions":6927,"matched_functions":3382,"matched_functions_percent":48.823444,"complete_code":154186,"complete_code_percent":9.64088,"complete_data":0,"complete_data_percent":100,"total_units":344,"complete_units":68}},{"timestamp":"2026-10-15T07:31:03Z","commit_sha":"5faeb4a400d89efcec26c24fe81489324e69ca71","commit_message":"Decompile 29 functions of code_08047780","measures":{"fuzzy_match_percent":19.893904,"total_code":1599294,"matched_code":318162,"matched_code_percent":19.893902,"total_data":0,"matched_data":0,"matched_data_percent":100,"total_functions":6927,"matched_functions":3374,"matched_functions_percent":48.707954,"complete_code":154186,"complete_code_percent":9.64088,"complete_data":0,"complete_data_percent":100,"total_units":344,"complete_units":68}},{"timestamp":"2026-10-15T07:26:56Z","commit_sha":"d65c04a509fdcaafe50f2f0a28a1649c6a4fd3bf","commit_message":"Decompile 32 functions of code_080DD204","measures":{"fuzzy_match_percent":19.472218,"total_code":1599294,"matched_code":311418,"matched_code_percent":19.472218,"total_data":0,"matched_data":0,"matched_data_percent":100,"total_functions":6927,"matched_functions":3331,"matched_functions_percent":48.087196,"complete_code":154186,"complete_code_percent":9.64088,"complete_data":0,"complete_data_percent":100,"total_units":344,"complete_units":68}},{"timestamp":"2026-10-15T07:19:06Z","commit_sha":"12acff468d83fefb1405b572cf0b1c0943098f32","commit_message":"Decompile 41 functions of code_08067338","measures":{"fuzzy_match_percent":19.049406,"total_code":1599294,"matched_code":304656,"matched_code_percent":19.049406,"total_data":0,"matched_data":0,"matched_data_percent":100,"total_functions":6927,"matched_functions":3248,"matched_functions_percent":46.888985,"complete_code":154186,"complete_code_percent":9.64088,"complete_data":0,"complete_data_percent":100,"total_units":344,"complete_units":68}},{"timestamp":"2026-10-15T07:01:45Z","commit_sha":"2b9a1e77f99a5b539967ba626c4dbe32d0cf1f5b","commit_message":"Decompile 124 functions in code_081581B8, code_080FBF10, code_08151144 and code_0813AC90","measures":{"fuzzy_match_percent":18.635473,"total_code":1599294,"matched_code":298036,"matched_code_percent":18.635473,"total_data":0,"matched_data":0,"matched_data_percent":100,"total_functions":6927,"matched_functions":3164,"matched_functions_percent":45.67634,"complete_code":154186,"complete_code_percent":9.64088,"complete_data":0,"complete_data_percent":100,"total_units":344,"complete_units":68}},{"timestamp":"2026-10-15T06:24:55Z","commit_sha":"a1040b599d29efac283b226312db987863f6ced1","commit_message":"Decompile 13 more functions of code_08136260","measures":{"fuzzy_match_percent":17.526484,"total_code":1599294,"matched_code":280300,"matched_code_percent":17.526484,"total_data":0,"matched_data":0,"matched_data_percent":100,"total_functions":6927,"matched_functions":2915,"matched_functions_percent":42.08171,"complete_code":111978,"complete_code_percent":7.001714,"complete_data":0,"complete_data_percent":100,"total_units":302,"complete_units":44}},{"timestamp":"2026-10-15T06:02:19Z","commit_sha":"6520ccd6d9b5ed5eec5f28ca9aa7c26785683bdf","commit_message":"Decompile code_0808DEF8 completely","measures":{"fuzzy_match_percent":16.835283,"total_code":1599296,"matched_code":269246,"matched_code_percent":16.835283,"total_data":0,"matched_data":0,"matched_data_percent":100,"total_functions":6918,"matched_functions":2805,"matched_functions_percent":40.5464,"complete_code":111978,"complete_code_percent":7.0017056,"complete_data":0,"complete_data_percent":100,"total_units":302,"complete_units":44}},{"timestamp":"2026-10-15T05:48:36Z","commit_sha":"f67269ea298a6e5fc35f68824817e33f831ac38b","commit_message":"Progress map and badges in the style of decomp.dev, drawn by Gitea CI\n\nThe Gitea workflow builds the ROM, writes the objdiff report and publishes the treemap and\nbadges on the progress branch; the README shows them from there.","measures":{"fuzzy_match_percent":15.69353,"total_code":1599296,"matched_code":250986,"matched_code_percent":15.69353,"total_data":0,"matched_data":0,"matched_data_percent":100,"total_functions":6918,"matched_functions":2641,"matched_functions_percent":38.175774,"complete_code":105750,"complete_code_percent":6.6122847,"complete_data":0,"complete_data_percent":100,"total_units":302,"complete_units":43}},{"timestamp":"2026-10-15T05:35:55Z","commit_sha":"9e7ad42a39d573d3aed0f6d690a0db7aea2049be","commit_message":"README: progress picture and a note on the use of AI\n\ndecomp.dev no longer lists the project; tools/progress_svg.py draws the progress from the\nobjdiff report into docs/progress.svg instead.","measures":{"fuzzy_match_percent":15.69353,"total_code":1599296,"matched_code":250986,"matched_code_percent":15.69353,"total_data":0,"matched_data":0,"matched_data_percent":100,"total_functions":6918,"matched_functions":2641,"matched_functions_percent":38.175774,"complete_code":105750,"complete_code_percent":6.6122847,"complete_data":0,"complete_data_percent":100,"total_units":302,"complete_units":43}},{"timestamp":"2026-10-14T20:06:45Z","commit_sha":"035e49dd6e1747e3bf32df8f2ee66f02d54cb0e3","commit_message":"Generate asm/ from the ROM instead of keeping it in the repository\n\nThe original assembly is the game's code, so it does not belong in a public\nrepository any more than the ROM does. configure.py now disassembles\nbaserom.gba into asm/UNIT/FUNC.s whenever config/symbols.txt, config/units.txt\nor the disassembler changed (asm/.stamp), writing only files whose text\nchanged and removing files of functions that no longer exist. tools/setup.sh\nputs capstone into tools/pylib, so this needs no virtualenv.\n\nasm/ is ignored by git except for asm/macros.inc. Symbol fixes go into\nconfig/symbols.txt instead of hand edits in asm/; rename.py keeps asm/ current\nwithout a full regeneration.\n\nThe workflow fetches the ROM through the BASEROM_URL/BASEROM_AUTH secrets\nbefore configuring and fails if ROM files or original assembly are tracked.","measures":{"fuzzy_match_percent":14.153603,"total_code":1599296,"matched_code":226358,"matched_code_percent":14.153603,"total_data":0,"matched_data":0,"matched_data_percent":100,"total_functions":6918,"matched_functions":2101,"matched_functions_percent":30.370049,"complete_code":105750,"complete_code_percent":6.6122847,"complete_data":0,"complete_data_percent":100,"total_units":302,"complete_units":43}}]