@agile-vibe-coding/avc 0.2.3 → 0.3.1

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 (261) hide show
  1. package/cli/agents/agent-selector.md +23 -0
  2. package/cli/agents/code-implementer.md +117 -0
  3. package/cli/agents/code-validator.md +80 -0
  4. package/cli/agents/context-reviewer-epic.md +101 -0
  5. package/cli/agents/context-reviewer-story.md +92 -0
  6. package/cli/agents/context-writer-epic.md +145 -0
  7. package/cli/agents/context-writer-story.md +111 -0
  8. package/cli/agents/doc-writer-epic.md +42 -0
  9. package/cli/agents/doc-writer-story.md +43 -0
  10. package/cli/agents/duplicate-detector.md +110 -0
  11. package/cli/agents/epic-story-decomposer.md +318 -39
  12. package/cli/agents/mission-scope-generator.md +68 -4
  13. package/cli/agents/mission-scope-validator.md +40 -6
  14. package/cli/agents/project-context-extractor.md +21 -6
  15. package/cli/agents/scaffolding-generator.md +99 -0
  16. package/cli/agents/seed-validator.md +71 -0
  17. package/cli/agents/story-scope-reviewer.md +147 -0
  18. package/cli/agents/story-splitter.md +83 -0
  19. package/cli/agents/validator-documentation.json +31 -0
  20. package/cli/agents/validator-documentation.md +3 -1
  21. package/cli/api-reference-tool.js +368 -0
  22. package/cli/checks/catalog.json +76 -0
  23. package/cli/checks/code/quality.json +26 -0
  24. package/cli/checks/code/testing.json +14 -0
  25. package/cli/checks/code/traceability.json +26 -0
  26. package/cli/checks/cross-refs/epic.json +171 -0
  27. package/cli/checks/cross-refs/story.json +149 -0
  28. package/cli/checks/epic/api.json +114 -0
  29. package/cli/checks/epic/backend.json +126 -0
  30. package/cli/checks/epic/cloud.json +126 -0
  31. package/cli/checks/epic/data.json +102 -0
  32. package/cli/checks/epic/database.json +114 -0
  33. package/cli/checks/epic/developer.json +182 -0
  34. package/cli/checks/epic/devops.json +174 -0
  35. package/cli/checks/epic/frontend.json +162 -0
  36. package/cli/checks/epic/mobile.json +102 -0
  37. package/cli/checks/epic/qa.json +90 -0
  38. package/cli/checks/epic/security.json +184 -0
  39. package/cli/checks/epic/solution-architect.json +192 -0
  40. package/cli/checks/epic/test-architect.json +90 -0
  41. package/cli/checks/epic/ui.json +102 -0
  42. package/cli/checks/epic/ux.json +90 -0
  43. package/cli/checks/fixes/epic-fix-template.md +10 -0
  44. package/cli/checks/fixes/story-fix-template.md +10 -0
  45. package/cli/checks/story/api.json +186 -0
  46. package/cli/checks/story/backend.json +102 -0
  47. package/cli/checks/story/cloud.json +102 -0
  48. package/cli/checks/story/data.json +210 -0
  49. package/cli/checks/story/database.json +102 -0
  50. package/cli/checks/story/developer.json +168 -0
  51. package/cli/checks/story/devops.json +102 -0
  52. package/cli/checks/story/frontend.json +174 -0
  53. package/cli/checks/story/mobile.json +102 -0
  54. package/cli/checks/story/qa.json +210 -0
  55. package/cli/checks/story/security.json +198 -0
  56. package/cli/checks/story/solution-architect.json +230 -0
  57. package/cli/checks/story/test-architect.json +210 -0
  58. package/cli/checks/story/ui.json +102 -0
  59. package/cli/checks/story/ux.json +102 -0
  60. package/cli/coding-order.js +401 -0
  61. package/cli/dependency-checker.js +72 -0
  62. package/cli/epic-story-validator.js +284 -799
  63. package/cli/index.js +0 -0
  64. package/cli/init-model-config.js +17 -10
  65. package/cli/init.js +514 -92
  66. package/cli/kanban-server-manager.js +1 -2
  67. package/cli/llm-claude.js +98 -31
  68. package/cli/llm-gemini.js +29 -5
  69. package/cli/llm-local.js +493 -0
  70. package/cli/llm-openai.js +262 -41
  71. package/cli/llm-provider.js +147 -8
  72. package/cli/llm-token-limits.js +113 -4
  73. package/cli/llm-verifier.js +209 -1
  74. package/cli/llm-xiaomi.js +143 -0
  75. package/cli/message-constants.js +3 -12
  76. package/cli/messaging-api.js +6 -12
  77. package/cli/micro-check-fixer.js +335 -0
  78. package/cli/micro-check-runner.js +449 -0
  79. package/cli/micro-check-scorer.js +148 -0
  80. package/cli/micro-check-validator.js +538 -0
  81. package/cli/model-pricing.js +23 -0
  82. package/cli/model-selector.js +3 -2
  83. package/cli/prompt-logger.js +57 -0
  84. package/cli/repl-ink.js +106 -346
  85. package/cli/repl-old.js +1 -2
  86. package/cli/seed-processor.js +194 -24
  87. package/cli/sprint-planning-processor.js +2638 -289
  88. package/cli/template-processor.js +50 -3
  89. package/cli/token-tracker.js +50 -23
  90. package/cli/tools/generate-story-validators.js +1 -1
  91. package/cli/validation-router.js +70 -8
  92. package/cli/worktree-runner.js +654 -0
  93. package/kanban/client/dist/assets/index-D_KC5EQT.css +1 -0
  94. package/kanban/client/dist/assets/index-DjY5zqW7.js +351 -0
  95. package/kanban/client/dist/index.html +2 -2
  96. package/kanban/client/src/App.jsx +43 -14
  97. package/kanban/client/src/components/ceremony/AskArchPopup.jsx +7 -3
  98. package/kanban/client/src/components/ceremony/AskModelPopup.jsx +23 -10
  99. package/kanban/client/src/components/ceremony/CeremonyWorkflowModal.jsx +320 -133
  100. package/kanban/client/src/components/ceremony/ProviderSwitcherButton.jsx +290 -0
  101. package/kanban/client/src/components/ceremony/SponsorCallModal.jsx +80 -13
  102. package/kanban/client/src/components/ceremony/SprintPlanningModal.jsx +156 -22
  103. package/kanban/client/src/components/ceremony/steps/ArchitectureStep.jsx +11 -11
  104. package/kanban/client/src/components/ceremony/steps/CompleteStep.jsx +3 -21
  105. package/kanban/client/src/components/ceremony/steps/ReviewAnswersStep.jsx +214 -10
  106. package/kanban/client/src/components/ceremony/steps/RunningStep.jsx +23 -2
  107. package/kanban/client/src/components/kanban/CardDetailModal.jsx +97 -10
  108. package/kanban/client/src/components/kanban/GroupingSelector.jsx +7 -1
  109. package/kanban/client/src/components/kanban/KanbanCard.jsx +23 -14
  110. package/kanban/client/src/components/kanban/RefineWorkItemPopup.jsx +9 -14
  111. package/kanban/client/src/components/kanban/RunButton.jsx +162 -0
  112. package/kanban/client/src/components/kanban/SeedButton.jsx +176 -0
  113. package/kanban/client/src/components/settings/AgentsTab.jsx +103 -75
  114. package/kanban/client/src/components/settings/ApiKeysTab.jsx +31 -2
  115. package/kanban/client/src/components/settings/CeremonyModelsTab.jsx +9 -2
  116. package/kanban/client/src/components/settings/CheckEditorPopup.jsx +507 -0
  117. package/kanban/client/src/components/settings/CostThresholdsTab.jsx +3 -2
  118. package/kanban/client/src/components/settings/ModelPricingTab.jsx +72 -7
  119. package/kanban/client/src/components/settings/OpenAIAuthSection.jsx +412 -0
  120. package/kanban/client/src/components/settings/SettingsModal.jsx +4 -4
  121. package/kanban/client/src/components/stats/CostModal.jsx +34 -3
  122. package/kanban/client/src/hooks/useGrouping.js +59 -0
  123. package/kanban/client/src/lib/api.js +118 -4
  124. package/kanban/client/src/lib/status-grouping.js +10 -0
  125. package/kanban/client/src/store/kanbanStore.js +8 -0
  126. package/kanban/server/index.js +23 -2
  127. package/kanban/server/routes/ceremony.js +153 -4
  128. package/kanban/server/routes/costs.js +9 -3
  129. package/kanban/server/routes/openai-oauth.js +366 -0
  130. package/kanban/server/routes/settings.js +447 -14
  131. package/kanban/server/routes/websocket.js +7 -2
  132. package/kanban/server/routes/work-items.js +141 -1
  133. package/kanban/server/services/CeremonyService.js +275 -24
  134. package/kanban/server/services/TaskRunnerService.js +261 -0
  135. package/kanban/server/workers/run-task-worker.js +121 -0
  136. package/kanban/server/workers/seed-worker.js +94 -0
  137. package/kanban/server/workers/sponsor-call-worker.js +14 -6
  138. package/kanban/server/workers/sprint-planning-worker.js +94 -12
  139. package/package.json +2 -3
  140. package/cli/agents/solver-epic-api.json +0 -15
  141. package/cli/agents/solver-epic-api.md +0 -39
  142. package/cli/agents/solver-epic-backend.json +0 -15
  143. package/cli/agents/solver-epic-backend.md +0 -39
  144. package/cli/agents/solver-epic-cloud.json +0 -15
  145. package/cli/agents/solver-epic-cloud.md +0 -39
  146. package/cli/agents/solver-epic-data.json +0 -15
  147. package/cli/agents/solver-epic-data.md +0 -39
  148. package/cli/agents/solver-epic-database.json +0 -15
  149. package/cli/agents/solver-epic-database.md +0 -39
  150. package/cli/agents/solver-epic-developer.json +0 -15
  151. package/cli/agents/solver-epic-developer.md +0 -39
  152. package/cli/agents/solver-epic-devops.json +0 -15
  153. package/cli/agents/solver-epic-devops.md +0 -39
  154. package/cli/agents/solver-epic-frontend.json +0 -15
  155. package/cli/agents/solver-epic-frontend.md +0 -39
  156. package/cli/agents/solver-epic-mobile.json +0 -15
  157. package/cli/agents/solver-epic-mobile.md +0 -39
  158. package/cli/agents/solver-epic-qa.json +0 -15
  159. package/cli/agents/solver-epic-qa.md +0 -39
  160. package/cli/agents/solver-epic-security.json +0 -15
  161. package/cli/agents/solver-epic-security.md +0 -39
  162. package/cli/agents/solver-epic-solution-architect.json +0 -15
  163. package/cli/agents/solver-epic-solution-architect.md +0 -39
  164. package/cli/agents/solver-epic-test-architect.json +0 -15
  165. package/cli/agents/solver-epic-test-architect.md +0 -39
  166. package/cli/agents/solver-epic-ui.json +0 -15
  167. package/cli/agents/solver-epic-ui.md +0 -39
  168. package/cli/agents/solver-epic-ux.json +0 -15
  169. package/cli/agents/solver-epic-ux.md +0 -39
  170. package/cli/agents/solver-story-api.json +0 -15
  171. package/cli/agents/solver-story-api.md +0 -39
  172. package/cli/agents/solver-story-backend.json +0 -15
  173. package/cli/agents/solver-story-backend.md +0 -39
  174. package/cli/agents/solver-story-cloud.json +0 -15
  175. package/cli/agents/solver-story-cloud.md +0 -39
  176. package/cli/agents/solver-story-data.json +0 -15
  177. package/cli/agents/solver-story-data.md +0 -39
  178. package/cli/agents/solver-story-database.json +0 -15
  179. package/cli/agents/solver-story-database.md +0 -39
  180. package/cli/agents/solver-story-developer.json +0 -15
  181. package/cli/agents/solver-story-developer.md +0 -39
  182. package/cli/agents/solver-story-devops.json +0 -15
  183. package/cli/agents/solver-story-devops.md +0 -39
  184. package/cli/agents/solver-story-frontend.json +0 -15
  185. package/cli/agents/solver-story-frontend.md +0 -39
  186. package/cli/agents/solver-story-mobile.json +0 -15
  187. package/cli/agents/solver-story-mobile.md +0 -39
  188. package/cli/agents/solver-story-qa.json +0 -15
  189. package/cli/agents/solver-story-qa.md +0 -39
  190. package/cli/agents/solver-story-security.json +0 -15
  191. package/cli/agents/solver-story-security.md +0 -39
  192. package/cli/agents/solver-story-solution-architect.json +0 -15
  193. package/cli/agents/solver-story-solution-architect.md +0 -39
  194. package/cli/agents/solver-story-test-architect.json +0 -15
  195. package/cli/agents/solver-story-test-architect.md +0 -39
  196. package/cli/agents/solver-story-ui.json +0 -15
  197. package/cli/agents/solver-story-ui.md +0 -39
  198. package/cli/agents/solver-story-ux.json +0 -15
  199. package/cli/agents/solver-story-ux.md +0 -39
  200. package/cli/agents/validator-epic-api.json +0 -93
  201. package/cli/agents/validator-epic-api.md +0 -137
  202. package/cli/agents/validator-epic-backend.json +0 -93
  203. package/cli/agents/validator-epic-backend.md +0 -130
  204. package/cli/agents/validator-epic-cloud.json +0 -93
  205. package/cli/agents/validator-epic-cloud.md +0 -137
  206. package/cli/agents/validator-epic-data.json +0 -93
  207. package/cli/agents/validator-epic-data.md +0 -130
  208. package/cli/agents/validator-epic-database.json +0 -93
  209. package/cli/agents/validator-epic-database.md +0 -137
  210. package/cli/agents/validator-epic-developer.json +0 -74
  211. package/cli/agents/validator-epic-developer.md +0 -153
  212. package/cli/agents/validator-epic-devops.json +0 -74
  213. package/cli/agents/validator-epic-devops.md +0 -153
  214. package/cli/agents/validator-epic-frontend.json +0 -74
  215. package/cli/agents/validator-epic-frontend.md +0 -153
  216. package/cli/agents/validator-epic-mobile.json +0 -93
  217. package/cli/agents/validator-epic-mobile.md +0 -130
  218. package/cli/agents/validator-epic-qa.json +0 -93
  219. package/cli/agents/validator-epic-qa.md +0 -130
  220. package/cli/agents/validator-epic-security.json +0 -74
  221. package/cli/agents/validator-epic-security.md +0 -154
  222. package/cli/agents/validator-epic-solution-architect.json +0 -74
  223. package/cli/agents/validator-epic-solution-architect.md +0 -156
  224. package/cli/agents/validator-epic-test-architect.json +0 -93
  225. package/cli/agents/validator-epic-test-architect.md +0 -130
  226. package/cli/agents/validator-epic-ui.json +0 -93
  227. package/cli/agents/validator-epic-ui.md +0 -130
  228. package/cli/agents/validator-epic-ux.json +0 -93
  229. package/cli/agents/validator-epic-ux.md +0 -130
  230. package/cli/agents/validator-story-api.json +0 -104
  231. package/cli/agents/validator-story-api.md +0 -152
  232. package/cli/agents/validator-story-backend.json +0 -104
  233. package/cli/agents/validator-story-backend.md +0 -152
  234. package/cli/agents/validator-story-cloud.json +0 -104
  235. package/cli/agents/validator-story-cloud.md +0 -152
  236. package/cli/agents/validator-story-data.json +0 -104
  237. package/cli/agents/validator-story-data.md +0 -152
  238. package/cli/agents/validator-story-database.json +0 -104
  239. package/cli/agents/validator-story-database.md +0 -152
  240. package/cli/agents/validator-story-developer.json +0 -104
  241. package/cli/agents/validator-story-developer.md +0 -152
  242. package/cli/agents/validator-story-devops.json +0 -104
  243. package/cli/agents/validator-story-devops.md +0 -152
  244. package/cli/agents/validator-story-frontend.json +0 -104
  245. package/cli/agents/validator-story-frontend.md +0 -152
  246. package/cli/agents/validator-story-mobile.json +0 -104
  247. package/cli/agents/validator-story-mobile.md +0 -152
  248. package/cli/agents/validator-story-qa.json +0 -104
  249. package/cli/agents/validator-story-qa.md +0 -152
  250. package/cli/agents/validator-story-security.json +0 -104
  251. package/cli/agents/validator-story-security.md +0 -152
  252. package/cli/agents/validator-story-solution-architect.json +0 -104
  253. package/cli/agents/validator-story-solution-architect.md +0 -152
  254. package/cli/agents/validator-story-test-architect.json +0 -104
  255. package/cli/agents/validator-story-test-architect.md +0 -152
  256. package/cli/agents/validator-story-ui.json +0 -104
  257. package/cli/agents/validator-story-ui.md +0 -152
  258. package/cli/agents/validator-story-ux.json +0 -104
  259. package/cli/agents/validator-story-ux.md +0 -152
  260. package/kanban/client/dist/assets/index-CiD8PS2e.js +0 -306
  261. package/kanban/client/dist/assets/index-nLh0m82Q.css +0 -1
