Commit Graph

267 Commits

Author SHA1 Message Date
Lex Christopherson
b281148aa9 feat(12-03): write VERSION file during installation
- Creates VERSION file in get-shit-done folder
- Contains package version (e.g., "1.4.24")
- Enables /gsd:whats-new to detect installed version
2026-01-14 14:06:31 -06:00
Lex Christopherson
1a55ac8539 feat(12-03): create whats-new.md command
- Reads installed version from VERSION file
- Fetches remote changelog from GitHub
- Displays version comparison and missed changes
- Provides update instructions when behind
2026-01-14 14:06:06 -06:00
Lex Christopherson
35cf2511c1 feat(12-01): update installer to copy CHANGELOG.md
- Added CHANGELOG.md copy step after get-shit-done skill installation
- Places changelog in get-shit-done folder for /gsd:whats-new access
- Verified: local install shows CHANGELOG.md copied successfully

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-14 14:03:53 -06:00
Lex Christopherson
63113e9522 feat(12-01): create CHANGELOG.md with Keep-a-Changelog format
- Added 1.4.24 entry documenting parallel execution, planning changes
- Marked ISSUES.md removal as BREAKING change
- Established changelog structure for ongoing releases

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-14 14:03:28 -06:00
Lex Christopherson
06816af212 1.4.24 2026-01-14 13:40:27 -06:00
Lex Christopherson
4da80d64a6 feat(gsd): add USER-SETUP.md for external service configuration
Problem: Phases introducing external services (Stripe, SendGrid, etc.) complete
successfully but user doesn't know about required env vars and dashboard config
until runtime failures occur.

Solution: Explicit declaration at planning time, enforced at execution time.

Changes:
- New template: user-setup.md - defines USER-SETUP.md structure
- phase-prompt.md: add user_setup frontmatter field
- plan-phase.md: add user setup detection guidance in break_into_tasks step
- execute-plan.md: add generate_user_setup step, surface in offer_next
- summary.md: add "User Setup Required" section

Flow:
1. Planning: Claude identifies external services, declares in user_setup frontmatter
2. Execution: After tasks complete, generates {phase}-USER-SETUP.md
3. Completion: Warning block prominently shows required setup before next steps

