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.
This commit is contained in:
@@ -16,7 +16,19 @@ A story must be completable in a single iteration. Keep each story focused — a
|
|||||||
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.
|
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
|
### Evaluability
|
||||||
Every story must have criteria the evaluator can independently verify. "The code is clean" is not evaluable. "The function returns 404 when the user doesn't exist" is evaluable.
|
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
|
## PRD Anti-Patterns
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user