- Fix 98 verses with narrative introductions (e.g., 'And he said unto them')
Only the spoken words of Jesus are now marked, not narrative text
- Add JSON Schema for red_letter_verses.json validation
- Add RedLetterVerses Pydantic model to validate_data.py
- Add test_red_letter_verses_structure test
- Update data directory README with red letter section
Changes ensure accurate red letter edition rendering where only
Jesus' actual words appear in red, not narrative introductions.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
This commit adds comprehensive validation for all book introduction files
in data/books/ using Pydantic models and JSON Schema.
Changes:
- Added BookIntroduction Pydantic model with nested models:
- OutlineSection: Validates book outline sections
- KeyTheme: Validates key themes with descriptions
- KeyVerse: Validates key verses with references and text
- Added validate_all_books() function to validate all 66 book files
- Added validate_book_file() helper function
- Added --books CLI flag to validate book files separately
- Generated book_introduction.schema.json JSON Schema file
- Fixed KeyVerse model field name from 'verse' to 'reference'
- Added 4 new tests to validate book directory and all 66 books
All 66 book files now validate successfully against the schema.
Test suite updated: 268 tests passing (added 4 book validation tests).
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add Pydantic models for all 6 main data files:
- bible_metadata.json
- word_studies.json
- study_guides.json
- verse_commentary.json
- featured_verses.json
- resource_slugs.json
- Add BookIntroduction schema for book JSON files
- Create scripts/validate_data.py:
- Validates JSON data using Pydantic models
- Can generate JSON schemas from Pydantic models
- CLI with --verbose and --generate-schemas flags
- Add test suite (tests/test_data_validation.py):
- 12 tests validating data file structure
- Parametrized tests for all data files
- Integrated into existing test suite
All validation tests pass. JSON schemas auto-generated from Pydantic models.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>