63 lines
1.8 KiB
Markdown
63 lines
1.8 KiB
Markdown
# Feature <ID>: <Title>
|
|
|
|
Status: proposed
|
|
|
|
## Summary
|
|
|
|
State the selected unit of work and the outcome it enables.
|
|
|
|
## Problem or Opportunity
|
|
|
|
Describe why this feature is needed and the current limitation it addresses.
|
|
|
|
## Scope
|
|
|
|
- List behavior and deliverables included in this feature.
|
|
|
|
## Non-goals
|
|
|
|
- List adjacent behavior intentionally excluded from this feature.
|
|
|
|
## Target End State
|
|
|
|
Describe the observable repository, deployment, and operator state after the
|
|
feature is complete. Keep this independent of the implementation sequence.
|
|
|
|
## Repository Ownership
|
|
|
|
Identify every repository involved and the durable responsibility each one
|
|
owns. Distinguish repositories that will change from read-only sources of
|
|
application contracts.
|
|
|
|
## Constraints and Settled Decisions
|
|
|
|
Link the MVP roadmap and applicable decision records. Record technical or
|
|
operational constraints that implementations must preserve.
|
|
|
|
## Simplest Viable Implementation
|
|
|
|
Outline the direct, module-driven task flow at the level needed to constrain
|
|
the implementation without turning the roadmap into an execution plan. Trust
|
|
module idempotence and change detection. Identify any non-obvious probe,
|
|
sidecar state, staging mechanism, command, or abstraction and tie it to a
|
|
specific acceptance criterion.
|
|
|
|
## Rationale and Alternatives
|
|
|
|
Explain material tradeoffs and why the selected end state is preferred. Omit
|
|
this section when the choice is mechanical and needs no durable rationale.
|
|
|
|
## Acceptance Criteria
|
|
|
|
- Define observable, testable conditions required for feature completion.
|
|
|
|
## Dependencies and Follow-up Work
|
|
|
|
List prerequisites and explicitly deferred work without expanding this
|
|
feature's scope.
|
|
|
|
## Potential Future Hardening
|
|
|
|
List worthwhile security or resilience improvements that are deliberately not
|
|
part of the initial implementation. Omit this section when there are none.
|