Remove the global ISSUES.md deferred enhancement tracking system.
- Delete /gsd:consider-issues command (never used)
- Delete issues.md template (never instantiated)
- Remove Rule 5 from deviation rules (never triggered)
- Remove all ISSUES.md, ISS-XXX, and "deferred issues" references
- Update STATE.md to track pending todos instead
The ISSUES.md system was designed to capture non-critical enhancements
during plan execution via "Rule 5", but it never fired in practice
across 100+ projects. The system added ~350 lines of dead code.
The /gsd:add-todo and /gsd:check-todos system serves the same purpose
and is actually used.
Note: UAT *-ISSUES.md files (per-plan, created by /gsd:verify-work)
are unaffected - those are a separate, active system.
Closes#56
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Debug command now orchestrates: gather symptoms in main context, spawn
investigation subagent with fresh 200k context
- Subagent template unified for both /gsd:debug (find_and_fix) and
diagnose-issues (find_root_cause_only) flows via goal flag
- Checkpoint behavior enables subagent to pause for user input
(human-verify, human-action, decision) with continuation agents
- Structured return formats: ROOT CAUSE FOUND, DEBUG COMPLETE,
INVESTIGATION INCONCLUSIVE, CHECKPOINT REACHED
- diagnose-issues updated to match new template placeholders and returns
Co-Authored-By: Claude <noreply@anthropic.com>
Define DEBUG_DIR=.planning/debug at top of debug-related files.
Reference ${DEBUG_DIR} throughout to reduce path typo risk.
Co-Authored-By: Claude <noreply@anthropic.com>
- Debug files from UAT use same naming as regular debug (slug only)
- UAT.md tracks link via debug_session field
- plan-fix actually invokes execute-plan when user selects it
Co-Authored-By: Claude <noreply@anthropic.com>
Diagnosis always produces better fixes and runs in parallel anyway.
Removing the prompt reduces cognitive load.
Co-Authored-By: Claude <noreply@anthropic.com>
After UAT finds issues, spawn parallel debug agents to investigate
root causes before planning fixes. Each agent investigates one issue
with symptoms pre-filled from UAT, finds the root cause, and returns
diagnosis.
New files:
- workflows/diagnose-issues.md: Orchestrator for parallel debug agents
- templates/debug-subagent-prompt.md: Prompt template for debug subagents
Modified:
- workflows/debug.md: Add symptoms_prefilled and diagnose-only modes
- workflows/verify-work.md: Offer diagnosis step after issues found
- templates/UAT.md: Add root_cause and debug_session fields
- commands/gsd/plan-fix.md: Use root causes for targeted fix planning
Flow: UAT → diagnose (parallel) → plan-fix (with root causes) → execute
Co-Authored-By: Claude <noreply@anthropic.com>
- One test at a time instead of full checklist upfront
- Plain text responses instead of AskUserQuestion forms
- Severity inferred from description, never asked
- Persistent UAT.md survives /clear (like debug workflow)
- Single file per phase replaces per-plan ISSUES.md
- Updated plan-fix to read from UAT.md
Co-Authored-By: Claude <noreply@anthropic.com>
Wave numbers now computed during plan-phase and stored in PLAN.md
frontmatter. Execute-phase reads wave directly instead of deriving
from depends_on at runtime.
- Add assign_waves step to plan-phase workflow
- Add wave field to frontmatter (plan-format, phase-prompt template)
- Simplify execute-phase: remove analyze_dependencies and group_into_waves
- Replace with group_by_wave that just reads frontmatter integers
Co-Authored-By: Claude <noreply@anthropic.com>
- Fix brownfield example to use execute-phase instead of execute-plan
- Remove /gsd:resume-task command (relies on broken Task resume)
- Checkpoint continuation now uses fresh agents, not resume
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Resume fails when subagents use parallel tool calls due to Claude Code
serialization bug (consecutive assistant entries with same message ID).
Solution: Subagents return structured checkpoint state, orchestrator
spawns fresh agent with continuation-prompt template instead of resuming.
New files:
- templates/checkpoint-return.md: Structured format with completed tasks table
- templates/continuation-prompt.md: Template for spawning continuation agent
Updated:
- templates/subagent-task-prompt.md: Reference checkpoint-return, remove resume language
- workflows/execute-phase.md: Replace Task(resume=id) with fresh agent spawn
- workflows/execute-plan.md: Update checkpoint_return_for_orchestrator step
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
execute-plan.md command now spawns subagent instead of executing directly:
- Loads only subagent-task-prompt template (~100 lines vs ~2200)
- Subagent loads full execute-plan workflow, summary, checkpoints, tdd
- Handles checkpoint returns with resume flow
- ~80% context reduction for orchestrator
Also updated subagent-task-prompt.md description to clarify it's used by
both execute-phase (parallel) and execute-plan (single) orchestrators.
Co-Authored-By: Claude <noreply@anthropic.com>
Scope boundaries are implicit from the roadmap. Asking about them
creates the sensation of scope creep and interrogates the user about
constraints they didn't mention.
Co-Authored-By: Claude <noreply@anthropic.com>
Restored context-budget reasoning for why TDD features get dedicated plans:
- TDD requires 2-3 execution cycles consuming 50-60% context
- Test framework setup handled in first TDD plan's RED phase
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- execute-plan.md: Add checkpoint_return_for_orchestrator step
explaining how to return at checkpoints when spawned via Task tool
- subagent-task-prompt.md: Add checkpoint_behavior and completion_format
sections to guide agents on returning for checkpoints
Tested: Task resume works - agent pauses at checkpoint, returns with
details, orchestrator presents to user, resumes with Task(resume=id).
Parallel agents each get unique agent_id for independent resume.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Shows table of all active debug sessions with status/hypothesis/next action
- Reply with number to resume, or describe new issue
- No AskUserQuestion for session selection - inline flow
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Remove confusing `parallelizable` boolean field. It was redundant -
execute-phase already computes parallelizability from `depends_on`
and file conflicts.
Changes:
- Remove `parallelizable: true|false` from plan frontmatter
- Rename `files_exclusive` to `files_modified` (clearer intent)
- Simplify execute-phase dependency detection logic
- Update phase-prompt template and plan-phase workflow
Parallelization is now fully automatic based on:
- `depends_on: []` (empty = independent)
- `files_modified: [...]` (no overlap = can parallelize)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Routes to batch execution when 2+ plans exist, with execute-plan
as alternative for interactive mode.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Context isolation is the primary goal, not parallelization.
Even sequential plans spawn separate subagents for fresh 200k context.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add parallel-aware plan example with vertical slice pattern
- Add sequential plan example with explicit dependencies
- Document key differences between parallel and sequential plans
- Update categorization table to show frontmatter-aware criteria
- Add categorization priority documentation
- Update calculate_wave() to check frontmatter depends_on first
- Handle parallelizable: false as implicit Wave 2+ assignment
- Fall back to inferred requires only when no frontmatter
- Add [frontmatter] annotation in wave output for plans using new fields
- Add PLAN_PARALLELIZABLE, PLAN_DEPENDS_ON, PLAN_FILES_EXCLUSIVE arrays
- Check for parallelizable, depends_on, files_exclusive in plan frontmatter
- Use frontmatter values directly when present
- Fall back to inference logic for old plans without frontmatter
- Document dependency detection priority
- Include parallelizable, depends_on, files_exclusive in frontmatter
- Rules for parallelizable field determination
- Parallel-aware context section guidance
- Avoid reflexive SUMMARY references when parallel
- File ownership analysis per task group
- Detect unnecessary inter-plan dependencies
- Restructure for vertical slices when beneficial
- Mark plans with parallelization frontmatter values
- Reads .planning/config.json parallelization settings early
- Documents planning behavior when parallel enabled vs disabled
- Placed after load_project_state, before load_codebase_context
- Default: assume parallelization enabled for new projects
- parallelizable: marks plan as safe for concurrent execution
- depends_on: explicit plan dependencies
- files_exclusive: conflict detection for parallel agents
- Added frontmatter_guidance section with usage rules
- Updated good_examples with parallel/sequential examples
- Sequential execution example with all fields
- Plan-level parallel execution example
- Queued with dependency example
- Document parallel_group format conventions
- Command now loads both workflows (execution + orchestration)
- Agents commit tasks normally (removed DON'T COMMIT instruction)
- Orchestrator only commits metadata after all agents complete
- No duplication - single source of truth for execution logic
Adds /gsd:add-todo and /gsd:check-todos commands for capturing
ideas during work sessions without losing context.
Features:
- Capture todos from conversation context or explicit description
- Structured frontmatter (created, title, area, files)
- Area inference from file paths for grouping
- Duplicate detection before creating
- Filter todos by area
- Route to appropriate action (work now, add to phase, brainstorm)
- Git commits on capture and when starting work
Closes#48
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Decimal phases now use printf "%02d" formatting to match integer phases.
Before: 6.1-01-PLAN.md vs 06-04-PLAN.md (inconsistent)
After: 06.1-01-PLAN.md vs 06-04-PLAN.md (consistent)
Closes#51
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add ability to resume interrupted subagent executions using Task tool's
resume parameter. Tracks agent IDs during execution and enables seamless
continuation after session timeout, rate limits, or crashes.
- New /gsd:resume-task command for resuming interrupted agents
- Agent ID tracking in execute-phase workflow
- Dual storage: current-agent-id.txt (fast) + agent-history.json (audit)
- Auto-detection of interrupted agents in resume-project workflow
- File conflict warnings before resume
Closes#37
Co-Authored-By: davesienkowski <davesienkowski@users.noreply.github.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Front-load mindset guidance before process steps:
- Secure by design: assume hostile input
- Performance by design: assume production load
- Observable by design: plan for self-debugging
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add /gsd:verify-work to "Also available" sections in execute-phase workflow:
- Route A: After plan completion, before next plan
- Route B: After phase completion, before next phase
- Route C: After milestone completion, before archiving
Users can now easily run manual acceptance testing at any completion point.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Phase-scoped issues format ({phase}-{plan}-ISSUES.md)
- Separate from global ISSUES.md (enhancements)
- Severity guide and numbering conventions
- Workflow for resolution tracking
- GSD-compliant XML structure with terse step names
- All user interaction via AskUserQuestion
- Issues logged to phase-scoped file (not global ISSUES.md)
- References uat-issues.md template
- Rewrite offer_next step in execute-phase.md as mandatory verification gate
- Rewrite offer_next_phase step in transition.md with explicit verification
- Rewrite route step in progress.md with numbered verification steps
- Replace broken regex [0-9] (only matched single digits) with ROADMAP.md reading
- Add decision tables mapping conditions to explicit routes (A, B, C, D)
- Require Claude to "State the counts" before any routing decision
- Add "Do NOT skip this verification" instruction to prevent premature completion claims
Fixes issue where Claude would declare "phase complete" or "milestone complete"
without verifying remaining plans actually exist.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>