64 lines
1.4 KiB
Markdown
64 lines
1.4 KiB
Markdown
# Task: {title}
|
|
|
|
## Goal
|
|
|
|
What success looks like. One clear paragraph.
|
|
|
|
## Non-Goals
|
|
|
|
What is explicitly out of scope for this task.
|
|
|
|
- {non-goal 1}
|
|
- {non-goal 2}
|
|
|
|
## Constraints
|
|
|
|
Technical, time, or resource limitations.
|
|
|
|
- {constraint 1}
|
|
- {constraint 2}
|
|
|
|
## Preferences
|
|
|
|
Preferred patterns, frameworks, libraries, or approaches.
|
|
|
|
- {preference 1}
|
|
- {preference 2}
|
|
|
|
## Non-Functional Requirements
|
|
|
|
Performance, security, accessibility, scalability, or other quality attributes.
|
|
|
|
- {NFR 1}
|
|
- {NFR 2}
|
|
|
|
## Success Criteria
|
|
|
|
Falsifiable conditions that define "done". Each must be checkable by running a
|
|
command or observing a specific system behavior.
|
|
|
|
- {criterion — e.g., "All existing tests pass: `npm test` exits 0"}
|
|
- {criterion — e.g., "New endpoint returns 200: `curl -s localhost:3000/api/health | jq .status` → "ok""}
|
|
- {criterion — e.g., "No TypeScript errors: `npx tsc --noEmit` exits 0"}
|
|
|
|
Do NOT write vague criteria:
|
|
- "It should work" (not testable)
|
|
- "The feature is implemented" (not falsifiable)
|
|
- "Performance is acceptable" (no baseline given)
|
|
|
|
## Prior Attempts
|
|
|
|
What has been tried before and what happened. Leave blank if this is a fresh task.
|
|
|
|
## Open Questions
|
|
|
|
Unresolved items that may affect the plan. Flag these as assumptions if proceeding
|
|
without answers.
|
|
|
|
- {question 1}
|
|
|
|
## Metadata
|
|
|
|
- **Created:** {YYYY-MM-DD}
|
|
- **Mode:** {interview | manual}
|
|
- **Source:** {ultraplan interview | user-provided}
|