From 36a1e501f238d5d0017b877528749343f2cf77dd Mon Sep 17 00:00:00 2001 From: Cal Corum Date: Tue, 16 Dec 2025 14:49:40 -0600 Subject: [PATCH] Add compendium data review requirement and checklist MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - CLAUDE.md: Added mandatory human review process for all packs/_source/ changes - REVIEW_CHECKLIST.md: Detailed validation checklist for classes, ancestries, perks, spells Prevents hallucinated flavor text and incorrect game mechanics from being committed. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- CLAUDE.md | 28 +++++++++++ packs/_source/REVIEW_CHECKLIST.md | 81 +++++++++++++++++++++++++++++++ 2 files changed, 109 insertions(+) create mode 100644 packs/_source/REVIEW_CHECKLIST.md diff --git a/CLAUDE.md b/CLAUDE.md index a562fd3..4eca942 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -132,3 +132,31 @@ See `PROJECT_ROADMAP.json` for complete task breakdown with dependencies. - Match official Hero Record layout where possible - Use CSS custom properties for theming - SCSS with BEM naming convention + +## Compendium Data Review (REQUIRED) + +**CRITICAL: All compendium data in `packs/_source/` MUST be reviewed by a human before committing.** + +When creating or modifying compendium JSON files (classes, ancestries, perks, spells, etc.): + +1. **ALWAYS** reference the official source material in NoteDiscovery or the PDF +2. **NEVER** invent or "hallucinate" game mechanics, flavor text, or statistics +3. **BEFORE COMMITTING**, present the full JSON content to the user for review +4. **WAIT FOR EXPLICIT APPROVAL** before staging compendium files for commit + +### Review Process + +1. Generate/modify the compendium JSON +2. Show the user the complete content (not just a summary) +3. User verifies against source material using `packs/_source/REVIEW_CHECKLIST.md` +4. Only after user says "approved" or similar, proceed with git add/commit + +### What to Verify + +- Feature names match exactly +- Progression tables match level-by-level +- Prerequisites are accurate +- Descriptions don't contain invented lore +- Mechanical effects (changes[] arrays) are correct + +See `packs/_source/REVIEW_CHECKLIST.md` for the complete validation checklist. diff --git a/packs/_source/REVIEW_CHECKLIST.md b/packs/_source/REVIEW_CHECKLIST.md new file mode 100644 index 0000000..fd21bd3 --- /dev/null +++ b/packs/_source/REVIEW_CHECKLIST.md @@ -0,0 +1,81 @@ +# Compendium Data Review Checklist + +Use this checklist when reviewing compendium JSON files before committing. + +## Source Material References + +- **NoteDiscovery**: `gaming/vagabond-rpg/` (classes, perks, spells, ancestries) +- **PDF**: `/mnt/NV2/Development/claude-home/gaming/Vagabond_RPG_-_Pulp_Fantasy_Core_Rulebook_Interactive_PDF.pdf` + +## Class Files (`classes/*.json`) + +- [ ] **Name** matches official class name exactly +- [ ] **keyStat** matches recommended stat from rulebook +- [ ] **zone** (frontline/midline/backline) matches class description +- [ ] **isCaster** flag is correct +- [ ] **trainedSkills** list matches class training grants +- [ ] **Progression table** matches level-by-level: + - [ ] Correct levels for each feature + - [ ] Correct mana values for casters + - [ ] Correct castingMax values for casters + - [ ] Feature names at correct levels +- [ ] **Features array**: + - [ ] Feature names match exactly + - [ ] Descriptions are from source (not invented) + - [ ] `changes[]` arrays have correct Active Effect keys + - [ ] Mode values are appropriate (2=ADD, 5=OVERRIDE for booleans) + - [ ] Choice features have correct `choiceType` and `choiceFilter` + +## Ancestry Files (`ancestries/*.json`) + +- [ ] **Name** matches official ancestry name +- [ ] **beingType** is correct (typically "mortal") +- [ ] **size** matches (small/medium/large) +- [ ] **baseSpeed** matches source +- [ ] **Traits array**: + - [ ] Trait names match exactly + - [ ] Descriptions are from source (not invented) + - [ ] `changes[]` arrays have correct keys and values + - [ ] Boolean senses use mode 5 (OVERRIDE) + +## Perk Files (`perks/*.json`) + +- [ ] **Name** matches official perk name exactly +- [ ] **prerequisite** text matches source requirements +- [ ] **prerequisites object** (if used): + - [ ] Stat requirements are correct + - [ ] Skill training requirements are correct + - [ ] Required perks/spells are correct +- [ ] **Description** is from source (not invented flavor text) +- [ ] **changes[]** array (if mechanical effect): + - [ ] Keys target correct system paths + - [ ] Values are correct + - [ ] Modes are appropriate + +## Spell Files (`spells/*.json`) + +- [ ] **Name** matches official spell name +- [ ] **Effect** description matches source +- [ ] **Damage** dice and type are correct +- [ ] **Delivery options** match what's listed +- [ ] **Duration** options are correct +- [ ] **critEffect** matches source (if any) + +## Common Mistakes to Avoid + +1. **Invented flavor text** - Only use descriptions from the source material +2. **Wrong feature levels** - Double-check progression tables +3. **Incorrect prerequisites** - Verify stat/skill/perk requirements +4. **Made-up mechanics** - Don't add effects not in the source +5. **Typos in effect keys** - `system.attacks.melee.critThreshold` not `system.attack.melee.crit` + +## Review Sign-off + +When reviewing, the human should: + +1. Open the relevant NoteDiscovery page or PDF section +2. Compare each field against the source +3. Flag any discrepancies +4. Only approve when all fields verified + +**Do not approve if you cannot verify against source material.**