test: coverage improvements for #291 concurrent milestone execution#806
Open
0xLeathery wants to merge 6 commits intogsd-build:mainfrom
Open
test: coverage improvements for #291 concurrent milestone execution#8060xLeathery wants to merge 6 commits intogsd-build:mainfrom
0xLeathery wants to merge 6 commits intogsd-build:mainfrom
Conversation
added 6 commits
February 28, 2026 17:42
Command shipped in a92512a but was missing from all documentation. Added to help.md (full reference + common workflows), README.md command table, and USER-GUIDE.md command reference.
Add centralized path resolution layer (paths.cjs) that enables milestone-scoped directories for parallel milestone work. All 11 lib files refactored to use resolvePlanningPaths() instead of hardcoded .planning/ paths. Key changes: - New paths.cjs: resolvePlanningPaths(cwd, milestoneOverride) resolves abs/rel paths based on ACTIVE_MILESTONE file or --milestone CLI flag - --milestone <name> CLI flag parsed in gsd-tools.cjs - New commands: milestone create/switch/list/status - All init commands output milestone, is_multi_milestone, planning_base - Legacy mode (no ACTIVE_MILESTONE) returns identical paths to before - Auto-migration: first milestone create copies existing global state - 25 new tests for paths and milestone commands (457 total, 0 failures)
Replace hardcoded .planning/ paths in bash commands and commit
file lists with init JSON variables ({state_path}, {roadmap_path},
{planning_base}/...). Workflows without init calls gain appropriate
init calls. Global paths (PROJECT.md, codebase/) left unchanged.
…tusline, and docs (gsd-build#291) Phase 5: polish for concurrent milestone execution. - Milestone-scoped commit prefixes in execute-plan.md (v2.0/08-02) - cmdMilestoneSwitch warns about in-progress work before switching - /gsd:switch-milestone workflow and command - Statusline shows active milestone in cyan [v2.0] - new-milestone.md calls milestone create for multi-milestone mode - Help and README updated with switch-milestone and concurrent docs
…itch-warning tests (gsd-build#291) - USER-GUIDE: add /gsd:switch-milestone, concurrent milestones section, multi-milestone directory layout - CHANGELOG: add [Unreleased] entry for concurrent milestone execution - planner-subagent-prompt.md: replace hardcoded .planning/ paths with milestone-aware template variables - 4 new tests: switch in-progress warning, idle switch, same-milestone switch, and auto-migration on first milestone create (461 total)
…lestone flag (gsd-build#291) Cover gaps from concurrent milestone execution: template.cjs (5% → 99%), all 3 hooks (0% → 85%), cross-contamination isolation, --milestone on init commands, and migration edge cases. Suite: 508 tests, 94% line coverage.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Adds 47 tests covering gaps from the concurrent milestone execution feature (#291), bringing the suite to 508 tests and 94% line coverage.
Why
Template heuristics (5% covered), all 3 hooks (0%), milestone isolation (untested), and
--milestoneflag on init commands were shipped without adequate test coverage in #291.Changes
tests/template.test.cjs(new)template.cjs5% → 99%tests/hooks.test.cjs(new)hooks/0% → 85%tests/paths.test.cjstests/init.test.cjs--milestoneflag on init commandstests/milestone.test.cjsTesting
Checklist
Breaking Changes
None
Closes #291