Automation-first rule: USER-SETUP.md contains ONLY what Claude cannot automate
(account creation, secret retrieval, dashboard config). Everything else Claude does.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-14 13:38:20 -06:00
Lex Christopherson
9b8750ab53 1.4.23 2026-01-14 12:38:04 -06:00
Lex Christopherson
62f12794dd chore: remove dead ISSUES.md system
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>
2026-01-14 12:33:18 -06:00
Lex Christopherson
4c87c01a0d 1.4.22 2026-01-14 11:00:09 -06:00
Lex Christopherson
00208b71af feat(debug): subagent isolation for investigation with checkpoint support
- 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>
2026-01-14 10:59:59 -06:00
Lex Christopherson
b1066c1f3c fix(debug): add DEBUG_DIR path constant to prevent typos
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>
2026-01-14 10:51:25 -06:00
Lex Christopherson
6c59948c46 1.4.21 2026-01-14 10:26:45 -06:00
Lex Christopherson
93fc60c185 fix: add SlashCommand to plan-fix allowed-tools
Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-14 10:26:44 -06:00
Lex Christopherson
f281072f4b 1.4.20 2026-01-14 10:24:52 -06:00
Lex Christopherson
0e5f1ce8c7 fix: standardize debug file naming and invoke execute-plan
- 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>
2026-01-14 10:24:51 -06:00
Lex Christopherson
a5752be420 1.4.19 2026-01-14 10:19:24 -06:00
Lex Christopherson
1f358c55b8 fix: auto-diagnose issues instead of offering choice
Diagnosis always produces better fixes and runs in parallel anyway.
Removing the prompt reduces cognitive load.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-14 10:19:22 -06:00
Lex Christopherson
be9ff0c365 1.4.18 2026-01-14 10:11:34 -06:00
Lex Christopherson
d498662938 feat: add parallel diagnosis before plan-fix
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>
2026-01-14 10:11:28 -06:00
Lex Christopherson
2394116801 1.4.17 2026-01-14 09:56:21 -06:00
Lex Christopherson
9e0808b409 feat: redesign verify-work as conversational UAT with persistent state
- 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>
2026-01-14 09:56:17 -06:00
Lex Christopherson
41d27bae84 1.4.16 2026-01-14 09:56:17 -06:00
Rezolv
136a30e102 feat(execute-plan): add pre-execution summary for interactive mode (#57)
Thanks @davesienkowski — clean contribution, well-documented, follows GSD patterns. Appreciate the thoughtful approach to visibility over approval gates.
2026-01-14 08:33:54 -06:00
Lex Christopherson
d30893a834 feat: pre-compute wave numbers at plan time
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>
2026-01-13 18:10:20 -06:00
Lex Christopherson
ef3a28003c 1.4.15 2026-01-13 17:58:03 -06:00
Lex Christopherson
4d04c91929 docs: add context rot explanation to README header
Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-13 17:57:58 -06:00
Lex Christopherson
9f042a3e60 1.4.14 2026-01-13 17:54:23 -06:00
Lex Christopherson
206e74402b docs: make YOLO mode recommended default in new-project
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-13 17:54:19 -06:00
Lex Christopherson
912a91f67e 1.4.13 2026-01-13 17:49:18 -06:00
Lex Christopherson
cd1bede183 docs: fix brownfield flow, remove deprecated resume-task
- 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>
2026-01-13 17:49:13 -06:00
Lex Christopherson
26c568539b 1.4.12 2026-01-13 17:47:01 -06:00
Lex Christopherson
7c10bdc76f docs: recommend execute-phase as primary execution command
execute-phase with parallel agents is the recommended path.
execute-plan is for single-plan or interactive checkpoint handling.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-13 17:46:55 -06:00
Lex Christopherson
694aff27ee 1.4.11 2026-01-13 17:44:54 -06:00
Lex Christopherson
69300f975f fix(checkpoints): replace resume with fresh continuation agents
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>
2026-01-13 17:44:43 -06:00
Lex Christopherson
601e67e0f2 1.4.10 2026-01-13 17:42:23 -06:00
Lex Christopherson
8ed6a8fa50 perf(execute-plan): convert to orchestrator pattern
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>
2026-01-13 17:38:52 -06:00
Lex Christopherson
965d936709 1.4.9 2026-01-13 17:31:29 -06:00
Lex Christopherson
a4c83cf275 fix(discuss-phase): remove "what's out of scope" question
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>
2026-01-13 17:30:39 -06:00
Lex Christopherson
0dd4cedf5a perf(execute-phase): remove subagent-only context from orchestrator
Orchestrator loads only what it needs:
- execute-phase.md workflow (orchestration)
- subagent-task-prompt.md (template to spawn agents)

Subagents load execution context themselves via template:
- execute-plan.md, summary.md, checkpoints.md, tdd.md

~80% context reduction for orchestrator (~2000 lines saved)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-13 17:26:18 -06:00
Lex Christopherson
6646ccc469 1.4.8 2026-01-13 17:07:33 -06:00
Lex Christopherson
9e70b89ca1 docs(plan-phase): restore TDD reasoning explanation
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>
2026-01-13 17:07:29 -06:00
Lex Christopherson
8604dba1a1 1.4.7 2026-01-13 17:03:10 -06:00
Lex Christopherson
d5c08e1685 feat(execute-phase): load project state before execution
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-13 17:03:06 -06:00
Lex Christopherson
c4e3023df1 fix(new-project): parallel execution is recommended, not experimental
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-13 17:02:41 -06:00
Lex Christopherson
72c62e597e 1.4.6 2026-01-13 17:01:14 -06:00
Lex Christopherson
46cf4b11de feat(execute-phase): add deviation rules, commit rules, and workflow references
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-13 17:01:10 -06:00
Lex Christopherson
72da23dec9 feat: add checkpoint pause/resume for spawned agents
- 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>
2026-01-13 16:47:33 -06:00
Lex Christopherson
601c60c650 1.4.5 2026-01-13 16:37:22 -06:00
Lex Christopherson
e5d4ecc28c feat: parallel-first planning with dependency graphs and checkpoint-resume
- plan-phase.md: dependency-first planning, vertical slices default
- phase-prompt.md: autonomous field, wave structure, frontmatter table
- scope-estimation.md: parallel default, removed "parallel-aware" framing
- plan-format.md: frontmatter docs with depends_on, files_modified, autonomous
- execute-phase.md: checkpoint-resume flow using Task resume parameter

Plans now declare explicit dependencies via frontmatter. Wave assignment
is automatic based on depends_on + files_modified. Checkpoints pause
subagent, return to orchestrator, user responds, orchestrator resumes.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-13 16:32:03 -06:00
Lex Christopherson
e30e387c00 refactor(execute-phase): wave-based blocking execution
Replace background agents + polling with blocking Task calls.
Orchestrator stays lean (~15% context), subagents load full workflow.

- Archive old execute-phase command and workflow
- Add subagent-task-prompt.md template (orchestrator→subagent contract)
- Rewrite execute-phase with wave-based parallelization
- Dependency analysis groups plans into execution waves
- Parallel Task calls within waves, sequential across waves
- No TaskOutput polling - Task blocks until completion

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-13 16:06:17 -06:00