teamspec 3.2.0 → 4.1.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/README.md +24 -12
- package/bin/teamspec-init.js +2 -2
- package/lib/cli.js +653 -99
- package/lib/extension-installer.js +19 -219
- package/lib/linter.js +823 -1076
- package/lib/prompt-generator.js +312 -330
- package/lib/structure-loader.js +400 -0
- package/package.json +14 -6
- package/teamspec-core/FOLDER_STRUCTURE.yml +131 -0
- package/teamspec-core/agents/AGENT_BA.md +188 -293
- package/teamspec-core/agents/AGENT_BOOTSTRAP.md +197 -102
- package/teamspec-core/agents/AGENT_DES.md +9 -8
- package/teamspec-core/agents/AGENT_DEV.md +68 -67
- package/teamspec-core/agents/AGENT_FA.md +437 -245
- package/teamspec-core/agents/AGENT_FIX.md +344 -74
- package/teamspec-core/agents/AGENT_PO.md +487 -0
- package/teamspec-core/agents/AGENT_QA.md +124 -98
- package/teamspec-core/agents/AGENT_SA.md +143 -84
- package/teamspec-core/agents/AGENT_SM.md +106 -83
- package/teamspec-core/agents/README.md +143 -93
- package/teamspec-core/copilot-instructions.md +281 -205
- package/teamspec-core/definitions/definition-of-done.md +47 -84
- package/teamspec-core/definitions/definition-of-ready.md +35 -60
- package/teamspec-core/registry.yml +898 -0
- package/teamspec-core/teamspec.yml +44 -28
- package/teamspec-core/templates/README.md +5 -5
- package/teamspec-core/templates/adr-template.md +19 -17
- package/teamspec-core/templates/bai-template.md +125 -0
- package/teamspec-core/templates/bug-report-template.md +21 -15
- package/teamspec-core/templates/business-analysis-template.md +16 -13
- package/teamspec-core/templates/decision-log-template.md +26 -22
- package/teamspec-core/templates/dev-plan-template.md +168 -0
- package/teamspec-core/templates/epic-template.md +204 -0
- package/teamspec-core/templates/feature-increment-template.md +84 -0
- package/teamspec-core/templates/feature-template.md +45 -32
- package/teamspec-core/templates/increments-index-template.md +53 -0
- package/teamspec-core/templates/product-template.yml +44 -0
- package/teamspec-core/templates/products-index-template.md +46 -0
- package/teamspec-core/templates/project-template.yml +70 -0
- package/teamspec-core/templates/ri-template.md +225 -0
- package/teamspec-core/templates/rt-template.md +104 -0
- package/teamspec-core/templates/sd-template.md +132 -0
- package/teamspec-core/templates/sdi-template.md +119 -0
- package/teamspec-core/templates/sprint-template.md +17 -15
- package/teamspec-core/templates/story-template-v4.md +202 -0
- package/teamspec-core/templates/story-template.md +48 -90
- package/teamspec-core/templates/ta-template.md +198 -0
- package/teamspec-core/templates/tai-template.md +131 -0
- package/teamspec-core/templates/tc-template.md +145 -0
- package/teamspec-core/templates/testcases-template.md +20 -17
- package/extensions/teamspec-0.1.0.vsix +0 -0
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# Products Index
|
|
2
|
+
|
|
3
|
+
Master index of all products in this workspace.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
Products represent the **AS-IS** state of your systems. They contain:
|
|
8
|
+
- Feature Canon (source of truth for behavior)
|
|
9
|
+
- Business Analysis documents
|
|
10
|
+
- Solution Designs
|
|
11
|
+
- Technical Architecture decisions
|
|
12
|
+
|
|
13
|
+
Projects propose **TO-BE** changes to products via Feature Increments.
|
|
14
|
+
|
|
15
|
+
## Product Registry
|
|
16
|
+
|
|
17
|
+
| Prefix | ID | Name | Status | Active Projects |
|
|
18
|
+
|--------|-----|------|--------|-----------------|
|
|
19
|
+
| _(none yet)_ | | | | |
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Adding Products
|
|
24
|
+
|
|
25
|
+
Use one of these methods:
|
|
26
|
+
|
|
27
|
+
1. **CLI:** `teamspec init --product <name>`
|
|
28
|
+
2. **Copilot:** `ts:po product`
|
|
29
|
+
3. **Manual:** Copy `/.teamspec/templates/product-template.yml`
|
|
30
|
+
|
|
31
|
+
## Product Structure
|
|
32
|
+
|
|
33
|
+
Each product folder contains:
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
products/<product-id>/
|
|
37
|
+
├── product.yml # Product configuration (includes PRX prefix)
|
|
38
|
+
├── README.md # Product overview
|
|
39
|
+
├── business-analysis/ # BA documents (ba-PRX-XXX)
|
|
40
|
+
├── features/ # Feature Canon (f-PRX-XXX)
|
|
41
|
+
│ ├── features-index.md
|
|
42
|
+
│ └── story-ledger.md
|
|
43
|
+
├── solution-designs/ # Solution designs (sd-PRX-XXX)
|
|
44
|
+
├── technical-architecture/ # Tech architecture (ta-PRX-XXX)
|
|
45
|
+
└── decisions/ # Product decisions (dec-PRX-XXX)
|
|
46
|
+
```
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# Project Configuration Template
|
|
2
|
+
# TeamSpec 4.0 - Product/Project Operating Model
|
|
3
|
+
#
|
|
4
|
+
# Usage: Copy this template to projects/<project-id>/project.yml
|
|
5
|
+
# Replace placeholders marked with <...>
|
|
6
|
+
|
|
7
|
+
project:
|
|
8
|
+
# Unique slug identifier (lowercase, hyphens)
|
|
9
|
+
id: "<project-id>"
|
|
10
|
+
|
|
11
|
+
# Human-readable name
|
|
12
|
+
name: "<Project Name>"
|
|
13
|
+
|
|
14
|
+
# Project description (TO-BE goals)
|
|
15
|
+
description: |
|
|
16
|
+
# TODO: Describe what this project will CHANGE
|
|
17
|
+
# - What business outcomes are targeted?
|
|
18
|
+
# - What products will be modified?
|
|
19
|
+
# - What is the expected timeline?
|
|
20
|
+
|
|
21
|
+
# Project lifecycle status
|
|
22
|
+
status: active # Options: planning, active, paused, completed, archived
|
|
23
|
+
|
|
24
|
+
# Target products this project will modify
|
|
25
|
+
# Each entry creates a feature-increment link
|
|
26
|
+
target_products:
|
|
27
|
+
- product_id: "<product-id>"
|
|
28
|
+
prefix: "<PRX>" # Product prefix for artifact naming
|
|
29
|
+
# epic_id: "epic-PRX-001" # Optional: link to specific epic
|
|
30
|
+
|
|
31
|
+
# Team configuration
|
|
32
|
+
team:
|
|
33
|
+
# Stakeholders and their roles
|
|
34
|
+
stakeholders:
|
|
35
|
+
- name: "<Product Owner>"
|
|
36
|
+
role: "PO"
|
|
37
|
+
- name: "<Team Lead>"
|
|
38
|
+
role: "DEV"
|
|
39
|
+
|
|
40
|
+
# Active roles in this project
|
|
41
|
+
roles:
|
|
42
|
+
- BA
|
|
43
|
+
- FA
|
|
44
|
+
- SA
|
|
45
|
+
- DEV
|
|
46
|
+
- QA
|
|
47
|
+
- SM
|
|
48
|
+
- DES # Optional: Designer role
|
|
49
|
+
|
|
50
|
+
# Sprint configuration (if using Scrum)
|
|
51
|
+
sprints:
|
|
52
|
+
# Sprint duration in weeks
|
|
53
|
+
length: 2
|
|
54
|
+
|
|
55
|
+
# Current sprint number (auto-updated by SM)
|
|
56
|
+
current: 1
|
|
57
|
+
|
|
58
|
+
# Optional: Project metadata
|
|
59
|
+
metadata:
|
|
60
|
+
# Project start date
|
|
61
|
+
start_date: "<YYYY-MM-DD>"
|
|
62
|
+
|
|
63
|
+
# Target completion date
|
|
64
|
+
target_date: "<YYYY-MM-DD>"
|
|
65
|
+
|
|
66
|
+
# Project priority
|
|
67
|
+
priority: medium # Options: low, medium, high, critical
|
|
68
|
+
|
|
69
|
+
# Related projects (for cross-references)
|
|
70
|
+
related_projects: []
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
# Regression Impact: `ri-fi-{PRX}-{NNN}`
|
|
2
|
+
|
|
3
|
+
<!--
|
|
4
|
+
⚠️ REGRESSION IMPACT RECORD (REQUIRED AT DEPLOYMENT GATE)
|
|
5
|
+
|
|
6
|
+
This document records the regression test impact assessment for a Feature-Increment.
|
|
7
|
+
|
|
8
|
+
NAMING PATTERN: ri-fi-{PRX}-{NNN}.md
|
|
9
|
+
EXAMPLE: ri-fi-ACME-001.md
|
|
10
|
+
|
|
11
|
+
REQUIRED FIELDS (per registry.yml):
|
|
12
|
+
- fi_id: Reference to Feature-Increment
|
|
13
|
+
- assessment: 'update-required' | 'no-impact'
|
|
14
|
+
- rationale: Explanation of impact assessment
|
|
15
|
+
- regression_tests: List of rt-f-* files created/updated (if update-required)
|
|
16
|
+
|
|
17
|
+
TEAMSPEC RULES ENFORCED:
|
|
18
|
+
- TS-QA-003: Regression impact record required at deployment gate (BLOCKER)
|
|
19
|
+
-->
|
|
20
|
+
|
|
21
|
+
> **Template Version**: 4.0
|
|
22
|
+
> **Last Updated**: 2026-01-11
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
**Document Owner:** QA (QA Engineer)
|
|
27
|
+
**Artifact Type:** Regression Impact Record (Post-Deployment)
|
|
28
|
+
**Lifecycle:** Created at deployment verification gate, referenced during Canon sync
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Required Fields (TS-QA-003)
|
|
33
|
+
|
|
34
|
+
> ⚠️ **BLOCKER**: All fields below must be completed before deployment gate can pass.
|
|
35
|
+
|
|
36
|
+
| Field | Value |
|
|
37
|
+
| :--- | :--- |
|
|
38
|
+
| **fi_id** | fi-{PRX}-{NNN} |
|
|
39
|
+
| **assessment** | `update-required` / `no-impact` |
|
|
40
|
+
| **rationale** | [Explanation of why this assessment was chosen] |
|
|
41
|
+
| **regression_tests** | [List of rt-f-* files - REQUIRED if assessment = update-required] |
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Metadata
|
|
46
|
+
|
|
47
|
+
| Field | Value |
|
|
48
|
+
| :--- | :--- |
|
|
49
|
+
| **RI ID** | ri-fi-{PRX}-{NNN} |
|
|
50
|
+
| **Product** | {product-id} ({PRX}) |
|
|
51
|
+
| **Project** | {project-id} |
|
|
52
|
+
| **Created** | YYYY-MM-DD |
|
|
53
|
+
| **Author** | [QA Name] |
|
|
54
|
+
| **Feature Increment** | [fi-{PRX}-{NNN}](../feature-increments/fi-{PRX}-{NNN}-*.md) |
|
|
55
|
+
| **Deployment Date** | YYYY-MM-DD |
|
|
56
|
+
| **Verification Status** | ✅ Passed / ⚠️ Conditional / ❌ Failed |
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## 1. Assessment Decision
|
|
61
|
+
|
|
62
|
+
> ⚠️ **Select exactly ONE assessment type:**
|
|
63
|
+
|
|
64
|
+
### [ ] Assessment: `update-required`
|
|
65
|
+
|
|
66
|
+
**Rationale:** [Explain why regression test updates are needed]
|
|
67
|
+
|
|
68
|
+
**Regression Tests Updated/Created:**
|
|
69
|
+
|
|
70
|
+
| Regression Test | Target Feature | Action | Status |
|
|
71
|
+
|-----------------|----------------|--------|--------|
|
|
72
|
+
| [rt-f-{PRX}-{NNN}](../../products/{product-id}/qa/regression-tests/rt-f-{PRX}-{NNN}-*.md) | f-{PRX}-{NNN} | Created / Updated | ✅ Complete |
|
|
73
|
+
|
|
74
|
+
### [ ] Assessment: `no-impact`
|
|
75
|
+
|
|
76
|
+
**Rationale:** [Explain why no regression test updates are needed - REQUIRED]
|
|
77
|
+
|
|
78
|
+
_Examples of valid rationales:_
|
|
79
|
+
- _"This FI only affects internal refactoring with no user-observable behavior change"_
|
|
80
|
+
- _"Existing regression tests rt-f-ACME-001 and rt-f-ACME-002 already cover this behavior"_
|
|
81
|
+
- _"Feature toggle disabled in production; regression tests deferred until toggle enabled"_
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## 2. Overview
|
|
86
|
+
|
|
87
|
+
_High-level summary of what was deployed and any regression considerations._
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## 3. Deployment Verification Summary
|
|
92
|
+
|
|
93
|
+
### 3.1 What Was Deployed
|
|
94
|
+
|
|
95
|
+
_Brief description of the Feature Increment deployed._
|
|
96
|
+
|
|
97
|
+
### 3.2 Deployment Date/Time
|
|
98
|
+
|
|
99
|
+
- **Deployment Date:** YYYY-MM-DD
|
|
100
|
+
- **Deployment Time:** HH:MM UTC
|
|
101
|
+
- **Environment:** Production
|
|
102
|
+
- **Feature Toggles:** [Enabled/Disabled/N/A]
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## 4. Regression Testing Results
|
|
107
|
+
|
|
108
|
+
### 4.1 Test Coverage
|
|
109
|
+
|
|
110
|
+
| Test Area | Test Cases | Passed | Failed | Notes |
|
|
111
|
+
|-----------|------------|--------|--------|-------|
|
|
112
|
+
| [Module 1] | [Count] | [✅] | [❌] | |
|
|
113
|
+
| [Module 2] | [Count] | [✅] | [❌] | |
|
|
114
|
+
|
|
115
|
+
### 4.2 Known Issues
|
|
116
|
+
|
|
117
|
+
| Issue | Severity | Status | Workaround |
|
|
118
|
+
|-------|----------|--------|-----------|
|
|
119
|
+
| [Issue 1] | [P1/P2/P3] | [Open/Tracking] | [Workaround] |
|
|
120
|
+
|
|
121
|
+
### 4.3 Affected Features
|
|
122
|
+
|
|
123
|
+
| Feature | Impact | Verified? | Notes |
|
|
124
|
+
|---------|--------|-----------|-------|
|
|
125
|
+
| [f-PRX-XXX] | [Impact] | ✅/⚠️/❌ | [Details] |
|
|
126
|
+
| [f-PRX-YYY] | [Impact] | ✅/⚠️/❌ | [Details] |
|
|
127
|
+
|
|
128
|
+
---
|
|
129
|
+
|
|
130
|
+
## 5. Behavior Changes
|
|
131
|
+
|
|
132
|
+
### 5.1 User-Observable Changes
|
|
133
|
+
|
|
134
|
+
_What end users might notice after this deployment._
|
|
135
|
+
|
|
136
|
+
### 5.2 Performance Impact
|
|
137
|
+
|
|
138
|
+
_Any performance characteristics affected by this deployment._
|
|
139
|
+
|
|
140
|
+
### 5.3 Data Impact
|
|
141
|
+
|
|
142
|
+
_Any data model or data characteristics changed by this deployment._
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
## 6. Canon Sync Readiness
|
|
147
|
+
|
|
148
|
+
### 6.1 Feature Canon Updates Needed
|
|
149
|
+
|
|
150
|
+
_What sections of Feature Canon need updates to reflect deployed changes._
|
|
151
|
+
|
|
152
|
+
### 6.2 Breaking Changes
|
|
153
|
+
|
|
154
|
+
_Any breaking changes for users or downstream systems._
|
|
155
|
+
|
|
156
|
+
### 6.3 Deprecations
|
|
157
|
+
|
|
158
|
+
_Any deprecated APIs or behaviors._
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
## 7. Rollback Considerations
|
|
163
|
+
|
|
164
|
+
### 7.1 Rollback Risk Level
|
|
165
|
+
|
|
166
|
+
- [ ] **Low** — Can rollback safely, no data implications
|
|
167
|
+
- [ ] **Medium** — Rollback possible but with data considerations
|
|
168
|
+
- [ ] **High** — Rollback difficult or impossible, has data implications
|
|
169
|
+
|
|
170
|
+
### 7.2 Rollback Plan
|
|
171
|
+
|
|
172
|
+
_If needed, how would we revert this deployment?_
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
## 8. Post-Deployment Monitoring
|
|
177
|
+
|
|
178
|
+
### 8.1 Key Metrics to Monitor
|
|
179
|
+
|
|
180
|
+
| Metric | Normal Range | Alert Threshold |
|
|
181
|
+
|--------|--------------|-----------------|
|
|
182
|
+
| [Metric 1] | [Range] | [Threshold] |
|
|
183
|
+
| [Metric 2] | [Range] | [Threshold] |
|
|
184
|
+
|
|
185
|
+
### 8.2 Support Notes
|
|
186
|
+
|
|
187
|
+
_Any documentation or communications needed for support team._
|
|
188
|
+
|
|
189
|
+
---
|
|
190
|
+
|
|
191
|
+
## 9. Sign-Off
|
|
192
|
+
|
|
193
|
+
| Role | Name | Status | Date |
|
|
194
|
+
|------|------|--------|------|
|
|
195
|
+
| QA (Author) | [Name] | ✅ | YYYY-MM-DD |
|
|
196
|
+
| QA Lead | [Name] | ⏳ | |
|
|
197
|
+
| SM (Gate Owner) | [Name] | ⏳ | |
|
|
198
|
+
|
|
199
|
+
---
|
|
200
|
+
|
|
201
|
+
## 10. Canon Sync Record
|
|
202
|
+
|
|
203
|
+
_Completed after PO runs `ts:po sync`_
|
|
204
|
+
|
|
205
|
+
| Field | Value |
|
|
206
|
+
|-------|-------|
|
|
207
|
+
| **Canon Sync Date** | YYYY-MM-DD |
|
|
208
|
+
| **Synced By** | [PO Name] |
|
|
209
|
+
| **Canon Sync Status** | ✅ Complete |
|
|
210
|
+
|
|
211
|
+
---
|
|
212
|
+
|
|
213
|
+
## Linter Rules Enforced
|
|
214
|
+
|
|
215
|
+
| Rule | Description | Severity |
|
|
216
|
+
|------|-------------|----------|
|
|
217
|
+
| TS-QA-003 | Regression impact record required at deployment gate | BLOCKER |
|
|
218
|
+
|
|
219
|
+
---
|
|
220
|
+
|
|
221
|
+
## Change Log
|
|
222
|
+
|
|
223
|
+
| Date | Author | Change |
|
|
224
|
+
|------|--------|--------|
|
|
225
|
+
| YYYY-MM-DD | @author | Initial assessment (post-deployment) |
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
# Regression Test: rt-f-{PRX}-{NNN}-{description}
|
|
2
|
+
|
|
3
|
+
> **Product:** {product-id}
|
|
4
|
+
> **Feature:** [f-{PRX}-{NNN}-{name}](../features/f-{PRX}-{NNN}-{name}.md)
|
|
5
|
+
> **Owner:** QA
|
|
6
|
+
> **Created:** {YYYY-MM-DD}
|
|
7
|
+
> **Last Updated:** {YYYY-MM-DD}
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Overview
|
|
12
|
+
|
|
13
|
+
Brief description of the regression test coverage for this feature.
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Feature Summary
|
|
18
|
+
|
|
19
|
+
| Aspect | Value |
|
|
20
|
+
|--------|-------|
|
|
21
|
+
| Feature ID | f-{PRX}-{NNN} |
|
|
22
|
+
| Feature Name | {Feature Name} |
|
|
23
|
+
| Core Behavior | {One-line summary of what the feature does} |
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## Regression Scenarios
|
|
28
|
+
|
|
29
|
+
### Scenario 1: {Scenario Name}
|
|
30
|
+
|
|
31
|
+
**Purpose:** {What this scenario validates}
|
|
32
|
+
|
|
33
|
+
**Preconditions:**
|
|
34
|
+
- {Precondition 1}
|
|
35
|
+
- {Precondition 2}
|
|
36
|
+
|
|
37
|
+
**Steps:**
|
|
38
|
+
1. {Step 1}
|
|
39
|
+
2. {Step 2}
|
|
40
|
+
3. {Step 3}
|
|
41
|
+
|
|
42
|
+
**Expected Result:**
|
|
43
|
+
- {Expected outcome}
|
|
44
|
+
|
|
45
|
+
**Criticality:** High | Medium | Low
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
### Scenario 2: {Scenario Name}
|
|
50
|
+
|
|
51
|
+
**Purpose:** {What this scenario validates}
|
|
52
|
+
|
|
53
|
+
**Preconditions:**
|
|
54
|
+
- {Precondition 1}
|
|
55
|
+
|
|
56
|
+
**Steps:**
|
|
57
|
+
1. {Step 1}
|
|
58
|
+
2. {Step 2}
|
|
59
|
+
|
|
60
|
+
**Expected Result:**
|
|
61
|
+
- {Expected outcome}
|
|
62
|
+
|
|
63
|
+
**Criticality:** High | Medium | Low
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## Edge Cases
|
|
68
|
+
|
|
69
|
+
| Case | Input | Expected Behavior |
|
|
70
|
+
|------|-------|-------------------|
|
|
71
|
+
| {Edge case 1} | {Input} | {Behavior} |
|
|
72
|
+
| {Edge case 2} | {Input} | {Behavior} |
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## Integration Points
|
|
77
|
+
|
|
78
|
+
| System/Feature | Integration Type | Regression Risk |
|
|
79
|
+
|----------------|------------------|-----------------|
|
|
80
|
+
| {Related feature} | {API/Data/UI} | High | Medium | Low |
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## Automation Status
|
|
85
|
+
|
|
86
|
+
| Scenario | Automated | Test ID | Notes |
|
|
87
|
+
|----------|-----------|---------|-------|
|
|
88
|
+
| Scenario 1 | Yes / No / Partial | {test-id} | {Notes} |
|
|
89
|
+
| Scenario 2 | Yes / No / Partial | {test-id} | {Notes} |
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## Change History
|
|
94
|
+
|
|
95
|
+
| Date | FI Reference | Change | Author |
|
|
96
|
+
|------|--------------|--------|--------|
|
|
97
|
+
| {YYYY-MM-DD} | fi-{PRX}-{NNN} | Initial creation | {name} |
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## Related
|
|
102
|
+
|
|
103
|
+
- Feature: [f-{PRX}-{NNN}](../features/f-{PRX}-{NNN}-{name}.md)
|
|
104
|
+
- Product: [product.yml](../product.yml)
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
# Solution Design: `<sd-PRX-XXX-description>`
|
|
2
|
+
|
|
3
|
+
> **ID:** sd-PRX-XXX
|
|
4
|
+
> **Product:** `<product-id>` (PRX)
|
|
5
|
+
> **Target Feature:** `<f-PRX-XXX-feature-name>`
|
|
6
|
+
> **Status:** draft | proposed | approved | implemented
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
**Document Owner:** SA (Solution Architect)
|
|
11
|
+
**Artifact Type:** Solution Design (Canonical)
|
|
12
|
+
**Lifecycle:** Permanent, versioned
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Metadata
|
|
17
|
+
|
|
18
|
+
| Field | Value |
|
|
19
|
+
| :--- | :--- |
|
|
20
|
+
| **SD ID** | sd-{PRX}-{NNN} |
|
|
21
|
+
| **Status** | Proposed / Accepted / Deprecated / Superseded |
|
|
22
|
+
| **Date** | YYYY-MM-DD |
|
|
23
|
+
| **Author** | [SA Name] |
|
|
24
|
+
| **Related Feature** | [f-{PRX}-{NNN}](../features/f-{PRX}-{NNN}-*.md) |
|
|
25
|
+
| **Related TA** | [ta-{PRX}-{NNN}](../technical-architecture/ta-{PRX}-{NNN}-*.md) (if applicable) |
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## 1. Overview
|
|
30
|
+
|
|
31
|
+
_Brief description of the solution design and what it accomplishes._
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## 2. Business Context
|
|
36
|
+
|
|
37
|
+
> Reference to Feature Canon and business requirements that drove this design.
|
|
38
|
+
|
|
39
|
+
_What business need or requirement triggered this design?_
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## 3. Solution Architecture
|
|
44
|
+
|
|
45
|
+
### 3.1 Components
|
|
46
|
+
|
|
47
|
+
| Component | Purpose | Technology |
|
|
48
|
+
|-----------|---------|-----------|
|
|
49
|
+
| [Component A] | [Purpose] | [Tech Stack] |
|
|
50
|
+
| [Component B] | [Purpose] | [Tech Stack] |
|
|
51
|
+
|
|
52
|
+
### 3.2 Data Model
|
|
53
|
+
|
|
54
|
+
_ERD or conceptual data model showing entities and relationships._
|
|
55
|
+
|
|
56
|
+
### 3.3 Integration Points
|
|
57
|
+
|
|
58
|
+
_How this solution integrates with existing systems._
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## 4. Design Rationale
|
|
63
|
+
|
|
64
|
+
### 4.1 Why This Design?
|
|
65
|
+
|
|
66
|
+
_Explain the reasoning behind design decisions._
|
|
67
|
+
|
|
68
|
+
### 4.2 Alternatives Considered
|
|
69
|
+
|
|
70
|
+
_What other approaches were evaluated and why they were rejected._
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## 5. Trade-offs and Constraints
|
|
75
|
+
|
|
76
|
+
| Trade-off | Impact | Mitigation |
|
|
77
|
+
|-----------|--------|-----------|
|
|
78
|
+
| [Trade-off 1] | [Impact] | [How we handle it] |
|
|
79
|
+
| [Trade-off 2] | [Impact] | [How we handle it] |
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## 6. Behavior Impact Assessment
|
|
84
|
+
|
|
85
|
+
> ⚠️ Does this design affect user-observable behavior?
|
|
86
|
+
|
|
87
|
+
### 6.1 User-Facing Changes
|
|
88
|
+
|
|
89
|
+
_What users will observe as a result of this design._
|
|
90
|
+
|
|
91
|
+
### 6.2 Feature Canon Updates Needed
|
|
92
|
+
|
|
93
|
+
_What sections of Feature Canon need updates to reflect this design._
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
## 7. Implementation Notes
|
|
98
|
+
|
|
99
|
+
### 7.1 Development Guidelines
|
|
100
|
+
|
|
101
|
+
_Key implementation guidance for the development team._
|
|
102
|
+
|
|
103
|
+
### 7.2 Testing Strategy
|
|
104
|
+
|
|
105
|
+
_How the design will be validated._
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## 8. Related Documents
|
|
110
|
+
|
|
111
|
+
| Document | Purpose |
|
|
112
|
+
|----------|---------|
|
|
113
|
+
| [f-{PRX}-{NNN}](../features/f-{PRX}-{NNN}-*.md) | Feature Canon |
|
|
114
|
+
| [ta-{PRX}-{NNN}](../technical-architecture/ta-{PRX}-{NNN}-*.md) | Technical Architecture (if applicable) |
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
## Review & Approval
|
|
119
|
+
|
|
120
|
+
| Role | Name | Status | Date |
|
|
121
|
+
|------|------|--------|------|
|
|
122
|
+
| SA (Author) | [Name] | ✅ | YYYY-MM-DD |
|
|
123
|
+
| FA | [Name] | ⏳ | |
|
|
124
|
+
| Tech Lead | [Name] | ⏳ | |
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
## Change Log
|
|
129
|
+
|
|
130
|
+
| Date | Author | Change |
|
|
131
|
+
|------|--------|--------|
|
|
132
|
+
| YYYY-MM-DD | @author | Initial draft |
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
# Solution Design Increment: `<sdi-PRX-XXX-description>`
|
|
2
|
+
|
|
3
|
+
> **ID:** sdi-PRX-XXX
|
|
4
|
+
> **Product:** `<product-id>` (PRX)
|
|
5
|
+
> **Project:** `<project-id>`
|
|
6
|
+
> **Target SD Feature:** `<sd-PRX-XXX-name>`
|
|
7
|
+
> **Target Feature:** `<f-PRX-XXX-feature-name>`
|
|
8
|
+
> **Status:** draft | proposed | approved | implemented | synced
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
**Document Owner:** SA (Solution Architect)
|
|
13
|
+
**Artifact Type:** Solution Design Increment (Project)
|
|
14
|
+
**Lifecycle:** Project-scoped, merged to Product SD after approval
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Metadata
|
|
19
|
+
|
|
20
|
+
| Field | Value |
|
|
21
|
+
| :--- | :--- |
|
|
22
|
+
| **SDI ID** | sdi-PRX-XXX |
|
|
23
|
+
| **Status** | Proposed / Accepted / Implemented / Synced |
|
|
24
|
+
| **Date** | YYYY-MM-DD |
|
|
25
|
+
| **Author** | [SA Name] |
|
|
26
|
+
| **Target SD** | [sd-PRX-XXX](../../products/PRX/solution-designs/sd-PRX-XXX-*.md) |
|
|
27
|
+
| **Feature Increment** | [fi-PRX-XXX](../feature-increments/fi-PRX-XXX-*.md) |
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## 1. Overview
|
|
32
|
+
|
|
33
|
+
_Brief description of the solution design increment specific to this project._
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## 2. AS-IS (Current Product SD)
|
|
38
|
+
|
|
39
|
+
> _Auto-populated from Product Solution Design. DO NOT EDIT unless correcting errors._
|
|
40
|
+
|
|
41
|
+
_Copy relevant sections from the Product SD._
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## 3. TO-BE (Project Solution Design)
|
|
46
|
+
|
|
47
|
+
### 3.1 New/Changed Design Elements
|
|
48
|
+
|
|
49
|
+
_Describe what the project-specific solution design includes that product design doesn't._
|
|
50
|
+
|
|
51
|
+
### 3.2 Design Specifications
|
|
52
|
+
|
|
53
|
+
_Detailed specifications for this increment._
|
|
54
|
+
|
|
55
|
+
### 3.3 Out of Scope
|
|
56
|
+
|
|
57
|
+
_Explicitly state what this increment does NOT include._
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## 4. Impact Analysis
|
|
62
|
+
|
|
63
|
+
### 4.1 Feature Implications
|
|
64
|
+
|
|
65
|
+
| Feature | Impact Type | Description |
|
|
66
|
+
|---------|-------------|-------------|
|
|
67
|
+
| [f-PRX-XXX] | Modified | _What design changes affect this feature_ |
|
|
68
|
+
|
|
69
|
+
### 4.2 Technical Architecture Dependencies
|
|
70
|
+
|
|
71
|
+
_Links to required Technical Architecture (TA) documents._
|
|
72
|
+
|
|
73
|
+
### 4.3 Implementation Constraints
|
|
74
|
+
|
|
75
|
+
_Design constraints that affect DEV work._
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## 5. Behavior Impact Assessment
|
|
80
|
+
|
|
81
|
+
> ⚠️ Does this SDI affect user-observable behavior?
|
|
82
|
+
|
|
83
|
+
### 5.1 Changes to Feature Behavior
|
|
84
|
+
|
|
85
|
+
_What behavior changes result from this design._
|
|
86
|
+
|
|
87
|
+
### 5.2 Feature Canon Updates
|
|
88
|
+
|
|
89
|
+
_What sections of Feature Canon need updates based on this SDI._
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## 6. Integration Notes
|
|
94
|
+
|
|
95
|
+
### 6.1 Product SD Alignment
|
|
96
|
+
|
|
97
|
+
_How this project SDI aligns with or extends the product SD._
|
|
98
|
+
|
|
99
|
+
### 6.2 Merge Strategy
|
|
100
|
+
|
|
101
|
+
_How this SDI will be merged back to Product SD after project completion._
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## 7. Review & Approval
|
|
106
|
+
|
|
107
|
+
| Role | Name | Status | Date |
|
|
108
|
+
|------|------|--------|------|
|
|
109
|
+
| SA (Author) | [Name] | ✅ | YYYY-MM-DD |
|
|
110
|
+
| FA | [Name] | ⏳ | |
|
|
111
|
+
| Tech Lead | [Name] | ⏳ | |
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## Change Log
|
|
116
|
+
|
|
117
|
+
| Date | Author | Change |
|
|
118
|
+
|------|--------|--------|
|
|
119
|
+
| YYYY-MM-DD | @author | Initial draft |
|