festifun/plan/lane-A-media.md
m3ultra e31e8ac559 Festival 4D build spec + parallel lane plan for Opus agents
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 00:06:54 +10:00

12 lines
944 B
Markdown

# Lane A — Media pipeline (branch `lane/a-media`)
**Scope: spec milestone M1** (ingest + GCC-PHAT audio sync + pairwise graph solve + drift estimation).
- Owned files: `backend/festival4d/ingest.py`, `backend/festival4d/audio_sync.py`, `backend/tests/test_ingest.py`, `backend/tests/test_audio_sync.py`. Nothing else.
- Fill the stub bodies foundation left; do not change their signatures (CLI and API already call them).
- Verify against the synthetic fixture: `python -m festival4d ingest && python -m festival4d sync` must recover the ground-truth offsets recorded by `synthetic.py` (spec M1 tolerances: ±10 ms offsets, ±3 ppm drift).
- Write results through `db.py` helpers only; also export `data/work/sync.json` as spec'd.
- Respect spec pitfall #5: disconnected sync-graph components → `offset_ms=NULL`, never a guess.
**Done when:** spec M1 acceptance passes, `pytest` green, merged to `main` with synthetic end-to-end intact.