Paradaux

PAR-192

0

[Epic] Analytics & reporting — lead/cycle time, throughput, DORA, churn

DoneNormalUnassignedTesksFeature

Greenfield — zero dashboards/metrics today and no charting dependency.

Scope:

  • Metrics: cycle/lead time, throughput, churn, DORA, status aging, burndown.
  • Data foundation: issue.created_at/completed_at/updated_at + issue_event (activity log) already exist, enough for cycle time/throughput. Missing: a state-transition history with timestamps for proper per-status lead time — add if not derivable from issue_event.
  • An aggregation service + a charting layer (no viz dep in package.json yet) + dashboard routes.
  • Per-team / per-workspace breakdowns — these breakdowns also feed the billing-reporting epic.

Reporting reads from the mirror; respects RBAC (who can see workspace analytics).

Comments

tesks · Jun 16, 2026, 9:19 AM

DORA dashboard shipped to develop (tesks-ui 73287eb) — members-only Analytics page (recharts):

  • Deployment frequency (frozen releases) and lead time for changes (issue created → release frozen) — measured. Summary cards (90d) + weekly trend charts (12w).
  • Change-failure-rate and time-to-restore — clearly-labelled proxies (bug/regression issues landing within 7 days of a deploy / median bug resolve time), since tesks has no incident signal. The hints say so.
  • lib/sql/analytics (parameterised aggregate SQL over release/issue/issue_event/labels), AnalyticsCharts client component, sidebar nav link, recharts dep. typecheck + vitest + next build green; no Java backend change (reads the mirror).

Possible follow-ups (not in this vertical): throughput + created→completed cycle-time distribution + churn; per-team/per-workspace rollups (these also feed the billing-reporting in PAR-193); and a real incident/hotfix entity to make CFR + MTTR exact rather than proxied.

tesks · Jun 17, 2026, 4:12 AM

Verified — partially delivered, keeping open.

Shipped & live: a DORA dashboard — deployment frequency, lead time for changes, change-failure-rate (bug/regression-within-7d proxy), time-to-restore — at /analytics (sidebar-linked), backed by lib/sql/analytics.ts getDora and AnalyticsCharts (recharts).

Remaining (→ child issue): the core issue-delivery metrics — throughput, cycle/lead time per status, churn, status aging, burndown — plus the state-transition-history decision (issue_event kind='status' exists but there's no dedicated history table for accurate per-status timing). Set to In Progress.

tesks · Jun 17, 2026, 9:57 AM

Closing the epic — fully delivered. DORA dashboard shipped earlier, and the issue-delivery analytics (throughput, cycle time, status aging, churn, sprint burndown) landed under PAR-212 (Done). No remaining scope.

Activity

  • tesks changed status to Status → Done
  • tesks commented
  • tesks changed status to Status → In Progress
  • tesks commented
  • tesks commented
  • tesks changed status to Status → Pending Release
  • tesks changed status to Status → In Progress
  • tesks created the issue