cmdMilestoneComplete hardcoded three archive paths to root .planning/ while its siblings (roadmap/requirements/state/phases) used workstream-aware planningPaths. So `milestone complete <v> --ws <name>` scattered its archive into root and never created workstream-local milestones/. Derive the archive base from the workstream-aware planning root: - milestonesPath / archiveDir / auditFile now use planningPaths(cwd).planning - flat mode (no --ws) is a no-op (planningPaths(cwd).planning == root .planning) Regression in tests/milestone.test.cjs: --ws archives into the workstream milestones dir, not root. Closes #1911
35 KiB
35 KiB