# {{milestoneId}}: {{milestoneTitle}}

**Gathered:** {{date}}
**Status:** Ready for planning

## Project Description

{{description}}

## Why This Milestone

{{whatProblemThisSolves_AND_whyNow}}

## User-Visible Outcome

### When this milestone is complete, the user can:

- {{literalUserActionInRealEnvironment}}
- {{literalUserActionInRealEnvironment}}

### Entry point / environment

- Entry point: {{CLI command / URL / bot / extension / service / workflow}}
- Environment: {{local dev / browser / mobile / launchd / CI / production-like}}
- Live dependencies involved: {{telegram / database / webhook / rpc subprocess / none}}

## Completion Class

- Contract complete means: {{what can be proven by tests / fixtures / artifacts}}
- Integration complete means: {{what must work across real subsystems}}
- Operational complete means: {{what must work under real lifecycle conditions, or none}}

## Final Integrated Acceptance

To call this milestone complete, we must prove:

- {{one real end-to-end scenario}}
- {{one real end-to-end scenario}}
- {{what cannot be simulated if this milestone is to be considered truly done}}

## Risks and Unknowns

- {{riskOrUnknown}} — {{whyItMatters}}

## Existing Codebase / Prior Art

- `{{fileOrModule}}` — {{howItRelates}}
- `{{fileOrModule}}` — {{howItRelates}}

> See `.nerf/DECISIONS.md` for all architectural and pattern decisions — it is an append-only register; read it during planning, append to it during execution.

## Relevant Requirements

- {{requirementId}} — {{howThisMilestoneAdvancesIt}}

## Scope

### In Scope

- {{inScopeItem}}

### Out of Scope / Non-Goals

- {{outOfScopeItem}}

## Technical Constraints

- {{constraint}}

## Integration Points

- {{systemOrService}} — {{howThisMilestoneInteractsWithIt}}

## Open Questions

- {{question}} — {{currentThinking}}
