Files
msd-core/agents
gg b8a140212f feat: detect and prevent silent scope reduction in planner
When phases have many user decisions, the planner sometimes silently
simplifies them (e.g., "D-26: calculated costs" becomes "static labels v1")
instead of delivering what the user decided. This causes downstream
execution to build the wrong thing.

Three changes prevent this:

1. **gsd-planner.md** — `<scope_reduction_prohibition>` section:
   - Prohibits language like "v1", "static for now", "future enhancement"
   - Requires decision coverage matrix mapping every D-XX to a task
   - When phase is too complex: return PHASE SPLIT RECOMMENDED instead
     of simplifying decisions

2. **gsd-plan-checker.md** — Dimension 7b: Scope Reduction Detection:
   - Scans task actions for scope reduction patterns
   - Cross-references with CONTEXT.md to verify full delivery
   - Always BLOCKER severity (never warning)
   - Includes real-world example from production incident

3. **plan-phase.md** — Step 9b: Handle Phase Split:
   - New flow when planner returns PHASE SPLIT RECOMMENDED
   - Three options: Split / Proceed anyway / Prioritize
   - User decides which decisions are "now" vs "later"

Root cause: planner's instinct when facing complexity is to simplify
individual requirements. Correct behavior is to split the phase so
every decision is implemented at full fidelity.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 09:45:05 -03:00
..