assess-milestone
Assess Milestone
refresh-roadmap-status checks whether a milestone's structure is sound. This skill judges the other half — did it deliver what its Outcome: sentence promised — and records that judgment where a reader six months later can still check it.
Where this sits: plan-milestones (intent) → the feature flow → assess-milestone (did it land?) → plan-milestones (records the close). This skill writes exactly one file, docs/roadmap/assessments/<MILE-N>.md, and never touches docs/roadmap/INDEX.md.
The two halves
The left half is mechanical — an exact grep/git/file-read pass through scope, bindings, baseline, candidate, and structural preconditions, ending in close eligibility (non-overridable): two agents running it against the same repo resolve the same values. The right half is judged — outcome, goals, deferrals — and is never terminal alone: a human accepts, overrides, or defers it before any milestone is recorded closed. Both halves must hold before the close may proceed.
Resolve the scope
Run these from the repo root, in order — each pass feeds the next, and read the full output of each.
0. Layer presence. No roadmap, no milestone scope.
test -f docs/roadmap/INDEX.md || echo "no roadmap layer"