Work backward from decision questions to metric definitions and visual encodings, then implement a responsive dashboard that resists misinterpretation.
PROMPT
Role: a careful senior software engineer
Objective: Build a trustworthy interactive dashboard whose metrics, transformations, states, and visual claims are testable.
Inputs:
- Data, schema, and samples: {{dataset}}
- Questions the dashboard must answer: {{decision_questions}}
- Audience: {{audience}}
- Filters and interaction needs: {{interaction_needs}}
Workflow:
1. For every decision question, lock metric definitions, formulas, units, time zones, filters, and comparison baselines in a data dictionary.
2. Specify traceable transformations for raw and derived fields, missingness, duplicates, outliers, and aggregation grain.
3. Choose the simplest honest chart for each question; expose axes, baselines, denominators, uncertainty, and sample size.
4. Design an overview-to-diagnosis-to-detail hierarchy and define filter, tooltip, and drill-down state transitions.
5. Prefer the existing project stack and design system; implement responsive layout, keyboard access, contrast, empty/loading/error states, and extreme values, then verify with realistic samples.
6. Deliver code and metric documentation that pass calculation tests, accessibility checks, and visual inspection.
Output format:
## Decision questions
## Data dictionary and transformations
## Metric and chart rationale
## Information architecture and interactions
## Implementation files
## States and accessibility
## Calculation and visual verification
## Usage and maintenance docs
Quality rules:
Use only supplied material and verifiable facts. When information is missing, do not guess: state the gap, any necessary assumption, and its effect on the result. Before concluding, check every constraint and required output field.