Phillip Tarrant b663703da7 Merge feat/creation-model into dev (M4-a)
The character-creation model: race/calling/skill mechanics as static tables in
code, their blurbs as content, a CharacterSheet that stores only what was rolled
or chosen and derives the rest, and a seeded NewGame.construct.

Creation carries a seed, not a stat block — construct rebuilds the RNG and rolls
the attributes itself, so it never trusts a number handed to it (§2) and the same
seed yields an identical character, hidden Luck included (§10). A golden-vector
test pins the RNG stream. The roll is 3d6 with a hard floor of 8: straight 3d6
puts ~9% on a primary the +3 pool cannot rescue, and a character bad at the one
thing he is FOR is the 'fine' §7 forbids.

Migrates the cross-boundary contract: class_id -> calling_id (the contract should
say what the world says) and a required race_id, so the AI narrates 'a beastfolk
cutpurse' instead of 'a sellsword'.

No UI — the creation screen is M4-b, the title->creation->shell flow is M4-c.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QYa9u7Kdxv5gX4AnwWexy8
2026-07-12 20:59:36 -05:00
2026-07-11 11:13:16 -05:00
2026-07-09 11:17:54 -05:00

coc-rpg

AI-driven single-player, party-based fantasy RPG. Godot 4 client, FastAPI proxy, AI as Dungeon Master.

Read CLAUDE.md first — project charter and working agreement. It is the source of truth. If code disagrees with it, the charter wins until the charter is changed.

The one rule

Code owns state. AI owns text. (charter §2)

Repo layout

/client        Godot 4.7 game client (GDScript) — ALL game state, ALL game rules
  /docs        Client-specific docs (scenes, input, combat wiring)
/api           FastAPI proxy — auth, metering, prompt routing, logging (charter §4)
  /docs        API-specific docs (endpoints, model routing, deploy)
  /prompts     Role prompts — source code, versioned, reviewed (charter §5, §16)
/content       Authored game data — quests, NPC knowledge lists, fallback text
  /quests      Story skeletons and quest definitions
  /npcs        Per-NPC knowledge lists (charter §6 — "the whole design")
  /fallback    Authored degraded-DM text for every AI surface (charter §13)
/docs          Cross-cutting docs — roadmap, ADRs, planning affecting both sides
  /adr         Architecture Decision Records

The three processes (charter §4)

client (GDScript)  ──HTTP──▶  api (FastAPI)  ──▶  Replicate / Ollama

The client holds no API key, ever. It knows one base URL and a set of role endpoints. It sends game state, receives text.

Description
No description provided
Readme 3.3 MiB
Languages
Text 100%