@su-record/vibe 2.6.26 → 2.6.28

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 (287) hide show
  1. package/CLAUDE.md +202 -153
  2. package/LICENSE +21 -21
  3. package/README.md +267 -236
  4. package/agents/architect-low.md +41 -41
  5. package/agents/architect-medium.md +59 -59
  6. package/agents/architect.md +80 -80
  7. package/agents/build-error-resolver.md +115 -115
  8. package/agents/compounder.md +261 -261
  9. package/agents/diagrammer.md +178 -178
  10. package/agents/docs/api-documenter.md +99 -99
  11. package/agents/docs/changelog-writer.md +93 -93
  12. package/agents/e2e-tester.md +266 -266
  13. package/agents/explorer-low.md +42 -42
  14. package/agents/explorer-medium.md +59 -59
  15. package/agents/explorer.md +48 -48
  16. package/agents/implementer-low.md +43 -43
  17. package/agents/implementer-medium.md +52 -52
  18. package/agents/implementer.md +54 -54
  19. package/agents/planning/requirements-analyst.md +84 -84
  20. package/agents/planning/ux-advisor.md +83 -83
  21. package/agents/qa/acceptance-tester.md +86 -86
  22. package/agents/qa/edge-case-finder.md +93 -93
  23. package/agents/refactor-cleaner.md +143 -143
  24. package/agents/research/best-practices-agent.md +199 -199
  25. package/agents/research/codebase-patterns-agent.md +157 -157
  26. package/agents/research/framework-docs-agent.md +188 -188
  27. package/agents/research/security-advisory-agent.md +213 -213
  28. package/agents/review/architecture-reviewer.md +107 -107
  29. package/agents/review/complexity-reviewer.md +116 -116
  30. package/agents/review/data-integrity-reviewer.md +88 -88
  31. package/agents/review/git-history-reviewer.md +103 -103
  32. package/agents/review/performance-reviewer.md +86 -86
  33. package/agents/review/python-reviewer.md +150 -150
  34. package/agents/review/rails-reviewer.md +139 -139
  35. package/agents/review/react-reviewer.md +144 -144
  36. package/agents/review/security-reviewer.md +80 -80
  37. package/agents/review/simplicity-reviewer.md +140 -140
  38. package/agents/review/test-coverage-reviewer.md +116 -116
  39. package/agents/review/typescript-reviewer.md +127 -127
  40. package/agents/searcher.md +54 -54
  41. package/agents/simplifier.md +120 -120
  42. package/agents/tester.md +49 -49
  43. package/agents/ui-previewer.md +268 -268
  44. package/commands/vibe.analyze.md +356 -356
  45. package/commands/vibe.reason.md +329 -329
  46. package/commands/vibe.review.md +423 -423
  47. package/commands/vibe.run.md +1313 -1313
  48. package/commands/vibe.spec.md +1054 -1054
  49. package/commands/vibe.spec.review.md +412 -412
  50. package/commands/vibe.trace.md +161 -161
  51. package/commands/vibe.utils.md +376 -376
  52. package/commands/vibe.verify.md +375 -375
  53. package/dist/cli/collaborator.js +52 -52
  54. package/dist/cli/detect.js +32 -32
  55. package/dist/cli/hud.js +20 -20
  56. package/dist/cli/index.js +112 -112
  57. package/dist/cli/llm.js +144 -144
  58. package/dist/cli/mcp.d.ts +49 -0
  59. package/dist/cli/mcp.d.ts.map +1 -0
  60. package/dist/cli/mcp.js +169 -0
  61. package/dist/cli/mcp.js.map +1 -0
  62. package/dist/cli/postinstall.d.ts.map +1 -1
  63. package/dist/cli/postinstall.js +886 -858
  64. package/dist/cli/postinstall.js.map +1 -1
  65. package/dist/cli/setup/GlobalInstaller.d.ts +6 -0
  66. package/dist/cli/setup/GlobalInstaller.d.ts.map +1 -1
  67. package/dist/cli/setup/GlobalInstaller.js +26 -0
  68. package/dist/cli/setup/GlobalInstaller.js.map +1 -1
  69. package/dist/lib/DeepInit.js +24 -24
  70. package/dist/lib/IterationTracker.js +11 -11
  71. package/dist/lib/MemoryManager.d.ts +30 -0
  72. package/dist/lib/MemoryManager.d.ts.map +1 -1
  73. package/dist/lib/MemoryManager.js +74 -0
  74. package/dist/lib/MemoryManager.js.map +1 -1
  75. package/dist/lib/PythonParser.js +108 -108
  76. package/dist/lib/ReviewRace.js +96 -96
  77. package/dist/lib/SkillFrontmatter.js +28 -28
  78. package/dist/lib/SkillQualityGate.js +9 -9
  79. package/dist/lib/SkillRepository.js +159 -159
  80. package/dist/lib/UltraQA.js +77 -77
  81. package/dist/lib/gemini-api.js +5 -5
  82. package/dist/lib/gemini-mcp.d.ts +10 -0
  83. package/dist/lib/gemini-mcp.d.ts.map +1 -0
  84. package/dist/lib/gemini-mcp.js +353 -0
  85. package/dist/lib/gemini-mcp.js.map +1 -0
  86. package/dist/lib/gpt-api.js +4 -4
  87. package/dist/lib/gpt-mcp.d.ts +10 -0
  88. package/dist/lib/gpt-mcp.d.ts.map +1 -0
  89. package/dist/lib/gpt-mcp.js +352 -0
  90. package/dist/lib/gpt-mcp.js.map +1 -0
  91. package/dist/lib/memory/KnowledgeGraph.js +4 -4
  92. package/dist/lib/memory/MemorySearch.js +43 -43
  93. package/dist/lib/memory/MemoryStorage.js +130 -130
  94. package/dist/lib/memory/ObservationStore.js +28 -28
  95. package/dist/lib/memory/SessionRAGRetriever.d.ts +66 -0
  96. package/dist/lib/memory/SessionRAGRetriever.d.ts.map +1 -0
  97. package/dist/lib/memory/SessionRAGRetriever.js +196 -0
  98. package/dist/lib/memory/SessionRAGRetriever.js.map +1 -0
  99. package/dist/lib/memory/SessionRAGRetriever.test.d.ts +2 -0
  100. package/dist/lib/memory/SessionRAGRetriever.test.d.ts.map +1 -0
  101. package/dist/lib/memory/SessionRAGRetriever.test.js +180 -0
  102. package/dist/lib/memory/SessionRAGRetriever.test.js.map +1 -0
  103. package/dist/lib/memory/SessionRAGStore.d.ts +153 -0
  104. package/dist/lib/memory/SessionRAGStore.d.ts.map +1 -0
  105. package/dist/lib/memory/SessionRAGStore.js +673 -0
  106. package/dist/lib/memory/SessionRAGStore.js.map +1 -0
  107. package/dist/lib/memory/SessionRAGStore.test.d.ts +2 -0
  108. package/dist/lib/memory/SessionRAGStore.test.d.ts.map +1 -0
  109. package/dist/lib/memory/SessionRAGStore.test.js +326 -0
  110. package/dist/lib/memory/SessionRAGStore.test.js.map +1 -0
  111. package/dist/lib/memory/SessionSummarizer.js +9 -9
  112. package/dist/orchestrator/AgentManager.js +12 -12
  113. package/dist/orchestrator/MultiLlmResearch.js +8 -8
  114. package/dist/orchestrator/SmartRouter.js +11 -11
  115. package/dist/orchestrator/SwarmOrchestrator.test.js +16 -16
  116. package/dist/orchestrator/parallelResearch.js +24 -24
  117. package/dist/tools/analytics/getUsageAnalytics.d.ts +10 -0
  118. package/dist/tools/analytics/getUsageAnalytics.d.ts.map +1 -0
  119. package/dist/tools/analytics/getUsageAnalytics.js +246 -0
  120. package/dist/tools/analytics/getUsageAnalytics.js.map +1 -0
  121. package/dist/tools/analytics/index.d.ts +5 -0
  122. package/dist/tools/analytics/index.d.ts.map +1 -0
  123. package/dist/tools/analytics/index.js +5 -0
  124. package/dist/tools/analytics/index.js.map +1 -0
  125. package/dist/tools/convention/analyzeComplexity.test.js +115 -115
  126. package/dist/tools/convention/getCodingGuide.d.ts +7 -0
  127. package/dist/tools/convention/getCodingGuide.d.ts.map +1 -0
  128. package/dist/tools/convention/getCodingGuide.js +69 -0
  129. package/dist/tools/convention/getCodingGuide.js.map +1 -0
  130. package/dist/tools/convention/validateCodeQuality.test.js +104 -104
  131. package/dist/tools/index.d.ts +5 -0
  132. package/dist/tools/index.d.ts.map +1 -1
  133. package/dist/tools/index.js +4 -0
  134. package/dist/tools/index.js.map +1 -1
  135. package/dist/tools/memory/index.d.ts +3 -0
  136. package/dist/tools/memory/index.d.ts.map +1 -1
  137. package/dist/tools/memory/index.js +4 -0
  138. package/dist/tools/memory/index.js.map +1 -1
  139. package/dist/tools/memory/manageGoals.d.ts +11 -0
  140. package/dist/tools/memory/manageGoals.d.ts.map +1 -0
  141. package/dist/tools/memory/manageGoals.js +152 -0
  142. package/dist/tools/memory/manageGoals.js.map +1 -0
  143. package/dist/tools/memory/retrieveSessionContext.d.ts +9 -0
  144. package/dist/tools/memory/retrieveSessionContext.d.ts.map +1 -0
  145. package/dist/tools/memory/retrieveSessionContext.js +140 -0
  146. package/dist/tools/memory/retrieveSessionContext.js.map +1 -0
  147. package/dist/tools/memory/saveSessionItem.d.ts +26 -0
  148. package/dist/tools/memory/saveSessionItem.d.ts.map +1 -0
  149. package/dist/tools/memory/saveSessionItem.js +218 -0
  150. package/dist/tools/memory/saveSessionItem.js.map +1 -0
  151. package/dist/tools/memory/startSession.d.ts.map +1 -1
  152. package/dist/tools/memory/startSession.js +29 -0
  153. package/dist/tools/memory/startSession.js.map +1 -1
  154. package/dist/tools/planning/analyzeRequirements.d.ts +9 -0
  155. package/dist/tools/planning/analyzeRequirements.d.ts.map +1 -0
  156. package/dist/tools/planning/analyzeRequirements.js +171 -0
  157. package/dist/tools/planning/analyzeRequirements.js.map +1 -0
  158. package/dist/tools/planning/createUserStories.d.ts +9 -0
  159. package/dist/tools/planning/createUserStories.d.ts.map +1 -0
  160. package/dist/tools/planning/createUserStories.js +124 -0
  161. package/dist/tools/planning/createUserStories.js.map +1 -0
  162. package/dist/tools/planning/featureRoadmap.d.ts +10 -0
  163. package/dist/tools/planning/featureRoadmap.d.ts.map +1 -0
  164. package/dist/tools/planning/featureRoadmap.js +207 -0
  165. package/dist/tools/planning/featureRoadmap.js.map +1 -0
  166. package/dist/tools/planning/generatePrd.d.ts +11 -0
  167. package/dist/tools/planning/generatePrd.d.ts.map +1 -0
  168. package/dist/tools/planning/generatePrd.js +161 -0
  169. package/dist/tools/planning/generatePrd.js.map +1 -0
  170. package/dist/tools/planning/index.d.ts +8 -0
  171. package/dist/tools/planning/index.d.ts.map +1 -0
  172. package/dist/tools/planning/index.js +8 -0
  173. package/dist/tools/planning/index.js.map +1 -0
  174. package/dist/tools/prompt/analyzePrompt.d.ts +7 -0
  175. package/dist/tools/prompt/analyzePrompt.d.ts.map +1 -0
  176. package/dist/tools/prompt/analyzePrompt.js +150 -0
  177. package/dist/tools/prompt/analyzePrompt.js.map +1 -0
  178. package/dist/tools/prompt/enhancePrompt.d.ts +8 -0
  179. package/dist/tools/prompt/enhancePrompt.d.ts.map +1 -0
  180. package/dist/tools/prompt/enhancePrompt.js +110 -0
  181. package/dist/tools/prompt/enhancePrompt.js.map +1 -0
  182. package/dist/tools/prompt/enhancePromptGemini.d.ts +8 -0
  183. package/dist/tools/prompt/enhancePromptGemini.d.ts.map +1 -0
  184. package/dist/tools/prompt/enhancePromptGemini.js +332 -0
  185. package/dist/tools/prompt/enhancePromptGemini.js.map +1 -0
  186. package/dist/tools/prompt/index.d.ts +7 -0
  187. package/dist/tools/prompt/index.d.ts.map +1 -0
  188. package/dist/tools/prompt/index.js +7 -0
  189. package/dist/tools/prompt/index.js.map +1 -0
  190. package/dist/tools/reasoning/applyReasoningFramework.d.ts +8 -0
  191. package/dist/tools/reasoning/applyReasoningFramework.d.ts.map +1 -0
  192. package/dist/tools/reasoning/applyReasoningFramework.js +266 -0
  193. package/dist/tools/reasoning/applyReasoningFramework.js.map +1 -0
  194. package/dist/tools/reasoning/index.d.ts +5 -0
  195. package/dist/tools/reasoning/index.d.ts.map +1 -0
  196. package/dist/tools/reasoning/index.js +5 -0
  197. package/dist/tools/reasoning/index.js.map +1 -0
  198. package/dist/tools/spec/prdParser.test.js +171 -171
  199. package/dist/tools/spec/specGenerator.js +169 -169
  200. package/dist/tools/spec/traceabilityMatrix.js +64 -64
  201. package/dist/tools/spec/traceabilityMatrix.test.js +28 -28
  202. package/dist/tools/thinking/analyzeProblem.d.ts +7 -0
  203. package/dist/tools/thinking/analyzeProblem.d.ts.map +1 -0
  204. package/dist/tools/thinking/analyzeProblem.js +55 -0
  205. package/dist/tools/thinking/analyzeProblem.js.map +1 -0
  206. package/dist/tools/thinking/breakDownProblem.d.ts +8 -0
  207. package/dist/tools/thinking/breakDownProblem.d.ts.map +1 -0
  208. package/dist/tools/thinking/breakDownProblem.js +145 -0
  209. package/dist/tools/thinking/breakDownProblem.js.map +1 -0
  210. package/dist/tools/thinking/createThinkingChain.d.ts +7 -0
  211. package/dist/tools/thinking/createThinkingChain.d.ts.map +1 -0
  212. package/dist/tools/thinking/createThinkingChain.js +44 -0
  213. package/dist/tools/thinking/createThinkingChain.js.map +1 -0
  214. package/dist/tools/thinking/formatAsPlan.d.ts +9 -0
  215. package/dist/tools/thinking/formatAsPlan.d.ts.map +1 -0
  216. package/dist/tools/thinking/formatAsPlan.js +78 -0
  217. package/dist/tools/thinking/formatAsPlan.js.map +1 -0
  218. package/dist/tools/thinking/index.d.ts +10 -0
  219. package/dist/tools/thinking/index.d.ts.map +1 -0
  220. package/dist/tools/thinking/index.js +10 -0
  221. package/dist/tools/thinking/index.js.map +1 -0
  222. package/dist/tools/thinking/stepByStepAnalysis.d.ts +8 -0
  223. package/dist/tools/thinking/stepByStepAnalysis.d.ts.map +1 -0
  224. package/dist/tools/thinking/stepByStepAnalysis.js +63 -0
  225. package/dist/tools/thinking/stepByStepAnalysis.js.map +1 -0
  226. package/dist/tools/thinking/thinkAloudProcess.d.ts +8 -0
  227. package/dist/tools/thinking/thinkAloudProcess.d.ts.map +1 -0
  228. package/dist/tools/thinking/thinkAloudProcess.js +80 -0
  229. package/dist/tools/thinking/thinkAloudProcess.js.map +1 -0
  230. package/hooks/hooks.json +115 -115
  231. package/hooks/scripts/code-check.js +70 -70
  232. package/hooks/scripts/code-review.js +22 -22
  233. package/hooks/scripts/complexity.js +22 -22
  234. package/hooks/scripts/compound.js +23 -23
  235. package/hooks/scripts/context-save.js +53 -53
  236. package/hooks/scripts/gemini-ui-gen.js +281 -281
  237. package/hooks/scripts/generate-brand-assets.js +474 -474
  238. package/hooks/scripts/hud-multiline.js +262 -262
  239. package/hooks/scripts/hud-status.js +291 -291
  240. package/hooks/scripts/keyword-detector.js +214 -214
  241. package/hooks/scripts/llm-orchestrate.js +171 -171
  242. package/hooks/scripts/post-edit.js +97 -97
  243. package/hooks/scripts/post-tool-verify.js +210 -210
  244. package/hooks/scripts/pre-tool-guard.js +125 -125
  245. package/hooks/scripts/prompt-dispatcher.js +161 -161
  246. package/hooks/scripts/recall.js +22 -22
  247. package/hooks/scripts/session-start.js +30 -30
  248. package/hooks/scripts/skill-injector.js +191 -191
  249. package/hooks/scripts/utils.js +97 -97
  250. package/languages/csharp-unity.md +515 -515
  251. package/languages/gdscript-godot.md +470 -470
  252. package/languages/ruby-rails.md +489 -489
  253. package/languages/typescript-angular.md +433 -433
  254. package/languages/typescript-astro.md +416 -416
  255. package/languages/typescript-electron.md +406 -406
  256. package/languages/typescript-nestjs.md +524 -524
  257. package/languages/typescript-svelte.md +407 -407
  258. package/languages/typescript-tauri.md +365 -365
  259. package/package.json +84 -84
  260. package/skills/brand-assets.md +141 -141
  261. package/skills/commerce-patterns.md +361 -361
  262. package/skills/context7-usage.md +102 -102
  263. package/skills/e2e-commerce.md +304 -304
  264. package/skills/frontend-design.md +92 -92
  265. package/skills/git-worktree.md +181 -181
  266. package/skills/parallel-research.md +77 -77
  267. package/skills/priority-todos.md +239 -239
  268. package/skills/seo-checklist.md +244 -244
  269. package/skills/tool-fallback.md +190 -190
  270. package/skills/vibe-capabilities.md +161 -161
  271. package/vibe/constitution.md +227 -227
  272. package/vibe/rules/core/communication-guide.md +98 -98
  273. package/vibe/rules/core/development-philosophy.md +52 -52
  274. package/vibe/rules/core/quick-start.md +102 -102
  275. package/vibe/rules/quality/bdd-contract-testing.md +393 -393
  276. package/vibe/rules/quality/checklist.md +276 -276
  277. package/vibe/rules/quality/testing-strategy.md +440 -440
  278. package/vibe/rules/standards/anti-patterns.md +541 -541
  279. package/vibe/rules/standards/code-structure.md +291 -291
  280. package/vibe/rules/standards/complexity-metrics.md +313 -313
  281. package/vibe/rules/standards/naming-conventions.md +198 -198
  282. package/vibe/setup.sh +31 -31
  283. package/vibe/templates/constitution-template.md +252 -252
  284. package/vibe/templates/contract-backend-template.md +526 -526
  285. package/vibe/templates/contract-frontend-template.md +599 -599
  286. package/vibe/templates/feature-template.md +96 -96
  287. package/vibe/templates/spec-template.md +221 -221
