Byte-match ONE function for the Brave Fencer Musashi matching decomp. Repo: /home/musashi/bfm-decomp (run every command from there). Target: func_800CF0F4 in binary md_MAIN_007 (21 instructions, never drafted). Arm: haiku. READ FIRST, in order: .run/P32/t3/BRIEF.md, .run/P32/t3/SYS.md, .run/P32/t3/packs/func_800CF0F4.md. Target asm (read IN FULL): asm/md_MAIN_007/nonmatchings/md_MAIN_007/func_800CF0F4.s. Destination TU: src/md_MAIN_007/md_MAIN_007.c (read its banked siblings for house style; if the TU already declares a symbol you need, copy that declaration EXACTLY). sub = md_MAIN_007. Write your best draft to .run/P32/t3/haiku/func_800CF0F4.c. Check with `.venv/bin/python tools/match_one.py func_800CF0F4 --c <draft> --asm-subdir asm/md_MAIN_007/nonmatchings/md_MAIN_007 --work .run/P32/t3/work/func_800CF0F4`, then `.venv/bin/python tools/rtu_match.py func_800CF0F4 --split md_MAIN_007 --source md_MAIN_007 --c <draft> --asm-subdir asm/md_MAIN_007/nonmatchings/md_MAIN_007 --work .run/P32/t3/rtu/func_800CF0F4`. Two integration rules the coordinator hit today: (1) if your target .s carries a `dlabel D_xxx` block in its `.rodata` section, your draft must DEFINE that data at file scope (e.g. `const char D_xxx[] = "...";` from the .s bytes, cookbook §304) — an `extern` for it fails at LINK because the stub .s was its only owner; (2) declare shared globals with the exact type the TU or its banked siblings already use. Scratch ONLY under .run/P32/t3/work/func_800CF0F4/ and .run/P32/t3/rtu/func_800CF0F4/; NEVER run find/rm/mv or a glob over .run/P32/t3/haiku/ or any directory you did not create (it holds other agents' deliverables). Do NOT edit anything under src/ or config/. Your FINAL message is EXACTLY the single-line JSON verdict specified in BRIEF.md and nothing else.
