6.2 KiB
Branch review — chore/game-design-docs vs main
Date: 2026-04-03
Scope: Full documentation and content-contract pass over all paths changed relative to main (git diff main...HEAD). Includes game-design vision set, decomposition updates (Epic 2 / E2.M1 / E2.M2), content/ schema + prototype catalog, Cursor rules, and AGENTS.md.
Base: main at merge-base with this branch; branch tip includes prior commits on chore/game-design-docs plus coherence follow-ups.
Verdict
Approve with suggestions addressed in-repo for one epic line — The branch delivers a coherent hybrid progression story (gigs + skills, Seams, gig XP vs skill XP, mission reward carve-out) and wires it into Epic 2 slices and SkillDef JSON Schema. Non-doc changes (.vscode/ launch/tasks) are fine but out of scope for design coherence; no conflict with docs.
Summary
Compared to main, this branch adds the docs/game-design/ corpus (overview, progression, skills, gigs, README, brainstorm/), extends Epic 2 and E2.M1/E2.M2 to match that vision, introduces content/schemas/skill-def.schema.json with allowedXpSourceKinds, replaces prototype skills with three non-combat rows, and adds the docs review agent plus an earlier coherence review file. Cross-links between game-design and decomposition are generally consistent. One stale sentence in Epic 2 Objective implied combat fed the same “classless skill” model as gather/craft; that line is updated during this review to match progression.md / Slice 3.
Documentation checked
| Path | Role vs main |
Match / notes |
|---|---|---|
docs/game-design/overview.md |
New | Matches hybrid index; artifact table + Seams pointer for skills.md |
docs/game-design/progression.md |
New | Matches vocabulary, mission vs encounter XP, implementation note |
docs/game-design/skills.md |
New | Matches roster, Seams, decisions log; explicit id anchors for fragile fragments |
docs/game-design/gigs.md |
New | Matches gig XP rules, link to Seams, combat vs skill boundary |
docs/game-design/README.md |
New | Matches entry to overview / progression / brainstorm |
docs/game-design/brainstorm/* |
New | Matches “ideas only”; links to skills.md resolve |
docs/decomposition/epics/epic_02_classless_progression.md |
Updated | Matches after Objective paragraph fix (hybrid model explicit); Slice 1/3/DoD align |
docs/decomposition/modules/E2_M1_SkillDefinitionRegistry.md |
Updated | Matches schema paths, categories, acceptance criteria |
docs/decomposition/modules/E2_M2_XpAwardAndLevelEngine.md |
Updated | Matches sourceKind validation, gig vs skill callers |
content/schemas/skill-def.schema.json |
Updated | Matches game-design categories (gather/process/make/tech); no combat SkillDef |
content/skills/prototype_skills.json |
Updated | Matches Slice 1 non-combat trio + allowedXpSourceKinds |
content/README.md |
Updated | Matches pointers to schema + E2 docs |
.cursor/rules/docs-review-agent.md |
New | Matches repo conventions; globs: docs/**/* |
AGENTS.md |
Updated | Matches Docs review row |
docs/reviews/2026-03-31-game-design-skills-coherence.md |
New | Prior focused review; still consistent with branch after later edits |
docs/decomposition/epics/epic_03_crafting_economy.md |
Unchanged | Spot-check: gather/craft → skill XP via E2.M2 — no contradiction |
docs/decomposition/modules/client_server_authority.md |
Unchanged | Nit: combat path still says “SkillDef” in one line — likely ability/stats semantics, not non-combat skill catalog; clarify when combat data model is written |
neon_sprawl_vision.plan.md |
Unchanged | Spot-check: Epic 2 bullets generic — no direct conflict with hybrid detail in epics |
.vscode/launch.json, .vscode/tasks.json |
New | N/A (editor config, not design docs) |
Blocking issues
None for using the branch as design + schema guidance.
Suggestions
Epic 2 Objective — “gathering, crafting, and combat all feed one coherent progression model.”Fixed in this review — now states skill vs gig split and mission skill rewards.E2.M1 “Module Breakdown” stubDone —epic_02E2.M1 block matches long-form module + schema links.CT.M1 / CI:Done — PR gate runsscripts/validate_content.pyforcontent/skills/*.jsonvsskill-def.schema.json; docs updated (CT.M1,internal-content-authoringPhase 0).- Decomposition grep: Periodically run
rg "combat skill|one combat skill"underdocs/decompositionafter gig modules are drafted to catch regressions.
Nits
- Epic title vs filename: “Classless Skill and Progression” vs
epic_02_classless_progression.md— fine; readers use gigs for combat naming. module_dependency_register.md: E2.M1 row could listallowedXpSourceKindsin the contract column when you next touch the register (cosmetic).- Two review files:
2026-03-31-…vs this2026-04-03-…— keep both; this one is branch-wide vs main, the other is skills-focused.
Verification
git diff main...HEAD --stat— 18 paths (docs + content + Cursor + VS Code + AGENTS).- Re-follow
overview→progression/skills/gigs/ decomposition links. - Validate sample data:
python3 -c "… jsonschema …"againstskill-def.schema.json(optional local check).
Follow-up (applied during this review pass)
epic_02_classless_progression.mdObjective: hybrid skill vs gig wording + links toprogression.mdand E2.M2.epic_02_classless_progression.mdE2.M1 module stub: non-combatSkillDef, categories,allowedXpSourceKinds, links to E2.M1 module + JSON Schema.- Content CI:
.github/workflows/pr-gate.yml+scripts/validate_content.py+scripts/requirements-content.txt; CT.M1 / E2.M1 /content/README/ internal-content-authoring updates.