Step 6 implemented ✅ ### Files added - `tests/integration/test_pipeline_flow.py` - `tests/test_traceability.py` ### What was implemented #### 1) End-to-end pipeline integration coverage `tests/integration/test_pipeline_flow.py` now verifies: - **Success path** - upload creates queued job - worker processes job - job becomes `transcribed` - transcript text is persisted - error detail remains `None` - **Failure path** - upload creates queued job - worker processing failure is handled - job becomes `failed` - transcript has `text=None` - `error_detail` contains provider failure reason #### 2) MVP requirement traceability check `tests/test_traceability.py` adds a concrete map: - REQ-0, REQ-1, REQ-2, REQ-3, REQ-4, REQ-5, REQ-6, REQ-8, REQ-12 - each REQ maps to one or more existing test files - test asserts each mapped path exists (guards against drift) --- ### Validation run results Executed and passed: 1. `uv run pytest --collect-only -q` ✅ 2. `uv run pytest -m unit -q` ✅ 3. `uv run pytest -m integration -q` ✅ 4. `uv run pytest -m "not external" -q` ✅ 5. `uv run pytest tests/integration/test_pipeline_flow.py -q` ✅ 6. `uv run pytest tests/ui/test_upload_page.py -q` ✅ 7. `uv run pytest tests/ui/test_jobs_page.py -q` ✅ 8. `uv run pytest -q` ✅ All green. (Only existing non-blocking FastAPI TestClient deprecation warning remains.)