specky-sdd 2.0.0 → 2.2.2
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/CHANGELOG.md +93 -0
- package/README.md +803 -88
- package/SECURITY.md +110 -0
- package/dist/config.d.ts +12 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +66 -0
- package/dist/config.js.map +1 -0
- package/dist/constants.d.ts +100 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +112 -1
- package/dist/constants.js.map +1 -1
- package/dist/index.js +17 -2
- package/dist/index.js.map +1 -1
- package/dist/schemas/environment.d.ts +12 -37
- package/dist/schemas/environment.d.ts.map +1 -1
- package/dist/schemas/infrastructure.d.ts +22 -42
- package/dist/schemas/infrastructure.d.ts.map +1 -1
- package/dist/schemas/input.d.ts +13 -34
- package/dist/schemas/input.d.ts.map +1 -1
- package/dist/schemas/integration.d.ts +12 -80
- package/dist/schemas/integration.d.ts.map +1 -1
- package/dist/schemas/pipeline.d.ts +24 -230
- package/dist/schemas/pipeline.d.ts.map +1 -1
- package/dist/schemas/quality.d.ts +27 -39
- package/dist/schemas/quality.d.ts.map +1 -1
- package/dist/schemas/quality.js +13 -0
- package/dist/schemas/quality.js.map +1 -1
- package/dist/schemas/testing.d.ts +23 -0
- package/dist/schemas/testing.d.ts.map +1 -0
- package/dist/schemas/testing.js +26 -0
- package/dist/schemas/testing.js.map +1 -0
- package/dist/schemas/transcript.d.ts +18 -40
- package/dist/schemas/transcript.d.ts.map +1 -1
- package/dist/schemas/utility.d.ts +33 -65
- package/dist/schemas/utility.d.ts.map +1 -1
- package/dist/schemas/visualization.d.ts +28 -39
- package/dist/schemas/visualization.d.ts.map +1 -1
- package/dist/services/test-generator.d.ts +61 -0
- package/dist/services/test-generator.d.ts.map +1 -0
- package/dist/services/test-generator.js +217 -0
- package/dist/services/test-generator.js.map +1 -0
- package/dist/tools/input.d.ts.map +1 -1
- package/dist/tools/input.js +12 -0
- package/dist/tools/input.js.map +1 -1
- package/dist/tools/integration.d.ts.map +1 -1
- package/dist/tools/integration.js +24 -0
- package/dist/tools/integration.js.map +1 -1
- package/dist/tools/quality.d.ts +3 -2
- package/dist/tools/quality.d.ts.map +1 -1
- package/dist/tools/quality.js +84 -3
- package/dist/tools/quality.js.map +1 -1
- package/dist/tools/testing.d.ts +9 -0
- package/dist/tools/testing.d.ts.map +1 -0
- package/dist/tools/testing.js +130 -0
- package/dist/tools/testing.js.map +1 -0
- package/dist/tools/utility.d.ts.map +1 -1
- package/dist/tools/utility.js +36 -1
- package/dist/tools/utility.js.map +1 -1
- package/dist/types.d.ts +20 -0
- package/dist/types.d.ts.map +1 -1
- package/hooks/auto-docs.md +53 -0
- package/hooks/auto-test.md +61 -0
- package/hooks/changelog.md +74 -0
- package/hooks/security-scan.md +72 -0
- package/hooks/spec-sync.md +80 -0
- package/hooks/srp-validator.md +86 -0
- package/package.json +14 -5
- package/references/design-patterns.md +434 -0
- package/references/ears-notation.md +605 -0
- package/references/spec-templates.md +936 -0
- package/templates/analysis.md +1 -0
- package/templates/api-docs.md +1 -0
- package/templates/bugfix.md +1 -0
- package/templates/checklist.md +1 -0
- package/templates/compliance.md +1 -0
- package/templates/constitution.md +1 -0
- package/templates/cross-analysis.md +1 -0
- package/templates/data-model.md +1 -0
- package/templates/design.md +1 -0
- package/templates/devcontainer.md +1 -0
- package/templates/dockerfile.md +1 -0
- package/templates/onboarding.md +1 -0
- package/templates/research.md +1 -0
- package/templates/runbook.md +1 -0
- package/templates/specification.md +1 -0
- package/templates/sync-report.md +1 -0
- package/templates/tasks.md +3 -2
- package/templates/terraform.md +1 -0
- package/templates/test-stub.md +34 -0
- package/templates/user-stories.md +1 -0
- package/templates/verification.md +1 -0
- package/templates/work-items.md +1 -0
|
@@ -0,0 +1,936 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: SDD Specification Templates - Complete Reference
|
|
3
|
+
version: 1.0.0
|
|
4
|
+
date: 2026-03-20
|
|
5
|
+
author: Claude
|
|
6
|
+
description: Production-ready templates for all SDD artifacts
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# SDD Specification Templates
|
|
10
|
+
|
|
11
|
+
This reference provides complete, ready-to-use templates for all seven SDD artifacts. Each template includes YAML frontmatter, section structure, placeholder content, and formatting guidelines.
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Template 1: CONSTITUTION.md
|
|
16
|
+
|
|
17
|
+
**Purpose:** Establish project governance, naming conventions, amendment protocol, and decision-making authority
|
|
18
|
+
|
|
19
|
+
**Usage:** Generated first in Phase 0; referenced throughout project lifecycle
|
|
20
|
+
|
|
21
|
+
```markdown
|
|
22
|
+
---
|
|
23
|
+
title: Project Constitution
|
|
24
|
+
project_id: [PROJECT_ID]
|
|
25
|
+
version: 1.0.0
|
|
26
|
+
date: 2026-03-20
|
|
27
|
+
author: Claude (SDD Constitution Generator)
|
|
28
|
+
status: Approved
|
|
29
|
+
last_amended: 2026-03-20
|
|
30
|
+
amendment_count: 0
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
# [PROJECT_NAME] Constitution
|
|
34
|
+
|
|
35
|
+
## Article 1: Project Charter
|
|
36
|
+
|
|
37
|
+
### 1.1 Vision Statement
|
|
38
|
+
[1-2 sentences describing the transformational impact of the project]
|
|
39
|
+
|
|
40
|
+
Example:
|
|
41
|
+
"Enable enterprises to manage payroll and compliance in a single platform,
|
|
42
|
+
reducing HR administrative overhead by 70%."
|
|
43
|
+
|
|
44
|
+
### 1.2 Mission Statement
|
|
45
|
+
[1 sentence describing what the project accomplishes]
|
|
46
|
+
|
|
47
|
+
Example:
|
|
48
|
+
"Build a cloud-native, scalable payroll and HR management system with
|
|
49
|
+
comprehensive compliance reporting for mid-market enterprises."
|
|
50
|
+
|
|
51
|
+
### 1.3 Success Criteria
|
|
52
|
+
- [Measurable goal 1: e.g., "Support 1,000+ enterprise customers by year 1"]
|
|
53
|
+
- [Measurable goal 2: e.g., "99.9% uptime SLA in production"]
|
|
54
|
+
- [Measurable goal 3: e.g., "Process 1M+ payroll transactions per month"]
|
|
55
|
+
|
|
56
|
+
### 1.4 Constraints & Assumptions
|
|
57
|
+
- **Budget:** [Total project budget or cost constraint]
|
|
58
|
+
- **Timeline:** [Launch date or delivery milestone]
|
|
59
|
+
- **Team:** [Team size, key roles]
|
|
60
|
+
- **Regulatory:** [GDPR, SOC2, PCI compliance requirements]
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## Article 2: Naming Conventions
|
|
65
|
+
|
|
66
|
+
### 2.1 Artifact Naming
|
|
67
|
+
All specification artifacts follow the naming pattern: `[ARTIFACT_TYPE].md`
|
|
68
|
+
|
|
69
|
+
| Artifact | Filename | Purpose |
|
|
70
|
+
|----------|----------|---------|
|
|
71
|
+
| Constitution | CONSTITUTION.md | Governance & charter |
|
|
72
|
+
| Specification | SPECIFICATION.md | Requirements in EARS notation |
|
|
73
|
+
| Clarification | CLARIFICATION.md | Ambiguity resolution (optional) |
|
|
74
|
+
| Design | DESIGN.md | Architecture & design decisions |
|
|
75
|
+
| Tasks | TASKS.md | Implementation task breakdown |
|
|
76
|
+
| Analysis | ANALYSIS.md | Quality assurance & traceability |
|
|
77
|
+
| Sync Report | SYNC_REPORT.md | Drift detection & consistency |
|
|
78
|
+
|
|
79
|
+
**Example:** `/project-root/SPECIFICATION.md`, `/project-root/DESIGN.md`
|
|
80
|
+
|
|
81
|
+
### 2.2 Requirement ID Format
|
|
82
|
+
Format: `REQ-[CATEGORY]-[SEQUENCE]`
|
|
83
|
+
|
|
84
|
+
- **CATEGORY:** AUTH (authentication), PAYMENT (payment), USER (user management), etc.
|
|
85
|
+
- **SEQUENCE:** 001, 002, 003, ...
|
|
86
|
+
|
|
87
|
+
**Examples:**
|
|
88
|
+
- REQ-AUTH-001: "The system shall authenticate users via email and password"
|
|
89
|
+
- REQ-PAYMENT-005: "The system shall process payments via Stripe"
|
|
90
|
+
- REQ-USER-012: "System shall support user profile customization"
|
|
91
|
+
|
|
92
|
+
### 2.3 Feature ID Format
|
|
93
|
+
Format: `Feature [SEQUENCE]: [Feature Name]`
|
|
94
|
+
|
|
95
|
+
**Examples:**
|
|
96
|
+
- Feature 001: User Authentication & JWT
|
|
97
|
+
- Feature 002: User Management
|
|
98
|
+
- Feature 003: Payment Integration
|
|
99
|
+
|
|
100
|
+
### 2.4 Task ID Format
|
|
101
|
+
Format: `[FEATURE_SEQUENCE].[TASK_SEQUENCE]`
|
|
102
|
+
|
|
103
|
+
**Examples:**
|
|
104
|
+
- 001.1: User Login Endpoint (under Feature 001)
|
|
105
|
+
- 002.3: User Profile Update (under Feature 002)
|
|
106
|
+
- 003.2: Stripe Webhook Handler (under Feature 003)
|
|
107
|
+
|
|
108
|
+
### 2.5 ADR (Architecture Decision Record) Format
|
|
109
|
+
Format: `ADR-[SEQUENCE]: [Decision Title]`
|
|
110
|
+
|
|
111
|
+
**Examples:**
|
|
112
|
+
- ADR-001: Use JWT for Stateless Authentication
|
|
113
|
+
- ADR-002: Redis for Token Caching
|
|
114
|
+
- ADR-003: Kubernetes for Orchestration
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
## Article 3: Amendment Protocol
|
|
119
|
+
|
|
120
|
+
### 3.1 Change Request Process
|
|
121
|
+
|
|
122
|
+
**Step 1: Identify Issue**
|
|
123
|
+
- Issue type: Missing requirement? Unclear specification? Inconsistency?
|
|
124
|
+
- Create GitHub issue with template:
|
|
125
|
+
```
|
|
126
|
+
Title: [Amendment Type] - [Brief Description]
|
|
127
|
+
Body:
|
|
128
|
+
## Issue
|
|
129
|
+
[What is wrong or missing?]
|
|
130
|
+
|
|
131
|
+
## Affected Artifact(s)
|
|
132
|
+
- SPECIFICATION.md (REQ-AUTH-001)
|
|
133
|
+
- DESIGN.md (Section 2.3)
|
|
134
|
+
|
|
135
|
+
## Proposed Resolution
|
|
136
|
+
[How should it be fixed?]
|
|
137
|
+
|
|
138
|
+
## Justification
|
|
139
|
+
[Why is this change necessary?]
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
**Step 2: Propose Amendment**
|
|
143
|
+
- Author: Submitter of the issue
|
|
144
|
+
- Reviewer: Tech Lead, Architecture Lead, or Project Manager
|
|
145
|
+
- Discussion: Comment thread in GitHub issue
|
|
146
|
+
|
|
147
|
+
**Step 3: Approval**
|
|
148
|
+
- Minimum: 1 approval (Tech Lead)
|
|
149
|
+
- Complex changes (affecting >2 artifacts): 2 approvals required
|
|
150
|
+
- Approval comment: "Approved for amendment"
|
|
151
|
+
|
|
152
|
+
**Step 4: Implementation**
|
|
153
|
+
- Update artifact(s) with change marker:
|
|
154
|
+
```markdown
|
|
155
|
+
<!-- [AMENDED 2026-03-20 by @reviewer, Issue #42] -->
|
|
156
|
+
```
|
|
157
|
+
- Update version: X.Y.Z → X.Y.(Z+1) for patches, X.(Y+1).0 for minor
|
|
158
|
+
- Update "last_amended" date in YAML frontmatter
|
|
159
|
+
- Increment "amendment_count" in YAML frontmatter
|
|
160
|
+
- Create commit: `chore: amend [ARTIFACT] - [brief description]`
|
|
161
|
+
|
|
162
|
+
**Step 5: Communication**
|
|
163
|
+
- Post amendment summary to Slack #engineering channel
|
|
164
|
+
- Link to amendment in artifact table of contents
|
|
165
|
+
|
|
166
|
+
### 3.2 Version Numbering
|
|
167
|
+
|
|
168
|
+
Use semantic versioning: `MAJOR.MINOR.PATCH`
|
|
169
|
+
|
|
170
|
+
- **MAJOR (X.0.0):** Affects scope, requirements, or architecture fundamentally
|
|
171
|
+
- Example: Add entire new feature category
|
|
172
|
+
|
|
173
|
+
- **MINOR (1.X.0):** Adds new requirement or modifies existing one
|
|
174
|
+
- Example: Add new user authentication method
|
|
175
|
+
|
|
176
|
+
- **PATCH (1.0.X):** Clarification, bug fix, wording improvement
|
|
177
|
+
- Example: Clarify ambiguous requirement wording
|
|
178
|
+
|
|
179
|
+
**All artifacts maintain same version** (Constitutional requirement)
|
|
180
|
+
|
|
181
|
+
### 3.3 Emergency Amendment (Hot-fix)
|
|
182
|
+
|
|
183
|
+
For critical issues affecting production:
|
|
184
|
+
|
|
185
|
+
1. File emergency amendment with "URGENT" label
|
|
186
|
+
2. Tech Lead can approve unilaterally (within 30 minutes)
|
|
187
|
+
3. Update artifact immediately with [EMERGENCY AMENDED] marker
|
|
188
|
+
4. Announce to team immediately
|
|
189
|
+
5. Follow normal process in next daily standup
|
|
190
|
+
|
|
191
|
+
### 3.4 Amendment Log
|
|
192
|
+
|
|
193
|
+
| Date | Issue | Artifact | Type | Approved By | Version |
|
|
194
|
+
|------|-------|----------|------|-------------|---------|
|
|
195
|
+
| 2026-03-20 | #001 | SPECIFICATION | Clarification | @tech-lead | 1.0.1 |
|
|
196
|
+
| 2026-03-21 | #005 | DESIGN | Feature | @arch-lead | 1.1.0 |
|
|
197
|
+
|
|
198
|
+
---
|
|
199
|
+
|
|
200
|
+
## Article 4: Decision-Making Authority
|
|
201
|
+
|
|
202
|
+
### 4.1 Decision Matrix
|
|
203
|
+
|
|
204
|
+
| Decision | Authority | Timeline | Approval |
|
|
205
|
+
|----------|-----------|----------|----------|
|
|
206
|
+
| Small amendments (wording, clarification) | Tech Lead | 1 day | 1 approval |
|
|
207
|
+
| Requirement addition/modification | Tech Lead + Project Manager | 2 days | 2 approvals |
|
|
208
|
+
| Architecture change (new component) | Architecture Lead | 3 days | 1 approval + design review |
|
|
209
|
+
| Scope change (new feature) | Project Manager + Product Lead | 5 days | 2+ approvals |
|
|
210
|
+
| Critical hot-fix (production issue) | Tech Lead | 30 minutes | 1 approval |
|
|
211
|
+
|
|
212
|
+
### 4.2 Escalation Path
|
|
213
|
+
- Issue disputed: Escalate to Tech Lead
|
|
214
|
+
- Tech Lead disagreement: Escalate to Architecture Lead
|
|
215
|
+
- Architecture Lead disagreement: Escalate to Project Manager
|
|
216
|
+
- Final authority: Project Manager (with stakeholder input)
|
|
217
|
+
|
|
218
|
+
---
|
|
219
|
+
|
|
220
|
+
## Article 5: Project Metadata
|
|
221
|
+
|
|
222
|
+
| Field | Value |
|
|
223
|
+
|-------|-------|
|
|
224
|
+
| Project ID | [PROJECT_ID] |
|
|
225
|
+
| Project Name | [PROJECT_NAME] |
|
|
226
|
+
| Team Size | [X engineers] |
|
|
227
|
+
| Start Date | [DATE] |
|
|
228
|
+
| Target Launch | [DATE] |
|
|
229
|
+
| Regulatory Scope | [GDPR, SOC2, PCI, etc.] |
|
|
230
|
+
| Primary Users | [User personas] |
|
|
231
|
+
| Scale Target | [X users, Y transactions/month] |
|
|
232
|
+
|
|
233
|
+
---
|
|
234
|
+
|
|
235
|
+
## Signatures
|
|
236
|
+
|
|
237
|
+
**Approved by:**
|
|
238
|
+
- [ ] Tech Lead: _________________________ Date: _________
|
|
239
|
+
- [ ] Project Manager: _________________________ Date: _________
|
|
240
|
+
- [ ] Architecture Lead: _________________________ Date: _________
|
|
241
|
+
|
|
242
|
+
---
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
---
|
|
246
|
+
|
|
247
|
+
## Template 2: SPECIFICATION.md
|
|
248
|
+
|
|
249
|
+
**Purpose:** Comprehensive requirements in EARS notation with acceptance criteria
|
|
250
|
+
|
|
251
|
+
**Usage:** Central artifact; referenced by Design and Tasks
|
|
252
|
+
|
|
253
|
+
```markdown
|
|
254
|
+
---
|
|
255
|
+
title: System Specification
|
|
256
|
+
project_id: [PROJECT_ID]
|
|
257
|
+
version: 1.0.0
|
|
258
|
+
date: 2026-03-20
|
|
259
|
+
author: Claude (SDD Spec Generator)
|
|
260
|
+
based_on: CONSTITUTION.md
|
|
261
|
+
status: Draft
|
|
262
|
+
last_amended: 2026-03-20
|
|
263
|
+
amendment_count: 0
|
|
264
|
+
---
|
|
265
|
+
|
|
266
|
+
# System Specification
|
|
267
|
+
|
|
268
|
+
## Executive Summary
|
|
269
|
+
|
|
270
|
+
[2-3 paragraphs overview of system scope, primary capabilities, user personas, and success criteria]
|
|
271
|
+
|
|
272
|
+
Example:
|
|
273
|
+
"This document specifies a cloud-native payroll and HR management platform
|
|
274
|
+
for mid-market enterprises (500-5000 employees). The system enables HR teams
|
|
275
|
+
to manage payroll, benefits, compliance reporting, and employee lifecycle
|
|
276
|
+
in a single platform, reducing manual overhead by 70%.
|
|
277
|
+
|
|
278
|
+
The system serves three primary user personas: HR Managers, Finance Directors,
|
|
279
|
+
and Employees. The platform must support 10,000+ concurrent users, process
|
|
280
|
+
1M+ payroll transactions monthly, and maintain 99.9% uptime.
|
|
281
|
+
|
|
282
|
+
Success is measured by customer acquisition (500+ customers in year 1),
|
|
283
|
+
uptime SLA compliance (99.9%), and employee NPS (>45)."
|
|
284
|
+
|
|
285
|
+
---
|
|
286
|
+
|
|
287
|
+
## 1. Scope Definition
|
|
288
|
+
|
|
289
|
+
### 1.1 In-Scope Capabilities
|
|
290
|
+
- [Capability 1: User authentication and authorization]
|
|
291
|
+
- [Capability 2: Payroll calculation and processing]
|
|
292
|
+
- [Capability 3: Compliance reporting (tax, benefits, audit)]
|
|
293
|
+
- [Capability 4: Employee self-service portal]
|
|
294
|
+
|
|
295
|
+
### 1.2 Out-of-Scope (Explicitly NOT Included)
|
|
296
|
+
- Third-party payroll integration (e.g., ADP sync) → Future enhancement
|
|
297
|
+
- Time & attendance system → Separate product
|
|
298
|
+
- Talent acquisition (recruiting) → Out of scope
|
|
299
|
+
- Performance management → Future enhancement
|
|
300
|
+
|
|
301
|
+
### 1.3 Known Constraints
|
|
302
|
+
- Single-tenant SaaS (not multi-tenant in v1.0)
|
|
303
|
+
- US payroll rules only (not international)
|
|
304
|
+
- English language only (localization deferred)
|
|
305
|
+
- Browser-based only (no mobile app in v1.0)
|
|
306
|
+
|
|
307
|
+
---
|
|
308
|
+
|
|
309
|
+
## 2. User Personas & Use Cases
|
|
310
|
+
|
|
311
|
+
### 2.1 Primary Personas
|
|
312
|
+
|
|
313
|
+
**Persona 1: Sarah (HR Manager)**
|
|
314
|
+
- Role: Manages payroll for 500-employee company
|
|
315
|
+
- Tech comfort: Intermediate (uses spreadsheets, accounting software)
|
|
316
|
+
- Primary goal: Reduce manual payroll processing time from 16 hours to 2 hours/month
|
|
317
|
+
- Pain point: Current process is error-prone; no audit trail for compliance
|
|
318
|
+
|
|
319
|
+
**Persona 2: Mike (Finance Director)**
|
|
320
|
+
- Role: Oversees financial reporting and compliance
|
|
321
|
+
- Tech comfort: Advanced (data analysis, SQL)
|
|
322
|
+
- Primary goal: Real-time visibility into labor costs; automated tax compliance reporting
|
|
323
|
+
- Pain point: Spreadsheet-based reporting is slow and prone to errors
|
|
324
|
+
|
|
325
|
+
**Persona 3: Emma (Employee)**
|
|
326
|
+
- Role: Individual contributor
|
|
327
|
+
- Tech comfort: Basic (email, web browser)
|
|
328
|
+
- Primary goal: View pay stubs, request time off, update profile
|
|
329
|
+
- Pain point: Current process requires HR intervention for simple requests
|
|
330
|
+
|
|
331
|
+
### 2.2 Primary Use Cases
|
|
332
|
+
|
|
333
|
+
**Use Case 1: Monthly Payroll Run**
|
|
334
|
+
- Actor: Sarah (HR Manager)
|
|
335
|
+
- Precondition: Timesheets submitted and approved
|
|
336
|
+
- Steps:
|
|
337
|
+
1. Log into system
|
|
338
|
+
2. Review employee timesheets (hours, time-off requests)
|
|
339
|
+
3. Run payroll calculation
|
|
340
|
+
4. Review calculated amounts and deductions
|
|
341
|
+
5. Approve and process
|
|
342
|
+
6. Generate check runs and direct deposits
|
|
343
|
+
- Postcondition: Paychecks processed, employees notified
|
|
344
|
+
|
|
345
|
+
**Use Case 2: Compliance Reporting**
|
|
346
|
+
- Actor: Mike (Finance Director)
|
|
347
|
+
- Precondition: Payroll processed for period
|
|
348
|
+
- Steps:
|
|
349
|
+
1. Access compliance reporting dashboard
|
|
350
|
+
2. Generate tax reports (federal, state, local)
|
|
351
|
+
3. Export reports for accountant/CPA
|
|
352
|
+
4. Track compliance deadlines
|
|
353
|
+
- Postcondition: Compliance reports generated and exported
|
|
354
|
+
|
|
355
|
+
**Use Case 3: Employee Self-Service**
|
|
356
|
+
- Actor: Emma (Employee)
|
|
357
|
+
- Precondition: Active employee
|
|
358
|
+
- Steps:
|
|
359
|
+
1. Log into employee portal
|
|
360
|
+
2. View recent pay stub
|
|
361
|
+
3. Request time off
|
|
362
|
+
4. Update direct deposit information
|
|
363
|
+
- Postcondition: Time-off request submitted for approval; direct deposit updated
|
|
364
|
+
|
|
365
|
+
---
|
|
366
|
+
|
|
367
|
+
## 3. Functional Requirements (EARS Format)
|
|
368
|
+
|
|
369
|
+
### 3.1 Authentication & Authorization
|
|
370
|
+
|
|
371
|
+
**REQ-AUTH-001:** User Login
|
|
372
|
+
```
|
|
373
|
+
The system shall authenticate users via email address and password combination.
|
|
374
|
+
|
|
375
|
+
Acceptance Criteria:
|
|
376
|
+
- Valid credentials (email + correct password) → 200 OK + JWT token
|
|
377
|
+
- Invalid credentials (wrong password) → 401 Unauthorized
|
|
378
|
+
- Nonexistent email → 401 Unauthorized (no email enumeration)
|
|
379
|
+
- Response time <500ms (p99)
|
|
380
|
+
|
|
381
|
+
Test:
|
|
382
|
+
GET /auth/login { email: "sarah@company.com", password: "correct123" }
|
|
383
|
+
→ 200 OK + token
|
|
384
|
+
```
|
|
385
|
+
|
|
386
|
+
**REQ-AUTH-002:** Session Timeout
|
|
387
|
+
```
|
|
388
|
+
When a user's token expires, the system shall invalidate the token
|
|
389
|
+
and require re-authentication.
|
|
390
|
+
|
|
391
|
+
Acceptance Criteria:
|
|
392
|
+
- Token expiry: 15 minutes
|
|
393
|
+
- Expired token → 401 Unauthorized
|
|
394
|
+
- No automatic re-login; user must manually log in again
|
|
395
|
+
|
|
396
|
+
Test:
|
|
397
|
+
Generate token → wait 15+ min → attempt API call
|
|
398
|
+
→ 401 Unauthorized
|
|
399
|
+
```
|
|
400
|
+
|
|
401
|
+
**REQ-AUTH-003:** Password Security
|
|
402
|
+
```
|
|
403
|
+
The system shall hash all passwords using bcryptjs (10+ salt rounds)
|
|
404
|
+
and shall NOT store plaintext passwords.
|
|
405
|
+
|
|
406
|
+
Acceptance Criteria:
|
|
407
|
+
- All passwords in database are hashed
|
|
408
|
+
- Passwords not logged in any form
|
|
409
|
+
- bcryptjs configured with minimum 10 salt rounds
|
|
410
|
+
|
|
411
|
+
Test:
|
|
412
|
+
Inspect database; verify all password columns contain hashes, not plaintext
|
|
413
|
+
```
|
|
414
|
+
|
|
415
|
+
**REQ-AUTH-004:** Role-Based Access Control (RBAC)
|
|
416
|
+
```
|
|
417
|
+
The system shall enforce role-based access control with roles: ADMIN, HR_MANAGER, FINANCE_DIRECTOR, EMPLOYEE.
|
|
418
|
+
|
|
419
|
+
Acceptance Criteria:
|
|
420
|
+
- ADMIN: Full system access
|
|
421
|
+
- HR_MANAGER: Payroll, employee data, reports
|
|
422
|
+
- FINANCE_DIRECTOR: Reports, compliance, audit logs
|
|
423
|
+
- EMPLOYEE: Own pay stub, profile, time-off request
|
|
424
|
+
|
|
425
|
+
Test:
|
|
426
|
+
Log in as EMPLOYEE → attempt access /admin/payroll
|
|
427
|
+
→ 403 Forbidden
|
|
428
|
+
```
|
|
429
|
+
|
|
430
|
+
### 3.2 User Management
|
|
431
|
+
|
|
432
|
+
**REQ-USER-001:** User Registration
|
|
433
|
+
```
|
|
434
|
+
Where the account type is ENTERPRISE, the system shall require administrator
|
|
435
|
+
to provision new user accounts (no self-signup).
|
|
436
|
+
|
|
437
|
+
Acceptance Criteria:
|
|
438
|
+
- ENTERPRISE accounts: No self-service signup
|
|
439
|
+
- ADMIN user can create new user with role assignment
|
|
440
|
+
- Confirmation email sent to new user
|
|
441
|
+
- New user inactive until email confirmed
|
|
442
|
+
|
|
443
|
+
Test:
|
|
444
|
+
Attempt self-signup as ENTERPRISE user
|
|
445
|
+
→ Registration blocked; admin must provision
|
|
446
|
+
```
|
|
447
|
+
|
|
448
|
+
**REQ-USER-002:** Profile Management
|
|
449
|
+
```
|
|
450
|
+
The system shall allow users to view and update their own profile
|
|
451
|
+
(name, email, phone, address) but shall NOT allow users to modify other users' profiles.
|
|
452
|
+
|
|
453
|
+
Acceptance Criteria:
|
|
454
|
+
- User can view own profile
|
|
455
|
+
- User can edit own name, email, phone, address
|
|
456
|
+
- User cannot access other users' profiles
|
|
457
|
+
- Admin can edit any user's profile
|
|
458
|
+
- Changes logged for audit trail
|
|
459
|
+
|
|
460
|
+
Test:
|
|
461
|
+
Log in as User A → GET /profile/user-b → 403 Forbidden
|
|
462
|
+
Log in as Admin → GET /profile/user-b → 200 OK + profile data
|
|
463
|
+
```
|
|
464
|
+
|
|
465
|
+
### 3.3 Payroll Processing
|
|
466
|
+
|
|
467
|
+
**REQ-PAYROLL-001:** Payroll Calculation
|
|
468
|
+
```
|
|
469
|
+
When an HR manager initiates payroll run, the system shall calculate
|
|
470
|
+
gross pay, deductions, and net pay for all eligible employees.
|
|
471
|
+
|
|
472
|
+
Acceptance Criteria:
|
|
473
|
+
- Gross pay calculated from hours + rate
|
|
474
|
+
- Deductions applied: federal tax, state tax, FICA, benefits
|
|
475
|
+
- Net pay = gross - deductions
|
|
476
|
+
- Results available for review before processing
|
|
477
|
+
- Calculation accuracy: within $0.01 of manual calculation
|
|
478
|
+
|
|
479
|
+
Test:
|
|
480
|
+
Run payroll for single employee with 40 hours @ $50/hr
|
|
481
|
+
→ Verify gross = $2000
|
|
482
|
+
→ Verify deductions calculated correctly
|
|
483
|
+
→ Verify net = gross - deductions
|
|
484
|
+
```
|
|
485
|
+
|
|
486
|
+
**REQ-PAYROLL-002:** Audit Trail
|
|
487
|
+
```
|
|
488
|
+
The system shall maintain immutable audit trail of all payroll changes
|
|
489
|
+
for compliance and dispute resolution.
|
|
490
|
+
|
|
491
|
+
Acceptance Criteria:
|
|
492
|
+
- All payroll modifications logged (who, when, what changed)
|
|
493
|
+
- Audit logs non-editable
|
|
494
|
+
- Logs retained for minimum 7 years
|
|
495
|
+
- Finance director can view audit trail
|
|
496
|
+
|
|
497
|
+
Test:
|
|
498
|
+
Modify payroll amount → verify change logged
|
|
499
|
+
Attempt to delete audit log entry → operation blocked
|
|
500
|
+
```
|
|
501
|
+
|
|
502
|
+
### 3.4 Compliance Reporting
|
|
503
|
+
|
|
504
|
+
**REQ-COMPLIANCE-001:** Tax Report Generation
|
|
505
|
+
```
|
|
506
|
+
The system shall generate accurate federal, state, and local tax reports
|
|
507
|
+
required by law for payroll compliance.
|
|
508
|
+
|
|
509
|
+
Acceptance Criteria:
|
|
510
|
+
- Federal tax reports (940, 941, 1099)
|
|
511
|
+
- State tax reports (varies by jurisdiction)
|
|
512
|
+
- Local tax reports (where applicable)
|
|
513
|
+
- Reports exportable as PDF or CSV
|
|
514
|
+
- Reports generated within 1 second
|
|
515
|
+
|
|
516
|
+
Test:
|
|
517
|
+
Generate 941 report for Q1 → verify data accuracy
|
|
518
|
+
→ verify PDF/CSV export works
|
|
519
|
+
```
|
|
520
|
+
|
|
521
|
+
**REQ-COMPLIANCE-002:** Compliance Deadline Tracking
|
|
522
|
+
```
|
|
523
|
+
The system shall track compliance deadlines and notify administrators
|
|
524
|
+
of upcoming filing deadlines.
|
|
525
|
+
|
|
526
|
+
Acceptance Criteria:
|
|
527
|
+
- Compliance calendar displays all filing deadlines
|
|
528
|
+
- Email notification sent 5 days before deadline
|
|
529
|
+
- Dashboard highlights overdue items
|
|
530
|
+
- Support for federal, state, local deadlines
|
|
531
|
+
|
|
532
|
+
Test:
|
|
533
|
+
Create compliance deadline for 5 days from now
|
|
534
|
+
→ verify email notification sent
|
|
535
|
+
→ verify dashboard shows deadline
|
|
536
|
+
```
|
|
537
|
+
|
|
538
|
+
### 3.5 Employee Self-Service
|
|
539
|
+
|
|
540
|
+
**REQ-EMPLOYEE-001:** Pay Stub Access
|
|
541
|
+
```
|
|
542
|
+
The system shall allow employees to view and download their pay stubs.
|
|
543
|
+
|
|
544
|
+
Acceptance Criteria:
|
|
545
|
+
- Employee can access own pay stubs (current + historical)
|
|
546
|
+
- Pay stub downloadable as PDF
|
|
547
|
+
- Cannot access other employees' pay stubs
|
|
548
|
+
- Access logged for audit
|
|
549
|
+
|
|
550
|
+
Test:
|
|
551
|
+
Log in as Employee A → view pay stub
|
|
552
|
+
→ download as PDF → verify contents match payroll data
|
|
553
|
+
```
|
|
554
|
+
|
|
555
|
+
**REQ-EMPLOYEE-002:** Time-Off Request
|
|
556
|
+
```
|
|
557
|
+
The system shall allow employees to request paid time off
|
|
558
|
+
(vacation, sick leave, personal) with manager approval workflow.
|
|
559
|
+
|
|
560
|
+
Acceptance Criteria:
|
|
561
|
+
- Employee submits request (date, type)
|
|
562
|
+
- Manager receives notification
|
|
563
|
+
- Manager can approve or deny
|
|
564
|
+
- Employee notified of decision
|
|
565
|
+
- Approved time-off blocks future payroll calculations
|
|
566
|
+
|
|
567
|
+
Test:
|
|
568
|
+
Employee requests 3 days vacation
|
|
569
|
+
→ Manager receives notification → Manager approves
|
|
570
|
+
→ Employee notified → Time-off appears in calendar
|
|
571
|
+
```
|
|
572
|
+
|
|
573
|
+
---
|
|
574
|
+
|
|
575
|
+
## 4. Non-Functional Requirements
|
|
576
|
+
|
|
577
|
+
### 4.1 Performance
|
|
578
|
+
|
|
579
|
+
**REQ-PERF-001:** API Latency
|
|
580
|
+
```
|
|
581
|
+
When a user makes an API request, the system shall respond
|
|
582
|
+
within 500ms (p99 latency) during normal load (100 concurrent users).
|
|
583
|
+
|
|
584
|
+
Target: p50 <100ms, p95 <300ms, p99 <500ms
|
|
585
|
+
Environment: Production AWS infrastructure
|
|
586
|
+
```
|
|
587
|
+
|
|
588
|
+
**REQ-PERF-002:** Payroll Processing Time
|
|
589
|
+
```
|
|
590
|
+
When an HR manager runs payroll for 1000 employees, the system
|
|
591
|
+
shall complete calculation and make results available for review
|
|
592
|
+
within 30 seconds.
|
|
593
|
+
|
|
594
|
+
Target: <30s for 1000 employees, <1s for 100 employees
|
|
595
|
+
```
|
|
596
|
+
|
|
597
|
+
**REQ-PERF-003:** Report Generation
|
|
598
|
+
```
|
|
599
|
+
When a user requests a compliance report, the system shall
|
|
600
|
+
generate and return the report within 5 seconds.
|
|
601
|
+
|
|
602
|
+
Target: <5s for any report type
|
|
603
|
+
```
|
|
604
|
+
|
|
605
|
+
### 4.2 Reliability & Uptime
|
|
606
|
+
|
|
607
|
+
**REQ-RELIABILITY-001:** Availability
|
|
608
|
+
```
|
|
609
|
+
The system shall maintain 99.9% uptime SLA in production
|
|
610
|
+
(maximum 43 minutes downtime per month).
|
|
611
|
+
|
|
612
|
+
Target: 99.9% uptime
|
|
613
|
+
Measurement: HTTP health check endpoint
|
|
614
|
+
Exclusions: Planned maintenance (max 4 hours/month)
|
|
615
|
+
```
|
|
616
|
+
|
|
617
|
+
**REQ-RELIABILITY-002:** Data Durability
|
|
618
|
+
```
|
|
619
|
+
The system shall implement automated backups and disaster recovery
|
|
620
|
+
to prevent data loss from hardware failure.
|
|
621
|
+
|
|
622
|
+
Target: RPO (Recovery Point Objective) <15 minutes
|
|
623
|
+
Target: RTO (Recovery Time Objective) <1 hour
|
|
624
|
+
Backup frequency: Every 15 minutes
|
|
625
|
+
Backup locations: Multi-region (primary + standby)
|
|
626
|
+
```
|
|
627
|
+
|
|
628
|
+
### 4.3 Security
|
|
629
|
+
|
|
630
|
+
**REQ-SECURITY-001:** Data Encryption
|
|
631
|
+
```
|
|
632
|
+
The system shall encrypt all personally identifiable information (PII)
|
|
633
|
+
at rest and in transit.
|
|
634
|
+
|
|
635
|
+
At rest: AES-256 encryption in database
|
|
636
|
+
In transit: HTTPS/TLS 1.3 for all API communication
|
|
637
|
+
Key management: AWS KMS
|
|
638
|
+
```
|
|
639
|
+
|
|
640
|
+
**REQ-SECURITY-002:** OWASP Compliance
|
|
641
|
+
```
|
|
642
|
+
The system shall be free of high-severity OWASP Top 10 vulnerabilities.
|
|
643
|
+
|
|
644
|
+
Target: Zero high-severity vulnerabilities in production
|
|
645
|
+
Validation: OWASP Dependency Check + annual penetration test
|
|
646
|
+
```
|
|
647
|
+
|
|
648
|
+
**REQ-SECURITY-003:** Access Control
|
|
649
|
+
```
|
|
650
|
+
The system shall implement principle of least privilege for all system access.
|
|
651
|
+
|
|
652
|
+
User roles: ADMIN, HR_MANAGER, FINANCE_DIRECTOR, EMPLOYEE
|
|
653
|
+
Default: EMPLOYEE (most restricted)
|
|
654
|
+
Access logs: Audit trail of all permission changes
|
|
655
|
+
```
|
|
656
|
+
|
|
657
|
+
### 4.4 Scalability
|
|
658
|
+
|
|
659
|
+
**REQ-SCALABILITY-001:** Concurrent Users
|
|
660
|
+
```
|
|
661
|
+
The system shall support 10,000 concurrent users without degradation
|
|
662
|
+
in performance (response time <500ms p99).
|
|
663
|
+
|
|
664
|
+
Load test: 10,000 concurrent users, sustained for 1 hour
|
|
665
|
+
Auto-scaling: Kubernetes horizontal pod autoscaler
|
|
666
|
+
```
|
|
667
|
+
|
|
668
|
+
**REQ-SCALABILITY-002:** Data Volume
|
|
669
|
+
```
|
|
670
|
+
The system shall support 50 million historical payroll records without
|
|
671
|
+
performance degradation (<500ms latency for queries).
|
|
672
|
+
|
|
673
|
+
Data retention: 7+ years of payroll history
|
|
674
|
+
Database: Partitioned by company_id and pay_period
|
|
675
|
+
Archival: Quarterly archival of old data to cold storage
|
|
676
|
+
```
|
|
677
|
+
|
|
678
|
+
### 4.5 Maintainability
|
|
679
|
+
|
|
680
|
+
**REQ-MAINTAINABILITY-001:** Code Quality
|
|
681
|
+
```
|
|
682
|
+
The system shall maintain >80% test coverage for business logic
|
|
683
|
+
and code review checklist compliance for all changes.
|
|
684
|
+
|
|
685
|
+
Target: >80% unit test coverage
|
|
686
|
+
Target: >70% integration test coverage
|
|
687
|
+
Code review: 2+ approvals required for any production code
|
|
688
|
+
```
|
|
689
|
+
|
|
690
|
+
**REQ-MAINTAINABILITY-002:** Documentation
|
|
691
|
+
```
|
|
692
|
+
The system shall provide comprehensive documentation for
|
|
693
|
+
developers, operators, and end-users.
|
|
694
|
+
|
|
695
|
+
Developer docs: Architecture, API contracts, data model
|
|
696
|
+
Operator docs: Deployment, scaling, troubleshooting
|
|
697
|
+
User docs: Feature guides, FAQs, video tutorials
|
|
698
|
+
```
|
|
699
|
+
|
|
700
|
+
---
|
|
701
|
+
|
|
702
|
+
## 5. Assumptions & Dependencies
|
|
703
|
+
|
|
704
|
+
### 5.1 Assumptions
|
|
705
|
+
- Customers have existing employee data (HRIS or spreadsheet)
|
|
706
|
+
- Customers have basic internet connectivity (broadband)
|
|
707
|
+
- Payroll accountant or bookkeeper available for setup assistance
|
|
708
|
+
- No requirement for integration with legacy systems (v1.0)
|
|
709
|
+
|
|
710
|
+
### 5.2 External Dependencies
|
|
711
|
+
- **Stripe:** Payment processing for subscription billing
|
|
712
|
+
- **SendGrid:** Email service for notifications and reports
|
|
713
|
+
- **AWS:** Cloud infrastructure (EC2, RDS, S3, KMS)
|
|
714
|
+
- **Auth0:** Optional third-party auth provider (future)
|
|
715
|
+
|
|
716
|
+
### 5.3 Technology Assumptions
|
|
717
|
+
- Target browsers: Chrome, Firefox, Safari (latest 2 versions)
|
|
718
|
+
- Target OS: Windows 10+, macOS 10.15+, Linux (Ubuntu 20.04+)
|
|
719
|
+
- Internet: Assumes stable internet (not for offline use)
|
|
720
|
+
|
|
721
|
+
---
|
|
722
|
+
|
|
723
|
+
## 6. Success Criteria & Acceptance Tests
|
|
724
|
+
|
|
725
|
+
### 6.1 User Acceptance Criteria
|
|
726
|
+
- [ ] All three user personas can complete primary use cases
|
|
727
|
+
- [ ] Payroll run for 100 employees takes <5 minutes (end-to-end)
|
|
728
|
+
- [ ] Compliance reports match manual calculations exactly
|
|
729
|
+
- [ ] Employee self-service doesn't require IT support
|
|
730
|
+
|
|
731
|
+
### 6.2 Technical Acceptance Criteria
|
|
732
|
+
- [ ] All acceptance tests pass
|
|
733
|
+
- [ ] Performance benchmarks met (p99 <500ms)
|
|
734
|
+
- [ ] Uptime target met (99.9% in staging for 1 week)
|
|
735
|
+
- [ ] Security scan clean (zero high-severity vulnerabilities)
|
|
736
|
+
- [ ] Load test: 10,000 concurrent users, zero errors
|
|
737
|
+
|
|
738
|
+
### 6.3 Deployment Acceptance Criteria
|
|
739
|
+
- [ ] All feature flags enabled in production
|
|
740
|
+
- [ ] Monitoring and alerting configured
|
|
741
|
+
- [ ] Incident response plan documented
|
|
742
|
+
- [ ] Runbook created for common issues
|
|
743
|
+
|
|
744
|
+
---
|
|
745
|
+
|
|
746
|
+
## Self-Assessment Checklist
|
|
747
|
+
|
|
748
|
+
Before considering this specification complete, verify:
|
|
749
|
+
|
|
750
|
+
- [ ] **Completeness:** Every requirement has acceptance criteria
|
|
751
|
+
- [ ] **Clarity:** No ambiguous terms; all EARS patterns used correctly
|
|
752
|
+
- [ ] **Testability:** Every requirement can be tested automatically or manually
|
|
753
|
+
- [ ] **Traceability:** Every requirement links to at least one design component
|
|
754
|
+
- [ ] **Feasibility:** No requirements contradict each other
|
|
755
|
+
- [ ] **Scope:** Clear distinction between in-scope and out-of-scope
|
|
756
|
+
- [ ] **Measurability:** Performance targets include units (ms, %, GB)
|
|
757
|
+
- [ ] **RFC 2119:** All requirements use SHALL/SHOULD/MAY correctly
|
|
758
|
+
- [ ] **User Focus:** Requirements address user pain points
|
|
759
|
+
- [ ] **Compliance:** All regulatory requirements addressed
|
|
760
|
+
|
|
761
|
+
---
|
|
762
|
+
```
|
|
763
|
+
|
|
764
|
+
---
|
|
765
|
+
|
|
766
|
+
## Template 3: DESIGN.md
|
|
767
|
+
|
|
768
|
+
**Purpose:** Architecture decisions, components, API contracts, and ADRs
|
|
769
|
+
|
|
770
|
+
**Excerpt:** (Full template shown in sdd-design.md command file)
|
|
771
|
+
|
|
772
|
+
---
|
|
773
|
+
|
|
774
|
+
## Template 4: TASKS.md
|
|
775
|
+
|
|
776
|
+
**Purpose:** Implementation task breakdown with Phase -1 gates, sequencing, and status tracking
|
|
777
|
+
|
|
778
|
+
**Excerpt:** (Full template shown in sdd-tasks.md command file)
|
|
779
|
+
|
|
780
|
+
---
|
|
781
|
+
|
|
782
|
+
## Template 5: ANALYSIS.md
|
|
783
|
+
|
|
784
|
+
**Purpose:** Quality assurance, traceability matrix, coverage gaps
|
|
785
|
+
|
|
786
|
+
**Excerpt:** (Full template shown in sdd-analyze.md command file)
|
|
787
|
+
|
|
788
|
+
---
|
|
789
|
+
|
|
790
|
+
## Template 6: SYNC_REPORT.md
|
|
791
|
+
|
|
792
|
+
**Purpose:** Drift detection, consistency checks, amendment tracking
|
|
793
|
+
|
|
794
|
+
```markdown
|
|
795
|
+
---
|
|
796
|
+
title: Specification Synchronization Report
|
|
797
|
+
project_id: [PROJECT_ID]
|
|
798
|
+
version: 1.0.0
|
|
799
|
+
date: 2026-03-20
|
|
800
|
+
author: Claude (SDD Analyzer)
|
|
801
|
+
status: Complete
|
|
802
|
+
---
|
|
803
|
+
|
|
804
|
+
# Specification Synchronization Report
|
|
805
|
+
|
|
806
|
+
## Executive Summary
|
|
807
|
+
[Status of consistency across all artifacts, critical issues, recommendations]
|
|
808
|
+
|
|
809
|
+
---
|
|
810
|
+
|
|
811
|
+
## 1. Version Control
|
|
812
|
+
|
|
813
|
+
| Document | Version | Date | Author | Status |
|
|
814
|
+
|----------|---------|------|--------|--------|
|
|
815
|
+
| CONSTITUTION.md | 1.0.0 | 2026-03-19 | Claude | ✅ |
|
|
816
|
+
| SPECIFICATION.md | 1.0.0 | 2026-03-19 | Claude | ✅ |
|
|
817
|
+
| DESIGN.md | 1.0.0 | 2026-03-19 | Claude | ✅ |
|
|
818
|
+
| TASKS.md | 1.0.0 | 2026-03-19 | Claude | ✅ |
|
|
819
|
+
|
|
820
|
+
**Overall Status:** ✅ All documents at matching versions
|
|
821
|
+
|
|
822
|
+
---
|
|
823
|
+
|
|
824
|
+
## 2. Semantic Validation
|
|
825
|
+
|
|
826
|
+
[Issues detected, line-by-line inconsistencies, conflicts]
|
|
827
|
+
|
|
828
|
+
---
|
|
829
|
+
|
|
830
|
+
## 3. Amendment Tracking
|
|
831
|
+
|
|
832
|
+
| Date | Amendment | Artifact | Approved By | Status |
|
|
833
|
+
|------|-----------|----------|-------------|--------|
|
|
834
|
+
| [None yet] | | | | |
|
|
835
|
+
|
|
836
|
+
**Pending Amendments:** None
|
|
837
|
+
|
|
838
|
+
---
|
|
839
|
+
|
|
840
|
+
## 4. Consistency Checks
|
|
841
|
+
|
|
842
|
+
[Passing/failing checks with remediation]
|
|
843
|
+
|
|
844
|
+
---
|
|
845
|
+
```
|
|
846
|
+
|
|
847
|
+
---
|
|
848
|
+
|
|
849
|
+
## Template 7: BUGFIX_SPEC.md
|
|
850
|
+
|
|
851
|
+
**Purpose:** Bug fix specification with minimal change principle
|
|
852
|
+
|
|
853
|
+
**Excerpt:** (Full template shown in sdd-bugfix.md command file)
|
|
854
|
+
|
|
855
|
+
---
|
|
856
|
+
|
|
857
|
+
## Cross-Template Links
|
|
858
|
+
|
|
859
|
+
All templates use consistent YAML frontmatter:
|
|
860
|
+
|
|
861
|
+
```yaml
|
|
862
|
+
---
|
|
863
|
+
title: [Artifact Name]
|
|
864
|
+
project_id: [PROJECT_ID]
|
|
865
|
+
version: X.Y.Z
|
|
866
|
+
date: YYYY-MM-DD
|
|
867
|
+
author: [Author Name]
|
|
868
|
+
based_on: [Previous Artifact or None]
|
|
869
|
+
status: [Draft | Approved | Merged | Deployed]
|
|
870
|
+
last_amended: YYYY-MM-DD
|
|
871
|
+
amendment_count: 0
|
|
872
|
+
---
|
|
873
|
+
```
|
|
874
|
+
|
|
875
|
+
**Status Workflow:**
|
|
876
|
+
```
|
|
877
|
+
Draft → Reviewed → Approved → Merged → Deployed
|
|
878
|
+
```
|
|
879
|
+
|
|
880
|
+
---
|
|
881
|
+
|
|
882
|
+
## Version Numbering Across Artifacts
|
|
883
|
+
|
|
884
|
+
All seven artifacts maintain synchronized versioning:
|
|
885
|
+
|
|
886
|
+
| Phase | Constitution | Specification | Design | Tasks | Analysis |
|
|
887
|
+
|-------|---|---|---|---|---|
|
|
888
|
+
| Initial | 1.0.0 | 1.0.0 | 1.0.0 | 1.0.0 | 1.0.0 |
|
|
889
|
+
| Clarification | 1.0.0 | 1.0.1 | 1.0.0 | 1.0.0 | 1.0.0 |
|
|
890
|
+
| Feature Add | 1.0.0 | 1.1.0 | 1.1.0 | 1.1.0 | 1.1.0 |
|
|
891
|
+
| Scope Change | 2.0.0 | 2.0.0 | 2.0.0 | 2.0.0 | 2.0.0 |
|
|
892
|
+
|
|
893
|
+
---
|
|
894
|
+
|
|
895
|
+
## Formatting Standards
|
|
896
|
+
|
|
897
|
+
All templates use:
|
|
898
|
+
|
|
899
|
+
**Headings:**
|
|
900
|
+
- H1 (`#`) for artifact title
|
|
901
|
+
- H2 (`##`) for major sections
|
|
902
|
+
- H3 (`###`) for subsections
|
|
903
|
+
- H4 (`####`) for details
|
|
904
|
+
|
|
905
|
+
**Emphasis:**
|
|
906
|
+
- **Bold** for key terms and decision points
|
|
907
|
+
- *Italic* for emphasis on cautions
|
|
908
|
+
- `Code` for file paths, variable names, commands
|
|
909
|
+
|
|
910
|
+
**Lists:**
|
|
911
|
+
- Bullet lists for unordered items
|
|
912
|
+
- Numbered lists for sequential steps
|
|
913
|
+
- Tables for comparisons and structured data
|
|
914
|
+
|
|
915
|
+
**Code Blocks:**
|
|
916
|
+
- Fenced code blocks with language identifier
|
|
917
|
+
- Example inputs/outputs shown explicitly
|
|
918
|
+
|
|
919
|
+
**Callout Blocks:**
|
|
920
|
+
- `> **Note:**` for additional information
|
|
921
|
+
- `> **Warning:**` for cautions
|
|
922
|
+
- `> **Example:**` for illustrations
|
|
923
|
+
|
|
924
|
+
---
|
|
925
|
+
|
|
926
|
+
## Quick Reference
|
|
927
|
+
|
|
928
|
+
| Template | When | Length | Audience | Key Sections |
|
|
929
|
+
|----------|------|--------|----------|--------------|
|
|
930
|
+
| CONSTITUTION | Phase 0 | 2-3 pages | All | Charter, naming, amendments, authority |
|
|
931
|
+
| SPECIFICATION | Phase 1 | 10-15 pages | Engineering + PM | Functional/non-functional req, use cases |
|
|
932
|
+
| DESIGN | Phase 3 | 15-20 pages | Engineering | Architecture, components, ADRs, APIs |
|
|
933
|
+
| TASKS | Phase 4 | 10-15 pages | Engineering | Gates, features, sequencing, status |
|
|
934
|
+
| ANALYSIS | Phase 5 | 8-12 pages | Engineering + QA | Traceability, coverage, gaps, risks |
|
|
935
|
+
| SYNC_REPORT | Phase 5 | 3-5 pages | Tech Lead | Consistency, versioning, amendments |
|
|
936
|
+
| BUGFIX_SPEC | Ad hoc | 5-10 pages | Engineering + QA | Root cause, fix, test plan |
|