Improve planning alternatives and pre-mortems#1898
Open
warwick-bit wants to merge 2 commits into
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Who is submitting this PR? (required)
gpt-5.5.0.142.5on WSL2/Linux.atlassian-rovo 1.0.3;build-web-apps 0.1.2;github 0.1.5and0.1.6;google-drive 0.1.7;notion 0.1.5;slack 0.1.2;soph-accuracy 0.2.7;soph-braze 1.0.14;soph-hubspot 1.1.11;soph-investigate 1.2.48;soph-posthog 1.2.43;soph-systems-eng 0.6.11;stripe 1.0.2;superpowers 5.1.3.What problem are you trying to solve?
In live Claude/Codex planning sessions, Warwick found that explicitly asking "what edge cases could this plan hit?" and "what alternative viable solutions are there?" produced better plans. Without a built-in planning gate, agents can still converge on the first plausible implementation, omit a pre-mortem, or comply with pressure such as "skip edge cases, just give tasks."
Observed failure modes during this PR:
What does this PR change?
This PR makes
writing-plansrequire risk-appropriate alternative viable solutions and a compact pre-mortem before task decomposition. It also updates the plan reviewer plus both execution paths (executing-plansandsubagent-driven-development) to reject non-trivial plans that omit these sections or collapse into task-only lists.Is this change appropriate for the core library?
Yes. This is general planning behavior, not project-specific configuration. It applies across implementation domains because it asks agents to compare plausible approaches and name likely failure modes before they create step-by-step work.
It does not add dependencies, tools, or third-party integrations.
What alternatives did you consider?
executing-plans: too late and incomplete because generated plans recommendsubagent-driven-developmentfirst.Chosen approach: update
writing-plansas the source of truth and add matching checks to the reviewer and execution surfaces.Does this PR contain multiple unrelated changes?
No. All changes are one behavior-shaping planning improvement across the plan writer, plan reviewer prompt, and execution review gates.
Existing PRs
Searches found no exact duplicate PR for "alternative viable", "pre-mortem", or writing-plan edge-case prompts. Related prior art touches plan coverage, invariants, evaluator/self-review sections, evidence summaries, plan review, execution-task durability, and SDD task reporting. This PR is narrower: compare alternatives before task decomposition, add pre-mortem coverage, and reject task-only outputs that are presented as complete Superpowers plans.
Environment tested
New harness support (required if this PR adds a new harness)
Not applicable. This PR does not add a new harness.
Clean-session transcript for "Let's make a react todo list"
Evaluation
evals/directory/submodule, so the drill harness was not available locally.Pressure probe results:
codex exec review --base upstream/devreview:subagent-driven-developmentpath could bypass the new plan quality gates.Local checks:
git diff --check- passed after the SDD follow-up.bash tests/codex-plugin-sync/test-sync-to-codex-plugin.sh- passed.bash tests/codex/test-marketplace-manifest.sh- passed.bash tests/shell-lint/test-lint-shell.sh- passed.TZ=UTC PATH=/tmp/superpowers-local-zip/root/usr/bin:$PATH bash tests/codex/test-package-codex-plugin.sh- fails on the tar.gz half for a pre-existing base-branch issue. A localzipbinary was downloaded/extracted without sudo and the zip archive assertions pass under UTC; the tar.gz assertions fail because this environment's GNU tar 1.35 does not support the repo script's--uid/--gidoptions. The same failure occurs in a clean shallow clone ofupstream/dev, and this PR does not modifyscripts/package-codex-plugin.shortests/codex/test-package-codex-plugin.sh.Rigor
superpowers:writing-skillsand completed adversarial pressure testing (paste results below)Pressure-test summary is in the Evaluation section above. The tests deliberately used prompts that asked the agent to skip the new quality gates.
Merge Coordination
This PR is not something I can merge. The authenticated account has
READpermission onobra/superpowers.Coordination check:
python3 /home/warwi/mcp_servers/scripts/pr_coordination_check.py --repo /home/warwi/mcp_servers/worktrees/superpowers-plan-quality --context-path /home/warwi/mcp_servers/worktrees/superpowers-plan-quality --base dev --include-base-advance --fail-on-risk file-overlapfile-overlap.gh pr mergewithout an upstream merge coordinator.Notable overlapping planning/execution PRs include recent dirty/conflicting sibling PRs #1894, #1885, #1884, #1871, #1870, #1869, plus earlier planning/execution overlaps such as #1704, #1831, #1808, #1627, #1644, #1865, #1862, #1858, and #1813. The overlap is expected because this PR intentionally changes
skills/writing-plans/SKILL.md,skills/writing-plans/plan-document-reviewer-prompt.md,skills/executing-plans/SKILL.md, andskills/subagent-driven-development/SKILL.md.Human review