teamspec 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +252 -0
- package/bin/teamspec-init.js +10 -0
- package/extensions/teamspec-0.1.0.vsix +0 -0
- package/lib/cli.js +1174 -0
- package/lib/extension-installer.js +236 -0
- package/lib/linter.js +1184 -0
- package/lib/prompt-generator.js +409 -0
- package/package.json +51 -0
- package/teamspec-core/agents/AGENT_BA.md +486 -0
- package/teamspec-core/agents/AGENT_BOOTSTRAP.md +447 -0
- package/teamspec-core/agents/AGENT_DES.md +623 -0
- package/teamspec-core/agents/AGENT_DEV.md +611 -0
- package/teamspec-core/agents/AGENT_FA.md +736 -0
- package/teamspec-core/agents/AGENT_FEEDBACK.md +202 -0
- package/teamspec-core/agents/AGENT_FIX.md +380 -0
- package/teamspec-core/agents/AGENT_QA.md +756 -0
- package/teamspec-core/agents/AGENT_SA.md +581 -0
- package/teamspec-core/agents/AGENT_SM.md +771 -0
- package/teamspec-core/agents/README.md +383 -0
- package/teamspec-core/context/_schema.yml +222 -0
- package/teamspec-core/copilot-instructions.md +356 -0
- package/teamspec-core/definitions/definition-of-done.md +129 -0
- package/teamspec-core/definitions/definition-of-ready.md +104 -0
- package/teamspec-core/profiles/enterprise.yml +127 -0
- package/teamspec-core/profiles/platform-team.yml +104 -0
- package/teamspec-core/profiles/regulated.yml +97 -0
- package/teamspec-core/profiles/startup.yml +85 -0
- package/teamspec-core/teamspec.yml +69 -0
- package/teamspec-core/templates/README.md +211 -0
- package/teamspec-core/templates/active-sprint-template.md +98 -0
- package/teamspec-core/templates/adr-template.md +194 -0
- package/teamspec-core/templates/bug-report-template.md +188 -0
- package/teamspec-core/templates/business-analysis-template.md +164 -0
- package/teamspec-core/templates/decision-log-template.md +216 -0
- package/teamspec-core/templates/feature-template.md +269 -0
- package/teamspec-core/templates/functional-spec-template.md +161 -0
- package/teamspec-core/templates/refinement-notes-template.md +133 -0
- package/teamspec-core/templates/sprint-goal-template.md +129 -0
- package/teamspec-core/templates/sprint-template.md +175 -0
- package/teamspec-core/templates/sprints-index-template.md +67 -0
- package/teamspec-core/templates/story-template.md +244 -0
- package/teamspec-core/templates/storymap-template.md +204 -0
- package/teamspec-core/templates/testcases-template.md +147 -0
- package/teamspec-core/templates/uat-pack-template.md +161 -0
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
# S-XXX: [Title]
|
|
2
|
+
|
|
3
|
+
<!-- TEAMSPEC RULE: TS-STORY-002 -->
|
|
4
|
+
<!--
|
|
5
|
+
⚠️ STORIES ARE DELTAS, NOT DOCUMENTATION
|
|
6
|
+
|
|
7
|
+
This story describes a CHANGE to the Feature Canon.
|
|
8
|
+
|
|
9
|
+
DO NOT:
|
|
10
|
+
- Restate full feature behavior
|
|
11
|
+
- Include complete specifications
|
|
12
|
+
- Document end-to-end flows
|
|
13
|
+
|
|
14
|
+
DO:
|
|
15
|
+
- Reference Feature Canon (F-XXX) for current behavior
|
|
16
|
+
- Describe only what changes (Before → After)
|
|
17
|
+
- Link to Feature Canon rules (BR-XXX)
|
|
18
|
+
-->
|
|
19
|
+
|
|
20
|
+
> **Template Version**: 2.0
|
|
21
|
+
> **Last Updated**: 2026-01-07
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Metadata
|
|
26
|
+
|
|
27
|
+
| Field | Value |
|
|
28
|
+
|-------|-------|
|
|
29
|
+
| **Story ID** | S-XXX |
|
|
30
|
+
| **Status** | Backlog |
|
|
31
|
+
| **Estimate** | [Points] |
|
|
32
|
+
| **Author** | [FA Name] |
|
|
33
|
+
| **Sprint** | — |
|
|
34
|
+
|
|
35
|
+
**Document Owner:** FA (Functional Analyst)
|
|
36
|
+
**Artifact Type:** Execution (Delta to Feature Canon)
|
|
37
|
+
**Lifecycle:** Sprint-bound, archived after completion
|
|
38
|
+
|
|
39
|
+
> ⚠️ **Stories start in Backlog.** Only the Scrum Master can assign stories to a sprint.
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## User Story
|
|
44
|
+
|
|
45
|
+
**As a** [Persona],
|
|
46
|
+
**I want** [Action],
|
|
47
|
+
**So that** [Benefit].
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## Linked Project
|
|
52
|
+
|
|
53
|
+
> ⚠️ **MANDATORY**: Link to the project this story belongs to.
|
|
54
|
+
|
|
55
|
+
| Project ID | Name |
|
|
56
|
+
|------------|------|
|
|
57
|
+
| [PROJECT-ID](../project.yml) | [Project Name] |
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## Linked Epic
|
|
62
|
+
|
|
63
|
+
> Recommended: Link to the parent epic.
|
|
64
|
+
|
|
65
|
+
| Epic ID | Epic Name |
|
|
66
|
+
|---------|-----------|
|
|
67
|
+
| [EPIC-XXX](../epics/EPIC-XXX.md) | [Epic Name] |
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## Linked Feature
|
|
72
|
+
|
|
73
|
+
> ⚠️ **MANDATORY**: Every story must link to at least one feature.
|
|
74
|
+
> **TEAMSPEC RULE:** TS-STORY-001 - Feature link required
|
|
75
|
+
|
|
76
|
+
| Feature ID | Feature Name |
|
|
77
|
+
|------------|--------------|
|
|
78
|
+
| [F-XXX](../features/F-XXX-feature-name.md) | [Feature Name] |
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## Feature Impact
|
|
83
|
+
|
|
84
|
+
> Describe what this story CHANGES relative to current documented behavior.
|
|
85
|
+
> **Do NOT restate full feature behavior here.**
|
|
86
|
+
|
|
87
|
+
<!-- TEAMSPEC RULE: TS-STORY-002 requires Before/After format -->
|
|
88
|
+
|
|
89
|
+
### Impact Type
|
|
90
|
+
|
|
91
|
+
- [ ] **Adds Behavior** — New capability not currently in the feature
|
|
92
|
+
- [ ] **Changes Behavior** — Modifies existing documented behavior
|
|
93
|
+
- [ ] **Fixes Defect** — Restores behavior to match documentation (no feature update needed)
|
|
94
|
+
- [ ] **Technical Only** — Refactor/performance with no user-observable change
|
|
95
|
+
|
|
96
|
+
### Before (current behavior)
|
|
97
|
+
|
|
98
|
+
<!--
|
|
99
|
+
Describe the CURRENT behavior as documented in Feature Canon.
|
|
100
|
+
Reference: F-XXX, Section: [section name]
|
|
101
|
+
|
|
102
|
+
Example: "Currently, users must log in with email/password (F-001, Main Flow Step 1)"
|
|
103
|
+
-->
|
|
104
|
+
|
|
105
|
+
**Reference:** F-XXX, Section: [section]
|
|
106
|
+
|
|
107
|
+
[Brief description of current behavior per Feature Canon]
|
|
108
|
+
|
|
109
|
+
### After (new behavior)
|
|
110
|
+
|
|
111
|
+
<!--
|
|
112
|
+
Describe ONLY what changes.
|
|
113
|
+
This becomes the new behavior in Feature Canon after completion.
|
|
114
|
+
|
|
115
|
+
Example: "Users can also log in with Google OAuth"
|
|
116
|
+
-->
|
|
117
|
+
|
|
118
|
+
[ONLY the delta - what changes]
|
|
119
|
+
|
|
120
|
+
> ⚠️ **FEATURE CANON RULE**
|
|
121
|
+
> If this story adds or changes behavior, the Feature Canon MUST be updated before this story can be marked Done.
|
|
122
|
+
> See: Definition of Done - TS-DOD-001
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
## Sprint Assignment
|
|
127
|
+
|
|
128
|
+
<!-- TEAMSPEC RULE: TS-STORY-004 - Only SM can assign sprint -->
|
|
129
|
+
|
|
130
|
+
**Sprint:** —
|
|
131
|
+
**Assigned By:** ________________
|
|
132
|
+
**Role:** SM
|
|
133
|
+
**Date:** ________________
|
|
134
|
+
|
|
135
|
+
> ⚠️ Only the Scrum Master (SM) can assign this story to a sprint.
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## Decision References
|
|
140
|
+
|
|
141
|
+
_Business decisions that drove this story's existence or scope._
|
|
142
|
+
|
|
143
|
+
> **When Required**: If this story has "Adds Behavior" or "Changes Behavior" impact, it MUST either:
|
|
144
|
+
>
|
|
145
|
+
> - Reference at least one DEC ID, OR
|
|
146
|
+
> - Explicitly check "No new business decision required" below
|
|
147
|
+
|
|
148
|
+
| Decision ID | Summary | Impact on This Story |
|
|
149
|
+
|-------------|---------|----------------------|
|
|
150
|
+
| [DEC-XXX](../decisions/DEC-XXX-*.md) | [One-line summary] | [Why this story exists / what changed] |
|
|
151
|
+
|
|
152
|
+
- [ ] **No new business decision required** (for stories without scope/behavior decisions)
|
|
153
|
+
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
## Acceptance Criteria (AC)
|
|
157
|
+
|
|
158
|
+
> AC must map to Feature Canon behavior. Reference feature business rules where applicable.
|
|
159
|
+
|
|
160
|
+
### Scenario 1: [Happy Path]
|
|
161
|
+
|
|
162
|
+
- **Given** [Context]
|
|
163
|
+
- **When** [Action]
|
|
164
|
+
- **Then** [Result]
|
|
165
|
+
- **Feature Rule**: [BR-XXX if applicable]
|
|
166
|
+
|
|
167
|
+
### Scenario 2: [Edge Case]
|
|
168
|
+
|
|
169
|
+
- **Given** ...
|
|
170
|
+
- **When** ...
|
|
171
|
+
- **Then** ...
|
|
172
|
+
|
|
173
|
+
---
|
|
174
|
+
|
|
175
|
+
## Technical Notes
|
|
176
|
+
|
|
177
|
+
- **API**: [Endpoint]
|
|
178
|
+
- **DB**: [Table/Schema]
|
|
179
|
+
- **ADR**: [ADR-XXX if applicable]
|
|
180
|
+
|
|
181
|
+
---
|
|
182
|
+
|
|
183
|
+
## UX & Copy
|
|
184
|
+
|
|
185
|
+
- [Figma Link]
|
|
186
|
+
- Error Messages: [List specific messages]
|
|
187
|
+
|
|
188
|
+
---
|
|
189
|
+
|
|
190
|
+
## FA Acceptance Gate
|
|
191
|
+
|
|
192
|
+
> This story must be reviewed by FA before moving to Ready for Development.
|
|
193
|
+
|
|
194
|
+
| Check | Status | FA Initials |
|
|
195
|
+
|-------|--------|-------------|
|
|
196
|
+
| Story describes delta only | [ ] | |
|
|
197
|
+
| Feature link is correct | [ ] | |
|
|
198
|
+
| ACs reference Feature Canon | [ ] | |
|
|
199
|
+
| No full behavior restatement | [ ] | |
|
|
200
|
+
|
|
201
|
+
**FA Approved:** [ ] Yes
|
|
202
|
+
**FA Name:** ________________
|
|
203
|
+
**Date:** ________________
|
|
204
|
+
|
|
205
|
+
---
|
|
206
|
+
|
|
207
|
+
## DoR Checklist (Feature Alignment)
|
|
208
|
+
|
|
209
|
+
- [ ] Linked to one or more Feature IDs
|
|
210
|
+
- [ ] Feature file(s) exist and are current
|
|
211
|
+
- [ ] Story describes DELTA only, not full behavior
|
|
212
|
+
- [ ] Feature impact type is marked
|
|
213
|
+
- [ ] ACs map to feature behavior / business rules
|
|
214
|
+
- [ ] Open questions tracked at feature level (not here)
|
|
215
|
+
|
|
216
|
+
## DoR Checklist (Standard)
|
|
217
|
+
|
|
218
|
+
- [ ] AC Defined (Gherkin or checklist)
|
|
219
|
+
- [ ] UX Attached (or "No UI required")
|
|
220
|
+
- [ ] Dependencies Clear
|
|
221
|
+
- [ ] Estimated
|
|
222
|
+
- [ ] Small enough for one sprint
|
|
223
|
+
|
|
224
|
+
## DoD Checklist
|
|
225
|
+
|
|
226
|
+
- [ ] Code Complete
|
|
227
|
+
- [ ] Tests Passed
|
|
228
|
+
- [ ] **Feature Canon updated** (if behavior changed) — TS-DOD-001
|
|
229
|
+
- [ ] Feature Change Log entry added
|
|
230
|
+
- [ ] Story Ledger updated
|
|
231
|
+
- [ ] FA Accepted
|
|
232
|
+
|
|
233
|
+
---
|
|
234
|
+
|
|
235
|
+
## Linter Rules Enforced
|
|
236
|
+
|
|
237
|
+
| Rule | Description | Status |
|
|
238
|
+
|------|-------------|--------|
|
|
239
|
+
| TS-STORY-001 | Feature link required | Checked on save |
|
|
240
|
+
| TS-STORY-002 | Delta-only format | Checked on save |
|
|
241
|
+
| TS-STORY-003 | ACs testable | Checked on Ready |
|
|
242
|
+
| TS-STORY-004 | Sprint assignment by SM only | Checked on assignment |
|
|
243
|
+
| TS-STORY-005 | DoR complete | Checked on Ready |
|
|
244
|
+
| TS-DOD-001 | Canon sync | Checked on Done |
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
---
|
|
2
|
+
epic_id: "[EPIC-ID]"
|
|
3
|
+
epic_name: "[Epic Name]"
|
|
4
|
+
goal: "[One-sentence business goal]"
|
|
5
|
+
personas:
|
|
6
|
+
- "[Persona 1]"
|
|
7
|
+
- "[Persona 2]"
|
|
8
|
+
constraints:
|
|
9
|
+
- "[Constraint 1]"
|
|
10
|
+
- "[Constraint 2]"
|
|
11
|
+
backbone_activities:
|
|
12
|
+
- "[Activity 1]"
|
|
13
|
+
- "[Activity 2]"
|
|
14
|
+
- "[Activity 3]"
|
|
15
|
+
steps:
|
|
16
|
+
"[Activity 1]":
|
|
17
|
+
- "[Step 1.1]"
|
|
18
|
+
- "[Step 1.2]"
|
|
19
|
+
"[Activity 2]":
|
|
20
|
+
- "[Step 2.1]"
|
|
21
|
+
- "[Step 2.2]"
|
|
22
|
+
feature_slices:
|
|
23
|
+
- name: "[Feature Slice 1]"
|
|
24
|
+
priority: "MVP"
|
|
25
|
+
goal: "[What this slice delivers]"
|
|
26
|
+
related_steps:
|
|
27
|
+
- "[Activity: Step]"
|
|
28
|
+
- name: "[Feature Slice 2]"
|
|
29
|
+
priority: "Next"
|
|
30
|
+
goal: "[What this slice delivers]"
|
|
31
|
+
related_steps:
|
|
32
|
+
- "[Activity: Step]"
|
|
33
|
+
story_candidates:
|
|
34
|
+
- title: "[Story 1 title]"
|
|
35
|
+
slice: "[Feature Slice 1]"
|
|
36
|
+
feature_ids: ["F-XXX"]
|
|
37
|
+
notes: "[Implementation notes]"
|
|
38
|
+
risks: "[Known risks]"
|
|
39
|
+
- title: "[Story 2 title]"
|
|
40
|
+
slice: "[Feature Slice 1]"
|
|
41
|
+
feature_ids: ["F-XXX"]
|
|
42
|
+
notes: "[Implementation notes]"
|
|
43
|
+
risks: "[Known risks]"
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
# Story Map: [Epic Name]
|
|
47
|
+
|
|
48
|
+
<!--
|
|
49
|
+
⚠️ STORY MAP RULES
|
|
50
|
+
|
|
51
|
+
Story maps help visualize user journeys and slice features.
|
|
52
|
+
|
|
53
|
+
RULES:
|
|
54
|
+
1. Story candidates must link to Feature IDs
|
|
55
|
+
2. Features must exist in Canon before stories are created
|
|
56
|
+
3. This is a planning artifact, not source of truth
|
|
57
|
+
-->
|
|
58
|
+
|
|
59
|
+
> **Template Version**: 2.0
|
|
60
|
+
> **Last Updated**: 2026-01-07
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
**Document Owner:** FA (Functional Analyst)
|
|
65
|
+
**Artifact Type:** Planning (Workshop Output)
|
|
66
|
+
**Lifecycle:** Historical after stories created
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
**Epic ID**: [EPIC-ID]
|
|
71
|
+
**Created**: YYYY-MM-DD
|
|
72
|
+
**Facilitator**: [Name/Role]
|
|
73
|
+
**Participants**: [BA, FA, ARCH, DEV, QA names]
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## Epic Overview
|
|
78
|
+
|
|
79
|
+
### Goal
|
|
80
|
+
|
|
81
|
+
[One-sentence statement of business value]
|
|
82
|
+
|
|
83
|
+
### Personas
|
|
84
|
+
|
|
85
|
+
| Persona | Description | Key Needs |
|
|
86
|
+
|---------|-------------|-----------|
|
|
87
|
+
| [Persona 1] | [Brief description] | [What they need] |
|
|
88
|
+
| [Persona 2] | [Brief description] | [What they need] |
|
|
89
|
+
|
|
90
|
+
### Constraints
|
|
91
|
+
|
|
92
|
+
- **Technical**: [Stack, platform, integrations]
|
|
93
|
+
- **Compliance**: [GDPR, SOX, etc.]
|
|
94
|
+
- **Timeline**: [MVP deadline, launch date]
|
|
95
|
+
- **Resources**: [Team size, skills]
|
|
96
|
+
|
|
97
|
+
### Success Metrics
|
|
98
|
+
|
|
99
|
+
| Metric | Target |
|
|
100
|
+
|--------|--------|
|
|
101
|
+
| [KPI 1] | [Target] |
|
|
102
|
+
| [KPI 2] | [Target] |
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## Story Map Visualization
|
|
107
|
+
|
|
108
|
+
### Backbone (Activities)
|
|
109
|
+
|
|
110
|
+
```
|
|
111
|
+
┌─────────────┬─────────────┬─────────────┬─────────────┐
|
|
112
|
+
│ Activity 1 │ Activity 2 │ Activity 3 │ Activity 4 │
|
|
113
|
+
└─────────────┴─────────────┴─────────────┴─────────────┘
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
## User Steps by Activity
|
|
119
|
+
|
|
120
|
+
### Activity 1: [Activity Name]
|
|
121
|
+
|
|
122
|
+
**User Steps**:
|
|
123
|
+
1. [Step 1.1]
|
|
124
|
+
2. [Step 1.2]
|
|
125
|
+
3. [Step 1.3]
|
|
126
|
+
|
|
127
|
+
**Edge Cases**:
|
|
128
|
+
- [Edge case 1]
|
|
129
|
+
- [Edge case 2]
|
|
130
|
+
|
|
131
|
+
### Activity 2: [Activity Name]
|
|
132
|
+
|
|
133
|
+
**User Steps**:
|
|
134
|
+
1. [Step 2.1]
|
|
135
|
+
2. [Step 2.2]
|
|
136
|
+
|
|
137
|
+
**Edge Cases**:
|
|
138
|
+
- [Edge case 1]
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## Feature Slices
|
|
143
|
+
|
|
144
|
+
| Slice | Priority | Goal | Features | Stories |
|
|
145
|
+
|-------|----------|------|----------|---------|
|
|
146
|
+
| [Slice 1] | MVP | [What it delivers] | F-XXX | S-001, S-002 |
|
|
147
|
+
| [Slice 2] | Next | [What it delivers] | F-YYY | S-003 |
|
|
148
|
+
| [Slice 3] | Later | [What it delivers] | F-ZZZ | TBD |
|
|
149
|
+
|
|
150
|
+
---
|
|
151
|
+
|
|
152
|
+
## Story Candidates
|
|
153
|
+
|
|
154
|
+
> ⚠️ All story candidates must link to Feature IDs.
|
|
155
|
+
> Features must exist in Canon before stories are created.
|
|
156
|
+
|
|
157
|
+
| Title | Slice | Feature(s) | Impact | Notes | Risks |
|
|
158
|
+
|-------|-------|------------|--------|-------|-------|
|
|
159
|
+
| [Story 1] | MVP | F-XXX | Adds | [Notes] | [Risks] |
|
|
160
|
+
| [Story 2] | MVP | F-XXX | Adds | [Notes] | [Risks] |
|
|
161
|
+
| [Story 3] | Next | F-YYY | Adds | [Notes] | [Risks] |
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
## Feature Canon Alignment
|
|
166
|
+
|
|
167
|
+
> Verify features exist before creating stories.
|
|
168
|
+
|
|
169
|
+
| Feature ID | Feature Name | Status | Stories Mapped |
|
|
170
|
+
|------------|--------------|--------|----------------|
|
|
171
|
+
| F-XXX | [Name] | Active / To Create | S-001, S-002 |
|
|
172
|
+
| F-YYY | [Name] | Active / To Create | S-003 |
|
|
173
|
+
|
|
174
|
+
**Features to Create**:
|
|
175
|
+
- [ ] F-XXX: [Feature Name] — Owner: BA
|
|
176
|
+
- [ ] F-YYY: [Feature Name] — Owner: BA
|
|
177
|
+
|
|
178
|
+
---
|
|
179
|
+
|
|
180
|
+
## Dependencies
|
|
181
|
+
|
|
182
|
+
```mermaid
|
|
183
|
+
graph LR
|
|
184
|
+
S1[Story 1] --> S2[Story 2]
|
|
185
|
+
S2 --> S3[Story 3]
|
|
186
|
+
S1 --> S4[Story 4]
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
---
|
|
190
|
+
|
|
191
|
+
## Risks & Mitigations
|
|
192
|
+
|
|
193
|
+
| Risk | Likelihood | Impact | Mitigation |
|
|
194
|
+
|------|------------|--------|------------|
|
|
195
|
+
| [Risk 1] | High/Med/Low | High/Med/Low | [Mitigation] |
|
|
196
|
+
|
|
197
|
+
---
|
|
198
|
+
|
|
199
|
+
## Next Steps
|
|
200
|
+
|
|
201
|
+
- [ ] BA to create missing Feature files
|
|
202
|
+
- [ ] FA to create stories from candidates
|
|
203
|
+
- [ ] Link stories to features
|
|
204
|
+
- [ ] Refine stories in backlog
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
# Test Cases: [Feature Name]
|
|
2
|
+
|
|
3
|
+
<!--
|
|
4
|
+
⚠️ TESTS ARE FEATURE-LEVEL, NOT STORY-LEVEL
|
|
5
|
+
|
|
6
|
+
Test cases validate Feature Canon behavior, not individual stories.
|
|
7
|
+
|
|
8
|
+
RULES:
|
|
9
|
+
1. Tests reference Feature Canon sections
|
|
10
|
+
2. Tests are canonical (survive story completion)
|
|
11
|
+
3. If behavior doesn't match Canon, classify the issue
|
|
12
|
+
4. Do not create story-specific test cases
|
|
13
|
+
|
|
14
|
+
TEAMSPEC RULES ENFORCED:
|
|
15
|
+
- TS-DOD-002: Tests are feature-level
|
|
16
|
+
- TS-QA-001: Tests must reference Feature Canon
|
|
17
|
+
-->
|
|
18
|
+
|
|
19
|
+
> **Template Version**: 2.0
|
|
20
|
+
> **Last Updated**: 2026-01-07
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
**Document Owner:** QA (QA Engineer)
|
|
25
|
+
**Artifact Type:** Canonical (Feature-level)
|
|
26
|
+
**Lifecycle:** Permanent, evolves with Feature Canon
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Test Case Reference
|
|
31
|
+
|
|
32
|
+
**Feature:** [F-XXX — Feature Name](../../features/F-XXX-name.md)
|
|
33
|
+
**Test Level:** Feature (not Story)
|
|
34
|
+
|
|
35
|
+
| Metadata | Value |
|
|
36
|
+
| :--- | :--- |
|
|
37
|
+
| **Feature** | [F-XXX](../../features/F-XXX-name.md) – [Feature Name] |
|
|
38
|
+
| **Author** | [QA Name] |
|
|
39
|
+
| **Created** | YYYY-MM-DD |
|
|
40
|
+
| **Last Updated** | YYYY-MM-DD |
|
|
41
|
+
|
|
42
|
+
<!-- TEAMSPEC RULE: TS-DOD-002 - Tests are feature-level -->
|
|
43
|
+
|
|
44
|
+
> ⚠️ Test cases are canonical and feature-level.
|
|
45
|
+
> Do not create story-specific test cases.
|
|
46
|
+
> Test against Feature Canon, not individual stories.
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## Test Scenarios
|
|
51
|
+
|
|
52
|
+
### TC-001: [Title]
|
|
53
|
+
|
|
54
|
+
- **Type**: Positive / Negative / Boundary
|
|
55
|
+
- **Feature Reference**: F-XXX: Current Behavior > [Section]
|
|
56
|
+
- **Business Rule**: BR-XXX-001 (if applicable)
|
|
57
|
+
- **Pre-conditions**: [Setup required]
|
|
58
|
+
- **Steps**:
|
|
59
|
+
1. [Action 1]
|
|
60
|
+
2. [Action 2]
|
|
61
|
+
- **Expected Result**: [What should happen]
|
|
62
|
+
- **Canon Alignment**: ✓ Matches Feature Canon documented behavior
|
|
63
|
+
|
|
64
|
+
### TC-002: [Title]
|
|
65
|
+
|
|
66
|
+
- **Type**: Positive / Negative / Boundary
|
|
67
|
+
- **Feature Reference**: F-XXX: Current Behavior > [Section]
|
|
68
|
+
- **Business Rule**: BR-XXX-002 (if applicable)
|
|
69
|
+
- **Pre-conditions**: [Setup required]
|
|
70
|
+
- **Steps**:
|
|
71
|
+
1. [Action 1]
|
|
72
|
+
2. [Action 2]
|
|
73
|
+
- **Expected Result**: [What should happen]
|
|
74
|
+
- **Canon Alignment**: ✓ Matches Feature Canon documented behavior
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## Edge Case Coverage
|
|
79
|
+
|
|
80
|
+
| Edge Case | Feature Canon Section | Test ID | Status |
|
|
81
|
+
|-----------|----------------------|---------|--------|
|
|
82
|
+
| [Edge case 1] | F-XXX: Edge Cases | TC-003 | [ ] |
|
|
83
|
+
| [Edge case 2] | F-XXX: Edge Cases | TC-004 | [ ] |
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## Business Rule Validation
|
|
88
|
+
|
|
89
|
+
| Rule ID | Rule Description | Test ID | Status |
|
|
90
|
+
|---------|------------------|---------|--------|
|
|
91
|
+
| BR-XXX-001 | [Rule description] | TC-001 | [ ] |
|
|
92
|
+
| BR-XXX-002 | [Rule description] | TC-002 | [ ] |
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## Feature Alignment Validation
|
|
97
|
+
|
|
98
|
+
Before marking tests as "Complete":
|
|
99
|
+
|
|
100
|
+
- [ ] All tests reference Feature Canon behavior
|
|
101
|
+
- [ ] No tests for undocumented behavior
|
|
102
|
+
- [ ] If behavior doesn't match Feature Canon, flagged for investigation
|
|
103
|
+
- [ ] Feature file is current (no ⚠️ pending updates)
|
|
104
|
+
- [ ] Business rules (BR-XXX) are all tested
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## Post-Test Documentation Check
|
|
109
|
+
|
|
110
|
+
After testing is complete:
|
|
111
|
+
|
|
112
|
+
- [ ] If behavior matches Feature Canon: ✅ Pass
|
|
113
|
+
- [ ] If behavior doesn't match Feature Canon:
|
|
114
|
+
- [ ] Is Feature Canon wrong? Flag for FA sync.
|
|
115
|
+
- [ ] Is implementation wrong? File bug for DEV.
|
|
116
|
+
- [ ] Is this undocumented behavior? Alert FA immediately.
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
## Test Execution Log
|
|
121
|
+
|
|
122
|
+
| Date | Tester | Environment | Pass | Fail | Blocked | Notes |
|
|
123
|
+
|------|--------|-------------|------|------|---------|-------|
|
|
124
|
+
| YYYY-MM-DD | [Name] | [Env] | {N} | {N} | {N} | |
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
## Sign-Off
|
|
129
|
+
|
|
130
|
+
This test pack is evidence that:
|
|
131
|
+
|
|
132
|
+
1. ✅ Documented behavior works correctly
|
|
133
|
+
2. ✅ No undocumented behavior was introduced
|
|
134
|
+
3. ✅ Feature Canon is accurate and complete
|
|
135
|
+
|
|
136
|
+
**QA Approved:** [ ] Yes
|
|
137
|
+
**QA Name:** ________________
|
|
138
|
+
**Date:** ________________
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## Linter Rules Enforced
|
|
143
|
+
|
|
144
|
+
| Rule | Description |
|
|
145
|
+
|------|-------------|
|
|
146
|
+
| TS-QA-001 | Tests must reference Feature Canon |
|
|
147
|
+
| TS-DOD-002 | Tests are feature-level, not story-level |
|