Phase 3 Release Checklist (Unified Dashboard)¶
This checklist gates rollout of the unified dashboard as the primary React entrypoint.
Gate executed: 2026-06-24
1) Packaging and install baseline¶
- [x]
python3 -m pip install -U pip - [x]
python3 -m venv .venv - [x]
. .venv/bin/activate - [x]
python -m pip install -e '.[dev]' - [x]
python -m build
2) Dashboard backend and API contracts¶
- [x]
python -m pytest -q --no-cov tests/unit/testo_core/test_dashboard_service.py→ passed - [x]
python -m pytest -q --no-cov tests/contract/api/test_dashboard_contract.py→ passed
3) Existing API compatibility gate¶
- [x]
python -m pytest -q --no-cov tests/contract/api/test_runs_contract.py tests/contract/api/test_history_contract.py tests/contract/api/test_analytics_contract.py→ passed
4) CLI/CI/Ghost compatibility gate¶
- [x]
python -m pytest -q --no-cov tests/contract/testo_core/test_cli_contract.py tests/contract/testo_core/test_ghost_summary_contract.py tests/contract/testo_core/test_ghost_ndjson_contract.py→ passed
5) Frontend gate¶
- [x]
npm --prefix frontend ci - [x]
npm --prefix frontend run test→ 6 files, 8 tests passed - [x]
npm --prefix frontend run test:e2e→ 1 test passed
6) Dashboard behavior checks¶
- [x] Open
/and verify dashboard headline cards render health/pass-fail/duration immediately. (verified — fixed null-guard bug in DashboardPage.tsx) - [x] Verify trend badges communicate improvement/regression/unknown semantics.
- [x] Verify one-click drill-down links:
- [x] latest run details (
/runs/:runId) — renders Run ID, type, return code, AI summary section - [x] compare view (
/compare?...) — renders run selectors with empty-state prompt - [x] report links (Allure/Locust/Behave) where available — gracefully show "state unknown" / "not available"
- [x] Verify degraded-data behavior:
- [x]
n/adisplay for missing values — Health, Failed, Pass Count correctly shown/a - [x] degraded banner when
data_freshness.degraded=true— hidden when false (correct), guarded when true - [x] unavailable/unknown report links do not crash the page.
7) Documentation gate¶
Ensure these are updated and internally consistent:
- [x]
README.md - [x]
ARCHITECTURE.md - [x]
docs/release_checklist_phase3_unified_dashboard.md
8) Go / No-Go criteria¶
- [x] Go:
- [x] all commands above exit
0 - [x]
/api/v1/dashboard/overviewand/api/v1/dashboard/runs/recentreturn typed payloads - [x] existing
/api/v1/runs*,/api/v1/analytics/delta, and CLI/CI/Ghost contracts remain green - [x] React
/renders unified dashboard and drill-down links work - [x] No-Go — none triggered:
- [x] no contract regression on existing API or CLI/CI/Ghost outputs
- [x] dashboard endpoint has typed sections and degraded/null handling
- [x] dashboard rollout does not break existing routes