project-iris 0.0.16 → 0.0.18

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.
Files changed (42) hide show
  1. package/README.md +86 -15
  2. package/flows/aidlc/README.md +358 -214
  3. package/flows/aidlc/agents/README.md +154 -0
  4. package/flows/aidlc/agents/inception-agent.md +23 -12
  5. package/flows/aidlc/agents/master-agent.md +204 -24
  6. package/flows/aidlc/memory-bank.yaml +61 -10
  7. package/flows/aidlc/quick-start.md +7 -7
  8. package/flows/aidlc/skills/README.md +106 -0
  9. package/flows/aidlc/skills/construction/bolt-start.md +5 -1
  10. package/flows/aidlc/skills/construction/navigator.md +1 -1
  11. package/flows/aidlc/skills/inception/bolt-plan.md +3 -2
  12. package/flows/aidlc/skills/inception/context.md +2 -1
  13. package/flows/aidlc/skills/inception/intent-create.md +91 -2
  14. package/flows/aidlc/skills/inception/navigator.md +13 -8
  15. package/flows/aidlc/skills/inception/requirements.md +541 -95
  16. package/flows/aidlc/skills/inception/review.md +75 -11
  17. package/flows/aidlc/skills/inception/risks.md +541 -0
  18. package/flows/aidlc/skills/inception/story-create.md +2 -1
  19. package/flows/aidlc/skills/inception/units.md +2 -1
  20. package/flows/aidlc/skills/master/answer-question.md +1 -1
  21. package/flows/aidlc/skills/master/code-elevate.md +434 -0
  22. package/flows/aidlc/skills/master/explain-flow.md +6 -6
  23. package/flows/aidlc/skills/master/project-init.md +110 -12
  24. package/flows/aidlc/skills/operations/build.md +32 -4
  25. package/flows/aidlc/skills/operations/monitor.md +75 -14
  26. package/flows/aidlc/skills/operations/rollback.md +239 -0
  27. package/flows/aidlc/templates/README.md +128 -0
  28. package/flows/aidlc/templates/construction/bolt-template.md +5 -5
  29. package/flows/aidlc/templates/construction/bolt-types/ddd-construction-bolt/{ddd-02-technical-design-template.md → ddd-02-logical-design-template.md} +1 -1
  30. package/flows/aidlc/templates/construction/bolt-types/ddd-construction-bolt.md +123 -41
  31. package/flows/aidlc/templates/construction/bolt-types/simple-construction-bolt.md +6 -6
  32. package/flows/aidlc/templates/construction/construction-guide.md +244 -0
  33. package/flows/aidlc/templates/construction/construction-log-template.md +7 -6
  34. package/flows/aidlc/templates/construction/elevation-dynamic-model-template.md +265 -0
  35. package/flows/aidlc/templates/construction/elevation-static-model-template.md +204 -0
  36. package/flows/aidlc/templates/inception/prfaq-template.md +147 -0
  37. package/flows/aidlc/templates/inception/requirements-template.md +70 -5
  38. package/flows/aidlc/templates/inception/risks-template.md +214 -0
  39. package/flows/aidlc/templates/operations/deployment-unit-template.md +228 -0
  40. package/package.json +1 -1
  41. package/flows/aidlc/templates/inception/project/README.md +0 -55
  42. /package/flows/aidlc/templates/construction/bolt-types/ddd-construction-bolt/{ddd-01-domain-model-template.md → ddd-01-domain-design-template.md} +0 -0
