mirror of
https://github.com/Heretek-AI/AetherTable.git
synced 2026-11-11 05:31:54 -10:00
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]>