Summary
Add a product UI layer that shows score freshness, coverage, and confidence once the serving/freshness contract is implemented.
Original Todoist task: 6gg9WWR8gcqc76Hf
Original due date: 2026-06-11
Background
Phase A is already done: stale_stress was split into data_accruing versus stale_stress. Phase B is the dashboard UI layer. The dashboard should not force users to guess whether a quiet score means everything is OK, data is stale, or confidence is low.
Dependency
Implement the readiness serving/freshness contract first so the UI has reliable fields to render. Do not guess confidence from presentation-only heuristics.
Scope
- Per-score confidence or freshness badges near methodology badges.
- Coverage percentage and low-confidence reason tooltips.
- Positive contra-signal such as fresh data / coverage OK where appropriate.
- Visual dimming only when confidence is actually low.
- Keep UI language concise and understandable for non-technical users.
Acceptance Criteria
- UI distinguishes fresh, stale, low-confidence, and fully covered states.
- Tooltips explain why confidence is low without exposing implementation noise.
- The API contract is documented or covered by tests.
- Mobile and desktop layouts remain readable.
- Relevant frontend/manual QA is documented in the PR.
Summary
Add a product UI layer that shows score freshness, coverage, and confidence once the serving/freshness contract is implemented.
Original Todoist task:
6gg9WWR8gcqc76HfOriginal due date: 2026-06-11
Background
Phase A is already done:
stale_stresswas split intodata_accruingversusstale_stress. Phase B is the dashboard UI layer. The dashboard should not force users to guess whether a quiet score means everything is OK, data is stale, or confidence is low.Dependency
Implement the readiness serving/freshness contract first so the UI has reliable fields to render. Do not guess confidence from presentation-only heuristics.
Scope
Acceptance Criteria