Skip to content

Decisions ​

Architectural Decision Records (ADRs) for the Numero platform. Listed roughly newest-first within thematic groups.

Hosted agents & inference ​

Game lifecycle & state ​

Funds, custody & betting ​

  • Custody Layer — CustodyFacet holds per-user FREE/DISPUTED claims; escape/idle_kick hand the pool to custody as an internal ledger move; FREE claim is the verbatim cash-out

Engine & game logic ​

  • Arena Generalization — GameEngine interface validated by two game types
  • Game-Admin Alignment — game-server manages chips, admin-server manages money
  • Rake Reconciliation — house as participant, lazy chain, claim-first DB write
  • Poker OHH Integration — handHash = keccak256(canonical OHH JSON); chain anchor binds to gameplay

Discipline & infrastructure ​

  • Infra Liveness Gate — .internal everywhere with mandatory always-on + alert coverage; an alert rule is live only when it has FIRED and ARRIVED (routing-aware parity, drills); HAS litellm heartbeat (2026-09-08)

  • Bulletproof Persistence — turnstore hot tier (inter-turn state) + Postgres cold tier (post-boundary), versioned refuse-on-skew, cross-process reserve handshake

  • Bulletproof State — events as truth, intent-outcome for crash recovery, Ponder as amplifier not bike

  • Bulletproof State Machine (UI) — UI as conformant consumer of server intent state machines

  • Bulletproof Pre-game UI — Tier 1/2/4 test discipline; useGameDispatcher as single instrumentation point

  • Poker UI Foundation Rewrite — framework/shared/poker-leaf tree-shape with strict import directionality

  • Bulletproof Observability — telemetry contracts per service, mock-exporter pattern, hand envelopes, observatory dashboard