feat: Wire TDD as the default implementation discipline in /start (#79)#80
Merged
Merged
Conversation
Two-layer model: orchestration chosen by size/risk; TDD (superpowers:test-driven-development) is the default discipline applied during implementation wherever there is a test surface. Reconciles the /start 17c<->18 routing mismatch and aligns /start with /goal 5b. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Reframe /start step 17b/17c into two orthogonal layers — orchestration (direct / feature-dev / writing-plans→subagent, chosen by size/risk) and a default-on test-first discipline (superpowers:test-driven-development) applied inside whichever orchestration runs. TDD is no longer a never-routed 4th menu tier. - 17b: split orchestration skills from the implementation discipline; the test-first default applies even when the TDD skill is not installed (only the skill's name is detection-gated, never the default). - 17c: present orchestration tiers as the choice + a test-first discipline sub-line; document the 17c<->18 contract so the menu never advertises an auto-launch step 18 cannot perform. - 18e: the one-tap continue drives implementation test-first in-line (parent adopts the TDD discipline, not a spawned process), composing inside the orchestration rather than replacing it. - goal 5b: name the two layers + cross-reference that TDD is the default in both /start and /goal (no behavior change). - README.md / README.ja.md: document the two-layer implementation handoff. Closes #79 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Contributor
There was a problem hiding this comment.
Pull request overview
This PR updates the plugin’s “implementation guidance” contract so /start and /goal consistently treat superpowers:test-driven-development as a default, cross-cutting implementation discipline (applied inside whichever orchestration is chosen), rather than as a separate orchestration tier. It also documents and clarifies the /start 17c↔18 “menu vs one-tap continue” contract, and syncs top-level documentation accordingly.
Changes:
- Reframes
/startstep 17b/17c into two layers: orchestration choice + default test-first discipline (and clarifies the 17c↔18 contract). - Updates
/startstep 18e to apply test-first discipline within the selected continue orchestration. - Aligns
/goalstep 5b wording/cross-reference and updates README (EN/JA), plus adds a design spec doc.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| README.md | Documents the two-layer orchestration vs discipline model for /start’s suggested workflow. |
| README.ja.md | Japanese documentation sync for the same two-layer model. |
| docs/superpowers/specs/2026-06-04-tdd-default-discipline-routing-design.md | Adds a design spec for the routing/contract changes and verification checklist. |
| commands/start.md | Implements the two-layer guidance in 17b/17c and applies test-first discipline during step 18e continue actions. |
| commands/goal.md | Updates step 5b wording/cross-reference to be symmetric with /start. |
- Reconcile spec + AC with the implemented carve-out: the test-first discipline sub-line in 17c is always shown; only the skill NAME is detection-gated (per gate1's DX-Lead suggestion). Updates the design spec's Change 1 bullet and the verification checklist accordingly. - Normalize the TDD opt-out condition to one canonical string, 'pure docs / formatting / rename / config', across /start 17c/18e and /goal 5b (was drifting: missing 'formatting', 'mechanical rename' vs 'config' ordering). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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.
Closes #79
Summary
/startstep 17b/17c into two orthogonal layers: orchestration (direct /feature-dev/writing-plans → subagent, chosen by size/risk) and a default-on test-first discipline (superpowers:test-driven-development) applied inside whichever orchestration runs./goal5b wording + cross-reference (no behavior change) so/startand/goalare symmetric.Implementation notes
start.md17b: split orchestration skills from the discipline; the test-first default applies even when the TDD skill is not installed (only the skill name is detection-gated) — with an explicit carve-out from the "omit unavailable skills" rule.start.md17c: orchestration tiers as the choice + an always-shown test-first sub-line; documents the 17c↔18 contract.start.md18e: the one-tap continue drives implementation test-first in-line (parent adopts the discipline, matching the existing in-line Skill execution model), composing inside the orchestration.goal.md5b: names the two layers + cross-references that TDD is the default in both commands.README.md/README.ja.md: document the two-layer implementation handoff.docs/superpowers/specs/2026-06-04-tdd-default-discipline-routing-design.md.Pre-PR review summary
Full reviews are saved in the plugin cache:
🤖 Generated via /gh-issue-driven:ship