Claim
PLAYER CALLS IMMUTABLE AFTER LOCK
Status
PROVEN_IN_CODE
Law
A call is immutable after its clock closes — it cannot be edited, deleted, or made twice, and the store refuses an insert after the horizon or a resolution.
Implementation
no UPDATE path on player_calls; UNIQUE (payer, decision); server-computed horizon; DB trigger refuses post-horizon/resolved inserts
Test
apps/api calls-rail.db + tests/calls.test.ts (38/38)
Limitation
DB access required for trigger tests (Docker-gated)
Last verified
2026-10-17 · build edd6a6f (edd6a6f35dcab81b178a2e1ef1a31c2901aa67b8)
Reproduction
pnpm --filter @tollbridge/api test tests/calls.test.ts