Files
loop-loop/prompts/planner/plan.md
Sheldon Finlay 77fd9e0cd6 feat: add concrete examples of good vs bad acceptance criteria
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.
2026-03-28 12:56:53 -04:00

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