@@ -0,0 +1,184 @@
1
+ {
2
+ "perspective": "security",
3
+ "scope": "epic",
4
+ "checks": [
5
+ {
6
+ "id": "sec-epic-01",
7
+ "tier": 1,
8
+ "perspective": "security",
9
+ "severity": "critical",
10
+ "category": "threat-model-coverage",
11
+ "universal": false,
12
+ "applicabilityQuestion": "Does this epic handle user input, authentication, or data access? (Does it involve forms, APIs, login, or data queries?)",
13
+ "question": "Does the epic address primary threat categories: authentication abuse (brute force, credential stuffing), authorization bypass (IDOR/BOLA, privilege escalation), and injection (SQL, path traversal, XSS)?",
14
+ "failDescription": "Primary threat categories are not addressed — authentication abuse, authorization bypass, or injection threats missing",
15
+ "failSuggestion": "Address primary threat categories: (1) auth abuse (brute force, credential stuffing), (2) authz bypass (IDOR/BOLA, privilege escalation), (3) injection (SQL, path traversal, XSS)"
16
+ },
17
+ {
18
+ "id": "sec-epic-02",
19
+ "tier": 1,
20
+ "perspective": "security",
21
+ "severity": "critical",
22
+ "category": "threat-model-coverage",
23
+ "universal": false,
24
+ "applicabilityQuestion": "Does this epic expose any endpoints or accept external input? (Does it have APIs, webhooks, file uploads, or search endpoints?)",
25
+ "question": "Does the epic enumerate its attack surface: public endpoints, webhook receivers, file uploads, and search/query endpoints?",
26
+ "failDescription": "Attack surface is not enumerated — unclear which endpoints and input vectors are exposed",
27
+ "failSuggestion": "Enumerate the attack surface: list public endpoints, webhook receivers, file upload endpoints, and search/query endpoints"
28
+ },
29
+ {
30
+ "id": "sec-epic-03",
31
+ "tier": 1,
32
+ "perspective": "security",
33
+ "severity": "critical",
34
+ "category": "threat-model-coverage",
35
+ "universal": false,
36
+ "applicabilityQuestion": "Does this epic involve multiple layers of request processing? (Does it have gateway, middleware, handler, or database layers?)",
37
+ "question": "Does the epic document trust boundaries — what is validated at each layer (gateway, middleware, handler, DB)?",
38
+ "failDescription": "Trust boundaries are not documented — unclear what validation occurs at each processing layer",
39
+ "failSuggestion": "Document trust boundaries: specify what is validated at each layer (gateway, middleware, handler, database)"
40
+ },
41
+ {
42
+ "id": "sec-epic-04",
43
+ "tier": 1,
44
+ "perspective": "security",
45
+ "severity": "critical",
46
+ "category": "authentication-session-management",
47
+ "universal": false,
48
+ "applicabilityQuestion": "Does this epic manage user sessions or authentication? (Does it handle login, tokens, cookies, or session state?)",
49
+ "question": "Does the epic describe a complete session lifecycle: issue (login), renew (refresh), and revoke (logout + deactivation)?",
50
+ "failDescription": "Session lifecycle is incomplete — not all phases (issue, renew, revoke) are addressed",
51
+ "failSuggestion": "Describe the complete session lifecycle: issue (login), renew (refresh token), revoke (logout + deactivation)"
52
+ },
53
+ {
54
+ "id": "sec-epic-05",
55
+ "tier": 1,
56
+ "perspective": "security",
57
+ "severity": "major",
58
+ "category": "authentication-session-management",
59
+ "universal": false,
60
+ "applicabilityQuestion": "Does this epic use cookies for session management? (Does it set or read cookies for auth?)",
61
+ "question": "Does the epic state cookie security attributes: httpOnly, SameSite, and Secure?",
62
+ "failDescription": "Cookie security attributes are not stated — httpOnly, SameSite, and Secure flags missing",
63
+ "failSuggestion": "State cookie security attributes: httpOnly (prevents JS access), SameSite=Strict (CSRF protection), Secure (HTTPS only)"
64
+ },
65
+ {
66
+ "id": "sec-epic-06",
67
+ "tier": 1,
68
+ "perspective": "security",
69
+ "severity": "major",
70
+ "category": "authentication-session-management",
71
+ "universal": false,
72
+ "applicabilityQuestion": "Does this epic have state-mutating endpoints? (Does it involve POST, PUT, PATCH, or DELETE operations?)",
73
+ "question": "Does the epic state a CSRF strategy for mutating endpoints?",
74
+ "failDescription": "CSRF strategy is not stated for mutating endpoints",
75
+ "failSuggestion": "State the CSRF strategy: SameSite cookies, CSRF tokens, or double-submit pattern for mutating endpoints"
76
+ },
77
+ {
78
+ "id": "sec-epic-07",
79
+ "tier": 1,
80
+ "perspective": "security",
81
+ "severity": "major",
82
+ "category": "authentication-session-management",
83
+ "universal": false,
84
+ "applicabilityQuestion": "Does this epic have authentication endpoints? (Does it involve login, registration, or password reset?)",
85
+ "question": "Does the epic specify rate limiting and lockout on authentication endpoints?",
86
+ "failDescription": "Rate limiting and lockout are not specified for authentication endpoints",
87
+ "failSuggestion": "Specify rate limiting (e.g. 5 attempts/minute) and account lockout (e.g. lock after 10 failed attempts) for auth endpoints"
88
+ },
89
+ {
90
+ "id": "sec-epic-08",
91
+ "tier": 1,
92
+ "perspective": "security",
93
+ "severity": "critical",
94
+ "category": "authorization-model",
95
+ "universal": false,
96
+ "applicabilityQuestion": "Does this epic involve role-based access control? (Does it mention roles, permissions, or restricted operations?)",
97
+ "question": "Does the epic name all roles with their exact permission boundaries?",
98
+ "failDescription": "Roles are not named with exact permission boundaries — access control is ambiguous",
99
+ "failSuggestion": "Name all roles (e.g. admin, staff, user) with their exact permission boundaries for each operation"
100
+ },
101
+ {
102
+ "id": "sec-epic-09",
103
+ "tier": 1,
104
+ "perspective": "security",
105
+ "severity": "critical",
106
+ "category": "authorization-model",
107
+ "universal": false,
108
+ "applicabilityQuestion": "Does this epic involve user-owned resources? (Does it have per-user data like profiles, orders, or documents?)",
109
+ "question": "Does the epic describe per-resource ownership enforcement to prevent IDOR?",
110
+ "failDescription": "Per-resource ownership enforcement is not described — IDOR vulnerability risk",
111
+ "failSuggestion": "Describe per-resource ownership enforcement: how the system verifies that user A cannot access user B's resources"
112
+ },
113
+ {
114
+ "id": "sec-epic-10",
115
+ "tier": 1,
116
+ "perspective": "security",
117
+ "severity": "major",
118
+ "category": "authorization-model",
119
+ "universal": false,
120
+ "applicabilityQuestion": "Does this epic involve both admin and non-admin operations? (Does it have admin-only features alongside regular user features?)",
121
+ "question": "Are admin vs non-admin distinctions clear for every sensitive operation?",
122
+ "failDescription": "Admin vs non-admin distinctions are unclear for sensitive operations",
123
+ "failSuggestion": "Clarify admin vs non-admin access for every sensitive operation — which operations require admin privileges"
124
+ },
125
+ {
126
+ "id": "sec-epic-11",
127
+ "tier": 1,
128
+ "perspective": "security",
129
+ "severity": "major",
130
+ "category": "authorization-model",
131
+ "universal": false,
132
+ "applicabilityQuestion": "Does this epic have endpoints that could be accessed by unauthenticated users? (Does it expose public or mixed-auth endpoints?)",
133
+ "question": "Does the epic define unauthenticated access policy — 401 or 404 response with rationale?",
134
+ "failDescription": "Unauthenticated access policy is not defined — unclear whether to respond with 401 or 404",
135
+ "failSuggestion": "Define unauthenticated access policy: respond with 401 (existence visible) or 404 (existence hidden) with rationale for the choice"
136
+ },
137
+ {
138
+ "id": "sec-epic-12",
139
+ "tier": 1,
140
+ "perspective": "security",
141
+ "severity": "minor",
142
+ "category": "data-protection",
143
+ "universal": false,
144
+ "applicabilityQuestion": "Does this epic handle personally identifiable information (PII)? (Does it store or process names, emails, phone numbers, or addresses?)",
145
+ "question": "Does the epic identify PII fields and state a minimization strategy?",
146
+ "failDescription": "PII fields are not identified and no minimization strategy is stated",
147
+ "failSuggestion": "Identify PII fields (name, email, phone, etc.) and state a minimization strategy (only collect/return what's needed)"
148
+ },
149
+ {
150
+ "id": "sec-epic-13",
151
+ "tier": 1,
152
+ "perspective": "security",
153
+ "severity": "minor",
154
+ "category": "data-protection",
155
+ "universal": true,
156
+ "question": "Does the epic confirm that sensitive credentials/keys are stored in environment variables (never hardcoded)?",
157
+ "failDescription": "No confirmation that sensitive credentials are stored in environment variables",
158
+ "failSuggestion": "State that all sensitive credentials and keys are stored in environment variables, never hardcoded in source"
159
+ },
160
+ {
161
+ "id": "sec-epic-14",
162
+ "tier": 1,
163
+ "perspective": "security",
164
+ "severity": "minor",
165
+ "category": "data-protection",
166
+ "universal": false,
167
+ "applicabilityQuestion": "Does this epic involve security-sensitive actions? (Does it handle auth events, admin actions, or data modifications?)",
168
+ "question": "Does the epic enumerate audit log events for security-sensitive actions?",
169
+ "failDescription": "Audit log events are not enumerated for security-sensitive actions",
170
+ "failSuggestion": "Enumerate audit log events: which security-sensitive actions are logged (login, logout, role change, data deletion)"
171
+ },
172
+ {
173
+ "id": "sec-epic-15",
174
+ "tier": 1,
175
+ "perspective": "security",
176
+ "severity": "minor",
177
+ "category": "data-protection",
178
+ "universal": true,
179
+ "question": "Does the epic state encryption at rest/in transit requirements (even if 'local dev only — HTTPS on deploy')?",
180
+ "failDescription": "Encryption requirements are not stated for data at rest and in transit",
181
+ "failSuggestion": "State encryption requirements: at rest (e.g. DB encryption) and in transit (e.g. HTTPS/TLS) — even if 'HTTPS on deploy only'"
182
+ }
183
+ ]
184
+ }
@@ -0,0 +1,192 @@
1
+ {
2
+ "perspective": "solution-architect",
3
+ "scope": "epic",
4
+ "checks": [
5
+ {
6
+ "id": "sa-epic-01",
7
+ "tier": 1,
8
+ "perspective": "solution-architect",
9
+ "severity": "critical",
10
+ "category": "api-surface-definition",
11
+ "universal": false,
12
+ "applicabilityQuestion": "Does this epic expose any HTTP API endpoints? (Does it involve REST endpoints, GraphQL, webhooks, or any external-facing HTTP surface?)",
13
+ "question": "Does the epic name the key API endpoints it exposes (path pattern and HTTP method family)?",
14
+ "failDescription": "Epic does not name the API surface it exposes — path patterns and HTTP method families are absent",
15
+ "failSuggestion": "Add to epic description or features: list key endpoints as 'POST /api/X, GET /api/X/:id' pattern"
16
+ },
17
+ {
18
+ "id": "sa-epic-02",
19
+ "tier": 1,
20
+ "perspective": "solution-architect",
21
+ "severity": "critical",
22
+ "category": "api-surface-definition",
23
+ "universal": false,
24
+ "applicabilityQuestion": "Does this epic expose any HTTP API endpoints? (Does it involve REST endpoints, GraphQL, webhooks, or any external-facing HTTP surface?)",
25
+ "question": "Does the epic state an authorization model — which roles exist, where enforced (middleware vs handler), and what unauthenticated callers receive?",
26
+ "failDescription": "Authorization model is missing — no roles, enforcement points, or unauthenticated response defined",
27
+ "failSuggestion": "State the authorization model: name exact roles, specify enforcement location (middleware/handler), and define unauthenticated caller response (401)"
28
+ },
29
+ {
30
+ "id": "sa-epic-03",
31
+ "tier": 1,
32
+ "perspective": "solution-architect",
33
+ "severity": "critical",
34
+ "category": "api-surface-definition",
35
+ "universal": false,
36
+ "applicabilityQuestion": "Does this epic expose any HTTP API endpoints? (Does it involve REST endpoints, GraphQL, webhooks, or any external-facing HTTP surface?)",
37
+ "question": "Does the epic define an error taxonomy — the set of error codes this epic produces (e.g. 401/403/404/409/422/429)?",
38
+ "failDescription": "Error taxonomy is missing — no error codes defined for the epic's endpoints",
39
+ "failSuggestion": "Define the set of error codes this epic produces, e.g. 401 (unauthenticated), 403 (forbidden), 404 (not found), 422 (validation), 429 (rate limited)"
40
+ },
41
+ {
42
+ "id": "sa-epic-04",
43
+ "tier": 1,
44
+ "perspective": "solution-architect",
45
+ "severity": "major",
46
+ "category": "api-surface-definition",
47
+ "universal": false,
48
+ "applicabilityQuestion": "Does this epic describe access control or authorization? (Does it mention roles, permissions, or restricted access?)",
49
+ "question": "Does the epic avoid vague authorization phrases like 'permitted users', 'authorized users', 'users with access', or 'allowed roles' — using exact role names and access rules instead?",
50
+ "failDescription": "Epic uses vague authorization phrases that are unimplementable — exact role names and access rules are required",
51
+ "failSuggestion": "Replace vague phrases ('permitted users', 'authorized users') with exact role names (e.g. 'admin', 'staff', 'owner') and specific access rules"
52
+ },
53
+ {
54
+ "id": "sa-epic-05",
55
+ "tier": 1,
56
+ "perspective": "solution-architect",
57
+ "severity": "major",
58
+ "category": "technical-architecture-coherence",
59
+ "universal": false,
60
+ "applicabilityQuestion": "Does this epic involve database operations or data persistence? (Does it mention storing, querying, or managing data?)",
61
+ "question": "Does the epic state the database technology that matches the project's stated tech stack exactly?",
62
+ "failDescription": "Database technology is not stated or does not match the project's tech stack",
63
+ "failSuggestion": "State the database technology explicitly and ensure it matches the project's tech stack (e.g. PostgreSQL, MongoDB)"
64
+ },
65
+ {
66
+ "id": "sa-epic-06",
67
+ "tier": 1,
68
+ "perspective": "solution-architect",
69
+ "severity": "major",
70
+ "category": "technical-architecture-coherence",
71
+ "universal": false,
72
+ "applicabilityQuestion": "Does this epic involve database operations with an ORM or data-access layer? (Does it use an ORM like Prisma, TypeORM, Sequelize?)",
73
+ "question": "Does the epic name the ORM/data-access layer if one is used (e.g. Prisma, TypeORM, Sequelize)?",
74
+ "failDescription": "ORM/data-access layer is not named despite the epic involving database operations",
75
+ "failSuggestion": "Name the ORM or data-access layer used (e.g. Prisma, TypeORM, Sequelize, raw SQL)"
76
+ },
77
+ {
78
+ "id": "sa-epic-07",
79
+ "tier": 1,
80
+ "perspective": "solution-architect",
81
+ "severity": "major",
82
+ "category": "technical-architecture-coherence",
83
+ "universal": true,
84
+ "question": "Are all technology names (DB, framework, runtime) consistent throughout the epic description and features list?",
85
+ "failDescription": "Technology names are inconsistent — different names used for the same technology in different parts of the epic",
86
+ "failSuggestion": "Audit all technology references and ensure consistent naming throughout the epic description and features"
87
+ },
88
+ {
89
+ "id": "sa-epic-08",
90
+ "tier": 1,
91
+ "perspective": "solution-architect",
92
+ "severity": "major",
93
+ "category": "technical-architecture-coherence",
94
+ "universal": true,
95
+ "question": "Does the epic state its integration points with other epics — what this epic consumes and what it exposes?",
96
+ "failDescription": "Integration points with other epics are not stated — unclear what this epic consumes and exposes",
97
+ "failSuggestion": "Add integration points: list what contracts/services this epic consumes from other epics and what it exposes to them"
98
+ },
99
+ {
100
+ "id": "sa-epic-09",
101
+ "tier": 1,
102
+ "perspective": "solution-architect",
103
+ "severity": "major",
104
+ "category": "cross-cutting-concerns",
105
+ "universal": false,
106
+ "applicabilityQuestion": "Does this epic have protected routes or require authentication? (Does it involve auth enforcement, middleware, or guarded endpoints?)",
107
+ "question": "Does the epic describe how protected routes are guarded — naming the middleware or auth enforcement pattern?",
108
+ "failDescription": "Auth enforcement mechanism is not described — no middleware name or pattern specified for protecting routes",
109
+ "failSuggestion": "Describe auth enforcement: name the middleware/pattern used to guard protected routes (e.g. 'requireAuth middleware', 'JWT verification middleware')"
110
+ },
111
+ {
112
+ "id": "sa-epic-10",
113
+ "tier": 1,
114
+ "perspective": "solution-architect",
115
+ "severity": "major",
116
+ "category": "cross-cutting-concerns",
117
+ "universal": false,
118
+ "applicabilityQuestion": "Does this epic own authentication? (Does it handle login, sessions, tokens, or user authentication?)",
119
+ "question": "Does the epic address the full session/token lifecycle — issue, refresh, and revoke phases?",
120
+ "failDescription": "Session/token lifecycle is incomplete — not all three phases (issue, refresh, revoke) are addressed",
121
+ "failSuggestion": "Address all three session lifecycle phases: issue (login), refresh (token renewal), and revoke (logout + deactivation)"
122
+ },
123
+ {
124
+ "id": "sa-epic-11",
125
+ "tier": 1,
126
+ "perspective": "solution-architect",
127
+ "severity": "major",
128
+ "category": "cross-cutting-concerns",
129
+ "universal": false,
130
+ "applicabilityQuestion": "Does this epic involve security-sensitive or business-critical operations? (Does it handle user data, financial transactions, or admin actions?)",
131
+ "question": "Does the epic specify which events are audit-logged and where the audit logs are stored?",
132
+ "failDescription": "Audit logging is not addressed — no events enumerated and no storage location specified",
133
+ "failSuggestion": "Enumerate which events are audit-logged (e.g. login, role change, data deletion) and where logs are stored"
134
+ },
135
+ {
136
+ "id": "sa-epic-12",
137
+ "tier": 1,
138
+ "perspective": "solution-architect",
139
+ "severity": "major",
140
+ "category": "cross-cutting-concerns",
141
+ "universal": false,
142
+ "applicabilityQuestion": "Does this epic expose public-facing API endpoints? (Does it involve endpoints accessible from external clients?)",
143
+ "question": "Does the epic state whether rate limiting applies and at what threshold?",
144
+ "failDescription": "Rate limiting is not addressed — unclear whether it applies or at what threshold",
145
+ "failSuggestion": "State whether rate limiting applies and at what threshold (e.g. '100 requests/minute per IP' or 'no rate limiting — internal service only')"
146
+ },
147
+ {
148
+ "id": "sa-epic-13",
149
+ "tier": 1,
150
+ "perspective": "solution-architect",
151
+ "severity": "minor",
152
+ "category": "acceptance-criteria-testability",
153
+ "universal": true,
154
+ "question": "Does the epic have enough stories to fully cover its scope, each focused on a single cohesive capability?",
155
+ "failDescription": "Epic stories do not fully cover its scope — some features or capabilities are missing",
156
+ "failSuggestion": "Add stories until the epic's full scope is covered — each story should own a single cohesive capability"
157
+ },
158
+ {
159
+ "id": "sa-epic-14",
160
+ "tier": 1,
161
+ "perspective": "solution-architect",
162
+ "severity": "minor",
163
+ "category": "acceptance-criteria-testability",
164
+ "universal": true,
165
+ "question": "Does each feature string include a technical detail in parentheses?",
166
+ "failDescription": "Feature strings lack technical details — no parenthetical technical context provided",
167
+ "failSuggestion": "Add technical details in parentheses to each feature, e.g. 'User registration (POST /api/auth/register, bcrypt hashing)'"
168
+ },
169
+ {
170
+ "id": "sa-epic-15",
171
+ "tier": 1,
172
+ "perspective": "solution-architect",
173
+ "severity": "minor",
174
+ "category": "acceptance-criteria-testability",
175
+ "universal": true,
176
+ "question": "Is the epic description 2-5 sentences covering: what, how, key constraints, and integration touchpoints?",
177
+ "failDescription": "Epic description is too brief or does not cover all four required aspects (what, how, constraints, integration)",
178
+ "failSuggestion": "Write a 2-5 sentence description covering: (1) what the epic delivers, (2) how it's implemented, (3) key constraints, (4) integration touchpoints"
179
+ },
180
+ {
181
+ "id": "sa-epic-16",
182
+ "tier": 1,
183
+ "perspective": "solution-architect",
184
+ "severity": "minor",
185
+ "category": "acceptance-criteria-testability",
186
+ "universal": true,
187
+ "question": "Does the epic specify measurable NFRs — latency targets, error rate budgets, or test coverage expectations?",
188
+ "failDescription": "NFRs are not measurable — no latency targets, error rate budgets, or test coverage expectations specified",
189
+ "failSuggestion": "Add measurable NFRs: e.g. 'p95 latency < 200ms', 'error rate < 0.1%', 'test coverage > 80%'"
190
+ }
191
+ ]
192
+ }
@@ -0,0 +1,90 @@
1
+ {
2
+ "perspective": "test-architect",
3
+ "scope": "epic",
4
+ "checks": [
5
+ {
6
+ "id": "ta-epic-01",
7
+ "tier": 1,
8
+ "perspective": "test-architect",
9
+ "severity": "critical",
10
+ "category": "completeness",
11
+ "universal": false,
12
+ "applicabilityQuestion": "Does this epic involve test infrastructure, automation frameworks, or test architecture? (Does it define test frameworks, CI/CD test integration, or test data strategy?)",
13
+ "question": "Does the epic scope clearly define test architecture boundaries?",
14
+ "failDescription": "Test architecture boundaries are not defined — unclear which test infrastructure and frameworks are in scope",
15
+ "failSuggestion": "Define test architecture boundaries: test frameworks, CI/CD integration, test data management, test environments"
16
+ },
17
+ {
18
+ "id": "ta-epic-02",
19
+ "tier": 1,
20
+ "perspective": "test-architect",
21
+ "severity": "critical",
22
+ "category": "completeness",
23
+ "universal": false,
24
+ "applicabilityQuestion": "Does this epic involve test infrastructure, automation frameworks, or test architecture?",
25
+ "question": "Are all critical test architecture features identified?",
26
+ "failDescription": "Critical test architecture features are missing — framework selection, CI integration, or test data strategy not identified",
27
+ "failSuggestion": "Identify critical features: test framework, CI/CD integration, test data management, parallel execution, reporting"
28
+ },
29
+ {
30
+ "id": "ta-epic-03",
31
+ "tier": 1,
32
+ "perspective": "test-architect",
33
+ "severity": "major",
34
+ "category": "completeness",
35
+ "universal": false,
36
+ "applicabilityQuestion": "Does this epic depend on test infrastructure or services?",
37
+ "question": "Are dependencies on test architecture services/infrastructure explicit?",
38
+ "failDescription": "Test infrastructure dependencies are not explicit",
39
+ "failSuggestion": "Make test dependencies explicit: test framework, CI/CD runner, test database, mock services, browser drivers"
40
+ },
41
+ {
42
+ "id": "ta-epic-04",
43
+ "tier": 1,
44
+ "perspective": "test-architect",
45
+ "severity": "major",
46
+ "category": "completeness",
47
+ "universal": false,
48
+ "applicabilityQuestion": "Does this epic involve test infrastructure, automation frameworks, or test architecture?",
49
+ "question": "Are test architecture success criteria measurable?",
50
+ "failDescription": "Test architecture success criteria are not measurable",
51
+ "failSuggestion": "Define measurable criteria: test execution time, flakiness rate, coverage targets, CI/CD integration status"
52
+ },
53
+ {
54
+ "id": "ta-epic-05",
55
+ "tier": 1,
56
+ "perspective": "test-architect",
57
+ "severity": "major",
58
+ "category": "technical-depth",
59
+ "universal": false,
60
+ "applicabilityQuestion": "Does this epic involve test architecture design?",
61
+ "question": "Are test architecture patterns considered?",
62
+ "failDescription": "Test architecture patterns are not considered",
63
+ "failSuggestion": "Consider test patterns: page object model, test data factories, fixture management, parallel execution strategy"
64
+ },
65
+ {
66
+ "id": "ta-epic-06",
67
+ "tier": 1,
68
+ "perspective": "test-architect",
69
+ "severity": "minor",
70
+ "category": "consistency",
71
+ "universal": false,
72
+ "applicabilityQuestion": "Does this epic involve test infrastructure, automation frameworks, or test architecture?",
73
+ "question": "Does the test architecture approach align with project context?",
74
+ "failDescription": "Test architecture approach does not align with project context",
75
+ "failSuggestion": "Ensure test architecture aligns with project: consistent frameworks, patterns, and CI/CD pipeline"
76
+ },
77
+ {
78
+ "id": "ta-epic-07",
79
+ "tier": 1,
80
+ "perspective": "test-architect",
81
+ "severity": "minor",
82
+ "category": "best-practices",
83
+ "universal": false,
84
+ "applicabilityQuestion": "Does this epic involve test infrastructure, automation frameworks, or test architecture?",
85
+ "question": "Are industry-standard test architecture patterns followed (DRY tests, test pyramid, BDD)?",
86
+ "failDescription": "Test architecture best practices are not followed",
87
+ "failSuggestion": "Follow test architecture best practices: DRY test helpers, test pyramid, BDD patterns, deterministic tests"
88
+ }
89
+ ]
90
+ }
@@ -0,0 +1,102 @@
1
+ {
2
+ "perspective": "ui",
3
+ "scope": "epic",
4
+ "checks": [
5
+ {
6
+ "id": "ui-epic-01",
7
+ "tier": 1,
8
+ "perspective": "ui",
9
+ "severity": "critical",
10
+ "category": "completeness",
11
+ "universal": false,
12
+ "applicabilityQuestion": "Does this epic involve visual design, UI components, or design systems? (Does it include UI specifications, component libraries, or visual design?)",
13
+ "question": "Does the epic scope clearly define UI boundaries?",
14
+ "failDescription": "UI boundaries are not defined — unclear which components and visual elements are in scope",
15
+ "failSuggestion": "Define UI boundaries: which components, pages, and visual elements belong to this epic"
16
+ },
17
+ {
18
+ "id": "ui-epic-02",
19
+ "tier": 1,
20
+ "perspective": "ui",
21
+ "severity": "critical",
22
+ "category": "completeness",
23
+ "universal": false,
24
+ "applicabilityQuestion": "Does this epic involve visual design, UI components, or design systems?",
25
+ "question": "Are all critical UI features identified?",
26
+ "failDescription": "Critical UI features are missing — component specs, design tokens, or responsive rules not identified",
27
+ "failSuggestion": "Identify critical UI features: component library, design tokens (colors, spacing, typography), responsive breakpoints"
28
+ },
29
+ {
30
+ "id": "ui-epic-03",
31
+ "tier": 1,
32
+ "perspective": "ui",
33
+ "severity": "major",
34
+ "category": "completeness",
35
+ "universal": false,
36
+ "applicabilityQuestion": "Does this epic depend on UI libraries or design systems?",
37
+ "question": "Are dependencies on UI services/infrastructure explicit?",
38
+ "failDescription": "UI dependencies are not explicit — component library, icon set, or font requirements missing",
39
+ "failSuggestion": "Make UI dependencies explicit: component library (MUI, Ant Design), icon set, font family, design system"
40
+ },
41
+ {
42
+ "id": "ui-epic-04",
43
+ "tier": 1,
44
+ "perspective": "ui",
45
+ "severity": "major",
46
+ "category": "completeness",
47
+ "universal": false,
48
+ "applicabilityQuestion": "Does this epic involve visual design, UI components, or design systems?",
49
+ "question": "Are UI success criteria measurable?",
50
+ "failDescription": "UI success criteria are not measurable",
51
+ "failSuggestion": "Define measurable UI criteria: design consistency score, accessibility audit pass rate, responsive breakpoint coverage"
52
+ },
53
+ {
54
+ "id": "ui-epic-05",
55
+ "tier": 1,
56
+ "perspective": "ui",
57
+ "severity": "major",
58
+ "category": "technical-depth",
59
+ "universal": false,
60
+ "applicabilityQuestion": "Does this epic involve UI design patterns or component architecture?",
61
+ "question": "Are UI architectural patterns considered?",
62
+ "failDescription": "UI architectural patterns are not considered",
63
+ "failSuggestion": "Consider UI patterns: design system tokens, component composition, responsive layout strategy, theming"
64
+ },
65
+ {
66
+ "id": "ui-epic-06",
67
+ "tier": 1,
68
+ "perspective": "ui",
69
+ "severity": "minor",
70
+ "category": "technical-depth",
71
+ "universal": false,
72
+ "applicabilityQuestion": "Does this epic involve UI components that need to render efficiently?",
73
+ "question": "Are performance/scalability concerns for UI addressed?",
74
+ "failDescription": "UI performance concerns are not addressed — rendering, animation, or large list handling missing",
75
+ "failSuggestion": "Address UI performance: virtualized lists, optimized re-renders, animation performance, image optimization"
76
+ },
77
+ {
78
+ "id": "ui-epic-07",
79
+ "tier": 1,
80
+ "perspective": "ui",
81
+ "severity": "minor",
82
+ "category": "consistency",
83
+ "universal": false,
84
+ "applicabilityQuestion": "Does this epic involve visual design, UI components, or design systems?",
85
+ "question": "Does the UI approach align with project context?",
86
+ "failDescription": "UI approach does not align with project context",
87
+ "failSuggestion": "Ensure UI approach aligns with project: consistent component library, design tokens, and visual language"
88
+ },
89
+ {
90
+ "id": "ui-epic-08",
91
+ "tier": 1,
92
+ "perspective": "ui",
93
+ "severity": "minor",
94
+ "category": "best-practices",
95
+ "universal": false,
96
+ "applicabilityQuestion": "Does this epic involve visual design, UI components, or design systems?",
97
+ "question": "Are industry-standard UI patterns followed (visual hierarchy, contrast, spacing)?",
98
+ "failDescription": "UI best practices are not followed",
99
+ "failSuggestion": "Follow UI best practices: visual hierarchy, sufficient contrast, consistent spacing, clear typography scale"
100
+ }
101
+ ]
102
+ }