aiox-core 5.0.0 → 5.0.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.
Files changed (91) hide show
  1. package/.aiox-core/data/entity-registry.yaml +5297 -1814
  2. package/.aiox-core/data/registry-update-log.jsonl +2 -0
  3. package/.aiox-core/development/templates/service-template/README.md.hbs +158 -158
  4. package/.aiox-core/development/templates/service-template/__tests__/index.test.ts.hbs +237 -237
  5. package/.aiox-core/development/templates/service-template/client.ts.hbs +403 -403
  6. package/.aiox-core/development/templates/service-template/errors.ts.hbs +182 -182
  7. package/.aiox-core/development/templates/service-template/index.ts.hbs +120 -120
  8. package/.aiox-core/development/templates/service-template/package.json.hbs +87 -87
  9. package/.aiox-core/development/templates/service-template/types.ts.hbs +145 -145
  10. package/.aiox-core/development/templates/squad-template/LICENSE +21 -21
  11. package/.aiox-core/infrastructure/scripts/tool-resolver.js +4 -4
  12. package/.aiox-core/infrastructure/templates/aiox-sync.yaml.template +182 -182
  13. package/.aiox-core/infrastructure/templates/coderabbit.yaml.template +279 -279
  14. package/.aiox-core/infrastructure/templates/github-workflows/ci.yml.template +169 -169
  15. package/.aiox-core/infrastructure/templates/github-workflows/pr-automation.yml.template +330 -330
  16. package/.aiox-core/infrastructure/templates/github-workflows/release.yml.template +196 -196
  17. package/.aiox-core/infrastructure/templates/gitignore/gitignore-aiox-base.tmpl +63 -63
  18. package/.aiox-core/infrastructure/templates/gitignore/gitignore-brownfield-merge.tmpl +18 -18
  19. package/.aiox-core/infrastructure/templates/gitignore/gitignore-node.tmpl +85 -85
  20. package/.aiox-core/infrastructure/templates/gitignore/gitignore-python.tmpl +145 -145
  21. package/.aiox-core/install-manifest.yaml +58 -58
  22. package/.aiox-core/local-config.yaml.template +71 -71
  23. package/.aiox-core/monitor/hooks/lib/__init__.py +1 -1
  24. package/.aiox-core/monitor/hooks/lib/enrich.py +58 -58
  25. package/.aiox-core/monitor/hooks/lib/send_event.py +47 -47
  26. package/.aiox-core/monitor/hooks/notification.py +29 -29
  27. package/.aiox-core/monitor/hooks/post_tool_use.py +45 -45
  28. package/.aiox-core/monitor/hooks/pre_compact.py +29 -29
  29. package/.aiox-core/monitor/hooks/pre_tool_use.py +40 -40
  30. package/.aiox-core/monitor/hooks/stop.py +29 -29
  31. package/.aiox-core/monitor/hooks/subagent_stop.py +29 -29
  32. package/.aiox-core/monitor/hooks/user_prompt_submit.py +38 -38
  33. package/.aiox-core/product/templates/adr.hbs +125 -125
  34. package/.aiox-core/product/templates/dbdr.hbs +241 -241
  35. package/.aiox-core/product/templates/engine/elicitation.js +2 -3
  36. package/.aiox-core/product/templates/epic.hbs +212 -212
  37. package/.aiox-core/product/templates/pmdr.hbs +186 -186
  38. package/.aiox-core/product/templates/prd-v2.0.hbs +216 -216
  39. package/.aiox-core/product/templates/prd.hbs +201 -201
  40. package/.aiox-core/product/templates/story.hbs +263 -263
  41. package/.aiox-core/product/templates/task.hbs +170 -170
  42. package/.aiox-core/product/templates/tmpl-comment-on-examples.sql +158 -158
  43. package/.aiox-core/product/templates/tmpl-migration-script.sql +91 -91
  44. package/.aiox-core/product/templates/tmpl-rls-granular-policies.sql +104 -104
  45. package/.aiox-core/product/templates/tmpl-rls-kiss-policy.sql +10 -10
  46. package/.aiox-core/product/templates/tmpl-rls-roles.sql +135 -135
  47. package/.aiox-core/product/templates/tmpl-rls-simple.sql +77 -77
  48. package/.aiox-core/product/templates/tmpl-rls-tenant.sql +152 -152
  49. package/.aiox-core/product/templates/tmpl-rollback-script.sql +77 -77
  50. package/.aiox-core/product/templates/tmpl-seed-data.sql +140 -140
  51. package/.aiox-core/product/templates/tmpl-smoke-test.sql +16 -16
  52. package/.aiox-core/product/templates/tmpl-staging-copy-merge.sql +139 -139
  53. package/.aiox-core/product/templates/tmpl-stored-proc.sql +140 -140
  54. package/.aiox-core/product/templates/tmpl-trigger.sql +152 -152
  55. package/.aiox-core/product/templates/tmpl-view-materialized.sql +133 -133
  56. package/.aiox-core/product/templates/tmpl-view.sql +177 -177
  57. package/.aiox-core/scripts/pm.sh +0 -0
  58. package/.claude/hooks/code-intel-pretool.cjs +107 -0
  59. package/.claude/hooks/enforce-architecture-first.py +196 -196
  60. package/.claude/hooks/mind-clone-governance.py +192 -192
  61. package/.claude/hooks/read-protection.py +151 -151
  62. package/.claude/hooks/slug-validation.py +176 -176
  63. package/.claude/hooks/sql-governance.py +182 -182
  64. package/.claude/hooks/write-path-validation.py +194 -194
  65. package/LICENSE +33 -33
  66. package/bin/aiox-graph.js +0 -0
  67. package/bin/aiox-minimal.js +0 -0
  68. package/bin/aiox.js +0 -0
  69. package/docs/guides/aios-workflows/README.md +247 -0
  70. package/docs/guides/aios-workflows/bob-orchestrator-workflow.md +1536 -0
  71. package/package.json +1 -1
  72. package/packages/aiox-install/bin/aiox-install.js +0 -0
  73. package/packages/aiox-install/bin/edmcp.js +0 -0
  74. package/packages/aiox-pro-cli/bin/aiox-pro.js +0 -0
  75. package/packages/installer/src/wizard/pro-setup.js +210 -123
  76. package/pro/README.md +66 -0
  77. package/pro/license/degradation.js +220 -0
  78. package/pro/license/errors.js +450 -0
  79. package/pro/license/feature-gate.js +354 -0
  80. package/pro/license/index.js +181 -0
  81. package/pro/license/license-api.js +679 -0
  82. package/pro/license/license-cache.js +523 -0
  83. package/pro/license/license-crypto.js +303 -0
  84. package/scripts/check-markdown-links.py +352 -352
  85. package/scripts/dashboard-parallel-dev.sh +0 -0
  86. package/scripts/dashboard-parallel-phase3.sh +0 -0
  87. package/scripts/dashboard-parallel-phase4.sh +0 -0
  88. package/scripts/glue/README.md +355 -0
  89. package/scripts/glue/compose-agent-prompt.cjs +362 -0
  90. package/scripts/install-monitor-hooks.sh +0 -0
  91. package/.aiox-core/lib/build.json +0 -1
