Files
AetherTable/python
John SmithandClaude 511c6271a4 feat+fix: Ready action end-to-end; deploy crash + clamp disclosure (iterations 71-72)
Two workstreams sharing server.py, landed together:

Ready action (71): ReadiedAction on EntityState with Action spend via
the single enforcement point, READY_ACTION_SET ledger event, cleared on
round refresh and rewind; engine route + gateway proxy + CharacterSheet
"Holding:" display with description input. GM adjudication by design —
no automatic trigger matching. 6 red-first tests across layers.

Fourth-audit remediation (72): MED-HIGH deploy crash — Roll20 imports
persisting speed:None crashed float(None) → 500 on every deploy of such
characters; guarded fallback to 30 with math.isfinite checks and the WS
movement budget consuming the same value. LOW: out-of-range import
levels now disclose their clamp instead of silently snapping. 8
red-first tests.

Full suite: 470 passed / 22 skipped; clippy -D warnings clean.

Co-Authored-By: Claude <[email protected]>
2026-08-24 08:55:52 -04:00
..