@@ -1,375 +1,375 @@
1
- ---
2
- description: Verify implementation against SPEC requirements
3
- argument-hint: "feature name"
4
- ---
5
-
6
- # /vibe.verify
7
-
8
- **Automated Quality Verification** - Making quality trustworthy even for non-developers.
9
-
10
- > All scenarios passed = Quality assured
11
-
12
- ## Usage
13
-
14
- ```
15
- /vibe.verify "feature-name" # SPEC-based verification
16
- /vibe.verify --e2e "feature-name" # E2E browser test (agents/e2e-tester.md)
17
- /vibe.verify --e2e --visual # Visual regression test
18
- /vibe.verify --e2e --record # Video recording
19
- ```
20
-
21
- ## Core Principles
22
-
23
- ```
24
- ┌─────────────────────────────────────────────────────────────────┐
25
- │ What non-developers need to know │
26
- │ │
27
- │ ✅ Scenarios: 4/4 passed │
28
- │ 📈 Quality Score: 94/100 │
29
- │ │
30
- │ Just look at this. The system handles the rest. │
31
- └─────────────────────────────────────────────────────────────────┘
32
- ```
33
-
34
- ## Process
35
-
36
- ### 1. Load Feature File
37
-
38
- ```
39
- 📄 .claude/vibe/features/{feature-name}.feature → Scenario list
40
- 📄 .claude/vibe/specs/{feature-name}.md → Verification criteria (reference)
41
- ```
42
-
43
- **If feature file does not exist**:
44
- ```
45
- ❌ Feature file not found.
46
- Run /vibe.spec "{feature-name}" first.
47
- ```
48
-
49
- ### 2. Scenario-by-Scenario Verification
50
-
51
- Automatic verification for each scenario:
52
-
53
- ```
54
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
55
- 🔍 Scenario 1/4: Valid login success
56
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
57
-
58
- Given: User is registered
59
- → Verify: User creation API exists? ✅
60
- → Verify: Test user data available? ✅
61
-
62
- When: Login with valid email and password
63
- → Verify: POST /login endpoint exists? ✅
64
- → Verify: Request handling logic exists? ✅
65
-
66
- Then: Login success + JWT token returned
67
- → Verify: Success response code 200? ✅
68
- → Verify: JWT token included? ✅
69
-
70
- ✅ Scenario 1 passed!
71
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
72
- ```
73
-
74
- ### 3. Verification Methods (Auto-selected)
75
-
76
- | Method | Condition | Verification Content |
77
- |--------|-----------|---------------------|
78
- | **Test Execution** | When test files exist | Run `npm test`, `pytest`, etc. |
79
- | **Code Analysis** | Always | Check implementation, verify logic |
80
- | **Build Verification** | When build script exists | Check for compile errors |
81
- | **Type Check** | TypeScript, etc. | Check for type errors |
82
-
83
- ### 4. Quality Report (Auto-generated)
84
-
85
- ```
86
- ┌─────────────────────────────────────────────────────────────────┐
87
- │ 📊 VERIFICATION REPORT: login │
88
- ├─────────────────────────────────────────────────────────────────┤
89
- │ │
90
- │ ✅ Scenarios: 4/4 passed (100%) │
91
- │ │
92
- │ ┌───────────────────────────────────────────────────────────┐ │
93
- │ │ # │ Scenario │ Given │ When │ Then │ Status │ │
94
- │ │───│───────────────────────│───────│──────│──────│────────│ │
95
- │ │ 1 │ Valid login success │ ✅ │ ✅ │ ✅ │ ✅ │ │
96
- │ │ 2 │ Invalid password error│ ✅ │ ✅ │ ✅ │ ✅ │ │
97
- │ │ 3 │ Email format validation│ ✅ │ ✅ │ ✅ │ ✅ │ │
98
- │ │ 4 │ Forgot password link │ ✅ │ ✅ │ ✅ │ ✅ │ │
99
- │ └───────────────────────────────────────────────────────────┘ │
100
- │ │
101
- │ 📈 Quality Score: 94/100 │
102
- │ │
103
- │ ┌─────────────────────────────────────────────────────────┐ │
104
- │ │ Item │ Result│ Details │ │
105
- │ │───────────────────│───────│─────────────────────────────│ │
106
- │ │ Build │ ✅ │ Success │ │
107
- │ │ Tests │ ✅ │ 12/12 passed │ │
108
- │ │ Type Check │ ✅ │ 0 errors │ │
109
- │ │ Complexity │ ✅ │ All functions ≤30 lines │ │
110
- │ │ Code Coverage │ ⚠️ │ 78% (target: 80%) │ │
111
- │ └─────────────────────────────────────────────────────────┘ │
112
- │ │
113
- │ 📋 Recommendations: │
114
- │ - Need 2% more code coverage (auth.service.ts line 45-52) │
115
- │ │
116
- └─────────────────────────────────────────────────────────────────┘
117
- ```
118
-
119
- ### Failure Report
120
-
121
- ```
122
- ┌─────────────────────────────────────────────────────────────────┐
123
- │ 📊 VERIFICATION REPORT: login │
124
- ├─────────────────────────────────────────────────────────────────┤
125
- │ │
126
- │ ❌ Scenarios: 3/4 passed (75%) │
127
- │ │
128
- │ ┌───────────────────────────────────────────────────────────┐ │
129
- │ │ # │ Scenario │ Given │ When │ Then │ Status │ │
130
- │ │───│───────────────────────│───────│──────│──────│────────│ │
131
- │ │ 1 │ Valid login success │ ✅ │ ✅ │ ✅ │ ✅ │ │
132
- │ │ 2 │ Invalid password error│ ✅ │ ✅ │ ✅ │ ✅ │ │
133
- │ │ 3 │ Email format validation│ ✅ │ ✅ │ ✅ │ ✅ │ │
134
- │ │ 4 │ Forgot password link │ ✅ │ ❌ │ - │ ❌ │ │
135
- │ └───────────────────────────────────────────────────────────┘ │
136
- │ │
137
- │ ❌ Failure Details: │
138
- │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │
139
- │ Scenario 4: Forgot password link │
140
- │ │
141
- │ When: Click "Forgot password" │
142
- │ ❌ Issue: Link not implemented │
143
- │ 📍 Location: LoginForm.tsx line 42 │
144
- │ 💡 Fix: Need to add "Forgot password" link │
145
- │ │
146
- │ 🔧 Auto-fix command: /vibe.run "login" --fix │
147
- │ │
148
- └─────────────────────────────────────────────────────────────────┘
149
- ```
150
-
151
- ## Input
152
-
153
- - `.claude/vibe/features/{feature-name}.feature` - BDD scenarios
154
- - `.claude/vibe/specs/{feature-name}.md` - SPEC document (reference)
155
- - Implemented source code
156
-
157
- ## Output
158
-
159
- - Verification result report (terminal output)
160
- - Passed/failed scenario list
161
- - Items needing fixes
162
-
163
- ## Example
164
-
165
- ```
166
- User: /vibe.verify "login"
167
-
168
- Claude:
169
- 📄 Loading Feature: .claude/vibe/features/login.feature
170
- 🔍 Starting verification...
171
-
172
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
173
- 🔍 Scenario 1/4: Valid login success
174
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
175
- ✅ Given: User registered - OK
176
- ✅ When: Login attempt - OK
177
- ✅ Then: JWT token returned - OK
178
- ✅ Passed!
179
-
180
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
181
- 🔍 Scenario 2/4: Invalid password error
182
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
183
- ✅ Given: OK
184
- ✅ When: OK
185
- ✅ Then: OK
186
- ✅ Passed!
187
-
188
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
189
- 🔍 Scenario 3/4: Email format validation
190
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
191
- ✅ Given: OK
192
- ✅ When: OK
193
- ✅ Then: OK
194
- ✅ Passed!
195
-
196
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
197
- 🔍 Scenario 4/4: Forgot password link
198
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
199
- ✅ Given: OK
200
- ❌ When: "Forgot password" link - missing
201
- - Then: (skipped)
202
- ❌ Failed!
203
-
204
- ┌─────────────────────────────────────────────────────────────────┐
205
- │ 📊 VERIFICATION REPORT: login │
206
- ├─────────────────────────────────────────────────────────────────┤
207
- │ │
208
- │ ❌ Scenarios: 3/4 passed (75%) │
209
- │ │
210
- │ | # | Scenario | Status | │
211
- │ |---|───────────────────────|────────| │
212
- │ | 1 | Valid login success | ✅ | │
213
- │ | 2 | Invalid password error| ✅ | │
214
- │ | 3 | Email format validation| ✅ | │
215
- │ | 4 | Forgot password link | ❌ | │
216
- │ │
217
- │ 📈 Quality Score: 75/100 │
218
- │ │
219
- │ ❌ Fixes needed: │
220
- │ - Scenario 4: Add "Forgot password" link in LoginForm.tsx │
221
- │ │
222
- │ 🔧 Auto-fix: /vibe.run "login" --fix │
223
- │ │
224
- └─────────────────────────────────────────────────────────────────┘
225
- ```
226
-
227
- ## Vibe Tools (Code Analysis & Quality)
228
-
229
- ### Tool Invocation
230
-
231
- All tools are called via:
232
-
233
- ```bash
234
- node -e "import('@su-record/vibe/tools').then(t => t.TOOL_NAME({...args}).then(r => console.log(r.content[0].text)))"
235
- ```
236
-
237
- ### Recommended Tools for Verification
238
-
239
- | Tool | Purpose | When to Use |
240
- |------|---------|-------------|
241
- | `validateCodeQuality` | Code quality validation | Check complexity, style violations |
242
- | `analyzeComplexity` | Complexity analysis | Verify function length, nesting depth |
243
- | `findSymbol` | Find implementations | Verify feature implementation exists |
244
- | `findReferences` | Find usages | Check if all references are correct |
245
-
246
- ### Example Tool Usage in Verification
247
-
248
- **1. Validate code quality:**
249
-
250
- ```bash
251
- node -e "import('@su-record/vibe/tools').then(t => t.validateCodeQuality({targetPath: 'src/auth/', projectPath: process.cwd()}).then(r => console.log(r.content[0].text)))"
252
- ```
253
-
254
- **2. Analyze complexity of implementation:**
255
-
256
- ```bash
257
- node -e "import('@su-record/vibe/tools').then(t => t.analyzeComplexity({targetPath: 'src/auth/login.ts', projectPath: process.cwd()}).then(r => console.log(r.content[0].text)))"
258
- ```
259
-
260
- **3. Find implemented feature:**
261
-
262
- ```bash
263
- node -e "import('@su-record/vibe/tools').then(t => t.findSymbol({symbolName: 'handleLogin', searchPath: 'src/'}).then(r => console.log(r.content[0].text)))"
264
- ```
265
-
266
- ## Next Step
267
-
268
- On verification pass:
269
-
270
- ```
271
- Complete! Proceed to next feature.
272
- ```
273
-
274
- On verification fail:
275
-
276
- ```
277
- /vibe.run "feature-name" --fix # Fix failed scenarios
278
- ```
279
-
280
- ---
281
-
282
- ## Quality Gate (Mandatory)
283
-
284
- ### Verification Quality Checklist
285
-
286
- Before marking verification complete, ALL items must pass:
287
-
288
- | Category | Check Item | Weight |
289
- |----------|------------|--------|
290
- | **Scenario Coverage** | All scenarios from feature file tested | 25% |
291
- | **Given Verification** | All preconditions validated | 15% |
292
- | **When Verification** | All actions executable | 15% |
293
- | **Then Verification** | All expected outcomes confirmed | 20% |
294
- | **Build Status** | Project builds without errors | 10% |
295
- | **Test Status** | All existing tests pass | 10% |
296
- | **Type Check** | No TypeScript/type errors | 5% |
297
-
298
- ### Verification Score Calculation
299
-
300
- ```
301
- Score = (passed_scenarios / total_scenarios) × 100
302
-
303
- Grades:
304
- - 100%: ✅ PERFECT - All scenarios pass
305
- - 90-99%: ⚠️ ALMOST - Minor gaps, review needed
306
- - 70-89%: ❌ INCOMPLETE - Significant gaps
307
- - 0-69%: ❌ FAILED - Major implementation missing
308
- ```
309
-
310
- ### Pass/Fail Criteria
311
-
312
- | Metric | Pass Threshold | Action on Fail |
313
- |--------|----------------|----------------|
314
- | Scenario pass rate | 100% | Run `/vibe.run --fix` |
315
- | Build status | Success | Fix build errors first |
316
- | Test pass rate | 100% | Fix failing tests |
317
- | Type check | 0 errors | Fix type errors |
318
-
319
- ### Verification Methods Matrix
320
-
321
- | Method | Trigger Condition | What It Checks |
322
- |--------|-------------------|----------------|
323
- | **Code Analysis** | Always | Implementation exists |
324
- | **Test Execution** | Test files exist | Logic correctness |
325
- | **Build Verification** | Build script exists | Compilation success |
326
- | **Type Check** | tsconfig.json exists | Type safety |
327
- | **Lint Check** | ESLint config exists | Code style |
328
-
329
- ### Scenario Verification Depth
330
-
331
- For each scenario, verify at THREE levels:
332
-
333
- | Level | Verification | Example |
334
- |-------|--------------|---------|
335
- | **L1: Existence** | Code/function exists | `login()` function defined |
336
- | **L2: Logic** | Implementation is correct | Validates email format |
337
- | **L3: Integration** | Works with other components | Returns valid JWT |
338
-
339
- ### Auto-Fix Triggers
340
-
341
- | Verification Failure | Auto-Fix Action |
342
- |----------------------|-----------------|
343
- | Missing implementation | Generate skeleton from scenario |
344
- | Test failure | Analyze and suggest fix |
345
- | Build error | Show error location |
346
- | Type error | Suggest type annotations |
347
-
348
- ### Verification Report Requirements
349
-
350
- Every verification MUST produce:
351
-
352
- 1. **Scenario Summary Table**
353
- - Scenario name
354
- - Given/When/Then status (✅/❌)
355
- - Overall status
356
-
357
- 2. **Quality Metrics**
358
- - Build status
359
- - Test pass count
360
- - Type error count
361
- - Code coverage percentage
362
-
363
- 3. **Failure Details** (if any)
364
- - Exact failure point (Given/When/Then)
365
- - Expected vs actual
366
- - File path and line number
367
- - Suggested fix command
368
-
369
- 4. **Recommendations**
370
- - Specific files to modify
371
- - Auto-fix command if available
372
-
373
- ---
374
-
375
- ARGUMENTS: $ARGUMENTS
1
+ ---
2
+ description: Verify implementation against SPEC requirements
3
+ argument-hint: "feature name"
4
+ ---
5
+
6
+ # /vibe.verify
7
+
8
+ **Automated Quality Verification** - Making quality trustworthy even for non-developers.
9
+
10
+ > All scenarios passed = Quality assured
11
+
12
+ ## Usage
13
+
14
+ ```
15
+ /vibe.verify "feature-name" # SPEC-based verification
16
+ /vibe.verify --e2e "feature-name" # E2E browser test (agents/e2e-tester.md)
17
+ /vibe.verify --e2e --visual # Visual regression test
18
+ /vibe.verify --e2e --record # Video recording
19
+ ```
20
+
21
+ ## Core Principles
22
+
23
+ ```
24
+ ┌─────────────────────────────────────────────────────────────────┐
25
+ │ What non-developers need to know │
26
+ │ │
27
+ │ ✅ Scenarios: 4/4 passed │
28
+ │ 📈 Quality Score: 94/100 │
29
+ │ │
30
+ │ Just look at this. The system handles the rest. │
31
+ └─────────────────────────────────────────────────────────────────┘
32
+ ```
33
+
34
+ ## Process
35
+
36
+ ### 1. Load Feature File
37
+
38
+ ```
39
+ 📄 .claude/vibe/features/{feature-name}.feature → Scenario list
40
+ 📄 .claude/vibe/specs/{feature-name}.md → Verification criteria (reference)
41
+ ```
42
+
43
+ **If feature file does not exist**:
44
+ ```
45
+ ❌ Feature file not found.
46
+ Run /vibe.spec "{feature-name}" first.
47
+ ```
48
+
49
+ ### 2. Scenario-by-Scenario Verification
50
+
51
+ Automatic verification for each scenario:
52
+
53
+ ```
54
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
55
+ 🔍 Scenario 1/4: Valid login success
56
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
57
+
58
+ Given: User is registered
59
+ → Verify: User creation API exists? ✅
60
+ → Verify: Test user data available? ✅
61
+
62
+ When: Login with valid email and password
63
+ → Verify: POST /login endpoint exists? ✅
64
+ → Verify: Request handling logic exists? ✅
65
+
66
+ Then: Login success + JWT token returned
67
+ → Verify: Success response code 200? ✅
68
+ → Verify: JWT token included? ✅
69
+
70
+ ✅ Scenario 1 passed!
71
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
72
+ ```
73
+
74
+ ### 3. Verification Methods (Auto-selected)
75
+
76
+ | Method | Condition | Verification Content |
77
+ |--------|-----------|---------------------|
78
+ | **Test Execution** | When test files exist | Run `npm test`, `pytest`, etc. |
79
+ | **Code Analysis** | Always | Check implementation, verify logic |
80
+ | **Build Verification** | When build script exists | Check for compile errors |
81
+ | **Type Check** | TypeScript, etc. | Check for type errors |
82
+
83
+ ### 4. Quality Report (Auto-generated)
84
+
85
+ ```
86
+ ┌─────────────────────────────────────────────────────────────────┐
87
+ │ 📊 VERIFICATION REPORT: login │
88
+ ├─────────────────────────────────────────────────────────────────┤
89
+ │ │
90
+ │ ✅ Scenarios: 4/4 passed (100%) │
91
+ │ │
92
+ │ ┌───────────────────────────────────────────────────────────┐ │
93
+ │ │ # │ Scenario │ Given │ When │ Then │ Status │ │
94
+ │ │───│───────────────────────│───────│──────│──────│────────│ │
95
+ │ │ 1 │ Valid login success │ ✅ │ ✅ │ ✅ │ ✅ │ │
96
+ │ │ 2 │ Invalid password error│ ✅ │ ✅ │ ✅ │ ✅ │ │
97
+ │ │ 3 │ Email format validation│ ✅ │ ✅ │ ✅ │ ✅ │ │
98
+ │ │ 4 │ Forgot password link │ ✅ │ ✅ │ ✅ │ ✅ │ │
99
+ │ └───────────────────────────────────────────────────────────┘ │
100
+ │ │
101
+ │ 📈 Quality Score: 94/100 │
102
+ │ │
103
+ │ ┌─────────────────────────────────────────────────────────┐ │
104
+ │ │ Item │ Result│ Details │ │
105
+ │ │───────────────────│───────│─────────────────────────────│ │
106
+ │ │ Build │ ✅ │ Success │ │
107
+ │ │ Tests │ ✅ │ 12/12 passed │ │
108
+ │ │ Type Check │ ✅ │ 0 errors │ │
109
+ │ │ Complexity │ ✅ │ All functions ≤30 lines │ │
110
+ │ │ Code Coverage │ ⚠️ │ 78% (target: 80%) │ │
111
+ │ └─────────────────────────────────────────────────────────┘ │
112
+ │ │
113
+ │ 📋 Recommendations: │
114
+ │ - Need 2% more code coverage (auth.service.ts line 45-52) │
115
+ │ │
116
+ └─────────────────────────────────────────────────────────────────┘
117
+ ```
118
+
119
+ ### Failure Report
120
+
121
+ ```
122
+ ┌─────────────────────────────────────────────────────────────────┐
123
+ │ 📊 VERIFICATION REPORT: login │
124
+ ├─────────────────────────────────────────────────────────────────┤
125
+ │ │
126
+ │ ❌ Scenarios: 3/4 passed (75%) │
127
+ │ │
128
+ │ ┌───────────────────────────────────────────────────────────┐ │
129
+ │ │ # │ Scenario │ Given │ When │ Then │ Status │ │
130
+ │ │───│───────────────────────│───────│──────│──────│────────│ │
131
+ │ │ 1 │ Valid login success │ ✅ │ ✅ │ ✅ │ ✅ │ │
132
+ │ │ 2 │ Invalid password error│ ✅ │ ✅ │ ✅ │ ✅ │ │
133
+ │ │ 3 │ Email format validation│ ✅ │ ✅ │ ✅ │ ✅ │ │
134
+ │ │ 4 │ Forgot password link │ ✅ │ ❌ │ - │ ❌ │ │
135
+ │ └───────────────────────────────────────────────────────────┘ │
136
+ │ │
137
+ │ ❌ Failure Details: │
138
+ │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │
139
+ │ Scenario 4: Forgot password link │
140
+ │ │
141
+ │ When: Click "Forgot password" │
142
+ │ ❌ Issue: Link not implemented │
143
+ │ 📍 Location: LoginForm.tsx line 42 │
144
+ │ 💡 Fix: Need to add "Forgot password" link │
145
+ │ │
146
+ │ 🔧 Auto-fix command: /vibe.run "login" --fix │
147
+ │ │
148
+ └─────────────────────────────────────────────────────────────────┘
149
+ ```
150
+
151
+ ## Input
152
+
153
+ - `.claude/vibe/features/{feature-name}.feature` - BDD scenarios
154
+ - `.claude/vibe/specs/{feature-name}.md` - SPEC document (reference)
155
+ - Implemented source code
156
+
157
+ ## Output
158
+
159
+ - Verification result report (terminal output)
160
+ - Passed/failed scenario list
161
+ - Items needing fixes
162
+
163
+ ## Example
164
+
165
+ ```
166
+ User: /vibe.verify "login"
167
+
168
+ Claude:
169
+ 📄 Loading Feature: .claude/vibe/features/login.feature
170
+ 🔍 Starting verification...
171
+
172
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
173
+ 🔍 Scenario 1/4: Valid login success
174
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
175
+ ✅ Given: User registered - OK
176
+ ✅ When: Login attempt - OK
177
+ ✅ Then: JWT token returned - OK
178
+ ✅ Passed!
179
+
180
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
181
+ 🔍 Scenario 2/4: Invalid password error
182
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
183
+ ✅ Given: OK
184
+ ✅ When: OK
185
+ ✅ Then: OK
186
+ ✅ Passed!
187
+
188
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
189
+ 🔍 Scenario 3/4: Email format validation
190
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
191
+ ✅ Given: OK
192
+ ✅ When: OK
193
+ ✅ Then: OK
194
+ ✅ Passed!
195
+
196
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
197
+ 🔍 Scenario 4/4: Forgot password link
198
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
199
+ ✅ Given: OK
200
+ ❌ When: "Forgot password" link - missing
201
+ - Then: (skipped)
202
+ ❌ Failed!
203
+
204
+ ┌─────────────────────────────────────────────────────────────────┐
205
+ │ 📊 VERIFICATION REPORT: login │
206
+ ├─────────────────────────────────────────────────────────────────┤
207
+ │ │
208
+ │ ❌ Scenarios: 3/4 passed (75%) │
209
+ │ │
210
+ │ | # | Scenario | Status | │
211
+ │ |---|───────────────────────|────────| │
212
+ │ | 1 | Valid login success | ✅ | │
213
+ │ | 2 | Invalid password error| ✅ | │
214
+ │ | 3 | Email format validation| ✅ | │
215
+ │ | 4 | Forgot password link | ❌ | │
216
+ │ │
217
+ │ 📈 Quality Score: 75/100 │
218
+ │ │
219
+ │ ❌ Fixes needed: │
220
+ │ - Scenario 4: Add "Forgot password" link in LoginForm.tsx │
221
+ │ │
222
+ │ 🔧 Auto-fix: /vibe.run "login" --fix │
223
+ │ │
224
+ └─────────────────────────────────────────────────────────────────┘
225
+ ```
226
+
227
+ ## Vibe Tools (Code Analysis & Quality)
228
+
229
+ ### Tool Invocation
230
+
231
+ All tools are called via:
232
+
233
+ ```bash
234
+ node -e "import('@su-record/vibe/tools').then(t => t.TOOL_NAME({...args}).then(r => console.log(r.content[0].text)))"
235
+ ```
236
+
237
+ ### Recommended Tools for Verification
238
+
239
+ | Tool | Purpose | When to Use |
240
+ |------|---------|-------------|
241
+ | `validateCodeQuality` | Code quality validation | Check complexity, style violations |
242
+ | `analyzeComplexity` | Complexity analysis | Verify function length, nesting depth |
243
+ | `findSymbol` | Find implementations | Verify feature implementation exists |
244
+ | `findReferences` | Find usages | Check if all references are correct |
245
+
246
+ ### Example Tool Usage in Verification
247
+
248
+ **1. Validate code quality:**
249
+
250
+ ```bash
251
+ node -e "import('@su-record/vibe/tools').then(t => t.validateCodeQuality({targetPath: 'src/auth/', projectPath: process.cwd()}).then(r => console.log(r.content[0].text)))"
252
+ ```
253
+
254
+ **2. Analyze complexity of implementation:**
255
+
256
+ ```bash
257
+ node -e "import('@su-record/vibe/tools').then(t => t.analyzeComplexity({targetPath: 'src/auth/login.ts', projectPath: process.cwd()}).then(r => console.log(r.content[0].text)))"
258
+ ```
259
+
260
+ **3. Find implemented feature:**
261
+
262
+ ```bash
263
+ node -e "import('@su-record/vibe/tools').then(t => t.findSymbol({symbolName: 'handleLogin', searchPath: 'src/'}).then(r => console.log(r.content[0].text)))"
264
+ ```
265
+
266
+ ## Next Step
267
+
268
+ On verification pass:
269
+
270
+ ```
271
+ Complete! Proceed to next feature.
272
+ ```
273
+
274
+ On verification fail:
275
+
276
+ ```
277
+ /vibe.run "feature-name" --fix # Fix failed scenarios
278
+ ```
279
+
280
+ ---
281
+
282
+ ## Quality Gate (Mandatory)
283
+
284
+ ### Verification Quality Checklist
285
+
286
+ Before marking verification complete, ALL items must pass:
287
+
288
+ | Category | Check Item | Weight |
289
+ |----------|------------|--------|
290
+ | **Scenario Coverage** | All scenarios from feature file tested | 25% |
291
+ | **Given Verification** | All preconditions validated | 15% |
292
+ | **When Verification** | All actions executable | 15% |
293
+ | **Then Verification** | All expected outcomes confirmed | 20% |
294
+ | **Build Status** | Project builds without errors | 10% |
295
+ | **Test Status** | All existing tests pass | 10% |
296
+ | **Type Check** | No TypeScript/type errors | 5% |
297
+
298
+ ### Verification Score Calculation
299
+
300
+ ```
301
+ Score = (passed_scenarios / total_scenarios) × 100
302
+
303
+ Grades:
304
+ - 100%: ✅ PERFECT - All scenarios pass
305
+ - 90-99%: ⚠️ ALMOST - Minor gaps, review needed
306
+ - 70-89%: ❌ INCOMPLETE - Significant gaps
307
+ - 0-69%: ❌ FAILED - Major implementation missing
308
+ ```
309
+
310
+ ### Pass/Fail Criteria
311
+
312
+ | Metric | Pass Threshold | Action on Fail |
313
+ |--------|----------------|----------------|
314
+ | Scenario pass rate | 100% | Run `/vibe.run --fix` |
315
+ | Build status | Success | Fix build errors first |
316
+ | Test pass rate | 100% | Fix failing tests |
317
+ | Type check | 0 errors | Fix type errors |
318
+
319
+ ### Verification Methods Matrix
320
+
321
+ | Method | Trigger Condition | What It Checks |
322
+ |--------|-------------------|----------------|
323
+ | **Code Analysis** | Always | Implementation exists |
324
+ | **Test Execution** | Test files exist | Logic correctness |
325
+ | **Build Verification** | Build script exists | Compilation success |
326
+ | **Type Check** | tsconfig.json exists | Type safety |
327
+ | **Lint Check** | ESLint config exists | Code style |
328
+
329
+ ### Scenario Verification Depth
330
+
331
+ For each scenario, verify at THREE levels:
332
+
333
+ | Level | Verification | Example |
334
+ |-------|--------------|---------|
335
+ | **L1: Existence** | Code/function exists | `login()` function defined |
336
+ | **L2: Logic** | Implementation is correct | Validates email format |
337
+ | **L3: Integration** | Works with other components | Returns valid JWT |
338
+
339
+ ### Auto-Fix Triggers
340
+
341
+ | Verification Failure | Auto-Fix Action |
342
+ |----------------------|-----------------|
343
+ | Missing implementation | Generate skeleton from scenario |
344
+ | Test failure | Analyze and suggest fix |
345
+ | Build error | Show error location |
346
+ | Type error | Suggest type annotations |
347
+
348
+ ### Verification Report Requirements
349
+
350
+ Every verification MUST produce:
351
+
352
+ 1. **Scenario Summary Table**
353
+ - Scenario name
354
+ - Given/When/Then status (✅/❌)
355
+ - Overall status
356
+
357
+ 2. **Quality Metrics**
358
+ - Build status
359
+ - Test pass count
360
+ - Type error count
361
+ - Code coverage percentage
362
+
363
+ 3. **Failure Details** (if any)
364
+ - Exact failure point (Given/When/Then)
365
+ - Expected vs actual
366
+ - File path and line number
367
+ - Suggested fix command
368
+
369
+ 4. **Recommendations**
370
+ - Specific files to modify
371
+ - Auto-fix command if available
372
+
373
+ ---
374
+
375
+ ARGUMENTS: $ARGUMENTS