@@ -0,0 +1,265 @@
1
+ # Dynamic Model Template
2
+
3
+ Use this template when documenting the dynamic model during code elevation for brownfield projects.
4
+
5
+ ---
6
+
7
+ ## Frontmatter
8
+
9
+ ```yaml
10
+ ---
11
+ project: {project-name}
12
+ type: dynamic-model
13
+ scenario: brownfield
14
+ created: {YYYY-MM-DDTHH:MM:SSZ}
15
+ updated: {YYYY-MM-DDTHH:MM:SSZ}
16
+ use_cases_count: {N}
17
+ integration_points_count: {N}
18
+ ---
19
+ ```
20
+
21
+ ---
22
+
23
+ ## Content
24
+
25
+ ```markdown
26
+ # Dynamic Model: {Project Name}
27
+
28
+ ## Overview
29
+
30
+ - **Use Cases Documented**: {N}
31
+ - **Integration Points Identified**: {N}
32
+ - **Critical Paths Traced**: {N}
33
+ - **Related Static Model**: `memory-bank/elevation/static-model.md`
34
+
35
+ ---
36
+
37
+ ## Significant Use Cases
38
+
39
+ ### Use Case 1: {Name}
40
+
41
+ **Description**: {Brief description of what this use case accomplishes}
42
+
43
+ **Trigger**: {What initiates this flow - user action, API call, scheduled job, etc.}
44
+
45
+ **Actors**:
46
+ - Primary: {e.g., User, Admin, System}
47
+ - Secondary: {e.g., External API, Database}
48
+
49
+ **Preconditions**:
50
+ - {Condition 1: e.g., User must be authenticated}
51
+ - {Condition 2: e.g., Resource must exist}
52
+
53
+ **Interaction Sequence**:
54
+
55
+ ```text
56
+ ┌──────┐ 1. Request ┌───────────┐ 2. Validate ┌───────────┐
57
+ │ User │────────────────────►│ Controller│────────────────────►│ Service │
58
+ └──────┘ └───────────┘ └───────────┘
59
+ ▲ │
60
+ │ ┌──────────────────────────────────┘
61
+ │ │ 3. Query
62
+ │ ▼
63
+ │ ┌───────────┐ 4. SQL ┌──────────┐
64
+ │ │Repository │────────────────────►│ Database │
65
+ │ └───────────┘ └──────────┘
66
+ │ │
67
+ │ │ 5. Data
68
+ │ ▼
69
+ │ 6. Response ┌───────────┐
70
+ └────────────────────────│ Service │
71
+ └───────────┘
72
+ ```
73
+
74
+ **Step-by-Step**:
75
+
76
+ | Step | Component | Action | Input | Output |
77
+ |------|-----------|--------|-------|--------|
78
+ | 1 | Controller | Receives HTTP request | Request body | Validated DTO |
79
+ | 2 | Service | Validates business rules | DTO | Validated entity |
80
+ | 3 | Repository | Queries database | Entity ID | Entity data |
81
+ | 4 | Service | Applies business logic | Entity | Result |
82
+ | 5 | Controller | Returns response | Result | HTTP response |
83
+
84
+ **Data Flow**:
85
+ - **Input**: `{data structure, e.g., { userId: string, action: string }}`
86
+ - **Output**: `{data structure, e.g., { success: boolean, data: object }}`
87
+ - **Transformations**: {How data changes through the flow}
88
+
89
+ **Side Effects**:
90
+ - {Side effect 1: e.g., Database record updated}
91
+ - {Side effect 2: e.g., Event emitted to queue}
92
+ - {Side effect 3: e.g., Audit log created}
93
+
94
+ **Error Scenarios**:
95
+ | Error | Handled By | Response |
96
+ |-------|------------|----------|
97
+ | Validation failure | Controller | 400 Bad Request |
98
+ | Not found | Service | 404 Not Found |
99
+ | Unauthorized | Middleware | 401 Unauthorized |
100
+ | Server error | Error handler | 500 Internal Error |
101
+
102
+ ---
103
+
104
+ ### Use Case 2: {Name}
105
+
106
+ **Description**: {Brief description}
107
+
108
+ **Trigger**: {What initiates this flow}
109
+
110
+ **Actors**:
111
+ - Primary: {actor}
112
+ - Secondary: {actor}
113
+
114
+ **Interaction Sequence**:
115
+
116
+ ```text
117
+ {Diagram}
118
+ ```
119
+
120
+ **Step-by-Step**:
121
+
122
+ | Step | Component | Action | Input | Output |
123
+ |------|-----------|--------|-------|--------|
124
+ | 1 | | | | |
125
+
126
+ **Data Flow**:
127
+ - **Input**: `{structure}`
128
+ - **Output**: `{structure}`
129
+
130
+ **Side Effects**:
131
+ - {effects}
132
+
133
+ ---
134
+
135
+ ## Integration Points
136
+
137
+ ### External APIs
138
+
139
+ | Integration | Protocol | Direction | Endpoint | Purpose |
140
+ |-------------|----------|-----------|----------|---------|
141
+ | {API Name} | REST | Outbound | `{URL}` | {What it's used for} |
142
+ | {API Name} | GraphQL | Outbound | `{URL}` | {What it's used for} |
143
+
144
+ ### Message Queues
145
+
146
+ | Queue | Protocol | Direction | Events | Purpose |
147
+ |-------|----------|-----------|--------|---------|
148
+ | {Queue} | AMQP | Publish | `{event types}` | {Purpose} |
149
+ | {Queue} | AMQP | Subscribe | `{event types}` | {Purpose} |
150
+
151
+ ### Databases
152
+
153
+ | Database | Type | Operations | Tables/Collections |
154
+ |----------|------|------------|-------------------|
155
+ | {DB Name} | PostgreSQL | CRUD | `{table list}` |
156
+ | {Cache} | Redis | Read/Write | `{key patterns}` |
157
+
158
+ ### File Storage
159
+
160
+ | Storage | Type | Operations | Purpose |
161
+ |---------|------|------------|---------|
162
+ | {Storage} | S3 | Upload/Download | {Purpose} |
163
+
164
+ ---
165
+
166
+ ## Critical Paths
167
+
168
+ ### Happy Path: {Primary Flow Name}
169
+
170
+ The most common successful path through the system:
171
+
172
+ ```text
173
+ Entry → Validation → Processing → Persistence → Response
174
+ ```
175
+
176
+ **Performance Characteristics**:
177
+ - Typical latency: {e.g., < 100ms}
178
+ - Bottlenecks: {e.g., Database query at step 3}
179
+
180
+ ### Error Handling Path
181
+
182
+ How errors propagate through the system:
183
+
184
+ ```text
185
+ Error occurs → Caught by {component} → Logged → Transformed → Returned to client
186
+ ```
187
+
188
+ **Error Propagation**:
189
+ - Domain errors: Wrapped and returned as business errors
190
+ - Infrastructure errors: Logged, generic error returned
191
+ - Validation errors: Returned immediately with details
192
+
193
+ ### Authentication Flow
194
+
195
+ How authentication is handled:
196
+
197
+ ```text
198
+ Request → Auth Middleware → Token Validation → User Context → Proceed/Reject
199
+ ```
200
+
201
+ ---
202
+
203
+ ## Event Flows
204
+
205
+ ### Events Emitted
206
+
207
+ | Event | Trigger | Payload | Consumers |
208
+ |-------|---------|---------|-----------|
209
+ | `{event.name}` | {When emitted} | `{payload structure}` | {Who listens} |
210
+
211
+ ### Events Consumed
212
+
213
+ | Event | Source | Handler | Side Effects |
214
+ |-------|--------|---------|--------------|
215
+ | `{event.name}` | {Source} | `{handler}` | {What happens} |
216
+
217
+ ---
218
+
219
+ ## Async Operations
220
+
221
+ ### Background Jobs
222
+
223
+ | Job | Trigger | Frequency | Purpose |
224
+ |-----|---------|-----------|---------|
225
+ | {Job name} | {Cron/Event/Manual} | {Schedule} | {What it does} |
226
+
227
+ ### Long-Running Processes
228
+
229
+ | Process | Duration | Checkpoints | Recovery |
230
+ |---------|----------|-------------|----------|
231
+ | {Process} | {Typical time} | {Checkpoint mechanism} | {How to recover} |
232
+
233
+ ---
234
+
235
+ ## Observations
236
+
237
+ ### Well-Designed Flows
238
+ - {Observation 1: e.g., "Clean error handling in payment flow"}
239
+ - {Observation 2: e.g., "Good separation of concerns in auth"}
240
+
241
+ ### Potential Issues
242
+ - {Issue 1: e.g., "No retry logic for external API calls"}
243
+ - {Issue 2: e.g., "Missing circuit breaker for payment gateway"}
244
+
245
+ ### Recommendations
246
+ - {Recommendation 1: e.g., "Add retry with exponential backoff for API X"}
247
+ - {Recommendation 2: e.g., "Consider caching for frequently accessed data"}
248
+ ```
249
+
250
+ ---
251
+
252
+ ## Quality Checklist
253
+
254
+ Before marking dynamic model complete, verify:
255
+
256
+ - [ ] All significant use cases documented
257
+ - [ ] Each use case has interaction diagram
258
+ - [ ] Step-by-step breakdown provided
259
+ - [ ] Data flow documented (input/output/transformations)
260
+ - [ ] Side effects identified
261
+ - [ ] Error scenarios covered
262
+ - [ ] Integration points mapped
263
+ - [ ] Critical paths traced
264
+ - [ ] Async operations documented
265
+ - [ ] Observations and recommendations noted
@@ -0,0 +1,204 @@
1
+ # Static Model Template
2
+
3
+ Use this template when documenting the static model during code elevation for brownfield projects.
4
+
5
+ ---
6
+
7
+ ## Frontmatter
8
+
9
+ ```yaml
10
+ ---
11
+ project: {project-name}
12
+ type: static-model
13
+ scenario: brownfield
14
+ created: {YYYY-MM-DDTHH:MM:SSZ}
15
+ updated: {YYYY-MM-DDTHH:MM:SSZ}
16
+ analyzed_paths:
17
+ - src/
18
+ - lib/
19
+ components_count: {N}
20
+ relationships_count: {N}
21
+ ---
22
+ ```
23
+
24
+ ---
25
+
26
+ ## Content
27
+
28
+ ```markdown
29
+ # Static Model: {Project Name}
30
+
31
+ ## Overview
32
+
33
+ - **Project Type**: {e.g., backend-api, full-stack-web}
34
+ - **Primary Language**: {e.g., TypeScript, Python, Go}
35
+ - **Framework**: {e.g., Next.js, FastAPI, Express}
36
+ - **Components Identified**: {N}
37
+ - **Relationships Mapped**: {N}
38
+ - **Analyzed Paths**: `src/`, `lib/`
39
+
40
+ ---
41
+
42
+ ## Architectural Layers
43
+
44
+ ### Domain Layer
45
+ Components that contain core business logic.
46
+
47
+ | Component | Location | Responsibility |
48
+ |-----------|----------|----------------|
49
+ | {Component} | `{path}` | {responsibility} |
50
+
51
+ ### Application Layer
52
+ Components that orchestrate domain logic.
53
+
54
+ | Component | Location | Responsibility |
55
+ |-----------|----------|----------------|
56
+ | {Component} | `{path}` | {responsibility} |
57
+
58
+ ### Infrastructure Layer
59
+ Components that handle external concerns (DB, APIs, etc.).
60
+
61
+ | Component | Location | Responsibility |
62
+ |-----------|----------|----------------|
63
+ | {Component} | `{path}` | {responsibility} |
64
+
65
+ ### Presentation Layer
66
+ Components that handle user interface (if applicable).
67
+
68
+ | Component | Location | Responsibility |
69
+ |-----------|----------|----------------|
70
+ | {Component} | `{path}` | {responsibility} |
71
+
72
+ ---
73
+
74
+ ## Components Detail
75
+
76
+ ### {Component 1 Name}
77
+
78
+ - **Type**: {Class/Module/Service/Repository/Controller/etc.}
79
+ - **Location**: `{file path}`
80
+ - **Layer**: {Domain/Application/Infrastructure/Presentation}
81
+ - **Responsibility**: {Single sentence describing what this component does}
82
+
83
+ **Key Methods/Functions**:
84
+ - `{method1}({params})`: {What it does, what it returns}
85
+ - `{method2}({params})`: {What it does, what it returns}
86
+
87
+ **Dependencies**:
88
+ - Depends on: {List of components this depends on}
89
+ - Used by: {List of components that use this}
90
+
91
+ ---
92
+
93
+ ### {Component 2 Name}
94
+
95
+ - **Type**: {Class/Module/Service/Repository/Controller/etc.}
96
+ - **Location**: `{file path}`
97
+ - **Layer**: {Domain/Application/Infrastructure/Presentation}
98
+ - **Responsibility**: {Single sentence describing what this component does}
99
+
100
+ **Key Methods/Functions**:
101
+ - `{method1}({params})`: {What it does, what it returns}
102
+
103
+ **Dependencies**:
104
+ - Depends on: {List}
105
+ - Used by: {List}
106
+
107
+ ---
108
+
109
+ ## Relationships Diagram
110
+
111
+ ```text
112
+ ┌─────────────────┐ uses ┌─────────────────┐
113
+ │ Controller │──────────────►│ Service │
114
+ └─────────────────┘ └─────────────────┘
115
+
116
+ │ uses
117
+
118
+ ┌─────────────────┐
119
+ │ Repository │
120
+ └─────────────────┘
121
+
122
+ │ queries
123
+
124
+ ┌─────────────────┐
125
+ │ Database │
126
+ └─────────────────┘
127
+ ```
128
+
129
+ ---
130
+
131
+ ## Dependency Graph
132
+
133
+ | Component | Depends On | Used By |
134
+ |-----------|------------|---------|
135
+ | {Component A} | {Component B, Component C} | {Component X} |
136
+ | {Component B} | {External: Database} | {Component A} |
137
+
138
+ ---
139
+
140
+ ## External Dependencies
141
+
142
+ ### Libraries/Packages
143
+ | Package | Purpose | Version |
144
+ |---------|---------|---------|
145
+ | {package} | {what it's used for} | {version} |
146
+
147
+ ### External Services
148
+ | Service | Type | Purpose |
149
+ |---------|------|---------|
150
+ | {Database} | PostgreSQL | Primary data store |
151
+ | {Cache} | Redis | Session/cache storage |
152
+ | {API} | REST | Third-party integration |
153
+
154
+ ---
155
+
156
+ ## Technology Stack (Detected)
157
+
158
+ - **Runtime**: {Node.js, Python, Go, etc.}
159
+ - **Framework**: {Express, FastAPI, Gin, etc.}
160
+ - **Database Client**: {Prisma, SQLAlchemy, GORM, etc.}
161
+ - **Authentication**: {JWT, OAuth, Session, etc.}
162
+ - **Testing**: {Jest, Pytest, etc.}
163
+
164
+ ---
165
+
166
+ ## Key Observations
167
+
168
+ ### Strengths
169
+ - {Observation 1: e.g., "Clean separation between domain and infrastructure"}
170
+ - {Observation 2: e.g., "Consistent naming conventions"}
171
+
172
+ ### Areas of Concern
173
+ - {Concern 1: e.g., "High coupling in payment module"}
174
+ - {Concern 2: e.g., "Missing abstraction for external APIs"}
175
+
176
+ ### Patterns Identified
177
+ - {Pattern 1: e.g., "Repository pattern for data access"}
178
+ - {Pattern 2: e.g., "Service layer for business logic"}
179
+
180
+ ---
181
+
182
+ ## Recommendations for New Development
183
+
184
+ When adding new features to this codebase:
185
+
186
+ 1. **Follow existing layer structure**: Place new code in appropriate layer
187
+ 2. **Use established patterns**: {e.g., Repository pattern for data access}
188
+ 3. **Respect naming conventions**: {e.g., PascalCase for classes, camelCase for functions}
189
+ 4. **Maintain dependency direction**: {e.g., Domain should not depend on Infrastructure}
190
+ ```
191
+
192
+ ---
193
+
194
+ ## Quality Checklist
195
+
196
+ Before marking static model complete, verify:
197
+
198
+ - [ ] All significant components documented
199
+ - [ ] Each component has clear responsibility (single sentence)
200
+ - [ ] Layer assignments are accurate
201
+ - [ ] Relationships between components mapped
202
+ - [ ] External dependencies identified
203
+ - [ ] Technology stack detected
204
+ - [ ] Key observations noted for future development
@@ -0,0 +1,147 @@
1
+ # PRFAQ Template
2
+
3
+ Use this template when creating a PRFAQ (Press Release / FAQ) document for an intent.
4
+
5
+ The PRFAQ format, popularized by Amazon, forces clarity on business value before implementation.
6
+
7
+ ---
8
+
9
+ ## Frontmatter
10
+
11
+ ```yaml
12
+ ---
13
+ intent: {NNN}-{intent-name}
14
+ phase: inception
15
+ status: draft|complete
16
+ created: {YYYY-MM-DDTHH:MM:SSZ}
17
+ updated: {YYYY-MM-DDTHH:MM:SSZ}
18
+ ---
19
+ ```
20
+
21
+ ---
22
+
23
+ ## Content
24
+
25
+ ```markdown
26
+ # PRFAQ: {Intent Name}
27
+
28
+ ## Press Release
29
+
30
+ ### Headline
31
+ {Compelling one-line announcement of the feature}
32
+
33
+ ### Subheadline
34
+ {Who benefits and what's the key value proposition}
35
+
36
+ ### Summary Paragraph
37
+ {City, Date} — {Company/Product Name} today announced {feature name}, a {brief description} that enables {target users} to {key benefit}. With this release, users can now {primary capability}, resulting in {measurable outcome or business value}.
38
+
39
+ ### Problem Statement
40
+ {Describe the customer problem this solves. Be specific about the pain points.}
41
+
42
+ "{Quote from a fictional user describing their frustration with the current state}"
43
+
44
+ ### Solution
45
+ {Describe how the feature solves the problem. Focus on user benefits, not technical details.}
46
+
47
+ Key capabilities include:
48
+ - **{Capability 1}**: {Benefit to user}
49
+ - **{Capability 2}**: {Benefit to user}
50
+ - **{Capability 3}**: {Benefit to user}
51
+
52
+ ### Customer Quote
53
+ "{Testimonial-style quote from a fictional customer describing how this feature improved their workflow or solved their problem.}"
54
+
55
+ — {Fictional Customer Name}, {Role} at {Company Type}
56
+
57
+ ### Call to Action
58
+ {How users can get started or learn more. What should they do next?}
59
+
60
+ ---
61
+
62
+ ## Frequently Asked Questions
63
+
64
+ ### Customer FAQ
65
+
66
+ #### Q1: Who is this feature for?
67
+ **A**: {Describe the primary and secondary user personas}
68
+
69
+ #### Q2: What problem does this solve?
70
+ **A**: {Explain the core pain point in user terms}
71
+
72
+ #### Q3: How is this different from {alternative/competitor}?
73
+ **A**: {Differentiation and unique value proposition}
74
+
75
+ #### Q4: When will this be available?
76
+ **A**: {Target timeline or release phase}
77
+
78
+ #### Q5: What are the prerequisites or requirements?
79
+ **A**: {Dependencies, account types, technical requirements}
80
+
81
+ ### Technical FAQ
82
+
83
+ #### Q6: How does this integrate with existing features?
84
+ **A**: {Integration points and compatibility}
85
+
86
+ #### Q7: What are the performance characteristics?
87
+ **A**: {Response times, throughput, scalability}
88
+
89
+ #### Q8: What are the security considerations?
90
+ **A**: {Authentication, authorization, data protection}
91
+
92
+ #### Q9: What are the known limitations?
93
+ **A**: {Scope boundaries, not-supported scenarios}
94
+
95
+ #### Q10: What's on the roadmap for future iterations?
96
+ **A**: {Planned enhancements, what's explicitly out of scope for now}
97
+
98
+ ---
99
+
100
+ ## Success Metrics
101
+
102
+ | Metric | Current State | Target | Measurement Method |
103
+ |--------|---------------|--------|-------------------|
104
+ | {Metric 1} | {Baseline} | {Goal} | {How to measure} |
105
+ | {Metric 2} | {Baseline} | {Goal} | {How to measure} |
106
+ | {Metric 3} | {Baseline} | {Goal} | {How to measure} |
107
+
108
+ ---
109
+
110
+ ## Appendix: Internal Notes
111
+
112
+ ### Risks & Mitigations
113
+ {Key risks identified and how they'll be addressed}
114
+
115
+ ### Dependencies
116
+ {External teams, services, or features this depends on}
117
+
118
+ ### Open Questions
119
+ {Unresolved questions that need answers before or during implementation}
120
+ ```
121
+
122
+ ---
123
+
124
+ ## PRFAQ Quality Checklist
125
+
126
+ Before marking PRFAQ as complete, verify:
127
+
128
+ - [ ] Headline is compelling and clear (< 10 words)
129
+ - [ ] Problem statement describes real user pain
130
+ - [ ] Solution focuses on benefits, not features
131
+ - [ ] Customer quote sounds authentic
132
+ - [ ] FAQ addresses likely questions from users AND technical team
133
+ - [ ] Success metrics are measurable and have baselines
134
+ - [ ] No technical jargon in customer-facing sections
135
+ - [ ] Call to action is clear and actionable
136
+
137
+ ---
138
+
139
+ ## Why PRFAQ?
140
+
141
+ The PRFAQ format is recommended by AI-DLC because it:
142
+
143
+ 1. **Forces customer-centricity**: Writing the press release first ensures you understand the user value
144
+ 2. **Clarifies scope**: The FAQ section surfaces edge cases and boundaries early
145
+ 3. **Aligns stakeholders**: Everyone reads the same "future announcement"
146
+ 4. **Measures success**: Defining metrics upfront enables validation later
147
+ 5. **Reduces rework**: Catching misalignment in a document is cheaper than in code
@@ -88,6 +88,53 @@ Note: All naming is derived from folder names. No prefix field needed.
88
88
 
