Milestones

A milestone is one unit of planned work with a contract (objective, acceptance criteria, verification checks) and a task graph (the concrete steps). Nothing gets implemented until a human confirms the contract -- that confirmation is the one mandatory approval gate in the whole lifecycle.

Lifecycle

RequirementMilestone (ContractMilestone Review) → Human ApprovalTask Graph → [TDDTask VerificationTask Commit]* → Final Full TestMilestone CompleteMilestone Merge.

States

  • draft -- drafted, contract and task graph not yet confirmed.
  • confirmed -- the contract is frozen, verification commands hash-approved, baseline commit created. Ready (dependency-free) tasks promote automatically.
  • in_progress -- tasks are being worked.
  • review -- milestone verification is running or has been run.
  • completed -- every task done and every check passing.

review → in_progress on failed verification; draft|confirmed → cancelled for a milestone abandoned before real work starts.

Working with milestones

pitway milestone-add --contract contract.md --tasks tasks.yaml   # draft
pitway milestone-confirm M001                                    # confirm
pitway milestone-status M001                                     # status
pitway milestone-complete M001                                   # complete
pitway milestone-merge M001                                      # merge

See Contracts and Tasks for the two things every milestone is built from, and Completion / Merge for how one finishes.