Skip to content

feat: replace current_milestone with active_gsd_milestone in project.json #113

@snipcodeit

Description

@snipcodeit

Summary

Replace the current_milestone integer pointer with active_gsd_milestone string (GSD milestone ID). Add resolveActiveMilestoneIndex() in state.cjs for backward-compatible resolution. Update all consumers: milestone.md, next.md, status.md, run.md.

Backward Compatibility

  • If current_milestone exists and active_gsd_milestone does not: use current_milestone - 1 as 0-based index (legacy)
  • If active_gsd_milestone exists: find matching gsd_milestone_id in milestones array
  • If neither: return -1 (error state)

Files

  • lib/state.cjs — add resolveActiveMilestoneIndex(), update module.exports
  • commands/milestone.md — replace current_milestone reads/writes with resolveActiveMilestoneIndex + active_gsd_milestone
  • commands/next.md — update milestone resolution
  • commands/status.md — update milestone resolution, add GSD milestone display
  • commands/run.md — update milestone context lookup

GSD Route

gsd:plan-phase

Depends On

  • A4 (gsd_milestone_id field must exist on milestones)

Metadata

Metadata

Assignees

No one assigned

    Labels

    coreChanges to core library

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions