chrysopedia/backend/routers
jlightner c6f69019cf feat: Content hash dedup and prior-page versioning
- Add content_hash (SHA-256 of transcript text) to source_videos (migration 005)
- 3-tier duplicate detection at ingest: exact filename, content hash,
  then normalized filename + duration (handles yt-dlp re-downloads)
- Snapshot prior technique_page_ids to Redis before pipeline dispatch
- Stage 5 matches prior pages by creator+category before slug fallback,
  enabling version snapshots on reprocessing even when LLM generates
  different slugs
- Expose content_hash in API responses and admin pipeline dashboard

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 05:55:27 -05:00
..
__init__.py chore: Built FastAPI app with DB-connected health check, Pydantic schem… 2026-03-29 21:54:57 +00:00
creators.py fix: Creators endpoint returns paginated response, review queue limit raised to 1000, added GET /review/moments/{id} endpoint 2026-03-30 01:26:12 -05:00
health.py chore: Built FastAPI app with DB-connected health check, Pydantic schem… 2026-03-29 21:54:57 +00:00
ingest.py feat: Content hash dedup and prior-page versioning 2026-03-30 05:55:27 -05:00
pipeline.py feat: Pipeline events, admin dashboard, and version switcher UI 2026-03-30 05:55:07 -05:00
reports.py feat: Content issue reporting — submit from technique pages, manage in admin reports page 2026-03-30 02:53:56 -05:00
review.py fix: Creators endpoint returns paginated response, review queue limit raised to 1000, added GET /review/moments/{id} endpoint 2026-03-30 01:26:12 -05:00
search.py feat: Created async search service with embedding+Qdrant+keyword fallba… 2026-03-29 23:55:52 +00:00
techniques.py test: Added version list/detail API endpoints, Pydantic schemas, versio… 2026-03-30 07:27:40 +00:00
topics.py feat: Created async search service with embedding+Qdrant+keyword fallba… 2026-03-29 23:55:52 +00:00
videos.py chore: Built FastAPI app with DB-connected health check, Pydantic schem… 2026-03-29 21:54:57 +00:00