← All proofs

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