diff --git a/CHANGELOG.md b/CHANGELOG.md index 7905c9587..8ded7edbe 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,9 @@ Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). ## [Unreleased] +### Fixed +- `gsd-verifier` agent now declares the Write tool, avoiding Bash heredoc fallbacks that could corrupt editor permission files when generating VERIFICATION.md reports. + ## [1.18.0] - 2026-02-08 ### Added @@ -292,7 +295,7 @@ Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). ### Fixed - Installation on WSL2/non-TTY terminals now works correctly - detects non-interactive stdin and falls back to global install automatically - Installation now verifies files were actually copied before showing success checkmarks -- Orphaned `gsd-notify.sh` hook from previous versions is now automatically removed during install (both file and settings.json registration) +- Orphaned `gsd-notify.sh` hook from previous versions is ahora automatically removed during install (both file and settings.json registration) ## [1.6.3] - 2025-01-17 @@ -327,21 +330,21 @@ Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). - **BREAKING:** `/gsd:research-project` — integrated into project/milestone flows ### Added -- `/gsd:verify-work` now includes next-step routing after verification completes +- `/gsd:verify-work` ahora includes next-step routing after verification completes ## [1.5.30] - 2026-01-17 ### Fixed - Output templates in `plan-phase`, `execute-phase`, and `audit-milestone` now render markdown correctly instead of showing literal backticks -- Next-step suggestions now consistently recommend `/gsd:discuss-phase` before `/gsd:plan-phase` across all routing paths +- Next-step suggestions ahora consistently recommend `/gsd:discuss-phase` before `/gsd:plan-phase` across all routing paths ## [1.5.29] - 2025-01-16 ### Changed -- Discuss-phase now uses domain-aware questioning with deeper probing for gray areas +- Discuss-phase ahora uses domain-aware questioning with deeper probing for gray areas ### Fixed -- Windows hooks now work via Node.js conversion (statusline, update-check) +- Windows hooks ahora work via Node.js conversion (statusline, update-check) - Phase input normalization at command entry points - Removed blocking notification popups (gsd-notify) on all platforms @@ -353,36 +356,36 @@ Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). - **BREAKING:** Removed `/gsd:execute-plan` command (use `/gsd:execute-phase` instead) ### Fixed -- Phase directory matching now handles both zero-padded (05-*) and unpadded (5-*) folder names +- Phase directory matching ahora handles both zero-padded (05-*) and unpadded (5-*) folder names - Map-codebase agent output collection ## [1.5.27] - 2026-01-16 ### Fixed -- Orchestrator corrections between executor completions are now committed (previously left uncommitted when orchestrator made small fixes between waves) +- Orchestrator corrections between executor completions are ahora committed (previously left uncommitted when orchestrator made small fixes between waves) ## [1.5.26] - 2026-01-16 ### Fixed -- Revised plans now get committed after checker feedback (previously only initial plans were committed, leaving revisions uncommitted) +- Revised plans ahora get committed after checker feedback (previously sólo initial plans were committed, leaving revisions uncommitted) ## [1.5.25] - 2026-01-16 ### Fixed - Stop notification hook no longer shows stale project state (now uses session-scoped todos only) -- Researcher agent now reliably loads CONTEXT.md from discuss-phase +- Researcher agent ahora reliably loads CONTEXT.md from discuss-phase ## [1.5.24] - 2026-01-16 ### Fixed -- Stop notification hook now correctly parses STATE.md fields (was always showing "Ready for input") -- Planner agent now reliably loads CONTEXT.md and RESEARCH.md files +- Stop notification hook ahora correctly parses STATE.md fields (was always showing "Ready for input") +- Planner agent ahora reliably loads CONTEXT.md and RESEARCH.md files ## [1.5.23] - 2025-01-16 ### Added - Cross-platform completion notification hook (Mac/Linux/Windows alerts when Claude stops) -- Phase researcher now loads CONTEXT.md from discuss-phase to focus research on user decisions +- Phase researcher ahora loads CONTEXT.md from discuss-phase to focus research on user decisions ### Fixed - Consistent zero-padding for phase directories (01-name, not 1-name) @@ -396,7 +399,7 @@ Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). - Statusline update indicator — shows `⬆ /gsd:update` when a new version is available ### Fixed -- Planner now updates ROADMAP.md placeholders after planning completes +- Planner ahora updates ROADMAP.md placeholders after planning completes ## [1.5.21] - 2026-01-16 @@ -405,12 +408,12 @@ Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). - Research synthesizer agent that consolidates parallel research into SUMMARY.md ### Changed -- **Unified `/gsd:new-project` flow** — Single command now handles questions → research → requirements → roadmap (~10 min) +- **Unified `/gsd:new-project` flow** — Single command ahora handles questions → research → requirements → roadmap (~10 min) - Simplified README to reflect streamlined workflow: new-project → plan-phase → execute-phase - Added optional `/gsd:discuss-phase` documentation for UI/UX/behavior decisions before planning ### Fixed -- verify-work now shows clear checkpoint box with action prompt ("Type 'pass' or describe what's wrong") +- verify-work ahora shows clear checkpoint box with action prompt ("Type 'pass' or describe what's wrong") - Planner uses correct `{phase}-{plan}-PLAN.md` naming convention - Planner no longer surfaces internal `user_setup` in output - Research synthesizer commits all research files together (not individually) @@ -420,7 +423,7 @@ Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). ## [1.5.20] - 2026-01-16 ### Fixed -- Research no longer skipped based on premature "Research: Unlikely" predictions made during roadmap creation. The `--skip-research` flag provides explicit control when needed. +- Research no longer skipped based on premature "Research: Unlikely" predictions made during roadmap creation. The `--skip-research` flag provides explicit control cuando needed. ### Removed - `Research: Likely/Unlikely` fields from roadmap phase template @@ -433,13 +436,13 @@ Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). - `/gsd:discuss-phase` redesigned with intelligent gray area analysis — analyzes phase to identify discussable areas (UI, UX, Behavior, etc.), presents multi-select for user control, deep-dives each area with focused questioning - Explicit scope guardrail prevents scope creep during discussion — captures deferred ideas without acting on them - CONTEXT.md template restructured for decisions (domain boundary, decisions by category, Claude's discretion, deferred ideas) -- Downstream awareness: discuss-phase now explicitly documents that CONTEXT.md feeds researcher and planner agents -- `/gsd:plan-phase` now integrates research — spawns `gsd-phase-researcher` before planning unless research exists or `--skip-research` flag used +- Downstream awareness: discuss-phase ahora explicitly documents that CONTEXT.md feeds researcher and planner agents +- `/gsd:plan-phase` ahora integrates research — spawns `gsd-phase-researcher` before planning unless research exists or `--skip-research` flag used ## [1.5.18] - 2026-01-16 ### Added -- **Plan verification loop** — Plans are now verified before execution with a planner → checker → revise cycle +- **Plan verification loop** — Plans are ahora verified before execution with a planner → checker → revise cycle - New `gsd-plan-checker` agent (744 lines) validates plans will achieve phase goals - Six verification dimensions: requirement coverage, task completeness, dependency correctness, key links, scope sanity, must_haves derivation - Max 3 revision iterations before user escalation @@ -478,10 +481,10 @@ Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). - Research subagent prompt template for context-only spawning ### Changed -- `/gsd:research-phase` refactored to thin orchestrator — now injects rich context (key insight framing, downstream consumer info, quality gates) to gsd-researcher agent +- `/gsd:research-phase` refactored to thin orchestrator — ahora injects rich context (key insight framing, downstream consumer info, quality gates) to gsd-researcher agent - `/gsd:research-project` refactored to spawn 4 parallel gsd-researcher agents with milestone-aware context (greenfield vs v1.1+) and roadmap implications guidance - `/gsd:debug` refactored to thin orchestrator (149 lines) — spawns gsd-debugger agent with full debugging expertise -- `/gsd:new-milestone` now explicitly references MILESTONE-CONTEXT.md +- `/gsd:new-milestone` ahora explicitly references MILESTONE-CONTEXT.md ### Deprecated - `workflows/research-phase.md` — consolidated into gsd-researcher agent @@ -494,36 +497,36 @@ Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). ## [1.5.15] - 2025-01-15 ### Fixed -- **Agents now install correctly** — The `agents/` folder (gsd-executor, gsd-verifier, gsd-integration-checker, gsd-milestone-auditor) was missing from npm package, now included +- **Agents ahora install correctly** — The `agents/` folder (gsd-executor, gsd-verifier, gsd-integration-checker, gsd-milestone-auditor) was missing from npm package, now included ### Changed - Consolidated `/gsd:plan-fix` into `/gsd:plan-phase --gaps` for simpler workflow -- UAT file writes now batched instead of per-response for better performance +- UAT file writes ahora batched instead of per-response for better performance ## [1.5.14] - 2025-01-15 ### Fixed -- Plan-phase now always routes to `/gsd:execute-phase` after planning, even for single-plan phases +- Plan-phase ahora always routes to `/gsd:execute-phase` after planning, even for single-plan phases ## [1.5.13] - 2026-01-15 ### Fixed -- `/gsd:new-milestone` now presents research and requirements paths as equal options, matching `/gsd:new-project` format +- `/gsd:new-milestone` ahora presents research and requirements paths as equal options, matching `/gsd:new-project` format ## [1.5.12] - 2025-01-15 ### Changed - **Milestone cycle reworked for proper requirements flow:** - - `complete-milestone` now archives AND deletes ROADMAP.md and REQUIREMENTS.md (fresh for next milestone) - - `new-milestone` is now a "brownfield new-project" — updates PROJECT.md with new goals, routes to define-requirements - - `discuss-milestone` is now required before `new-milestone` (creates context file) + - `complete-milestone` ahora archives AND deletes ROADMAP.md and REQUIREMENTS.md (fresh for next milestone) + - `new-milestone` is ahora a "brownfield new-project" — updates PROJECT.md with new goals, routes to define-requirements + - `discuss-milestone` is ahora required before `new-milestone` (creates context file) - `research-project` is milestone-aware — focuses on new features, ignores already-validated requirements - `create-roadmap` continues phase numbering from previous milestone - Flow: complete → discuss → new-milestone → research → requirements → roadmap ### Fixed -- `MILESTONE-AUDIT.md` now versioned as `v{version}-MILESTONE-AUDIT.md` and archived on completion -- `progress` now correctly routes to `/gsd:discuss-milestone` when between milestones (Route F) +- `MILESTONE-AUDIT.md` ahora versioned as `v{version}-MILESTONE-AUDIT.md` and archived on completion +- `progress` ahora correctly routes to `/gsd:discuss-milestone` when between milestones (Route F) ## [1.5.11] - 2025-01-15 @@ -533,10 +536,10 @@ Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). ## [1.5.10] - 2025-01-15 ### Changed -- Milestone audit now reads existing phase VERIFICATION.md files instead of re-verifying each phase, aggregates tech debt and deferred gaps, adds `tech_debt` status for non-blocking accumulated debt +- Milestone audit ahora reads existing phase VERIFICATION.md files instead of re-verifying each phase, aggregates tech debt and deferred gaps, adds `tech_debt` status for non-blocking accumulated debt ### Fixed -- VERIFICATION.md now included in phase completion commit alongside ROADMAP.md, STATE.md, and REQUIREMENTS.md +- VERIFICATION.md ahora included in phase completion commit alongside ROADMAP.md, STATE.md, and REQUIREMENTS.md ## [1.5.9] - 2025-01-15 @@ -546,7 +549,7 @@ Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). ### Changed - Checkpoint display format improved with box headers and unmissable "→ YOUR ACTION:" prompts - Subagent colors updated (executor: yellow, integration-checker: blue) -- Execute-phase now recommends `/gsd:audit-milestone` when milestone completes +- Execute-phase ahora recommends `/gsd:audit-milestone` when milestone completes ### Fixed - Research-phase no longer gatekeeps by domain type @@ -571,11 +574,11 @@ Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). - Goal-backward planning reference: Documentation for deriving must-haves from goals ### Changed -- execute-plan and execute-phase now spawn `gsd-executor` subagent instead of using inline workflow +- execute-plan and execute-phase ahora spawn `gsd-executor` subagent instead of using inline workflow - Roadmap and planning workflows enhanced with goal-backward analysis ### Removed -- Obsolete templates (`checkpoint-resume.md`, `subagent-task-prompt.md`) — logic now lives in subagents +- Obsolete templates (`checkpoint-resume.md`, `subagent-task-prompt.md`) — logic ahora lives in subagents ### Fixed - Updated remaining `general-purpose` subagent references to use `gsd-executor` @@ -587,25 +590,25 @@ Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). - README: Research recommended for quality; skip only for speed ### Fixed -- execute-phase: Phase metadata (timing, wave info) now bundled into single commit instead of separate commits +- execute-phase: Phase metadata (timing, wave info) ahora bundled into single commit instead of separate commits ## [1.5.5] - 2025-01-15 ### Changed -- README now documents the `research-project` → `define-requirements` flow (optional but recommended before `create-roadmap`) +- README ahora documents the `research-project` → `define-requirements` flow (optional but recommended before `create-roadmap`) - Commands section reorganized into 7 grouped tables (Setup, Execution, Verification, Milestones, Phase Management, Session, Utilities) for easier scanning -- Context Engineering table now includes `research/` and `REQUIREMENTS.md` +- Context Engineering table ahora includes `research/` and `REQUIREMENTS.md` ## [1.5.4] - 2025-01-15 ### Changed -- Research phase now loads REQUIREMENTS.md to focus research on concrete requirements (e.g., "email verification") rather than just high-level roadmap descriptions +- Research phase ahora loads REQUIREMENTS.md to focus research on concrete requirements (e.g., "email verification") rather than just high-level roadmap descriptions ## [1.5.3] - 2025-01-15 ### Changed -- **execute-phase narration**: Orchestrator now describes what each wave builds before spawning agents, and summarizes what was built after completion. No more staring at opaque status updates. -- **new-project flow**: Now offers two paths — research first (recommended) or define requirements directly (fast path for familiar domains) +- **execute-phase narration**: Orchestrator ahora describes what each wave builds before spawning agents, and summarizes what was built after completion. No more staring at opaque status updates. +- **new-project flow**: Ahora offers two paths — research first (recommended) or define requirements directly (fast path for familiar domains) - **define-requirements**: Works without prior research. Gathers requirements through conversation when FEATURES.md doesn't exist. ### Removed @@ -616,17 +619,17 @@ Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). ## [1.5.2] - 2026-01-15 ### Added -- Requirements traceability: roadmap phases now include `Requirements:` field listing which REQ-IDs they cover +- Requirements traceability: roadmap phases ahora include `Requirements:` field listing which REQ-IDs they cover - plan-phase loads REQUIREMENTS.md and shows phase-specific requirements before planning -- Requirements automatically marked Complete when phase finishes +- Requirements automatically marked Complete cuando phase finishes ### Changed -- Workflow preferences (mode, depth, parallelization) now asked in single prompt instead of 3 separate questions +- Workflow preferences (mode, depth, parallelization) ahora asked in single prompt instead of 3 separate questions - define-requirements shows full requirements list inline before commit (not just counts) - Research-project and workflow aligned to both point to define-requirements as next step ### Fixed -- Requirements status now updated by orchestrator (commands) instead of subagent workflow, which couldn't determine phase completion +- Requirements status ahora updated by orchestrator (commands) instead of subagent workflow, which couldn't determine phase completion ## [1.5.1] - 2026-01-14 @@ -639,11 +642,11 @@ Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). ### Added - New `/gsd:research-project` command for pre-roadmap ecosystem research — spawns parallel agents to investigate stack, features, architecture, and pitfalls before you commit to a roadmap - New `/gsd:define-requirements` command for scoping v1 requirements from research findings — transforms "what exists in this domain" into "what we're building" -- Requirements traceability: phases now map to specific requirement IDs with 100% coverage validation +- Requirements traceability: phases ahora map to specific requirement IDs with 100% coverage validation ### Changed -- **BREAKING:** New project flow is now: `new-project → research-project → define-requirements → create-roadmap` -- Roadmap creation now requires REQUIREMENTS.md and validates all v1 requirements are mapped to phases +- **BREAKING:** New project flow is ahora: `new-project → research-project → define-requirements → create-roadmap` +- Roadmap creation ahora requires REQUIREMENTS.md and validates all v1 requirements are mapped to phases - Simplified questioning in new-project to four essentials (vision, core priority, boundaries, constraints) ## [1.4.29] - 2026-01-14 @@ -656,10 +659,7 @@ Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). ### Fixed - Restored comprehensive checkpoint documentation with full examples for verification, decisions, and auth gates - Fixed execute-plan command to use fresh continuation agents instead of broken resume pattern -- Rich checkpoint presentation formats now documented for all three checkpoint types - -### Changed -- Slimmed execute-phase command to properly delegate checkpoint handling to workflow +- Rich checkpoint presentation formats ahora documented for all three checkpoint types ## [1.4.27] - 2025-01-14 @@ -676,7 +676,7 @@ Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). ### Added - New `/gsd:whats-new` command shows changes since your installed version - VERSION file written during installation for version tracking -- CHANGELOG.md now included in package installation +- CHANGELOG.md ahora included in package installation ## [1.4.24] - 2026-01-14 @@ -708,7 +708,7 @@ Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). ### Fixed - Standardized debug file naming convention -- Debug workflow now invokes execute-plan correctly +- Debug workflow ahora invokes execute-plan correctly ## [1.4.19] - 2026-01-14 @@ -739,7 +739,7 @@ Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). ## [1.4.14] - 2026-01-13 ### Changed -- YOLO mode is now recommended default in new-project +- YOLO mode is ahora recommended default in new-project ## [1.4.13] - 2026-01-13 @@ -750,12 +750,12 @@ Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). ## [1.4.12] - 2026-01-13 ### Changed -- execute-phase is now recommended as primary execution command +- execute-phase is ahora recommended as primary execution command ## [1.4.11] - 2026-01-13 ### Fixed -- Checkpoints now use fresh continuation agents instead of resume +- Checkpoints ahora use fresh continuation agents instead of resume ## [1.4.10] - 2026-01-13 @@ -825,7 +825,7 @@ Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). ### Changed - Renamed `execute-phase.md` workflow to `execute-plan.md` for clarity -- Plan frontmatter now includes `wave`, `depends_on`, `files_modified`, `autonomous` +- Plan frontmatter ahora includes `wave`, `depends_on`, `files_modified`, `autonomous` ## [1.4.0] - 2026-01-12 @@ -836,7 +836,7 @@ Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). - Agent history schema v1.2 with parallel execution support ### Changed -- Plans can now specify wave numbers and dependencies +- Plans ahora puede specify wave numbers and dependencies - execute-phase orchestrates multiple subagents in waves ## [1.3.34] - 2026-01-11 @@ -898,7 +898,7 @@ Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). - Claude Code marketplace plugin support ### Fixed -- Phase artifacts now committed when created +- Phase artifacts ahora committed when created ## [1.3.25] - 2026-01-06 @@ -1042,7 +1042,7 @@ Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). ### Fixed - Permission errors for non-DSP users (removed shell context) -- First question is now freeform, not AskUserQuestion +- First question is ahora freeform, not AskUserQuestion ## [1.2.13] - 2025-12-17 @@ -1117,7 +1117,7 @@ Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). ## [1.1.2] - 2025-12-15 ### Fixed -- YOLO mode now skips confirmation gates in plan-phase +- YOLO mode ahora skips confirmation gates in plan-phase ## [1.1.1] - 2025-12-15 diff --git a/agents/gsd-verifier.md b/agents/gsd-verifier.md index 4b2e0babf..d952b326a 100644 --- a/agents/gsd-verifier.md +++ b/agents/gsd-verifier.md @@ -1,7 +1,7 @@ --- name: gsd-verifier description: Verifies phase goal achievement through goal-backward analysis. Checks codebase delivers what phase promised, not just that tasks completed. Creates VERIFICATION.md report. -tools: Read, Bash, Grep, Glob +tools: Read, Write, Bash, Grep, Glob color: green --- @@ -254,7 +254,7 @@ Run anti-pattern detection on each file: grep -n -E "TODO|FIXME|XXX|HACK|PLACEHOLDER" "$file" 2>/dev/null grep -n -E "placeholder|coming soon|will be here" "$file" -i 2>/dev/null # Empty implementations -grep -n -E "return null|return \{\}|return \[\]|=> \{\}" "$file" 2>/dev/null +grep -n -E "return null|return \{}|return \[]|=> \{}" "$file" 2>/dev/null # Console.log only implementations grep -n -B 2 -A 2 "console\.log" "$file" 2>/dev/null | grep -E "^\s*(const|function|=>)" ``` diff --git a/gsd-verifier Missing Write Tool — Root Cause Analysis.md b/gsd-verifier Missing Write Tool — Root Cause Analysis.md new file mode 100644 index 000000000..45e42e31c --- /dev/null +++ b/gsd-verifier Missing Write Tool — Root Cause Analysis.md @@ -0,0 +1,71 @@ +Research: gsd-verifier Missing Write Tool — Root Cause Analysis + + Finding: Day-One Bug, NOT a v1.17.0 → v1.18.0 Regression + +The Write tool was never present in gsd-verifier.md. The diff between v1.17.0 and v1.18.0 shows zero changes to this file. Both versions have identical frontmatter: + +tools: Read, Bash, Grep, Glob # Write missing since initial creation + +Timeline +Date: Jan 15, 2026 +Commit: f3f6707 +What Happened: gsd-verifier.md created — tools: Read, Bash, Grep, Glob, model: sonnet. Write was never included. +──────────────────────────────────────── +Date: Jan 15, 2026 +Commit: 8e6ad96→a7986bc→f9edfcf +What Happened: Formatting, re-verification loop, color changes. Tools line unchanged. +──────────────────────────────────────── +Date: Jan 30, 2026 +Commit: 5660b6f +What Happened: Gemini CLI compatibility fix. Tools line unchanged. +──────────────────────────────────────── +Date: Feb 7-8, 2026 +Commit: d44c7dc→1b317de→6a2d1f1 +What Happened: gsd-tools integration refactor. model: sonnet removed from frontmatter, but tools line still unchanged. +The bug has existed through every release since the verifier was introduced. + +Contradiction in the Agent Definition + +The frontmatter says tools: Read, Bash, Grep, Glob (no Write), but: +- The description says: "Creates VERIFICATION.md report" +- The output section instructs: "Create .planning/phases/{phase_dir}/{phase}-VERIFICATION.md" + +Without Write, the agent falls back to Bash with heredoc (cat > file << 'EOF'), which works functionally but causes the permission corruption we saw. + +Comparison with Other Agents (v1.18.0) +┌─────────────────────────┬────────────────────────────────────────────────┬──────────────────────────────┬──────────────┐ +│ Agent │ Tools │ Writes Files? │ Has Write? │ +├─────────────────────────┼────────────────────────────────────────────────┼──────────────────────────────┼──────────────┤ +│ gsd-executor │ Read, Write, Edit, Bash, Grep, Glob │ Yes (code, summaries) │ Yes │ +├─────────────────────────┼────────────────────────────────────────────────┼──────────────────────────────┼──────────────┤ +│ gsd-planner │ Read, Write, Bash, Glob, Grep, WebFetch │ Yes (PLAN.md) │ Yes │ +├─────────────────────────┼────────────────────────────────────────────────┼──────────────────────────────┼──────────────┤ +│ gsd-roadmapper │ Read, Write, Bash, Glob, Grep │ Yes (ROADMAP.md) │ Yes │ +├─────────────────────────┼────────────────────────────────────────────────┼──────────────────────────────┼──────────────┤ +│ gsd-debugger │ Read, Write, Edit, Bash, Grep, Glob, WebSearch │ Yes (debug reports) │ Yes │ +├─────────────────────────┼────────────────────────────────────────────────┼──────────────────────────────┼──────────────┤ +│ gsd-codebase-mapper │ Read, Bash, Grep, Glob, Write │ Yes (analysis docs) │ Yes │ +├─────────────────────────┼────────────────────────────────────────────────┼──────────────────────────────┼──────────────┤ +│ gsd-verifier │ Read, Bash, Grep, Glob │ Yes (VERIFICATION.md) │ NO │ +├─────────────────────────┼────────────────────────────────────────────────┼──────────────────────────────┼──────────────┤ +│ gsd-plan-checker │ Read, Bash, Glob, Grep │ No (returns to orchestrator) │ No (correct) │ +├─────────────────────────┼────────────────────────────────────────────────┼──────────────────────────────┼──────────────┤ +│ gsd-integration-checker │ Read, Bash, Grep, Glob │ Borderline (returns report) │ No │ +└─────────────────────────┴────────────────────────────────────────────────┴──────────────────────────────┴──────────────┘ +Every agent that creates files has Write — except gsd-verifier. This is clearly an oversight. + +Recommended Action + +File an issue at https://github.com/gsd-build/get-shit-done with: + +Title: gsd-verifier agent missing Write tool — falls back to Bash heredoc, corrupts settings.local.json + +Body: +- gsd-verifier.md frontmatter has tools: Read, Bash, Grep, Glob but its instructions tell it to create VERIFICATION.md files +- Without Write, it uses Bash(cat > path << 'EOF' ... EOF) which, when user approves, saves the entire 200+ line markdown report as a permission entry in settings.local.json +- This corrupts settings.local.json and causes a "Settings Error" on every Claude Code startup +- Every other file-creating agent (executor, planner, roadmapper, debugger, codebase-mapper) includes Write +- Fix: change line 4 to tools: Read, Write, Bash, Grep, Glob +- Bug exists since initial creation (commit f3f6707, Jan 15, 2026), not a regression + +Our local patch (~/.claude/agents/gsd-verifier.md line 4) adds Write but will be overwritten by /gsd:update.