17 lines
1.1 KiB
JSON
17 lines
1.1 KiB
JSON
{
|
|
"feature_id": "F-148",
|
|
"agent": "reviewer",
|
|
"stage": "review_gate",
|
|
"verdict": "APPROVED",
|
|
"summary": "Reporting dashboard with trend SVG chart, channel breakdown cards, top stores/terminals tables. All sections have loading skeletons and error handling. Filters reuse DateRangePicker from F-147. tsc 0, verify.sh green.",
|
|
"checks": [
|
|
{"item": "AC1 trend chart", "ok": true, "evidence": "TrendChart.tsx renders SVG bars; fetches groupBy=day; tooltip on hover"},
|
|
{"item": "AC2 channel breakdown", "ok": true, "evidence": "ChannelBreakdown.tsx shows ecommerce/POS/admin cards with sales amount + % bar + order count"},
|
|
{"item": "AC3 top stores", "ok": true, "evidence": "StoresTable fetches groupBy=store, sorts by grossSalesCents desc, shows % of total"},
|
|
{"item": "AC4 filters", "ok": true, "evidence": "Reuses DateRangePicker; channel + trend period selectors; URL persistence"},
|
|
{"item": "AC5 loading/error", "ok": true, "evidence": "Per-section animate-pulse skeletons; error messages per section"},
|
|
{"item": "tsc/verify", "ok": true, "evidence": "tsc --noEmit 0 errors; verify.sh green"}
|
|
],
|
|
"issues": []
|
|
}
|