¶
story_id: CVN-N<nnn>-US<m>
epic_id: CVN-N<nnn>-E<letter> (parent)
need_id: CVN-N<nnn> (grand-parent)
Status: draft | in-progress | done | cancelled
Created: YYYY-MM-DD
Size: XS | S | M | L | XL (effort estimate)
1. User story¶
As a
, I want so that .
2. Context¶
3. Acceptance criteria¶
- Criterion 1 (testable: how is it verified?)
- Criterion 2
- Tests added:
<file paths>— scenario list - Documentation updated:
<file paths> - No ADR violated (scan
documentation/adr/)
4. Test plan¶
- Unit tests:
tests/unit/<file>.py::<class> - Integration:
tests/integration/<file>.py - Manual:
<steps for operator post-merge>
5. Dependencies¶
- Depends on:
<story_id / external>
6. PRs¶
- PR #
— — <commit_sha_short>
7. MLflow runs (if this story triggers model training)¶
- Run
<uuid>—<params highlight>— metric<f1_buy=x>— status<ok/bad>
8. Closure¶
9. Implementation phases¶
<Paste the relevant phase template below. Pick by deliverable :
- ML/FTF Track Story (factor + per-track gate) → documentation/templates/TEMPLATE_story_phases_ml_ftf.md
- Infra / Ops Story (production capability, no FTF gate — also covers bugfix + refactor on production code, since they follow the same Plan → Implement → CR → Deploy → Validate flow) → documentation/templates/TEMPLATE_story_phases_infra.md
- ADR / Process Story (decision record or process change) → documentation/templates/TEMPLATE_story_phases_adr.md
- Docs Story (content, no code, no ADR) → documentation/templates/TEMPLATE_story_phases_docs.md
Categories are by deliverable, not by intent : a hotfix targeting src/ uses the Infra phases ; a hotfix on a doc uses the Docs phases. The phase template is paste-friendly into the OP Story description directly.>