fix: remove premature research likelihood predictions from roadmap

Research decisions made at roadmap creation time are:
- Premature: Can't know if research is needed before discuss-phase
- Redundant: --skip-research flag exists for explicit control
- Counterproductive: Gives Claude an excuse to skip research entirely

Removed:
- Research: Likely/Unlikely fields from roadmap template
- detect_research_needs step from create-roadmap workflow
- "If roadmap flagged Research: Likely" checks from gsd-planner

Research now always runs during plan-phase unless:
- RESEARCH.md already exists (silent reuse)
- --skip-research flag passed
- --gaps flag passed (gap closure mode)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Lex Christopherson
2026-01-16 10:27:23 -06:00
parent 29589efaf7
commit 9875df57ab
3 changed files with 0 additions and 85 deletions

View File

@@ -112,8 +112,6 @@ Discovery is MANDATORY unless you can prove current context exists.
- Level 2+: New library not in package.json, external API, "choose/select/evaluate" in description
- Level 3: "architecture/design/system", multiple external services, data modeling, auth design
If roadmap flagged "Research: Likely", Level 0 (skip) is not available.
For niche domains (3D, games, audio, shaders, ML), suggest `/gsd:research-phase` before plan-phase.
</discovery_levels>
@@ -1029,8 +1027,6 @@ Read any existing PLAN.md or DISCOVERY.md in the phase directory.
<step name="mandatory_discovery">
Apply discovery level protocol (see discovery_levels section).
If roadmap flagged "Research: Likely", Level 0 (skip) is not available.
</step>
<step name="read_project_history">

View File

@@ -34,7 +34,6 @@ Decimal phases appear between their surrounding integers in numeric order.
1. [Observable behavior from user perspective]
2. [Observable behavior from user perspective]
3. [Observable behavior from user perspective]
**Research**: Unlikely (established patterns)
**Plans**: [Number of plans, e.g., "3 plans" or "TBD"]
Plans:
@@ -49,8 +48,6 @@ Plans:
**Success Criteria** (what must be TRUE):
1. [Observable behavior from user perspective]
2. [Observable behavior from user perspective]
**Research**: Likely (new integration)
**Research topics**: [What needs investigating]
**Plans**: [Number of plans]
Plans:
@@ -75,8 +72,6 @@ Plans:
1. [Observable behavior from user perspective]
2. [Observable behavior from user perspective]
3. [Observable behavior from user perspective]
**Research**: Likely (external API)
**Research topics**: [What needs investigating]
**Plans**: [Number of plans]
Plans:
@@ -90,7 +85,6 @@ Plans:
**Success Criteria** (what must be TRUE):
1. [Observable behavior from user perspective]
2. [Observable behavior from user perspective]
**Research**: Unlikely (internal patterns)
**Plans**: [Number of plans]
Plans:
@@ -126,12 +120,6 @@ Phases execute in numeric order: 2 → 2.1 → 2.2 → 3 → 3.1 → 4
- Verified by verify-phase after execution
- Format: "User can [action]" or "[Thing] works/exists"
**Research flags:**
- `Research: Likely` - External APIs, new libraries, architectural decisions
- `Research: Unlikely` - Internal patterns, CRUD operations, established conventions
- Include `Research topics:` when Likely
- Flags are hints, not mandates - validate at planning time
**After milestones ship:**
- Collapse completed milestones in `<details>` tags
- Add new milestone sections for upcoming work

View File

@@ -335,71 +335,6 @@ Use AskUserQuestion to resolve orphaned requirements.
**Do not proceed until coverage = 100%.**
</step>
<step name="detect_research_needs">
**For each phase, determine if research is likely needed.**
Scan the brief and phase descriptions for research triggers:
<research_triggers>
**Likely (flag the phase):**
| Trigger Pattern | Why Research Needed |
| ----------------------------------------------------- | --------------------------------------- |
| "integrate [service]", "connect to [API]" | External API - need current docs |
| "authentication", "auth", "login", "JWT" | Architectural decision + library choice |
| "payment", "billing", "Stripe", "subscription" | External API + compliance patterns |
| "email", "SMS", "notifications", "SendGrid", "Twilio" | External service integration |
| "database", "Postgres", "MongoDB", "Supabase" | If new to project - setup patterns |
| "real-time", "websocket", "sync", "live updates" | Architectural decision |
| "deploy", "Vercel", "Railway", "hosting" | If first deployment - config patterns |
| "choose between", "select", "evaluate", "which" | Explicit decision needed |
| "AI", "OpenAI", "Claude", "LLM", "embeddings" | Fast-moving APIs - need current docs |
| Any technology not already in codebase | New integration |
| Explicit questions in brief | Unknowns flagged by user |
**Unlikely (no flag needed):**
| Pattern | Why No Research |
| ------------------------------------------- | ----------------------- |
| "add button", "create form", "update UI" | Internal patterns |
| "CRUD operations", "list/detail views" | Standard patterns |
| "refactor", "reorganize", "clean up" | Internal work |
| "following existing patterns" | Conventions established |
| Technology already in package.json/codebase | Patterns exist |
</research_triggers>
**For each phase, assign:**
- `Research: Likely ([reason])` + `Research topics: [what to investigate]`
- `Research: Unlikely ([reason])`
**Important:** These are hints, not mandates. The mandatory_discovery step during phase planning will validate.
Present research assessment:
```
Research needs detected:
Phase 1: Foundation
Research: Unlikely (project setup, established patterns)
Phase 2: Authentication
Research: Likely (new system, technology choice)
Topics: JWT library for [stack], session strategy, auth provider options
Phase 3: Stripe Integration
Research: Likely (external API)
Topics: Current Stripe API, webhook patterns, checkout flow
Phase 4: Dashboard
Research: Unlikely (internal UI using patterns from earlier phases)
Does this look right? (yes / adjust)
```
</step>
<step name="confirm_phases">
<config-check>
```bash
@@ -483,11 +418,7 @@ Write to `.planning/ROADMAP.md` with:
**Goal**: Secure user authentication
**Depends on**: Nothing (first phase)
**Requirements**: AUTH-01, AUTH-02, AUTH-03, AUTH-04
**Research**: Unlikely (established patterns)
```
- **Research flags** (from detect_research_needs step):
- `Research: Likely ([reason])` with `Research topics:` for flagged phases
- `Research: Unlikely ([reason])` for unflagged phases
- Status tracking (all start as "not started")
Create phase directories: