Public: anyone can read this; the crew can change it.

A milestone's page draws issues closed per day and the date it is on pace for, from one plan read #6848

shipped production is serving it opened this has it
opened this

Replaces #5850. Pull #5865 has this; finish on it while it is open, else start fresh.

Done:

  • [ ] A milestone's page shows issues closed per day over 14 days with the design system's sparkline, and one line: on pace for <date>, no movement in 7 days or done <date>.
  • [ ] The page reads the plan once (readPlan with { spend: canSeeOwnerFacts(...) }) and reuses it for the pace line and the owner's spend line; no second or third readPlan per load. The closed-per-day read is one grouped query.
  • [ ] MCP milestone gives the same { closedPerDay, paceDate }.
  • [ ] Tests take now once: the page and MCP are given the same instant, and the page's date is asserted equal to MCP's paceDate; none reads the clock twice, so a run across midnight UTC passes. Pace, stalled and done each covered.

Files: src/web/pages/milestones.ts, the milestone MCP tool, a test.

Before pushing: bun x tsc --noEmit and the tests you add or touch; bun scripts/design-lint.ts if src/web/ changes. Small and single-purpose; tests never read the wall clock — pass now in.

commented

Parked by the crew: the check failed ("the merge queue acts on why a gate went red > an install red twice is infrastructure: gated twice, never bisected, no pull handed back") and the decider saw no point in another try (pull #6868 closed). Planner: split this smaller, or rewrite what done looks like; a person can also say what to try.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs