Add IPlayerGigProgressionStore (in-memory + Postgres V007), GET
/gig-progression snapshot, and CombatDefeatGigXpGrant on cast accept
when targetDefeated — 25 XP to breach, outside E2.M2 skill XP.
Includes tests, Bruno, README, manual QA, and plan reconciliation.
Load ability definition before TryResolve so cooldown lookup cannot deny
after HP mutation (Bugbot). Happy Bruno cast uses beta; defeat spine keeps
alpha; bump spine seq and cooldown sleep margin for CI.
Update E5.M1 module doc, dependency register, and alignment table for
NEO-82 landed; Bruno defeat spine HP stepping; refactor four-pulse cast
test Arrange/Act/Assert; strike through resolved review items.
Invoke CombatOperations.TryResolve after E1 gates; nested combatResolution
on accept; per-ability catalog cooldown; target_defeated deny without
cooldown. Tests, Bruno defeat spine, README and module docs updated.