Created supplemental data file with 6 known close family marriages
from Scripture to provide accurate historical context.
New Data Files:
- close_family_marriages.json: Documented biblical marriages including:
* Abraham & Sarah (half-siblings) - Genesis 20:12
* Amram & Jochebed (aunt-nephew) - Exodus 6:20
* Jacob & Leah (first cousins) - Genesis 29:16
* Jacob & Rachel (first cousins) - Genesis 29:16
* Nahor & Milcah (uncle-niece) - Genesis 11:29
* Isaac & Rebekah (first cousin once removed) - Genesis 24:15
- schemas/close_family_marriages.schema.json: JSON schema with:
* Required fields: person1, person2, relationship, description, verse
* Enum for relationship types
* Pattern validation for verse references
* Optional notes field for additional context
API Changes:
- Add _load_close_family_marriages() helper function with LRU cache
- Load and count known marriages in statistics endpoint
- Statistics now show accurate count: 6 close family marriages
- Provides educational context about ancient Near Eastern customs
Each marriage entry includes:
- Names of both parties
- Specific relationship type (half-siblings, first cousins, etc.)
- Detailed description of the family connection
- Biblical verse reference documenting the marriage
- Additional notes with relevant quotes or context
This helps users understand how family structures and marriage
customs differed in biblical times compared to modern standards.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Organize schema files:
- Moved red_letter_verses.schema.json to schemas/ directory
- Updated README.md references to point to new location (schemas/red_letter_verses.schema.json)
- Maintains consistency with other schema files (all now in schemas/ directory)
The validation script (scripts/validate_data.py) already uses the schemas/ directory, so no code changes needed.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Remove 2,871 verses with generic template commentary
- Keep 11,950 verses with substantive content
- Restructure JSON from flat to nested format (Book → Chapter → Verse)
- Update schema to reflect nested structure
- Add comprehensive commentary for John 3:16 with Greek word studies
- Update commentary.py to handle both flat and nested JSON formats
- Add *.backup to .gitignore
File size reduced from 47MB to 36MB after removing generic content.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Added book_introduction.schema.json to schemas table
- Added --books and --generate-schemas CLI examples
- Updated schema count: 6 → 7 active schemas
- Updated last modified date to 2025-11-27
🤖 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>