chrysopedia/backend/pipeline
jlightner c344b8c670 fix: Moment-to-page linking via moment_indices in stage 5 synthesis
When the LLM splits a category group into multiple technique pages,
moments were blanket-linked to the last page in the loop, leaving all
other pages as orphans with 0 key moments (48 out of 204 pages affected).

Added moment_indices field to SynthesizedPage schema and synthesis prompt
so the LLM explicitly declares which input moments each page covers.
Stage 5 now uses these indices for targeted linking instead of the broken
blanket approach. Tags are also computed per-page from linked moments
only, fixing cross-contamination (e.g. "stereo imaging" tag appearing
on gain staging pages).

Deleted 48 orphan technique pages from the database.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 00:34:37 -05:00
..
__init__.py fix: restore complete project tree from ub01 canonical state 2026-03-31 02:10:41 +00:00
embedding_client.py fix: restore complete project tree from ub01 canonical state 2026-03-31 02:10:41 +00:00
llm_client.py feat: Truncation detection, batched classification, and pipeline auto-resume 2026-03-31 17:48:19 -05:00
qdrant_client.py feat: Add bulk pipeline reprocessing — creator filter, multi-select, clean retrigger 2026-03-31 15:24:59 +00:00
schemas.py fix: Moment-to-page linking via moment_indices in stage 5 synthesis 2026-04-01 00:34:37 -05:00
stages.py fix: Moment-to-page linking via moment_indices in stage 5 synthesis 2026-04-01 00:34:37 -05:00