89
89
  ---
90
90
 
91
+ ## Service Level Objectives (SLOs)
92
+
93
+ | SLO | Indicator | Target | Window |
94
+ |-----|-----------|--------|--------|
95
+ | Availability | % successful requests (non-5xx) | {X}% | 30-day |
96
+ | Latency | Response time at p95 | < {X}ms | Rolling |
97
+ | Error Rate | % failed requests | < {X}% | 24-hour |
98
+
99
+ ---
100
+
101
+ ## Measurement Criteria (AI-DLC Required)
102
+
103
+ Measurement Criteria trace back to the business intent and validate whether the feature delivers expected value.
104
+
105
+ ### Primary Success Metric
106
+ - **Metric**: {metric name}
107
+ - **Baseline**: {current state, if known}
108
+ - **Target**: {goal}
109
+ - **Measurement Method**: {how to measure}
110
+
111
+ ### Business Outcome Metrics
112
+ | Metric | Current | Target | Timeline |
113
+ |--------|---------|--------|----------|
114
+ | {User adoption metric} | {baseline} | {target} | {when} |
115
+ | {Business impact metric} | {baseline} | {target} | {when} |
116
+
117
+ ### Business Traceability
118
+ | Metric | Business Goal | Linked Requirements |
119
+ |--------|---------------|---------------------|
120
+ | {Metric 1} | {Which business goal it validates} | FR-1, FR-2 |
121
+ | {Metric 2} | {Which business goal it validates} | NFR-P1 |
122
+
123
+ ### Measurement Timeline
124
+ - **Week 1-2**: {Early indicators to monitor}
125
+ - **Month 1**: {Short-term success criteria}
126
+ - **Quarter 1**: {Long-term validation}
127
+
128
+ ---
129
+
130
+ ## Trade-off Decisions
131
+
132
+ | Trade-off | Options Considered | Decision | Rationale |
133
+ |-----------|-------------------|----------|-----------|
134
+ | {e.g., Performance vs Security} | {Option A, Option B} | {Chosen option} | {Why this choice} |
135
+
136
+ ---
137
+
91
138
  ## Constraints
