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:
@@ -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">
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user