apple-authoritative-game-systems
Installation
SKILL.md
Apple Authoritative Game Systems
Invariants
- The server alone commits currency, inventory, ownership, progression, time, rankings, and entitlements. Client state, clocks, pushes, and generated output are untrusted.
- Commands are typed, authorized, transactional, and idempotent: identical ID/semantics returns its stored result; changed semantics conflict.
- Simulation is deterministic, versioned, replayable, and explainable from recorded inputs, named randomness, and server time.
- An LLM or Foundation Model may phrase facts or propose bounded typed intent; it never writes state, chooses unbounded rewards, or joins financial transactions.
- StoreKit purchase, verified server grant, and spend are separate. Bind signed transaction evidence to the authenticated internal player with
appAccountTokenor an equally strong server-verified account correlation. Server-catalog rewards grant once; spending awaits the receipt. - Game Center maps to an internal player/session. App Attest uses fresh challenges, binds actor and command semantics, and atomically serializes each key counter.
- Apple services add evidence, not authority; failure, replay, unsupported service, and account change need explicit policy.
- Offline/background execution is opportunistic, interruptible, and may never run. Persist immutable intent, not results; make retries duplicate-safe and reconcile server receipts in the foreground.