--- name: ggbucks-server-events description: "Implement verified ggbucks sandbox gameplay events on a trusted game server with a durable outbox, stable replay identity, bounded retries and recorded rejection handling. Use for server event delivery; a credential alone cannot prove gameplay." metadata: contract_hash: 9ae5180d5f8f1de2cd25fc025b00af0ee00e1ae569dd787254956d0ebf116216 generator_version: "1" --- # Authoritative server events Integrate [assets/game-server.mjs](assets/game-server.mjs) with the existing authoritative game action transaction and durable outbox. Read [references/integration.md](references/integration.md) for replay/rate/clock/metadata rules and [references/openapi.json](references/openapi.json) for the event request schema. Derive player UUID from the server's own linked account mapping; never let a device choose another player. After verifying the action, generate and persist one immutable body before delivery. Workers call sendRecordedEvent with that stored body. Configure a finite retry budget and terminal review state; no implicit infinite queue or regenerated IDs. Persist accepted/rejected/replayed results, and never duplicate local grants or infer live financial authority. A caller-supplied reward field must be rejected. Validate offline using an injected fake transport before any explicitly authorized sandbox request. All accounting is sandbox TEST ggbucks with no cash value; project/game hard caps remain enforced. The skill implements the requested integration and does not authorize deployment, account enforcement, messaging, key changes or live financial mutations. Generated from contract `9ae5180d5f8f1de2cd25fc025b00af0ee00e1ae569dd787254956d0ebf116216`; refresh this bundle when the current contract changes.