Six surviving references to /gsd-research-phase (deleted in #3042) and /gsd-insert-phase (consolidated into /gsd:phase insert in v1.40.0) remained in five agent contracts because every prior scrub pass (#3029, #3044, #3131) limited its SEARCH_DIRS to workflows/, references/, templates/, contexts/, commands/, and hooks/ — agents/ was outside scope. agents/gsd-executor.md:195 is user-facing: the executor surfaces it during a package-install failure recovery checkpoint, so a real user hits "Unknown command" while trying to recover from a stalled phase. Replacements: - /gsd-research-phase -> /gsd:plan-phase --research-phase <N> (agents/gsd-executor.md:195, agents/gsd-phase-researcher.md:17, agents/gsd-planner.md:186, agents/gsd-planner.md:991, agents/gsd-research-synthesizer.md:115) - /gsd-insert-phase -> /gsd:phase insert (agents/gsd-roadmapper.md:205) Adds tests/bug-3605-stale-research-insert-phase-agent-refs.test.cjs as the regression guard. It scans agents/*.md for any retired command name (/gsd-research-phase, /gsd-insert-phase, /gsd-add-phase, /gsd-remove-phase, /gsd-analyze-dependencies) with proper word-boundary matching so a future consolidation that misses agents/ fails CI. The guard mirrors tests/bug-2950-stale-command-refs.test.cjs which covers the same anti-pattern for workflows/. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
634 B
634 B
type, issue
| type | issue |
|---|---|
| Fixed | 3605 |
Agent contracts no longer reference retired /gsd-research-phase or /gsd-insert-phase — six surviving references in agents/gsd-executor.md, agents/gsd-phase-researcher.md, agents/gsd-planner.md, agents/gsd-research-synthesizer.md, and agents/gsd-roadmapper.md are replaced with /gsd:plan-phase --research-phase <N> and /gsd:phase insert. Adds a regression guard (tests/bug-3605-stale-research-insert-phase-agent-refs.test.cjs) that fails when any retired command name reappears in agents/*.md — covers the gap that let #3029, #3044, and #3131 miss the agents/ directory.