In gameplay_queries.py, 10 try/except blocks used `except Exception:` to
detect SQLModel row-not-found cache misses (.one() returning no result).
This silently swallowed connection failures, attribute errors, and
programming bugs on the gameplay hot path.
Narrowed each handler to `except NoResultFound:` (sqlalchemy.exc).
Real errors now propagate instead of being misinterpreted as cache misses.
Refs: autonomous-pipeline finding analyst-2026-04-10-003
Category: stability / error_handling
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>