Add per-topic structured fact-cache pattern, validator, and docs

Introduce a machine-readable layer on top of the markdown corpus so AI/scripts
can query a topic's facts without re-reading whole sources (anti-RAG stays for
synthesis/quotes).

- md/demonology/demons.json: fact-cache, 33 entities attested in 2+ sources,
  each with rank/domain/signs/origins + provenance (sources, citations).
- md/demonology/demons.schema.json: JSON Schema for the dataset.
- md/demonology/INDEX.md: topic front-door (query JSON -> synthesis -> source).
- validate.py: generic schema + house-rule validator (source_count, cross_refs,
  unique ids); discovers <name>.schema.json/<name>.json pairs across all topics.
- docs/data-convention.md: the reusable, topic-agnostic pattern + how to add it
  to a new topic.
- CLAUDE.md: pointer so the convention is picked up every session.
- requirements.txt: add jsonschema (used by validate.py).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-28 19:56:54 -05:00
parent 8120079d99
commit 2ea33cff61
7 changed files with 1295 additions and 0 deletions

View File

@@ -5,6 +5,10 @@
# text PDFs without a tessdata install and pulls heavy deps we don't want here.
pymupdf4llm==0.3.4
# Validates topic datasets (md/<topic>/<name>.json) against their JSON Schemas.
# Used by validate.py; lightweight, pure-Python.
jsonschema>=4.0
# Fallbacks (install only if needed, see README):
# markitdown # DOCX/PPTX/XLSX/HTML -> md
# marker-pdf # heavier, ML/GPU, OCRs scanned PDFs