92
139
 
93
140
  ### Technical Constraints
@@ -136,9 +183,27 @@ Note: All naming is derived from folder names. No prefix field needed.
136
183
 
137
184
  Before marking requirements complete, verify:
138
185
 
139
- - [ ] All requirements are testable (measurable, not vague)
140
- - [ ] Acceptance criteria are binary (pass/fail)
141
- - [ ] NFRs have specific metrics and targets
142
- - [ ] Dependencies are identified
143
- - [ ] Constraints are documented
186
+ ### Functional Requirements
187
+ - [ ] All FRs have User Story format (As a..., I want..., So that...)
188
+ - [ ] All FRs have testable Acceptance Criteria (binary pass/fail)
189
+ - [ ] All FRs have Priority assigned (Must/Should/Could)
190
+ - [ ] Dependencies between FRs are identified
191
+
192
+ ### Non-Functional Requirements
193
+ - [ ] All 5 NFR categories addressed (Performance, Scalability, Security, Reliability, Compliance)
194
+ - [ ] Each NFR has specific metrics and targets (not vague)
195
+ - [ ] SLOs defined with indicators, targets, and measurement windows
196
+
197
+ ### Measurement Criteria (AI-DLC Required)
198
+ - [ ] Primary success metric defined with baseline and target
199
+ - [ ] Business traceability documented (metrics → goals → FRs)
200
+ - [ ] Measurement timeline established (leading/lagging indicators)
201
+
202
+ ### Trade-offs
203
+ - [ ] Conflicting requirements identified
204
+ - [ ] Trade-off decisions documented with rationale
205
+
206
+ ### General
207
+ - [ ] Constraints are documented (technical and business)
144
208
  - [ ] Assumptions are stated and risks assessed
209
+ - [ ] Open questions have owners and due dates