Skip to content

Milestones

draft

A repository that plans its work as milestones, each a specs/milestone-NN-<name>/ folder with a milestone.md and one file per phase, can run a whole milestone from Pitwall. Every phase goes through the same agents as a ticket, you test the milestone once at the end, and an agent closes it before you merge.

  1. On the project’s Overview, unfold Milestones. The active milestone shows Run milestone ▾.
  2. Choose how far it goes: Next phase, Up to phase…, or All remaining, then Start.
  3. Where it stops, it waits with Next phase, All remaining and Stop.
  4. After the last phase it opens one pull request and one checklist, and tells you in the inbox and on Telegram.
  5. Once the checklist leaves nothing to fix, close archives the milestone and the run waits for Approve and merge.

A start is refused while the repository has a checkpoint in docs/active-context.md and while the milestone already runs. While the project is worked by hand, it queues until you release it. Starting files one ticket for the milestone, KEY-N, reused if you start it again later.

A milestone planned and committed on its own branch, before anything reaches the default branch, is listed and runs from there. Pitwall finds it on the branch its milestone.md names in branch:, and shows it as Planned on feature/…. A branch that holds the folder under another branch: plans nothing. The pull request still goes into the default branch.

When every phase is checked off — done in a terminal, or a run stopped after the last one — Run milestone ▾ offers only Run the close. It starts at the pull request: the last phase’s status line gets its commit if it has none, then the checklist and the close run as above.

Page Shows
Milestones tab (/p/KEY/milestones) Every milestone, active, planned and closed, with its phases, test rounds, pull request and cost
A milestone’s page Its phases as a board, an agent’s question waiting for you, its rounds of manual tests, the close, the pull request, and every decision the agents took alone
A phase’s page The phase as a ticket reads: its steps and attempts, its plan, the files it changed, and the manual tests it wrote with each round’s result

A closed milestone keeps all of it, read-only. One closed outside Pitwall shows its phases and the commits they were checked off at.

The checklist holds a step for each numbered step of every phase’s block in manual-tests.md, named Phase N, step M. A step may be waived with a note. A failed step becomes one phase of fixes at the end of the milestone, which runs before the next round. Manual tests has the details.

Each phase is recorded as the workflow records it by hand: its line ticked in milestone.md, its status line with the date and its last commit, its decisions under ## Notes, its block in manual-tests.md, its CHANGELOG.md entries and its documentation. The close moves the folder to specs/_completed/, adds the milestone to docs/progress.md → Completed, and clears docs/active-context.md.