ai-core-framework 0.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/.claude-plugin/plugin.json +21 -0
- package/.codex-plugin/plugin.json +35 -0
- package/.cursor-plugin/plugin.json +22 -0
- package/README.md +173 -0
- package/bin/ai-core-framework.js +110 -0
- package/core/README.md +162 -0
- package/core/agents/README.md +32 -0
- package/core/agents/business-analyst.md +269 -0
- package/core/agents/developer.md +375 -0
- package/core/agents/qa-tester.md +477 -0
- package/core/agents/scrum-master.md +136 -0
- package/core/agents/tech-lead.md +345 -0
- package/core/config/backlog.schema.json +38 -0
- package/core/config/docs-policy.default.json +37 -0
- package/core/config/release.schema.json +120 -0
- package/core/config/ticket.schema.json +253 -0
- package/core/rules/00-global-rules.md +373 -0
- package/core/rules/01-git-workflow.md +388 -0
- package/core/rules/02-code-quality.md +77 -0
- package/core/rules/03-security.md +78 -0
- package/core/rules/04-documentation.md +72 -0
- package/core/rules/05-testing-mandatory.md +374 -0
- package/core/rules/06-approval-gates.md +388 -0
- package/core/rules/07-definition-of-ready.md +112 -0
- package/core/rules/08-definition-of-done.md +149 -0
- package/core/scripts/ai-core.sh +456 -0
- package/core/scripts/generate-views.sh +210 -0
- package/core/scripts/install-codex-prompts.sh +127 -0
- package/core/scripts/log-user-request.sh +113 -0
- package/core/scripts/setup-project.sh +183 -0
- package/core/scripts/sync-platforms.sh +322 -0
- package/core/scripts/validate-audit-log.sh +73 -0
- package/core/scripts/validate-docs.sh +365 -0
- package/core/scripts/validate-permissions.sh +132 -0
- package/core/scripts/validate-state.sh +611 -0
- package/core/scripts/workflow.sh +513 -0
- package/core/skills/README.md +21 -0
- package/core/skills/ai-core-commands/SKILL.md +86 -0
- package/core/skills/brainstorming/SKILL.md +40 -0
- package/core/skills/development-implement-task/SKILL.md +308 -0
- package/core/skills/executing-ticket/SKILL.md +28 -0
- package/core/skills/git-branch-status/SKILL.md +56 -0
- package/core/skills/git-cleanup-branches/SKILL.md +57 -0
- package/core/skills/git-scan-untracked/SKILL.md +50 -0
- package/core/skills/meta-generate-views/SKILL.md +54 -0
- package/core/skills/meta-request-log/SKILL.md +61 -0
- package/core/skills/meta-sprint-report/SKILL.md +59 -0
- package/core/skills/meta-sync-platforms/SKILL.md +53 -0
- package/core/skills/meta-ticket-health/SKILL.md +61 -0
- package/core/skills/meta-validate-audit-log/SKILL.md +42 -0
- package/core/skills/meta-validate-docs/SKILL.md +58 -0
- package/core/skills/meta-validate-permissions/SKILL.md +53 -0
- package/core/skills/meta-validate-state/SKILL.md +58 -0
- package/core/skills/planning-analyze-requirements/SKILL.md +471 -0
- package/core/skills/planning-backlog-status/SKILL.md +57 -0
- package/core/skills/planning-document-existing-requirements/SKILL.md +246 -0
- package/core/skills/planning-estimate-task/SKILL.md +60 -0
- package/core/skills/planning-groom-ticket/SKILL.md +442 -0
- package/core/skills/planning-mark-ready/SKILL.md +111 -0
- package/core/skills/planning-plan-refactor/SKILL.md +66 -0
- package/core/skills/planning-plan-sprint/SKILL.md +112 -0
- package/core/skills/planning-prioritize-backlog/SKILL.md +62 -0
- package/core/skills/planning-write-plan/SKILL.md +68 -0
- package/core/skills/project-detect-stack/SKILL.md +71 -0
- package/core/skills/project-discover-codebase/SKILL.md +74 -0
- package/core/skills/project-setup-project/SKILL.md +113 -0
- package/core/skills/qa-bug-status/SKILL.md +52 -0
- package/core/skills/qa-report-bug/SKILL.md +518 -0
- package/core/skills/qa-smoke-test/SKILL.md +387 -0
- package/core/skills/qa-triage-bug/SKILL.md +62 -0
- package/core/skills/qa-verify-fix/SKILL.md +446 -0
- package/core/skills/release-hotfix/SKILL.md +117 -0
- package/core/skills/release-release/SKILL.md +123 -0
- package/core/skills/release-rollback/SKILL.md +62 -0
- package/core/skills/review-create-pr/SKILL.md +418 -0
- package/core/skills/review-merge-pr/SKILL.md +425 -0
- package/core/skills/review-techlead-review/SKILL.md +547 -0
- package/core/skills/using-ai-core/SKILL.md +72 -0
- package/core/skills/verification-before-done/SKILL.md +35 -0
- package/core/skills/writing-implementation-plan/SKILL.md +45 -0
- package/core/templates/ci/ai-core-governance.yml +112 -0
- package/core/templates/ci/node-pnpm.yml +35 -0
- package/core/templates/pm/retrospective-template.md +47 -0
- package/core/templates/pm/sprint-plan-template.md +45 -0
- package/core/templates/pr/pull-request-template.md +247 -0
- package/core/templates/project/CODEOWNERS +11 -0
- package/core/templates/project/docs-policy.json +3 -0
- package/core/templates/project/project-config.yaml +137 -0
- package/core/templates/project/project-structure.yaml +76 -0
- package/core/templates/qa/bug-report-template.md +371 -0
- package/core/templates/qa/test-plan-template.md +57 -0
- package/core/templates/release/release-record-template.json +67 -0
- package/core/templates/requirements/PRD-template.md +58 -0
- package/core/templates/requirements/user-story-template.md +381 -0
- package/core/templates/technical/ADR-template.md +46 -0
- package/core/templates/technical/refactor-plan-template.md +84 -0
- package/core/templates/technical/tech-design-template.md +71 -0
- package/core/workflows/bug-lifecycle.md +56 -0
- package/core/workflows/feature-lifecycle.md +347 -0
- package/core/workflows/hotfix-lifecycle.md +65 -0
- package/core/workflows/sprint-lifecycle.md +56 -0
- package/lib/install-codex.js +85 -0
- package/package.json +36 -0
|
@@ -0,0 +1,381 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
User Story Template
|
|
3
|
+
Used by: business-analyst agent (via /analyze-requirements)
|
|
4
|
+
Consumed by: tech-lead (via /groom-ticket), developer (via /implement-task), qa-tester
|
|
5
|
+
|
|
6
|
+
Instructions:
|
|
7
|
+
- Fill ALL required sections (marked with *)
|
|
8
|
+
- Delete sections marked "optional" if not applicable
|
|
9
|
+
- Keep language clear, specific, testable
|
|
10
|
+
- Avoid implementation details (HOW) - focus on WHAT + WHY
|
|
11
|
+
- INVEST compliance required (see checklist at bottom)
|
|
12
|
+
-->
|
|
13
|
+
|
|
14
|
+
# TICKET-XXX: [Short descriptive title] *
|
|
15
|
+
|
|
16
|
+
<!--
|
|
17
|
+
Title guidelines:
|
|
18
|
+
- Max 80 chars
|
|
19
|
+
- Action-oriented: "Add X", "Fix Y", "Refactor Z"
|
|
20
|
+
- Specific: "Add password reset via email" > "Improve auth"
|
|
21
|
+
- No implementation details: "Add password reset" > "Implement JWT-based password reset"
|
|
22
|
+
-->
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## 📋 Metadata *
|
|
27
|
+
|
|
28
|
+
| Field | Value |
|
|
29
|
+
|-------|-------|
|
|
30
|
+
| **Ticket ID** | `TICKET-XXX` |
|
|
31
|
+
| **Type** | `feature` \| `enhancement` \| `bug` \| `tech-debt` \| `spike` |
|
|
32
|
+
| **Priority (MoSCoW)** | `MUST` \| `SHOULD` \| `COULD` \| `WONT` |
|
|
33
|
+
| **Severity** (bugs only) | `SEV-1` \| `SEV-2` \| `SEV-3` \| `SEV-4` |
|
|
34
|
+
| **Status** | `DRAFT` (auto at creation) |
|
|
35
|
+
| **Epic** | `EPIC-XXX` (optional) |
|
|
36
|
+
| **Source** | stakeholder-email \| slack \| user-interview \| support-ticket \| meeting \| other |
|
|
37
|
+
| **Requested by** | [Stakeholder name or role] |
|
|
38
|
+
| **Created by** | business-analyst-agent |
|
|
39
|
+
| **Created at** | YYYY-MM-DD HH:MM |
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## 👤 User Story *
|
|
44
|
+
|
|
45
|
+
<!--
|
|
46
|
+
Format: "As a <persona>, I want <action>, So that <business value>"
|
|
47
|
+
|
|
48
|
+
Guidelines:
|
|
49
|
+
- Persona: specific user type (not "user" - be specific: "registered user", "admin", "free-tier customer")
|
|
50
|
+
- Action: what they want to DO (not how system implements it)
|
|
51
|
+
- Value: WHY this matters to them or business
|
|
52
|
+
-->
|
|
53
|
+
|
|
54
|
+
**As a** [specific persona],
|
|
55
|
+
**I want** [specific action / capability],
|
|
56
|
+
**So that** [business / user value].
|
|
57
|
+
|
|
58
|
+
### Example
|
|
59
|
+
> **As a** registered user who forgot their password,
|
|
60
|
+
> **I want to** reset my password via email,
|
|
61
|
+
> **So that** I can regain access to my account without contacting support.
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## 🎯 Business Context *
|
|
66
|
+
|
|
67
|
+
<!--
|
|
68
|
+
Why is this important? What problem does it solve?
|
|
69
|
+
Include metrics/evidence when possible.
|
|
70
|
+
-->
|
|
71
|
+
|
|
72
|
+
### Problem statement
|
|
73
|
+
<!-- 1-3 sentences describing the problem -->
|
|
74
|
+
|
|
75
|
+
### Current state
|
|
76
|
+
<!-- What happens now without this feature/fix? -->
|
|
77
|
+
-
|
|
78
|
+
-
|
|
79
|
+
|
|
80
|
+
### Desired state
|
|
81
|
+
<!-- What changes after this is done? -->
|
|
82
|
+
-
|
|
83
|
+
-
|
|
84
|
+
|
|
85
|
+
### Success metrics
|
|
86
|
+
<!-- How do we measure success? -->
|
|
87
|
+
- **Primary metric**: [e.g., "Support tickets re: password reduce by 40%"]
|
|
88
|
+
- **Secondary**: [e.g., "User reactivation rate +5%"]
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## ✅ Acceptance Criteria *
|
|
93
|
+
|
|
94
|
+
<!--
|
|
95
|
+
MINIMUM 3 scenarios required:
|
|
96
|
+
1. Happy path
|
|
97
|
+
2. Edge case
|
|
98
|
+
3. Error case
|
|
99
|
+
Add more for security, performance, etc.
|
|
100
|
+
|
|
101
|
+
Use Gherkin format (Given/When/Then).
|
|
102
|
+
Each MUST be testable - QA can write a test case from this.
|
|
103
|
+
-->
|
|
104
|
+
|
|
105
|
+
### Scenario 1: [Happy path - descriptive name] *
|
|
106
|
+
|
|
107
|
+
```gherkin
|
|
108
|
+
Given [initial context / precondition]
|
|
109
|
+
And [additional context if needed]
|
|
110
|
+
When [user action or event]
|
|
111
|
+
Then [expected outcome]
|
|
112
|
+
And [additional outcomes]
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
**Example**:
|
|
116
|
+
```gherkin
|
|
117
|
+
Given User has an account with email "user@example.com"
|
|
118
|
+
When User requests a password reset for that email
|
|
119
|
+
And User clicks the link in the received email
|
|
120
|
+
Then User is redirected to the new password page
|
|
121
|
+
And User can enter a new password and log in successfully
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
### Scenario 2: [Edge case - descriptive name] *
|
|
127
|
+
|
|
128
|
+
```gherkin
|
|
129
|
+
Given [edge context]
|
|
130
|
+
When [action]
|
|
131
|
+
Then [expected behavior]
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
**Example**:
|
|
135
|
+
```gherkin
|
|
136
|
+
Given User enters an email that is not registered in the system
|
|
137
|
+
When User submit form reset password
|
|
138
|
+
Then System displays message "If this email is registered, reset instructions have been sent"
|
|
139
|
+
And System MUST NOT send a real email, preventing email enumeration
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
### Scenario 3: [Error case - descriptive name] *
|
|
145
|
+
|
|
146
|
+
```gherkin
|
|
147
|
+
Given [error context]
|
|
148
|
+
When [action]
|
|
149
|
+
Then [error handling]
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
**Example**:
|
|
153
|
+
```gherkin
|
|
154
|
+
Given User received the reset email more than 24 hours ago
|
|
155
|
+
When User click link reset
|
|
156
|
+
Then System displays "This link has expired. Please request a new one"
|
|
157
|
+
And System allows the user to request a new link on the same page
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
### Scenario 4 (optional): [Security case - e.g., rate limiting]
|
|
163
|
+
|
|
164
|
+
```gherkin
|
|
165
|
+
Given [security context]
|
|
166
|
+
When [attack vector attempt]
|
|
167
|
+
Then [defense behavior]
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
**Example**:
|
|
171
|
+
```gherkin
|
|
172
|
+
Given User has requested a reset 5 times within 1 hour
|
|
173
|
+
When User makes the 6th request
|
|
174
|
+
Then System rejects it with HTTP 429 "Too many requests"
|
|
175
|
+
And System displays "Please try again in X minutes"
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
---
|
|
179
|
+
|
|
180
|
+
### Scenario 5 (optional): [Performance case]
|
|
181
|
+
|
|
182
|
+
```gherkin
|
|
183
|
+
Given [performance context]
|
|
184
|
+
When [load condition]
|
|
185
|
+
Then [performance expectation]
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
---
|
|
189
|
+
|
|
190
|
+
## 🚫 Out of Scope
|
|
191
|
+
|
|
192
|
+
<!--
|
|
193
|
+
Explicitly state what is NOT included.
|
|
194
|
+
Prevents scope creep and sets expectations.
|
|
195
|
+
-->
|
|
196
|
+
|
|
197
|
+
- [ ] [Feature not included in this ticket]
|
|
198
|
+
- [ ] [Another future enhancement]
|
|
199
|
+
- [ ] [Related work tracked elsewhere]
|
|
200
|
+
|
|
201
|
+
**Example**:
|
|
202
|
+
- [ ] SMS-based password reset (future ticket)
|
|
203
|
+
- [ ] Security questions flow (deprecated, not coming back)
|
|
204
|
+
- [ ] Password change while logged in (see TICKET-045)
|
|
205
|
+
- [ ] Admin-initiated password reset (see TICKET-046)
|
|
206
|
+
|
|
207
|
+
---
|
|
208
|
+
|
|
209
|
+
## 🔗 Dependencies
|
|
210
|
+
|
|
211
|
+
### Blocked by
|
|
212
|
+
<!-- Tickets that must complete before this can start -->
|
|
213
|
+
- [ ] TICKET-XXX: [brief description]
|
|
214
|
+
|
|
215
|
+
### Blocks
|
|
216
|
+
<!-- Tickets that depend on this -->
|
|
217
|
+
- TICKET-YYY: [brief description]
|
|
218
|
+
|
|
219
|
+
### External dependencies
|
|
220
|
+
<!-- 3rd party services, credentials, infrastructure -->
|
|
221
|
+
- [ ] [e.g., "SendGrid API credentials (contact DevOps)"]
|
|
222
|
+
- [ ] [e.g., "Figma design approved by UX (pending)"]
|
|
223
|
+
|
|
224
|
+
### Data dependencies
|
|
225
|
+
<!-- New tables, migrations, data imports -->
|
|
226
|
+
- [ ] [e.g., "New table `password_reset_tokens` - migration needed"]
|
|
227
|
+
|
|
228
|
+
---
|
|
229
|
+
|
|
230
|
+
## 🎨 Design / Mockups
|
|
231
|
+
|
|
232
|
+
<!-- Delete section if not applicable -->
|
|
233
|
+
|
|
234
|
+
### Figma
|
|
235
|
+
<!-- Link to design files -->
|
|
236
|
+
- [Design doc](link)
|
|
237
|
+
- [Mockup v2](link)
|
|
238
|
+
|
|
239
|
+
### Copy / Content
|
|
240
|
+
<!-- Exact text, especially for user-facing strings -->
|
|
241
|
+
|
|
242
|
+
| Context | Text |
|
|
243
|
+
|---------|------|
|
|
244
|
+
| Email subject | `Reset your password` |
|
|
245
|
+
| Email body CTA | `Reset password` |
|
|
246
|
+
| Success message | `Password updated successfully. Please log in with your new password.` |
|
|
247
|
+
| Expired link | `This link has expired. Request a new one below.` |
|
|
248
|
+
|
|
249
|
+
### i18n / l10n
|
|
250
|
+
<!-- Is this translated? Which locales? -->
|
|
251
|
+
- [ ] i18n keys needed: `auth.reset_password.*`
|
|
252
|
+
- [ ] Locales: en (MVP), vi, ja (later sprints)
|
|
253
|
+
|
|
254
|
+
---
|
|
255
|
+
|
|
256
|
+
## ❓ Open Questions
|
|
257
|
+
|
|
258
|
+
<!--
|
|
259
|
+
Questions that need answers BEFORE implementation.
|
|
260
|
+
Tech Lead will review these during grooming.
|
|
261
|
+
-->
|
|
262
|
+
|
|
263
|
+
### For Tech Lead
|
|
264
|
+
- [ ] [Technical question]
|
|
265
|
+
- [ ] [Architecture decision question]
|
|
266
|
+
|
|
267
|
+
**Examples**:
|
|
268
|
+
- [ ] Token expiration: 24h acceptable or should be shorter?
|
|
269
|
+
- [ ] Rate limit approach: per-email or per-IP or both?
|
|
270
|
+
- [ ] Email template: reuse existing framework or build new?
|
|
271
|
+
|
|
272
|
+
### For Product / Stakeholder
|
|
273
|
+
- [ ] [Product decision]
|
|
274
|
+
|
|
275
|
+
**Examples**:
|
|
276
|
+
- [ ] Should we notify user via email AFTER password successfully changed?
|
|
277
|
+
- [ ] Should reset also invalidate all existing sessions?
|
|
278
|
+
|
|
279
|
+
### For Design / UX
|
|
280
|
+
- [ ] [Design question]
|
|
281
|
+
|
|
282
|
+
---
|
|
283
|
+
|
|
284
|
+
## 🧪 Test Considerations
|
|
285
|
+
|
|
286
|
+
<!-- Guidance for QA test planning -->
|
|
287
|
+
|
|
288
|
+
### Test types needed
|
|
289
|
+
- [ ] Unit tests (developer)
|
|
290
|
+
- [ ] Integration tests (developer)
|
|
291
|
+
- [ ] E2E tests (if critical user flow)
|
|
292
|
+
- [ ] Security tests (if touching auth/data)
|
|
293
|
+
- [ ] Performance tests (if on hot path)
|
|
294
|
+
- [ ] Accessibility tests (if UI change)
|
|
295
|
+
- [ ] Cross-browser tests (if UI change)
|
|
296
|
+
- [ ] Mobile responsive tests (if UI change)
|
|
297
|
+
|
|
298
|
+
### Test data requirements
|
|
299
|
+
<!-- Any special data setup? -->
|
|
300
|
+
-
|
|
301
|
+
|
|
302
|
+
### Environment requirements
|
|
303
|
+
<!-- Staging? Preview deploy? Specific config? -->
|
|
304
|
+
-
|
|
305
|
+
|
|
306
|
+
---
|
|
307
|
+
|
|
308
|
+
## ⚠️ Risks & Concerns
|
|
309
|
+
|
|
310
|
+
<!--
|
|
311
|
+
BA can list initial concerns. Tech Lead refines during grooming.
|
|
312
|
+
-->
|
|
313
|
+
|
|
314
|
+
- [ ] [Concern 1]
|
|
315
|
+
- [ ] [Concern 2]
|
|
316
|
+
|
|
317
|
+
**Examples**:
|
|
318
|
+
- [ ] Email deliverability (spam filters for transactional emails)
|
|
319
|
+
- [ ] Token enumeration if RNG not cryptographically secure
|
|
320
|
+
- [ ] Locale of email content (which language to send?)
|
|
321
|
+
|
|
322
|
+
---
|
|
323
|
+
|
|
324
|
+
## 📊 INVEST Compliance Check
|
|
325
|
+
|
|
326
|
+
<!--
|
|
327
|
+
BA MUST verify this before marking ticket ready for grooming.
|
|
328
|
+
If any fail, iterate on story or propose split.
|
|
329
|
+
-->
|
|
330
|
+
|
|
331
|
+
- [ ] **Independent**: Can be shipped alone without waiting on another ticket mid-flight
|
|
332
|
+
- [ ] **Negotiable**: AC could be adjusted (not locked to specific implementation)
|
|
333
|
+
- [ ] **Valuable**: Business value clearly stated
|
|
334
|
+
- [ ] **Estimable**: Enough detail for Tech Lead to estimate (≤ 8 points target)
|
|
335
|
+
- [ ] **Small**: Fits in one sprint (if too big, split)
|
|
336
|
+
- [ ] **Testable**: Every AC scenario is verifiable
|
|
337
|
+
|
|
338
|
+
---
|
|
339
|
+
|
|
340
|
+
## 📝 Additional Notes
|
|
341
|
+
|
|
342
|
+
<!-- Any context that doesn't fit above sections -->
|
|
343
|
+
|
|
344
|
+
### Assumptions made
|
|
345
|
+
<!-- What did BA assume while writing this? -->
|
|
346
|
+
-
|
|
347
|
+
|
|
348
|
+
### Source material
|
|
349
|
+
<!-- Quotes from stakeholder, links to interviews, etc. -->
|
|
350
|
+
|
|
351
|
+
**Example**:
|
|
352
|
+
> "Our customers keep calling support when they forget passwords. We've had 15 tickets this week alone. We need self-service." — CEO email, 2026-04-15
|
|
353
|
+
|
|
354
|
+
---
|
|
355
|
+
|
|
356
|
+
## 🔄 Change History
|
|
357
|
+
|
|
358
|
+
<!-- Auto-populated on state transitions -->
|
|
359
|
+
|
|
360
|
+
| Date | State | Agent / Person | Note |
|
|
361
|
+
|------|-------|----------------|------|
|
|
362
|
+
| YYYY-MM-DD | DRAFT | business-analyst | Ticket created |
|
|
363
|
+
|
|
364
|
+
---
|
|
365
|
+
|
|
366
|
+
## 🤝 Handoff
|
|
367
|
+
|
|
368
|
+
**Next step**: `/groom-ticket TICKET-XXX`
|
|
369
|
+
**Assigned to**: tech-lead
|
|
370
|
+
**Expected**: Technical approach + estimate + risks within 1-2 business days
|
|
371
|
+
|
|
372
|
+
---
|
|
373
|
+
|
|
374
|
+
<!--
|
|
375
|
+
DO NOT EDIT BELOW - auto-populated fields
|
|
376
|
+
-->
|
|
377
|
+
|
|
378
|
+
<!-- TEMPLATE_VERSION: 1.0.0 -->
|
|
379
|
+
<!-- CREATED_BY_AGENT: business-analyst -->
|
|
380
|
+
<!-- NEXT_AGENT: tech-lead -->
|
|
381
|
+
<!-- SCHEMA: core/config/ticket.schema.json -->
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# Architecture Decision Record Template
|
|
2
|
+
|
|
3
|
+
## Status
|
|
4
|
+
|
|
5
|
+
Proposed | Accepted | Deprecated | Superseded
|
|
6
|
+
|
|
7
|
+
## Context
|
|
8
|
+
|
|
9
|
+
Describe the forces, constraints, and problem that require a decision.
|
|
10
|
+
|
|
11
|
+
## Decision
|
|
12
|
+
|
|
13
|
+
State the decision clearly.
|
|
14
|
+
|
|
15
|
+
## Alternatives Considered
|
|
16
|
+
|
|
17
|
+
| Option | Pros | Cons | Reason rejected or accepted |
|
|
18
|
+
|--------|------|------|-----------------------------|
|
|
19
|
+
| | | | |
|
|
20
|
+
|
|
21
|
+
## Consequences
|
|
22
|
+
|
|
23
|
+
### Positive
|
|
24
|
+
|
|
25
|
+
-
|
|
26
|
+
|
|
27
|
+
### Negative
|
|
28
|
+
|
|
29
|
+
-
|
|
30
|
+
|
|
31
|
+
### Risks
|
|
32
|
+
|
|
33
|
+
-
|
|
34
|
+
|
|
35
|
+
## Implementation Notes
|
|
36
|
+
|
|
37
|
+
- Owner:
|
|
38
|
+
- Target ticket:
|
|
39
|
+
- Migration required:
|
|
40
|
+
- Rollback or mitigation:
|
|
41
|
+
|
|
42
|
+
## Links
|
|
43
|
+
|
|
44
|
+
- Tickets:
|
|
45
|
+
- PRs:
|
|
46
|
+
- Docs:
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# Refactor Plan Template
|
|
2
|
+
|
|
3
|
+
## Metadata
|
|
4
|
+
|
|
5
|
+
- Plan ID:
|
|
6
|
+
- Owner:
|
|
7
|
+
- Status:
|
|
8
|
+
- Created:
|
|
9
|
+
- Related epic:
|
|
10
|
+
- Related ADRs:
|
|
11
|
+
|
|
12
|
+
## Problem
|
|
13
|
+
|
|
14
|
+
Describe the current technical problem and why it matters now.
|
|
15
|
+
|
|
16
|
+
## Goals
|
|
17
|
+
|
|
18
|
+
-
|
|
19
|
+
|
|
20
|
+
## Non-Goals
|
|
21
|
+
|
|
22
|
+
-
|
|
23
|
+
|
|
24
|
+
## Affected Areas
|
|
25
|
+
|
|
26
|
+
| Area | Current issue | Target state | Risk |
|
|
27
|
+
|------|---------------|--------------|------|
|
|
28
|
+
| | | | |
|
|
29
|
+
|
|
30
|
+
## Constraints
|
|
31
|
+
|
|
32
|
+
- Backward compatibility:
|
|
33
|
+
- Data migration:
|
|
34
|
+
- Performance:
|
|
35
|
+
- Security:
|
|
36
|
+
- Release timing:
|
|
37
|
+
|
|
38
|
+
## Proposed Approach
|
|
39
|
+
|
|
40
|
+
Describe the refactor strategy and sequence.
|
|
41
|
+
|
|
42
|
+
## Phases
|
|
43
|
+
|
|
44
|
+
| Phase | Objective | Tickets | Exit criteria |
|
|
45
|
+
|-------|-----------|---------|---------------|
|
|
46
|
+
| 1 | | | |
|
|
47
|
+
| 2 | | | |
|
|
48
|
+
| 3 | | | |
|
|
49
|
+
|
|
50
|
+
## Ticket Breakdown
|
|
51
|
+
|
|
52
|
+
| Ticket | Type | Summary | Depends on |
|
|
53
|
+
|--------|------|---------|------------|
|
|
54
|
+
| TICKET-XXX | tech-debt | | |
|
|
55
|
+
|
|
56
|
+
## Testing Strategy
|
|
57
|
+
|
|
58
|
+
- Characterization tests before refactor:
|
|
59
|
+
- Unit tests:
|
|
60
|
+
- Integration tests:
|
|
61
|
+
- E2E smoke tests:
|
|
62
|
+
- Performance checks:
|
|
63
|
+
|
|
64
|
+
## Rollout Plan
|
|
65
|
+
|
|
66
|
+
- Feature flags:
|
|
67
|
+
- Incremental deploy:
|
|
68
|
+
- Monitoring:
|
|
69
|
+
- Rollback:
|
|
70
|
+
|
|
71
|
+
## Risks and Mitigations
|
|
72
|
+
|
|
73
|
+
| Risk | Probability | Impact | Mitigation | Owner |
|
|
74
|
+
|------|-------------|--------|------------|-------|
|
|
75
|
+
| | | | | |
|
|
76
|
+
|
|
77
|
+
## Verification Checklist
|
|
78
|
+
|
|
79
|
+
- [ ] Existing behavior covered by tests
|
|
80
|
+
- [ ] No public API regression
|
|
81
|
+
- [ ] Performance within threshold
|
|
82
|
+
- [ ] Security review complete if sensitive area
|
|
83
|
+
- [ ] Docs updated
|
|
84
|
+
- [ ] Follow-up tickets created
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# Technical Design Template
|
|
2
|
+
|
|
3
|
+
## Metadata
|
|
4
|
+
|
|
5
|
+
- Ticket/epic:
|
|
6
|
+
- Author:
|
|
7
|
+
- Reviewers:
|
|
8
|
+
- Status:
|
|
9
|
+
- Date:
|
|
10
|
+
|
|
11
|
+
## Summary
|
|
12
|
+
|
|
13
|
+
Briefly describe the technical change.
|
|
14
|
+
|
|
15
|
+
## Goals
|
|
16
|
+
|
|
17
|
+
-
|
|
18
|
+
|
|
19
|
+
## Non-Goals
|
|
20
|
+
|
|
21
|
+
-
|
|
22
|
+
|
|
23
|
+
## Current State
|
|
24
|
+
|
|
25
|
+
Describe existing architecture, data flow, and limitations.
|
|
26
|
+
|
|
27
|
+
## Proposed Design
|
|
28
|
+
|
|
29
|
+
### Components
|
|
30
|
+
|
|
31
|
+
| Component | Responsibility | Change |
|
|
32
|
+
|-----------|----------------|--------|
|
|
33
|
+
| | | |
|
|
34
|
+
|
|
35
|
+
### Data Model
|
|
36
|
+
|
|
37
|
+
- New fields/tables:
|
|
38
|
+
- Migration plan:
|
|
39
|
+
- Backward compatibility:
|
|
40
|
+
|
|
41
|
+
### API Contract
|
|
42
|
+
|
|
43
|
+
- Endpoint/event/command:
|
|
44
|
+
- Request:
|
|
45
|
+
- Response:
|
|
46
|
+
- Error cases:
|
|
47
|
+
|
|
48
|
+
## Testing Strategy
|
|
49
|
+
|
|
50
|
+
- Unit:
|
|
51
|
+
- Integration:
|
|
52
|
+
- E2E:
|
|
53
|
+
- Manual QA:
|
|
54
|
+
|
|
55
|
+
## Security and Privacy
|
|
56
|
+
|
|
57
|
+
- Auth/authz:
|
|
58
|
+
- Data sensitivity:
|
|
59
|
+
- Logging/audit:
|
|
60
|
+
- Threats and mitigations:
|
|
61
|
+
|
|
62
|
+
## Rollout Plan
|
|
63
|
+
|
|
64
|
+
- Feature flag:
|
|
65
|
+
- Deployment steps:
|
|
66
|
+
- Monitoring:
|
|
67
|
+
- Rollback:
|
|
68
|
+
|
|
69
|
+
## Open Questions
|
|
70
|
+
|
|
71
|
+
-
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# Bug Lifecycle Workflow
|
|
2
|
+
|
|
3
|
+
> Complete path from bug discovery to triage, fix, verification, and closure.
|
|
4
|
+
|
|
5
|
+
## 🎯 Purpose
|
|
6
|
+
|
|
7
|
+
Make bugs reproducible, prioritized, fixed with regression coverage, and verified by QA.
|
|
8
|
+
|
|
9
|
+
## 🔄 Flow
|
|
10
|
+
|
|
11
|
+
1. Discovery
|
|
12
|
+
- Any agent or user reports a defect with `/report-bug`.
|
|
13
|
+
- Bug is created in `project/bugs/` with status `NEW` or `NEEDS_MORE_INFO`.
|
|
14
|
+
|
|
15
|
+
2. Triage
|
|
16
|
+
- BA runs `/triage-bug` with Tech Lead and QA input.
|
|
17
|
+
- Severity, priority, owner, duplicate status, and target fix window are set.
|
|
18
|
+
- SEV-1 and SEV-2 may trigger `/hotfix`.
|
|
19
|
+
|
|
20
|
+
3. Fix planning
|
|
21
|
+
- For normal bugs, create or link a `TICKET-XXX` bug ticket.
|
|
22
|
+
- Ticket follows normal state machine from `DRAFT` or `READY` depending on triage confidence.
|
|
23
|
+
|
|
24
|
+
4. Development
|
|
25
|
+
- Developer reproduces the bug.
|
|
26
|
+
- Developer writes regression test first.
|
|
27
|
+
- Developer fixes with `/implement-task`.
|
|
28
|
+
|
|
29
|
+
5. Review and merge
|
|
30
|
+
- Developer creates PR.
|
|
31
|
+
- Tech Lead reviews.
|
|
32
|
+
- Tech Lead merges to QA.
|
|
33
|
+
|
|
34
|
+
6. Verification
|
|
35
|
+
- QA runs `/verify-fix BUG-XXX` or `/smoke-test TICKET-XXX`.
|
|
36
|
+
- Pass closes or verifies the bug.
|
|
37
|
+
- Fail sends bug/ticket back to development with evidence.
|
|
38
|
+
|
|
39
|
+
## 🔒 Rules
|
|
40
|
+
|
|
41
|
+
- No vague bug reports accepted as actionable.
|
|
42
|
+
- Severity must be justified.
|
|
43
|
+
- Regression tests are mandatory for bug fixes unless documented impossible.
|
|
44
|
+
- QA owns verification.
|
|
45
|
+
- SEV-1 requires immediate escalation.
|
|
46
|
+
|
|
47
|
+
## 📊 Artifacts
|
|
48
|
+
|
|
49
|
+
- `project/bugs/BUG-XXX.json`
|
|
50
|
+
- Linked ticket in `project/tickets/`
|
|
51
|
+
- Verification report
|
|
52
|
+
- Regression tests
|
|
53
|
+
|
|
54
|
+
## 🔗 Commands
|
|
55
|
+
|
|
56
|
+
`/report-bug` → `/triage-bug` → `/implement-task` → `/create-pr` → `/techlead-review` → `/merge-pr` → `/verify-fix`
|