# Statistic category maps and complete no-target bookkeeping RE-645. Reproduce with `python3 scripts/analyze_qvm_no_target_stats.py`; check with `python3 scripts/test_qvm_no_target_stats.py`. The [machine report](qvm-no-target-stats.json) retains source identity and bounded fixtures. Actual278587/278692 use file-backed jump tables to map weapon and location IDs, returning−1 outside supported categories. Actual279820 no-target paths accept target−1 or≥64, force location category−1, increment category row offsets0/4 and set row56 to100−misses/attempts×100 in source f32 order. A total wrapping to0 resets row56 to0. Attacker−1 bypasses work; invalid weapon category exits after both actual map calls. All20×76-byte rows are independently compared, including preserved canaries. Victim/team/hit branch33715 and damage semantics remain unrecovered; explicit counter fixtures are not legal-runtime claims. No original executable/full QVM/native collision/physics/rendering executes. Native responses and legal input domains are supplied or unverified where stated; full runtime/macOS/Linux Rust/Bevy/Solari gameplay remains open.