Per canon decisions 2026-08-07 (advisor CONCEPT.md f12cb15, falsifier
response): charges now generate on kills (kills_per_charge, chemistry
chain kills feed the hand; per-hit generation removed). Kills drop
scrap as physical pickups (amber diamond, magnet radius 70, drift to
mech, 20s fade; grunt 1 / burster 3) — collection is the positioning
reward gradient. Cumulative collected scrap gates card levels 1-3
(thresholds 12/30; per-level radius x1.25/x1.5 and power x1.15/x1.5 —
HEAT L3 hits one-cast detonation threshold). HUD: level notches under
slots + scrap counter. Salvage spawn is call_deferred: death can fire
inside a physics signal flush where Area2D setup is blocked.
Smoke gate: charge accrual now kill-fed, salvage drop + collection +
level gating phases added, heat-target selection made retry-tolerant.
4/4 green on nh3-dev headless 4.7.1.
CLAUDE.md carries the convention (smoke-gate command, sidecars ship
with sources, pull-before-editor, git clean recovery); the redundant
Tools section leaves persistent-memory.md per the redundancy rule.
Local pre-commit hook on nh3-dev refuses staged-new .gd without a
tracked .uid (hook is unversioned; recreation documented).
First /snapshot: seeds persistent-memory.md (+ one detail file for the
freeze-meter variant decision), amends CLAUDE.md with the persistent-
memory pointer section.