Skip to content

moooon

Motir

Vibe your whole project. Bring an idea — Motir's three AI layers plan it, track it, and ship it, end to end. You're looking at Motir, built in Motir.

  • Vibe Project
  • Open Source
  • AI Agent
  • AI Loop
1
requests
0
upvotes
145
planned
1,361
shipped

Motir · Work items

MOTIR-253Done

4.6.5 UI — mount the in-sprint burndown into the Story-4.5 scrum-header chart seam AND the completed-sprint burndown into the Story-4.4.6 sprint-report chart seam

Estimate: 24m · Depends on: 4.6.1, 4.6.2, 4.6.3, 4.5.3, 4.4.6

Wire the burndown into the two seams its sibling stories already reserved — no new nav surface. Binds the 4.6.2 LineChart primitive to the 4.6.3 getBurndownSeries data, in the placements 4.6.1 specifies. Design-gated UI → carries 4.6.1 in dependsOn, seeded blocked.

Scrum-header seam (live, in-sprint). Story 4.5 (4.5.1 design + 4.5.3 header) shows the numeric remaining and reserved an empty chart slot for this. Mount the compact burndown there for the active sprint — the guideline + the actual line up to "today" — beside (not replacing) the committed/completed/remaining numbers. Fetch getBurndownSeries(activeSprintId); reuse the header's loading/error scaffold.

Sprint-report seam (completed sprint). Story 4.4.6 renders the report (lists + numeric points) and reserved an empty chart seam (the 4.4.1 design's "4.6 chart seam"). Mount the full burndown for the completed sprint there. (The velocity chart that also lives on the report is 4.6.6.)

Faithful to the seam contract. This is the 3.2-Filter-seam / 4.4-4.5-seam pattern: 4.6 fills slots 4.5.3 + 4.4.6 already drew, it does NOT restructure either surface, change the numeric summaries, or alter the move/lifecycle contracts. The chart degrades with the data (unestimated → the issue-count series / "no point data"; empty sprint → flat guideline; loading/error reuse the host surface). The mounted chart carries the 4.6.2 a11y fallback so the series read as text (finding #35).

Acceptance criteria

  • The scrum header (4.5.3) renders the compact in-sprint burndown (guideline + actual to "today") in the reserved chart slot for the active sprint, beside the numeric remaining — matching design/reports/charts.mock.html; no change to the existing header numbers or layout contract.
  • The sprint report (4.4.6) renders the full completed-sprint burndown in its reserved chart seam; the chart reflects getBurndownSeries (4.6.3) and its end-point remaining matches the report's numeric remaining.
  • Both reuse the 4.6.2 chart primitive (no second chart implementation) + its a11y fallback; unestimated / empty / loading / error states render per the design (never NaN).
  • Colour via --el-*, shape via element shape tokens (motir-core/CLAUDE.md); the chart region is a labelled landmark read as text+number (finding #35).
  • Component/E2E coverage: the burndown appears in the scrum header for an active sprint and in the report for a completed sprint (asserted in 4.6.7).

Context refs

  • Story 4.5.3 (the scrum header SprintHeader component + its reserved chart slot) — where the live burndown mounts; design/boards/scrum.mock.html (the slot)
  • Story 4.4.6 (the sprint report view + its reserved chart seam) — where the completed burndown mounts; design/sprints/sprint-lifecycle.mock.html (the seam)
  • Story 4.6.2 (LineChart primitive) + 4.6.3 (getBurndownSeries + GET /api/sprints/[id]/burndown) — the primitive + data this binds; design/reports/charts.mock.html (4.6.1) — the placement/sizing spec
  • motir-core/CLAUDE.md (colour/shape tokens, no improvised UI); findings #35, #54