@@ -1,263 +1,263 @@
1
- ---
2
- template_id: story
3
- template_name: User Story
4
- version: 2.0
5
- variables:
6
- - name: id
7
- type: string
8
- required: true
9
- prompt: "Story ID (e.g., 3.6):"
10
- - name: title
11
- type: string
12
- required: true
13
- prompt: "Story title:"
14
- - name: epicRef
15
- type: string
16
- required: true
17
- prompt: "Parent epic reference (e.g., EPIC-S3):"
18
- - name: sprint
19
- type: number
20
- required: true
21
- prompt: "Sprint number:"
22
- - name: points
23
- type: number
24
- required: true
25
- prompt: "Story points (1, 2, 3, 5, 8, 13, 21):"
26
- - name: priority
27
- type: choice
28
- required: true
29
- choices: [Critical, High, Medium, Low]
30
- default: Medium
31
- - name: status
32
- type: choice
33
- required: true
34
- choices: [Draft, Ready, In Progress, In Review, Done, Blocked]
35
- default: Draft
36
- - name: asA
37
- type: string
38
- required: true
39
- prompt: "As a [persona]:"
40
- - name: iWant
41
- type: string
42
- required: true
43
- prompt: "I want [functionality]:"
44
- - name: soThat
45
- type: string
46
- required: true
47
- prompt: "So that [business value]:"
48
- ---
49
-
50
- # STORY {{id}}: {{title}}
51
-
52
- **ID:** {{id}} | **Epic:** [{{epicRef}}](../../../epics/{{lowercase epicRef}}.md)
53
- **Sprint:** {{sprint}} | **Points:** {{points}} | **Priority:** {{#ifEqual priority "Critical"}}🔴{{/ifEqual}}{{#ifEqual priority "High"}}🟠{{/ifEqual}}{{#ifEqual priority "Medium"}}🟡{{/ifEqual}}{{#ifEqual priority "Low"}}🟢{{/ifEqual}} {{priority}}
54
- **Created:** {{formatDate now "YYYY-MM-DD"}}
55
- **Status:** {{#ifEqual status "Draft"}}📋{{/ifEqual}}{{#ifEqual status "Ready"}}✅{{/ifEqual}}{{#ifEqual status "In Progress"}}🔄{{/ifEqual}}{{#ifEqual status "In Review"}}👀{{/ifEqual}}{{#ifEqual status "Done"}}✔️{{/ifEqual}}{{#ifEqual status "Blocked"}}🚫{{/ifEqual}} {{status}}
56
-
57
- {{#if predecessor}}
58
- **Predecessor:** {{predecessor}}
59
- {{/if}}
60
-
61
- ---
62
-
63
- ## User Story
64
-
65
- **Como** {{asA}},
66
- **Quero** {{iWant}},
67
- **Para que** {{soThat}}.
68
-
69
- ---
70
-
71
- ## Acceptance Criteria
72
-
73
- {{#if acceptanceCriteria}}
74
- {{#each acceptanceCriteria}}
75
- - [{{#if this.completed}}x{{else}} {{/if}}] {{this.id}}: {{this.description}}
76
- {{/each}}
77
- {{else}}
78
- _Acceptance criteria to be defined._
79
- {{/if}}
80
-
81
- ---
82
-
83
- ## Scope
84
-
85
- {{#if scope}}
86
- {{scope}}
87
- {{else}}
88
- _Scope to be defined._
89
- {{/if}}
90
-
91
- ---
92
-
93
- ## Tasks
94
-
95
- {{#if tasks}}
96
- {{#each tasks}}
97
- ### {{this.id}} ({{default this.estimate "TBD"}})
98
- - [{{#if this.completed}}x{{else}} {{/if}}] {{this.description}}
99
- {{#if this.subtasks}}
100
- {{#each this.subtasks}}
101
- - [{{#if this.completed}}x{{else}} {{/if}}] {{this.id}}: {{this.description}}
102
- {{/each}}
103
- {{/if}}
104
- {{/each}}
105
- {{else}}
106
- _Tasks to be defined._
107
- {{/if}}
108
-
109
- ---
110
-
111
- ## Dev Notes
112
-
113
- {{#if devNotes}}
114
- {{devNotes}}
115
- {{else}}
116
- _Developer notes to be added during implementation._
117
- {{/if}}
118
-
119
- ### Testing
120
-
121
- {{#if testing}}
122
- | Test ID | Name | Type | Priority |
123
- |---------|------|------|----------|
124
- {{#each testing}}
125
- | {{this.id}} | {{this.name}} | {{default this.type "Unit"}} | {{default this.priority "P0"}} |
126
- {{/each}}
127
- {{else}}
128
- _Test scenarios to be defined._
129
- {{/if}}
130
-
131
- ---
132
-
133
- ## 🤖 CodeRabbit Integration
134
-
135
- {{#if coderabbitIntegration}}
136
- ### Story Type Analysis
137
-
138
- **Primary Type:** {{coderabbitIntegration.storyType}}
139
- {{#if coderabbitIntegration.secondaryTypes}}
140
- **Secondary Type(s):** {{join coderabbitIntegration.secondaryTypes ", "}}
141
- {{/if}}
142
- {{#if coderabbitIntegration.complexity}}
143
- **Complexity:** {{coderabbitIntegration.complexity}}
144
- {{/if}}
145
-
146
- ### Specialized Agent Assignment
147
-
148
- {{#if coderabbitIntegration.primaryAgents}}
149
- **Primary Agents:**
150
- {{#each coderabbitIntegration.primaryAgents}}
151
- - {{this}}
152
- {{/each}}
153
- {{/if}}
154
-
155
- {{#if coderabbitIntegration.supportingAgents}}
156
- **Supporting Agents:**
157
- {{#each coderabbitIntegration.supportingAgents}}
158
- - {{this}}
159
- {{/each}}
160
- {{/if}}
161
-
162
- {{#if coderabbitIntegration.selfHealing}}
163
- ### Self-Healing Configuration
164
-
165
- **Expected Self-Healing:**
166
- - Primary Agent: {{coderabbitIntegration.selfHealing.primaryAgent}}
167
- - Max Iterations: {{coderabbitIntegration.selfHealing.maxIterations}}
168
- - Timeout: {{coderabbitIntegration.selfHealing.timeout}}
169
- - Severity Filter: {{coderabbitIntegration.selfHealing.severityFilter}}
170
- {{/if}}
171
-
172
- {{#if coderabbitIntegration.focusAreas}}
173
- ### Focus Areas
174
-
175
- **Primary Focus:**
176
- {{#each coderabbitIntegration.focusAreas.primary}}
177
- - {{this}}
178
- {{/each}}
179
-
180
- {{#if coderabbitIntegration.focusAreas.secondary}}
181
- **Secondary Focus:**
182
- {{#each coderabbitIntegration.focusAreas.secondary}}
183
- - {{this}}
184
- {{/each}}
185
- {{/if}}
186
- {{/if}}
187
- {{else}}
188
- _CodeRabbit integration to be configured._
189
- {{/if}}
190
-
191
- ---
192
-
193
- ## Dependencies
194
-
195
- {{#if dependencies}}
196
- **Depends on:**
197
- {{#each dependencies.dependsOn}}
198
- - {{this}}
199
- {{/each}}
200
-
201
- {{#if dependencies.blocks}}
202
- **Blocks:**
203
- {{#each dependencies.blocks}}
204
- - {{this}}
205
- {{/each}}
206
- {{/if}}
207
- {{else}}
208
- _No dependencies._
209
- {{/if}}
210
-
211
- ---
212
-
213
- ## Definition of Done
214
-
215
- {{#if definitionOfDone}}
216
- {{#each definitionOfDone}}
217
- - [{{#if this.completed}}x{{else}} {{/if}}] {{this.criteria}}
218
- {{/each}}
219
- {{else}}
220
- - [ ] All acceptance criteria met
221
- - [ ] All tests passing
222
- - [ ] Code reviewed
223
- - [ ] Documentation updated
224
- - [ ] PR created and approved
225
- {{/if}}
226
-
227
- ---
228
-
229
- ## Dev Agent Record
230
-
231
- {{#if devAgentRecord}}
232
- ### Agent Model Used
233
- {{devAgentRecord.model}}
234
-
235
- ### Completion Notes
236
- {{devAgentRecord.completionNotes}}
237
-
238
- ### File List
239
- {{#each devAgentRecord.fileList}}
240
- - {{this}}
241
- {{/each}}
242
- {{else}}
243
- _To be populated during implementation_
244
- {{/if}}
245
-
246
- ---
247
-
248
- ## Change Log
249
-
250
- | Date | Version | Description | Author |
251
- |------|---------|-------------|--------|
252
- | {{formatDate now "YYYY-MM-DD"}} | 1.0 | Story created | AIOX Template Engine |
253
-
254
- ---
255
-
256
- ## QA Results
257
-
258
- _To be populated after implementation_
259
-
260
- ---
261
-
262
- **Generated by:** AIOX Template Engine v2.0
263
- **Template Version:** story-2.0
1
+ ---
2
+ template_id: story
3
+ template_name: User Story
4
+ version: 2.0
5
+ variables:
6
+ - name: id
7
+ type: string
8
+ required: true
9
+ prompt: "Story ID (e.g., 3.6):"
10
+ - name: title
11
+ type: string
12
+ required: true
13
+ prompt: "Story title:"
14
+ - name: epicRef
15
+ type: string
16
+ required: true
17
+ prompt: "Parent epic reference (e.g., EPIC-S3):"
18
+ - name: sprint
19
+ type: number
20
+ required: true
21
+ prompt: "Sprint number:"
22
+ - name: points
23
+ type: number
24
+ required: true
25
+ prompt: "Story points (1, 2, 3, 5, 8, 13, 21):"
26
+ - name: priority
27
+ type: choice
28
+ required: true
29
+ choices: [Critical, High, Medium, Low]
30
+ default: Medium
31
+ - name: status
32
+ type: choice
33
+ required: true
34
+ choices: [Draft, Ready, In Progress, In Review, Done, Blocked]
35
+ default: Draft
36
+ - name: asA
37
+ type: string
38
+ required: true
39
+ prompt: "As a [persona]:"
40
+ - name: iWant
41
+ type: string
42
+ required: true
43
+ prompt: "I want [functionality]:"
44
+ - name: soThat
45
+ type: string
46
+ required: true
47
+ prompt: "So that [business value]:"
48
+ ---
49
+
50
+ # STORY {{id}}: {{title}}
51
+
52
+ **ID:** {{id}} | **Epic:** [{{epicRef}}](../../../epics/{{lowercase epicRef}}.md)
53
+ **Sprint:** {{sprint}} | **Points:** {{points}} | **Priority:** {{#ifEqual priority "Critical"}}🔴{{/ifEqual}}{{#ifEqual priority "High"}}🟠{{/ifEqual}}{{#ifEqual priority "Medium"}}🟡{{/ifEqual}}{{#ifEqual priority "Low"}}🟢{{/ifEqual}} {{priority}}
54
+ **Created:** {{formatDate now "YYYY-MM-DD"}}
55
+ **Status:** {{#ifEqual status "Draft"}}📋{{/ifEqual}}{{#ifEqual status "Ready"}}✅{{/ifEqual}}{{#ifEqual status "In Progress"}}🔄{{/ifEqual}}{{#ifEqual status "In Review"}}👀{{/ifEqual}}{{#ifEqual status "Done"}}✔️{{/ifEqual}}{{#ifEqual status "Blocked"}}🚫{{/ifEqual}} {{status}}
56
+
57
+ {{#if predecessor}}
58
+ **Predecessor:** {{predecessor}}
59
+ {{/if}}
60
+
61
+ ---
62
+
63
+ ## User Story
64
+
65
+ **Como** {{asA}},
66
+ **Quero** {{iWant}},
67
+ **Para que** {{soThat}}.
68
+
69
+ ---
70
+
71
+ ## Acceptance Criteria
72
+
73
+ {{#if acceptanceCriteria}}
74
+ {{#each acceptanceCriteria}}
75
+ - [{{#if this.completed}}x{{else}} {{/if}}] {{this.id}}: {{this.description}}
76
+ {{/each}}
77
+ {{else}}
78
+ _Acceptance criteria to be defined._
79
+ {{/if}}
80
+
81
+ ---
82
+
83
+ ## Scope
84
+
85
+ {{#if scope}}
86
+ {{scope}}
87
+ {{else}}
88
+ _Scope to be defined._
89
+ {{/if}}
90
+
91
+ ---
92
+
93
+ ## Tasks
94
+
95
+ {{#if tasks}}
96
+ {{#each tasks}}
97
+ ### {{this.id}} ({{default this.estimate "TBD"}})
98
+ - [{{#if this.completed}}x{{else}} {{/if}}] {{this.description}}
99
+ {{#if this.subtasks}}
100
+ {{#each this.subtasks}}
101
+ - [{{#if this.completed}}x{{else}} {{/if}}] {{this.id}}: {{this.description}}
102
+ {{/each}}
103
+ {{/if}}
104
+ {{/each}}
105
+ {{else}}
106
+ _Tasks to be defined._
107
+ {{/if}}
108
+
109
+ ---
110
+
111
+ ## Dev Notes
112
+
113
+ {{#if devNotes}}
114
+ {{devNotes}}
115
+ {{else}}
116
+ _Developer notes to be added during implementation._
117
+ {{/if}}
118
+
119
+ ### Testing
120
+
121
+ {{#if testing}}
122
+ | Test ID | Name | Type | Priority |
123
+ |---------|------|------|----------|
124
+ {{#each testing}}
125
+ | {{this.id}} | {{this.name}} | {{default this.type "Unit"}} | {{default this.priority "P0"}} |
126
+ {{/each}}
127
+ {{else}}
128
+ _Test scenarios to be defined._
129
+ {{/if}}
130
+
131
+ ---
132
+
133
+ ## 🤖 CodeRabbit Integration
134
+
135
+ {{#if coderabbitIntegration}}
136
+ ### Story Type Analysis
137
+
138
+ **Primary Type:** {{coderabbitIntegration.storyType}}
139
+ {{#if coderabbitIntegration.secondaryTypes}}
140
+ **Secondary Type(s):** {{join coderabbitIntegration.secondaryTypes ", "}}
141
+ {{/if}}
142
+ {{#if coderabbitIntegration.complexity}}
143
+ **Complexity:** {{coderabbitIntegration.complexity}}
144
+ {{/if}}
145
+
146
+ ### Specialized Agent Assignment
147
+
148
+ {{#if coderabbitIntegration.primaryAgents}}
149
+ **Primary Agents:**
150
+ {{#each coderabbitIntegration.primaryAgents}}
151
+ - {{this}}
152
+ {{/each}}
153
+ {{/if}}
154
+
155
+ {{#if coderabbitIntegration.supportingAgents}}
156
+ **Supporting Agents:**
157
+ {{#each coderabbitIntegration.supportingAgents}}
158
+ - {{this}}
159
+ {{/each}}
160
+ {{/if}}
161
+
162
+ {{#if coderabbitIntegration.selfHealing}}
163
+ ### Self-Healing Configuration
164
+
165
+ **Expected Self-Healing:**
166
+ - Primary Agent: {{coderabbitIntegration.selfHealing.primaryAgent}}
167
+ - Max Iterations: {{coderabbitIntegration.selfHealing.maxIterations}}
168
+ - Timeout: {{coderabbitIntegration.selfHealing.timeout}}
169
+ - Severity Filter: {{coderabbitIntegration.selfHealing.severityFilter}}
170
+ {{/if}}
171
+
172
+ {{#if coderabbitIntegration.focusAreas}}
173
+ ### Focus Areas
174
+
175
+ **Primary Focus:**
176
+ {{#each coderabbitIntegration.focusAreas.primary}}
177
+ - {{this}}
178
+ {{/each}}
179
+
180
+ {{#if coderabbitIntegration.focusAreas.secondary}}
181
+ **Secondary Focus:**
182
+ {{#each coderabbitIntegration.focusAreas.secondary}}
183
+ - {{this}}
184
+ {{/each}}
185
+ {{/if}}
186
+ {{/if}}
187
+ {{else}}
188
+ _CodeRabbit integration to be configured._
189
+ {{/if}}
190
+
191
+ ---
192
+
193
+ ## Dependencies
194
+
195
+ {{#if dependencies}}
196
+ **Depends on:**
197
+ {{#each dependencies.dependsOn}}
198
+ - {{this}}
199
+ {{/each}}
200
+
201
+ {{#if dependencies.blocks}}
202
+ **Blocks:**
203
+ {{#each dependencies.blocks}}
204
+ - {{this}}
205
+ {{/each}}
206
+ {{/if}}
207
+ {{else}}
208
+ _No dependencies._
209
+ {{/if}}
210
+
211
+ ---
212
+
213
+ ## Definition of Done
214
+
215
+ {{#if definitionOfDone}}
216
+ {{#each definitionOfDone}}
217
+ - [{{#if this.completed}}x{{else}} {{/if}}] {{this.criteria}}
218
+ {{/each}}
219
+ {{else}}
220
+ - [ ] All acceptance criteria met
221
+ - [ ] All tests passing
222
+ - [ ] Code reviewed
223
+ - [ ] Documentation updated
224
+ - [ ] PR created and approved
225
+ {{/if}}
226
+
227
+ ---
228
+
229
+ ## Dev Agent Record
230
+
231
+ {{#if devAgentRecord}}
232
+ ### Agent Model Used
233
+ {{devAgentRecord.model}}
234
+
235
+ ### Completion Notes
236
+ {{devAgentRecord.completionNotes}}
237
+
238
+ ### File List
239
+ {{#each devAgentRecord.fileList}}
240
+ - {{this}}
241
+ {{/each}}
242
+ {{else}}
243
+ _To be populated during implementation_
244
+ {{/if}}
245
+
246
+ ---
247
+
248
+ ## Change Log
249
+
250
+ | Date | Version | Description | Author |
251
+ |------|---------|-------------|--------|
252
+ | {{formatDate now "YYYY-MM-DD"}} | 1.0 | Story created | AIOX Template Engine |
253
+
254
+ ---
255
+
256
+ ## QA Results
257
+
258
+ _To be populated after implementation_
259
+
260
+ ---
261
+
262
+ **Generated by:** AIOX Template Engine v2.0
263
+ **Template Version:** story-2.0