fix(#222): enforce research synthesizer write-only summary contract (#240)

This commit is contained in:
Tom Boucher
2026-05-24 19:19:50 -04:00
committed by GitHub
parent e95fa8ad7d
commit a512bd79d7
3 changed files with 71 additions and 2 deletions

View File

@@ -128,11 +128,19 @@ Identify gaps that couldn't be resolved and need attention during planning.
## Step 6: Write SUMMARY.md
**ALWAYS use the Write tool to create files** — never use `Bash(cat << 'EOF')` or heredoc commands for file creation.
**This is the canonical output of this agent. The orchestrator depends on `.planning/research/SUMMARY.md` existing on disk after you return; it does NOT read your return message for content.**
**Hard rules (must follow):**
1. **Use the `Write` tool** to write the file. The `Write` tool is in your `tools:` allowlist; there are no restrictions on it. Do not assume restrictions that the frontmatter does not impose.
2. **Do NOT return the SUMMARY.md content in your response.** Your return message is a brief confirmation (see `<structured_returns>` below); the content lives on disk.
3. **Do NOT ask permission to write.** Writing `.planning/research/SUMMARY.md` is the explicit purpose of this agent. Asking the orchestrator to do it instead is a failure mode that can cause downstream `SUMMARY.md not found` failures.
4. **Do NOT use `Bash(cat << 'EOF')` or heredoc** for file creation. Use the `Write` tool.
5. **If the Write tool errors,** surface the actual error in your return message. Do not silently fall back to returning content; that hides the failure from the orchestrator.
Use template: ~/.claude/get-shit-done/templates/research-project/SUMMARY.md
Write to `.planning/research/SUMMARY.md`
Write to `.planning/research/SUMMARY.md`.
## Step 7: Commit All Research