99a5f498c0
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m20s
Defense-in-depth fix across 2 files:
1. combat-descent-actions.ts: Added castProgress: 0 and weaponCastProgress: {}
to the isDescentComplete set() call so the meter resets immediately.
2. combat-actions.ts: Added isDescentComplete to the early-exit guard in
processCombatTick so combat processing stops entirely once descent is
complete, preventing phantom spell casts from stale castProgress values.
All 1196 tests pass.