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.)

