-
Notifications
You must be signed in to change notification settings - Fork 1
Pipeline Plan 30
The plan file is in the .claude/ directory which requires permission. Let me present the plan directly instead.
The dashboard is a Bun/TypeScript server (dashboard/server.ts) serving a vanilla JS frontend (dashboard/public/). All data lives in ~/.shipwright/events.jsonl and ~/.shipwright/optimization/outcomes.jsonl. The frontend uses hand-built SVG charts (no external charting library). We continue this pattern — no new npm dependencies.
The implementation adds 6 new API endpoints, redesigns the Metrics tab with sub-views, adds a CLI report command, and includes comprehensive tests.
| # | File | Action |
|---|---|---|
| 1 | dashboard/server.ts |
Add 6 new REST endpoints for extended metrics |
| 2 | dashboard/public/index.html |
Replace #panel-metrics with hero DORA dashboard layout |
| 3 | dashboard/public/app.js |
Add rendering functions for all new metric views |
| 4 | dashboard/public/styles.css |
Add styles for DORA cards, benchmarks, deep-dive views |
| 5 | scripts/sw-daemon.sh |
Add daemon report subcommand |
| 6 | scripts/sw-daemon-test.sh |
Add tests for daemon report command |
| 7 | scripts/sw-dora-dashboard-test.sh |
New — test suite for metric calculations |
| 8 | .claude/CLAUDE.md |
Update commands table, test suite count |
| Endpoint | Response Summary |
|---|---|
GET /api/metrics/dora-extended?period=7 |
4 DORA metrics with sparklines (last 4 weeks), industry benchmark bands, period-over-period delta % |
GET /api/metrics/dx?period=7 |
Iteration efficiency (avg/p50/p95), first-pass rate, stage latency percentiles, cost/issue, quality distribution |
GET /api/metrics/ai?period=7 |
Model routing split, cache hit rate, prediction accuracy, optimization delta, memory utilization |
GET /api/metrics/lead-time-breakdown?period=7 |
Per-stage avg/p50/p95 with % of total, bottleneck identification |
GET /api/metrics/failure-analysis?period=7 |
Failures by stage, by reason, by day, improving/regressing trend |
GET /api/metrics/report?period=7 |
Auto-generated markdown engineering report |
Sub-tabs: Overview | Deep Dive | Cost | Report
Overview: 4 DORA hero cards (grade badge, value, sparkline, benchmark bar, delta arrow) + DX metrics row (4 cards) + AI performance row (4 cards)
Deep Dive: Lead time breakdown by stage, failure analysis charts, stage performance table with sortable p50/p95/p99
Cost: Existing cost breakdown enhanced with DORA context
Report: Rendered markdown report with period selector, copy-to-clipboard, print-to-PDF
Add daemon report [--period N] [--json] [--output FILE] to sw-daemon.sh generating the same markdown report from bash.
New sw-dora-dashboard-test.sh with synthetic events testing all metric calculations, edge cases (empty data, all failures, all successes), and report structure. Extend sw-daemon-test.sh for the report subcommand.
Update .claude/CLAUDE.md with new command and test suite #23.
- Task 1: Add
/api/metrics/dora-extendedendpoint with sparklines, benchmarks, deltas - Task 2: Add
/api/metrics/dxendpoint (iteration efficiency, first-pass rate, stage percentiles, cost/issue) - Task 3: Add
/api/metrics/aiendpoint (model routing, cache hits, prediction accuracy) - Task 4: Add
/api/metrics/lead-time-breakdownendpoint (per-stage timing with percentiles) - Task 5: Add
/api/metrics/failure-analysisendpoint (by stage, by reason, trends) - Task 6: Add
/api/metrics/reportendpoint (auto-generated weekly markdown report) - Task 7: Redesign
#panel-metricsHTML with sub-tabs and hero card layout - Task 8: Implement frontend DORA hero cards with sparklines and benchmark bars
- Task 9: Implement frontend DX and AI metric card rendering
- Task 10: Implement Deep Dive view (lead time breakdown, failure analysis, stage table)
- Task 11: Implement Report view (rendered markdown, period selector, copy/export)
- Task 12: Add CSS for all new dashboard components (responsive, theme-consistent)
- Task 13: Add
daemon reportCLI subcommand with markdown generation - Task 14: Create
sw-dora-dashboard-test.shtest suite - Task 15: Run all tests (
npm test) and fix any failures
- Synthetic events: 50+ events across 30 days with known success/failure patterns, stage timings, cost records
- Metric validation: Computed metrics match expected grades, percentiles, deltas
- Edge cases: Empty events, single event, 100% failure, 100% success
- Report structure: Markdown contains required sections
- Existing tests: All 22 suites continue passing
- 4 core DORA metrics with trend sparklines and industry benchmark comparison
- Extended DX metrics (iteration efficiency, first-pass rate, cost/issue, quality)
- AI performance metrics (model routing, prediction accuracy, optimization delta)
- Deep dive drill-down views (lead time breakdown, failure analysis, stage table)
- Auto-generated weekly report (API + CLI)
- Export support (copy markdown, print to PDF)
- New test suite passes, all existing 22 suites pass
- No new npm dependencies, responsive layout, docs updated