Skip to content

Add fixture-backed media normalization for the transcription router #50

@WalksWithASwagger

Description

@WalksWithASwagger

Context

The provider matrix is now documented, but large audio/video intake still needs fixture-backed media inspection and normalization before defaults change. This issue turns the matrix into a tested router/media-normalization slice while keeping current runtime defaults stable.

Acceptance Criteria

  • Large audio/video inputs can be inspected and normalized through an FFmpeg-backed plan before transcription.
  • Router fixtures cover local/private, cloud, chunked, timestamped, and diarization-capable paths.
  • Runtime defaults remain unchanged until the router has explicit privacy and cost receipts.
  • Docs connect the provider matrix to the implemented router behavior.

Tests/Evals

  • Add or update focused tests in tests/test_audio.py for media inspection, normalization planning, and router capability selection.
  • Use fixtures/mocks rather than live provider calls.

Verification

  • make test
  • venv/bin/python -m pytest tests/test_audio.py -q
  • git diff --check

Agent Instructions

Roadmap ID: wf-router-media-normalization.

Work primarily in whisperforge_core/audio.py, existing audio tests, and docs/TRANSCRIPTION-PROVIDER-MATRIX-2026-05-18.md. Keep defaults unchanged. Do not require FFmpeg to be present for ordinary unit tests; mock subprocess/probe boundaries or use tiny deterministic fixtures. Make privacy/cost implications visible as data in the plan rather than prose buried in docs.

Out of Scope

  • No provider default switch.
  • No live transcription provider calls in tests.
  • No full parallel chunk execution rewrite unless required by the tested planning layer.
  • No UI redesign beyond whatever small display hook is needed for the plan.

Linear

Not linked yet. Source roadmap entries: ops/roadmap/features.json and docs/NEXT-ROUND-PLAN-2026-05-19.md.

Metadata

Metadata

Assignees

No one assigned

    Labels

    agent:readyIssue passed intake quality and is ready for an agent attempt.kind:featureUser-facing feature delivery.priority:p1High-priority delivery work.repo:spektorAIWork in the WalksWithASwagger/spektorAI repository.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions