# /client — Godot 4.7 game client GDScript. **Holds ALL game state and ALL game rules** (charter §2, §4). The AI never mutates state; the client validates and applies everything. **Open:** Godot 4.7, import this folder as the project (`project.godot`). ## Responsibilities - All state: stats, HP/MP, inventory, quest flags, Luck, disposition/approval (§8, §9) - All rules: deterministic combat, Luck branch-selection, move validation (§6, §7, §10) - The **canon log** — compact structured fact list, code-maintained, injected into every call (§11) - Talks to `/api` over HTTP. **No API key, ever.** Knows one base URL + role endpoints (§4) - Degrades to authored fallback text (from [`/content/fallback`](../content/fallback)) when the API is down (§13) ## Key rule — never do this (charter §2) If an AI response directly sets a variable that persists, stop. Parse → validate → apply or discard. See [`docs/`](docs/) for scene structure, input model, and combat wiring.