Planner now sees specific examples of verifiable criteria (grep, test commands, file checks) alongside vague anti-patterns. Drives higher story quality which directly improves evaluator accuracy.
43 lines
1.9 KiB
Markdown
43 lines
1.9 KiB
Markdown
# Planner Context
|
|
|
|
This file provides additional context for PRD generation.
|
|
|
|
## Story Decomposition Guidelines
|
|
|
|
When breaking a feature into stories, think about:
|
|
|
|
### Independence
|
|
Each story should be independently deployable. After completing story N, the codebase should be in a valid, working state — even if the feature isn't fully built yet.
|
|
|
|
### Scope
|
|
A story must be completable in a single iteration. Keep each story focused — a handful of files modified, not a sweeping change across the whole codebase. If a story requires reading and modifying more than ~10 files, it's too big — split it.
|
|
|
|
### Failure Isolation
|
|
If a story fails (evaluator rejects it), the next iteration should be able to retry it cleanly. Stories with too many moving parts are hard to retry because partial state is messy.
|
|
|
|
### Evaluability
|
|
Every story must have criteria the evaluator can independently verify by reading code, running commands, or testing behavior.
|
|
|
|
Good criteria are specific and checkable:
|
|
- "Grep for 'HARDCODED_KEY' returns zero matches"
|
|
- "The function returns 404 when the user doesn't exist"
|
|
- "Running `npm test` passes with no failures"
|
|
- "The config file contains entries for all three required env vars"
|
|
|
|
Bad criteria are vague or subjective:
|
|
- "The code is clean"
|
|
- "Works correctly"
|
|
- "Performance is improved"
|
|
- "Error handling is robust"
|
|
|
|
## PRD Anti-Patterns
|
|
|
|
Avoid these common mistakes:
|
|
|
|
- **Stories too large:** "Build the API" — split into individual endpoints
|
|
- **Stories too small:** "Create the file" — combine with meaningful work in that file
|
|
- **Vague criteria:** "Works correctly" — what does correctly mean? Be specific.
|
|
- **Missing dependencies:** Story 5 needs Story 3's database table but doesn't say so
|
|
- **Testing as afterthought:** Tests should be part of each story, not a separate "add tests" story at the end
|
|
- **UI without backend:** A UI story that calls an API that doesn't exist yet
|