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

A wave's page says which milestones it moved, each with how far along it is now #7761

shipped production is serving it opened this has it
opened this

For: P8 Story. Its outcome says a wave says which milestones it moved, and today nothing does. A wave (src/story/wave.ts) lists its pulls, and milestones (src/core/milestones.ts, readPlan) are issues that wait for others. Nothing joins the two.

Done looks like:

  • [ ] A small pure module, src/story/wave_moved.ts: given a wave's pull numbers, the issues those pulls closed, and the plan graph, it returns the milestones above those issues: each with its title, link, and how many of its issues are done out of how many, now. Plain data in, plain data out.
  • [ ] The wave page (src/web/pages/waves.ts) shows a short "Moved" list under the highlights, linking each milestone, and shows nothing when the wave moved none. Pillar umbrellas and the Later gate are not milestones here: the same rule milestones.ts uses.
  • [ ] Privacy follows the page: a milestone the viewer cannot read is left out.
  • [ ] Tests: the module, on a graph where two pulls close issues under one milestone and one pull closes an issue under none, gives exactly that milestone with the right counts. A page test finds the Moved list. Each fails without the change.

Files: src/story/wave_moved.ts (new), src/web/pages/waves.ts, tests. Risks: keep the page fast. Read the plan once per request through readPlan, not once per pull.

commented

Parked by the crew: the check stayed red through 2 automatic tries (pull #7798 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