Task: Add sprint velocity bar charts to agile board
This page documents a task in the Agile timeline: bucketed summaries of recent activity story. It captures the goal, current status, acceptance, and any notes or results.
Goal
The top of the agile board shows two bar charts side by side — one for tasks completed per sprint day, one for commits per sprint day — so the team can see sprint velocity at a glance without leaving the dashboard.
Status
| Field | Value |
|---|---|
| State | ABANDONED |
| Parent story | Agile timeline: bucketed summaries of recent activity |
| Now | Nothing. |
| Waiting on | Nothing. |
| Last touched | 2026-06-10 |
Acceptance
- Two bar charts render at the top of the board above the story table.
- X-axis: sprint days 1–7 (derived from
#+start_date/#+end_datein the current sprint'ssprint.org). - Chart A: count of tasks whose
#+todo:transitioned to DONE on each sprint day (sourced fromgraphdata.jsontask nodes). - Chart B: commit count per sprint day (sourced from the git log data
already in
graphdata.jsonor fetched at build time). - Days beyond today render with a lighter colour (future / not yet elapsed).
- Both charts use the same x-axis scale so visual comparison is easy.
- If
#+end_dateis absent, a single combined chart falls back to showing the last 14 days of activity instead.
Plan
- Confirm that
graphdata.jsoncarries enough data to drive both charts:- Task nodes: does each task carry a
done_dateor is it inferrable from git history? Investigate what the Emacs export puts in the JSON. - Commit data: check whether
graphdata.jsonincludes commit history, or whether it needs to be added as a new top-level key.
- Task nodes: does each task carry a
- Extend the
graphdata.jsonexport (in the Emacs site-build script or a separate compass command) with:sprint.start_date/sprint.end_datefor the active sprint.commits_by_day: array of{date, count}for the sprint window.- Task done-date is likely already present; verify or add.
- In
ores.org-js, add aVelocityChartscomponent:- Reads
sprint.start_date/sprint.end_dateto build the day axis. - Renders two
<canvas>bar charts (Chart.js is already a dependency if the timeline view uses it; otherwise add it). - Mount at the top of the board view, above the story table.
- Reads
- Style: match existing dashboard palette; future days in
rgba(...)with 40% opacity.
Notes
Two charts rather than one combined chart keeps each y-axis meaningful — tasks and commits have different magnitudes and units, so overlaying them on a dual-axis chart is harder to read than two narrow side-by-side bars.
PRs
| PR | Title |
|---|---|
Review
| Comment summary | File | Decision | Notes |
|---|---|---|---|
Result
Abandoned. Blocked on Stamp sprint end date (#+end_date not yet written by
compass) and requires Chart.js integration and Emacs export changes — out
of scope for this sprint. Captured for the product backlog.