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

944 B

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.