@su-record/vibe 2.7.18 → 2.7.20

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 (345) hide show
  1. package/.env.example +37 -37
  2. package/CLAUDE.md +153 -153
  3. package/LICENSE +21 -21
  4. package/README.md +451 -449
  5. package/agents/architect-low.md +41 -41
  6. package/agents/architect-medium.md +59 -59
  7. package/agents/architect.md +80 -80
  8. package/agents/build-error-resolver.md +115 -115
  9. package/agents/compounder.md +261 -261
  10. package/agents/diagrammer.md +178 -178
  11. package/agents/docs/api-documenter.md +99 -99
  12. package/agents/docs/changelog-writer.md +93 -93
  13. package/agents/e2e-tester.md +294 -294
  14. package/agents/event/event-comms.md +78 -0
  15. package/agents/event/event-content.md +68 -0
  16. package/agents/event/event-image.md +95 -0
  17. package/agents/event/event-ops.md +84 -0
  18. package/agents/event/event-scheduler.md +69 -0
  19. package/agents/event/event-speaker.md +86 -0
  20. package/agents/explorer-low.md +42 -42
  21. package/agents/explorer-medium.md +59 -59
  22. package/agents/explorer.md +48 -48
  23. package/agents/implementer-low.md +43 -43
  24. package/agents/implementer-medium.md +52 -52
  25. package/agents/implementer.md +54 -54
  26. package/agents/junior-mentor.md +141 -141
  27. package/agents/planning/requirements-analyst.md +84 -84
  28. package/agents/planning/ux-advisor.md +83 -83
  29. package/agents/qa/acceptance-tester.md +86 -86
  30. package/agents/qa/edge-case-finder.md +93 -93
  31. package/agents/refactor-cleaner.md +143 -143
  32. package/agents/research/best-practices-agent.md +199 -199
  33. package/agents/research/codebase-patterns-agent.md +157 -157
  34. package/agents/research/framework-docs-agent.md +188 -188
  35. package/agents/research/security-advisory-agent.md +213 -213
  36. package/agents/review/architecture-reviewer.md +107 -107
  37. package/agents/review/complexity-reviewer.md +116 -116
  38. package/agents/review/data-integrity-reviewer.md +88 -88
  39. package/agents/review/git-history-reviewer.md +103 -103
  40. package/agents/review/performance-reviewer.md +86 -86
  41. package/agents/review/python-reviewer.md +150 -150
  42. package/agents/review/rails-reviewer.md +139 -139
  43. package/agents/review/react-reviewer.md +144 -144
  44. package/agents/review/security-reviewer.md +80 -80
  45. package/agents/review/simplicity-reviewer.md +140 -140
  46. package/agents/review/test-coverage-reviewer.md +116 -116
  47. package/agents/review/typescript-reviewer.md +127 -127
  48. package/agents/searcher.md +54 -54
  49. package/agents/simplifier.md +120 -120
  50. package/agents/tester.md +49 -49
  51. package/agents/ui/ui-a11y-auditor.md +93 -93
  52. package/agents/ui/ui-antipattern-detector.md +94 -94
  53. package/agents/ui/ui-dataviz-advisor.md +69 -69
  54. package/agents/ui/ui-design-system-gen.md +57 -57
  55. package/agents/ui/ui-industry-analyzer.md +49 -49
  56. package/agents/ui/ui-layout-architect.md +65 -65
  57. package/agents/ui/ui-stack-implementer.md +68 -68
  58. package/agents/ui/ux-compliance-reviewer.md +81 -81
  59. package/agents/ui-previewer.md +258 -258
  60. package/commands/vibe.analyze.md +379 -379
  61. package/commands/vibe.event.md +163 -0
  62. package/commands/vibe.review.md +607 -607
  63. package/commands/vibe.run.md +2217 -2124
  64. package/commands/vibe.spec.md +1195 -1195
  65. package/commands/vibe.spec.review.md +569 -569
  66. package/commands/vibe.trace.md +50 -0
  67. package/commands/vibe.utils.md +413 -413
  68. package/commands/vibe.verify.md +484 -484
  69. package/dist/__tests__/architecture.test.d.ts +2 -0
  70. package/dist/__tests__/architecture.test.d.ts.map +1 -0
  71. package/dist/__tests__/architecture.test.js +207 -0
  72. package/dist/__tests__/architecture.test.js.map +1 -0
  73. package/dist/cli/auth.js +3 -3
  74. package/dist/cli/auth.js.map +1 -1
  75. package/dist/cli/collaborator.js +52 -52
  76. package/dist/cli/commands/evolution.js +12 -12
  77. package/dist/cli/commands/info.d.ts.map +1 -1
  78. package/dist/cli/commands/info.js +45 -81
  79. package/dist/cli/commands/info.js.map +1 -1
  80. package/dist/cli/commands/init.js +5 -5
  81. package/dist/cli/commands/remove.js +14 -14
  82. package/dist/cli/commands/sentinel.js +27 -27
  83. package/dist/cli/commands/skills.js +5 -5
  84. package/dist/cli/commands/slack.js +10 -10
  85. package/dist/cli/commands/telegram.js +12 -12
  86. package/dist/cli/detect.d.ts.map +1 -1
  87. package/dist/cli/detect.js +55 -32
  88. package/dist/cli/detect.js.map +1 -1
  89. package/dist/cli/index.d.ts +1 -1
  90. package/dist/cli/index.d.ts.map +1 -1
  91. package/dist/cli/index.js +52 -52
  92. package/dist/cli/index.js.map +1 -1
  93. package/dist/cli/llm/claude-commands.js +16 -16
  94. package/dist/cli/llm/config.js +18 -18
  95. package/dist/cli/llm/gemini-commands.js +16 -16
  96. package/dist/cli/llm/gpt-commands.js +19 -19
  97. package/dist/cli/llm/help.js +21 -21
  98. package/dist/cli/postinstall/constants.d.ts.map +1 -1
  99. package/dist/cli/postinstall/constants.js +24 -0
  100. package/dist/cli/postinstall/constants.js.map +1 -1
  101. package/dist/cli/postinstall/cursor-agents.js +32 -32
  102. package/dist/cli/postinstall/cursor-rules.js +83 -83
  103. package/dist/cli/postinstall/cursor-skills.js +743 -743
  104. package/dist/cli/setup/Provisioner.js +42 -42
  105. package/dist/infra/lib/AutomationLevel.d.ts +48 -0
  106. package/dist/infra/lib/AutomationLevel.d.ts.map +1 -0
  107. package/dist/infra/lib/AutomationLevel.js +157 -0
  108. package/dist/infra/lib/AutomationLevel.js.map +1 -0
  109. package/dist/infra/lib/DecisionTracer.d.ts +81 -0
  110. package/dist/infra/lib/DecisionTracer.d.ts.map +1 -0
  111. package/dist/infra/lib/DecisionTracer.js +135 -0
  112. package/dist/infra/lib/DecisionTracer.js.map +1 -0
  113. package/dist/infra/lib/DeepInit.js +24 -24
  114. package/dist/infra/lib/InteractiveCheckpoint.d.ts +75 -0
  115. package/dist/infra/lib/InteractiveCheckpoint.d.ts.map +1 -0
  116. package/dist/infra/lib/InteractiveCheckpoint.js +179 -0
  117. package/dist/infra/lib/InteractiveCheckpoint.js.map +1 -0
  118. package/dist/infra/lib/IterationTracker.d.ts +44 -0
  119. package/dist/infra/lib/IterationTracker.d.ts.map +1 -1
  120. package/dist/infra/lib/IterationTracker.js +267 -12
  121. package/dist/infra/lib/IterationTracker.js.map +1 -1
  122. package/dist/infra/lib/LoopBreaker.d.ts +56 -0
  123. package/dist/infra/lib/LoopBreaker.d.ts.map +1 -0
  124. package/dist/infra/lib/LoopBreaker.js +109 -0
  125. package/dist/infra/lib/LoopBreaker.js.map +1 -0
  126. package/dist/infra/lib/PythonParser.js +108 -108
  127. package/dist/infra/lib/ReviewRace.js +96 -96
  128. package/dist/infra/lib/SkillFrontmatter.js +28 -28
  129. package/dist/infra/lib/SkillQualityGate.js +9 -9
  130. package/dist/infra/lib/SkillRepository.js +159 -159
  131. package/dist/infra/lib/UltraQA.js +99 -99
  132. package/dist/infra/lib/VerificationLoop.d.ts +105 -0
  133. package/dist/infra/lib/VerificationLoop.d.ts.map +1 -0
  134. package/dist/infra/lib/VerificationLoop.js +189 -0
  135. package/dist/infra/lib/VerificationLoop.js.map +1 -0
  136. package/dist/infra/lib/__tests__/AutomationLevel.test.d.ts +2 -0
  137. package/dist/infra/lib/__tests__/AutomationLevel.test.d.ts.map +1 -0
  138. package/dist/infra/lib/__tests__/AutomationLevel.test.js +297 -0
  139. package/dist/infra/lib/__tests__/AutomationLevel.test.js.map +1 -0
  140. package/dist/infra/lib/__tests__/DecisionTracer.test.d.ts +2 -0
  141. package/dist/infra/lib/__tests__/DecisionTracer.test.d.ts.map +1 -0
  142. package/dist/infra/lib/__tests__/DecisionTracer.test.js +274 -0
  143. package/dist/infra/lib/__tests__/DecisionTracer.test.js.map +1 -0
  144. package/dist/infra/lib/__tests__/InteractiveCheckpoint.test.d.ts +2 -0
  145. package/dist/infra/lib/__tests__/InteractiveCheckpoint.test.d.ts.map +1 -0
  146. package/dist/infra/lib/__tests__/InteractiveCheckpoint.test.js +350 -0
  147. package/dist/infra/lib/__tests__/InteractiveCheckpoint.test.js.map +1 -0
  148. package/dist/infra/lib/__tests__/LoopBreaker.test.d.ts +2 -0
  149. package/dist/infra/lib/__tests__/LoopBreaker.test.d.ts.map +1 -0
  150. package/dist/infra/lib/__tests__/LoopBreaker.test.js +340 -0
  151. package/dist/infra/lib/__tests__/LoopBreaker.test.js.map +1 -0
  152. package/dist/infra/lib/__tests__/VerificationLoop.test.d.ts +2 -0
  153. package/dist/infra/lib/__tests__/VerificationLoop.test.d.ts.map +1 -0
  154. package/dist/infra/lib/__tests__/VerificationLoop.test.js +486 -0
  155. package/dist/infra/lib/__tests__/VerificationLoop.test.js.map +1 -0
  156. package/dist/infra/lib/autonomy/AuditStore.js +41 -41
  157. package/dist/infra/lib/autonomy/ConfirmationStore.js +30 -30
  158. package/dist/infra/lib/autonomy/EventOutbox.js +38 -38
  159. package/dist/infra/lib/autonomy/PolicyEngine.d.ts +3 -3
  160. package/dist/infra/lib/autonomy/PolicyEngine.js +18 -18
  161. package/dist/infra/lib/autonomy/SecuritySentinel.js +1 -1
  162. package/dist/infra/lib/autonomy/SuggestionStore.js +33 -33
  163. package/dist/infra/lib/embedding/VectorStore.js +22 -22
  164. package/dist/infra/lib/embedding/__tests__/EmbeddingProvider.test.js +4 -0
  165. package/dist/infra/lib/embedding/__tests__/EmbeddingProvider.test.js.map +1 -1
  166. package/dist/infra/lib/evolution/AgentAnalyzer.js +10 -10
  167. package/dist/infra/lib/evolution/DeprecationDetector.d.ts +68 -0
  168. package/dist/infra/lib/evolution/DeprecationDetector.d.ts.map +1 -0
  169. package/dist/infra/lib/evolution/DeprecationDetector.js +207 -0
  170. package/dist/infra/lib/evolution/DeprecationDetector.js.map +1 -0
  171. package/dist/infra/lib/evolution/DescriptionOptimizer.js +21 -21
  172. package/dist/infra/lib/evolution/GenerationRegistry.js +36 -36
  173. package/dist/infra/lib/evolution/InsightStore.js +90 -90
  174. package/dist/infra/lib/evolution/ParityTester.d.ts +74 -0
  175. package/dist/infra/lib/evolution/ParityTester.d.ts.map +1 -0
  176. package/dist/infra/lib/evolution/ParityTester.js +238 -0
  177. package/dist/infra/lib/evolution/ParityTester.js.map +1 -0
  178. package/dist/infra/lib/evolution/RollbackManager.js +5 -5
  179. package/dist/infra/lib/evolution/SkillBenchmark.js +23 -23
  180. package/dist/infra/lib/evolution/SkillEvalRunner.js +50 -50
  181. package/dist/infra/lib/evolution/SkillGapDetector.js +10 -10
  182. package/dist/infra/lib/evolution/UsageTracker.js +28 -28
  183. package/dist/infra/lib/evolution/__tests__/deprecation.test.d.ts +2 -0
  184. package/dist/infra/lib/evolution/__tests__/deprecation.test.d.ts.map +1 -0
  185. package/dist/infra/lib/evolution/__tests__/deprecation.test.js +251 -0
  186. package/dist/infra/lib/evolution/__tests__/deprecation.test.js.map +1 -0
  187. package/dist/infra/lib/evolution/__tests__/parity.test.d.ts +2 -0
  188. package/dist/infra/lib/evolution/__tests__/parity.test.d.ts.map +1 -0
  189. package/dist/infra/lib/evolution/__tests__/parity.test.js +319 -0
  190. package/dist/infra/lib/evolution/__tests__/parity.test.js.map +1 -0
  191. package/dist/infra/lib/evolution/index.d.ts +4 -0
  192. package/dist/infra/lib/evolution/index.d.ts.map +1 -1
  193. package/dist/infra/lib/evolution/index.js +3 -0
  194. package/dist/infra/lib/evolution/index.js.map +1 -1
  195. package/dist/infra/lib/gemini/orchestration.js +5 -5
  196. package/dist/infra/lib/gpt/orchestration.js +4 -4
  197. package/dist/infra/lib/gpt/specializations.d.ts +1 -1
  198. package/dist/infra/lib/gpt/specializations.js +1 -1
  199. package/dist/infra/lib/memory/KnowledgeGraph.js +4 -4
  200. package/dist/infra/lib/memory/MemorySearch.js +57 -57
  201. package/dist/infra/lib/memory/MemoryStorage.js +181 -181
  202. package/dist/infra/lib/memory/ObservationStore.js +28 -28
  203. package/dist/infra/lib/memory/ReflectionStore.js +30 -30
  204. package/dist/infra/lib/memory/SessionRAGRetriever.js +7 -7
  205. package/dist/infra/lib/memory/SessionRAGStore.js +225 -225
  206. package/dist/infra/lib/memory/SessionSummarizer.js +9 -9
  207. package/dist/infra/lib/telemetry/SkillTelemetry.d.ts +6 -0
  208. package/dist/infra/lib/telemetry/SkillTelemetry.d.ts.map +1 -1
  209. package/dist/infra/lib/telemetry/SkillTelemetry.js +11 -0
  210. package/dist/infra/lib/telemetry/SkillTelemetry.js.map +1 -1
  211. package/dist/infra/orchestrator/AgentManager.js +12 -12
  212. package/dist/infra/orchestrator/AgentRegistry.js +65 -65
  213. package/dist/infra/orchestrator/BackgroundManager.d.ts.map +1 -1
  214. package/dist/infra/orchestrator/BackgroundManager.js +2 -0
  215. package/dist/infra/orchestrator/BackgroundManager.js.map +1 -1
  216. package/dist/infra/orchestrator/MultiLlmResearch.js +8 -8
  217. package/dist/infra/orchestrator/PhasePipeline.js +1 -1
  218. package/dist/infra/orchestrator/PhasePipeline.js.map +1 -1
  219. package/dist/infra/orchestrator/SwarmOrchestrator.test.js +16 -16
  220. package/dist/infra/orchestrator/parallelResearch.js +24 -24
  221. package/dist/tools/convention/analyzeComplexity.test.js +115 -115
  222. package/dist/tools/convention/validateCodeQuality.test.js +104 -104
  223. package/dist/tools/index.d.ts +16 -19
  224. package/dist/tools/index.d.ts.map +1 -1
  225. package/dist/tools/index.js +15 -27
  226. package/dist/tools/index.js.map +1 -1
  227. package/dist/tools/memory/createMemoryTimeline.js +10 -10
  228. package/dist/tools/memory/getMemoryGraph.js +12 -12
  229. package/dist/tools/memory/getSessionContext.js +9 -9
  230. package/dist/tools/memory/linkMemories.js +14 -14
  231. package/dist/tools/memory/listMemories.js +4 -4
  232. package/dist/tools/memory/recallMemory.js +4 -4
  233. package/dist/tools/memory/saveMemory.js +4 -4
  234. package/dist/tools/memory/searchMemoriesAdvanced.js +23 -23
  235. package/dist/tools/memory/startSession.js +1 -1
  236. package/dist/tools/memory/startSession.js.map +1 -1
  237. package/dist/tools/semantic/analyzeDependencyGraph.js +12 -12
  238. package/dist/tools/semantic/astGrep.test.js +6 -6
  239. package/dist/tools/spec/index.d.ts +0 -4
  240. package/dist/tools/spec/index.d.ts.map +1 -1
  241. package/dist/tools/spec/index.js +0 -4
  242. package/dist/tools/spec/index.js.map +1 -1
  243. package/dist/tools/spec/prdParser.test.js +171 -171
  244. package/dist/tools/spec/specGenerator.js +169 -169
  245. package/dist/tools/spec/traceabilityMatrix.js +64 -64
  246. package/dist/tools/spec/traceabilityMatrix.test.js +28 -28
  247. package/hooks/gemini-hooks.json +73 -73
  248. package/hooks/hooks.json +137 -137
  249. package/hooks/scripts/code-check.js +77 -77
  250. package/hooks/scripts/context-save.js +212 -212
  251. package/hooks/scripts/evolution-engine.js +69 -0
  252. package/hooks/scripts/hud-status.js +291 -291
  253. package/hooks/scripts/keyword-detector.js +214 -214
  254. package/hooks/scripts/llm-orchestrate.js +475 -475
  255. package/hooks/scripts/post-edit.js +32 -32
  256. package/hooks/scripts/pre-tool-guard.js +125 -125
  257. package/hooks/scripts/prompt-dispatcher.js +185 -185
  258. package/hooks/scripts/sentinel-guard.js +104 -104
  259. package/hooks/scripts/session-start.js +106 -106
  260. package/hooks/scripts/skill-injector.js +83 -0
  261. package/hooks/scripts/stop-notify.js +209 -209
  262. package/hooks/scripts/utils.js +100 -100
  263. package/languages/csharp-unity.md +515 -515
  264. package/languages/gdscript-godot.md +470 -470
  265. package/languages/ruby-rails.md +489 -489
  266. package/languages/typescript-angular.md +433 -433
  267. package/languages/typescript-astro.md +416 -416
  268. package/languages/typescript-electron.md +406 -406
  269. package/languages/typescript-nestjs.md +524 -524
  270. package/languages/typescript-svelte.md +407 -407
  271. package/languages/typescript-tauri.md +365 -365
  272. package/package.json +101 -123
  273. package/skills/agents-md/SKILL.md +120 -120
  274. package/skills/arch-guard/SKILL.md +180 -180
  275. package/skills/brand-assets/SKILL.md +146 -146
  276. package/skills/capability-loop/SKILL.md +167 -167
  277. package/skills/characterization-test/SKILL.md +206 -206
  278. package/skills/commerce-patterns/SKILL.md +63 -63
  279. package/skills/commit-push-pr/SKILL.md +75 -75
  280. package/skills/context7-usage/SKILL.md +105 -105
  281. package/skills/core-capabilities/SKILL.md +13 -13
  282. package/skills/e2e-commerce/SKILL.md +61 -61
  283. package/skills/event-comms/SKILL.md +161 -0
  284. package/skills/event-ops/SKILL.md +197 -0
  285. package/skills/event-planning/SKILL.md +131 -0
  286. package/skills/exec-plan/SKILL.md +147 -147
  287. package/skills/frontend-design/SKILL.md +12 -12
  288. package/skills/git-worktree/SKILL.md +72 -72
  289. package/skills/handoff/SKILL.md +109 -109
  290. package/skills/parallel-research/SKILL.md +87 -87
  291. package/skills/priority-todos/SKILL.md +63 -63
  292. package/skills/seo-checklist/SKILL.md +57 -57
  293. package/skills/techdebt/SKILL.md +122 -122
  294. package/skills/tool-fallback/SKILL.md +103 -103
  295. package/skills/typescript-advanced-types/SKILL.md +66 -66
  296. package/skills/ui-ux-pro-max/SKILL.md +221 -221
  297. package/skills/vercel-react-best-practices/SKILL.md +59 -59
  298. package/skills/video-production/SKILL.md +51 -51
  299. package/vibe/config.json +29 -29
  300. package/vibe/constitution.md +227 -227
  301. package/vibe/rules/principles/communication-guide.md +98 -98
  302. package/vibe/rules/principles/development-philosophy.md +52 -52
  303. package/vibe/rules/principles/quick-start.md +102 -102
  304. package/vibe/rules/quality/bdd-contract-testing.md +393 -393
  305. package/vibe/rules/quality/checklist.md +276 -276
  306. package/vibe/rules/quality/performance.md +236 -236
  307. package/vibe/rules/quality/testing-strategy.md +440 -440
  308. package/vibe/rules/standards/anti-patterns.md +541 -541
  309. package/vibe/rules/standards/code-structure.md +291 -291
  310. package/vibe/rules/standards/complexity-metrics.md +313 -313
  311. package/vibe/rules/standards/git-workflow.md +237 -237
  312. package/vibe/rules/standards/naming-conventions.md +198 -198
  313. package/vibe/rules/standards/security.md +305 -305
  314. package/vibe/rules/writing/document-style.md +74 -74
  315. package/vibe/setup.sh +31 -31
  316. package/vibe/templates/constitution-template.md +252 -252
  317. package/vibe/templates/contract-backend-template.md +526 -526
  318. package/vibe/templates/contract-frontend-template.md +599 -599
  319. package/vibe/templates/feature-template.md +96 -96
  320. package/vibe/templates/spec-template.md +221 -221
  321. package/vibe/ui-ux-data/charts.csv +26 -26
  322. package/vibe/ui-ux-data/colors.csv +97 -97
  323. package/vibe/ui-ux-data/icons.csv +101 -101
  324. package/vibe/ui-ux-data/landing.csv +31 -31
  325. package/vibe/ui-ux-data/products.csv +96 -96
  326. package/vibe/ui-ux-data/react-performance.csv +45 -45
  327. package/vibe/ui-ux-data/stacks/astro.csv +54 -54
  328. package/vibe/ui-ux-data/stacks/flutter.csv +53 -53
  329. package/vibe/ui-ux-data/stacks/html-tailwind.csv +56 -56
  330. package/vibe/ui-ux-data/stacks/jetpack-compose.csv +53 -53
  331. package/vibe/ui-ux-data/stacks/nextjs.csv +53 -53
  332. package/vibe/ui-ux-data/stacks/nuxt-ui.csv +51 -51
  333. package/vibe/ui-ux-data/stacks/nuxtjs.csv +59 -59
  334. package/vibe/ui-ux-data/stacks/react-native.csv +52 -52
  335. package/vibe/ui-ux-data/stacks/react.csv +54 -54
  336. package/vibe/ui-ux-data/stacks/shadcn.csv +61 -61
  337. package/vibe/ui-ux-data/stacks/svelte.csv +54 -54
  338. package/vibe/ui-ux-data/stacks/swiftui.csv +51 -51
  339. package/vibe/ui-ux-data/stacks/vue.csv +50 -50
  340. package/vibe/ui-ux-data/styles.csv +68 -68
  341. package/vibe/ui-ux-data/typography.csv +57 -57
  342. package/vibe/ui-ux-data/ui-reasoning.csv +101 -101
  343. package/vibe/ui-ux-data/ux-guidelines.csv +99 -99
  344. package/vibe/ui-ux-data/version.json +31 -31
  345. package/vibe/ui-ux-data/web-interface.csv +31 -31
@@ -92,60 +92,60 @@ export function shouldContinue(session) {
92
92
  * Generate architect diagnosis prompt
93
93
  */
94
94
  export function generateDiagnosisPrompt(result) {
95
- return `
96
- ## QA Failure Diagnosis Required
97
-
98
- **Cycle**: ${result.cycle}
99
- **Goal**: ${result.goal}
100
- **Command**: ${result.command}
101
- **Exit Code**: ${result.exitCode}
102
-
103
- ### Output:
104
- \`\`\`
105
- ${result.output.slice(0, 2000)}
106
- \`\`\`
107
-
108
- ### Task:
109
- 1. Identify the root cause of this failure
110
- 2. Determine if it's a code issue, config issue, or environment issue
111
- 3. Provide a specific fix recommendation
112
-
113
- Return JSON:
114
- \`\`\`json
115
- {
116
- "rootCause": "description of root cause",
117
- "category": "code|config|environment|dependency",
118
- "fix": "specific fix to apply",
119
- "files": ["list", "of", "files", "to", "modify"],
120
- "confidence": "high|medium|low"
121
- }
122
- \`\`\`
95
+ return `
96
+ ## QA Failure Diagnosis Required
97
+
98
+ **Cycle**: ${result.cycle}
99
+ **Goal**: ${result.goal}
100
+ **Command**: ${result.command}
101
+ **Exit Code**: ${result.exitCode}
102
+
103
+ ### Output:
104
+ \`\`\`
105
+ ${result.output.slice(0, 2000)}
106
+ \`\`\`
107
+
108
+ ### Task:
109
+ 1. Identify the root cause of this failure
110
+ 2. Determine if it's a code issue, config issue, or environment issue
111
+ 3. Provide a specific fix recommendation
112
+
113
+ Return JSON:
114
+ \`\`\`json
115
+ {
116
+ "rootCause": "description of root cause",
117
+ "category": "code|config|environment|dependency",
118
+ "fix": "specific fix to apply",
119
+ "files": ["list", "of", "files", "to", "modify"],
120
+ "confidence": "high|medium|low"
121
+ }
122
+ \`\`\`
123
123
  `.trim();
124
124
  }
125
125
  /**
126
126
  * Generate executor fix prompt
127
127
  */
128
128
  export function generateFixPrompt(diagnosis, result) {
129
- return `
130
- ## Apply Fix for QA Failure
131
-
132
- **Previous Diagnosis**:
133
- ${diagnosis}
134
-
135
- **Failed Command**: ${result.command}
136
- **Cycle**: ${result.cycle}
137
-
138
- ### Task:
139
- Apply the fix identified in the diagnosis. Make minimal changes to resolve the issue.
140
-
141
- ### Rules:
142
- 1. Only modify files mentioned in the diagnosis
143
- 2. Make the smallest change that fixes the issue
144
- 3. Do not refactor or improve unrelated code
145
- 4. Run the verification command after fixing
146
-
147
- ### After fixing, run:
148
- \`${result.command}\`
129
+ return `
130
+ ## Apply Fix for QA Failure
131
+
132
+ **Previous Diagnosis**:
133
+ ${diagnosis}
134
+
135
+ **Failed Command**: ${result.command}
136
+ **Cycle**: ${result.cycle}
137
+
138
+ ### Task:
139
+ Apply the fix identified in the diagnosis. Make minimal changes to resolve the issue.
140
+
141
+ ### Rules:
142
+ 1. Only modify files mentioned in the diagnosis
143
+ 2. Make the smallest change that fixes the issue
144
+ 3. Do not refactor or improve unrelated code
145
+ 4. Run the verification command after fixing
146
+
147
+ ### After fixing, run:
148
+ \`${result.command}\`
149
149
  `.trim();
150
150
  }
151
151
  /**
@@ -157,28 +157,28 @@ export function generateArchitectureEscalationPrompt(session) {
157
157
  const failureSummary = recentFailures
158
158
  .map((c, i) => ` Attempt ${i + 1}: ${c.goal} - ${c.output.slice(0, 150)}`)
159
159
  .join('\n');
160
- return `
161
- ## ⚠️ 3-Fix Rule Triggered - Architecture Question Required
162
-
163
- **Same issue failed ${session.config.maxSameFailure}+ times.** This suggests an architectural problem, not a failed hypothesis.
164
-
165
- ### Failure Pattern:
166
- ${failureSummary}
167
-
168
- ### Architecture Problem Indicators:
169
- - Each fix reveals new shared state/coupling issues in different places
170
- - Fixes require "massive refactoring" to implement
171
- - Each fix creates new symptoms elsewhere
172
-
173
- ### Required Action:
174
- **STOP attempting more fixes.** Discuss with user before proceeding.
175
-
176
- ### Questions for User:
177
- 1. Is the current approach fundamentally sound?
178
- 2. Are we persisting through sheer inertia?
179
- 3. Should we refactor architecture vs. continue fixing symptoms?
180
-
181
- **Do NOT attempt Fix #${session.config.maxSameFailure + 1} without architectural discussion.**
160
+ return `
161
+ ## ⚠️ 3-Fix Rule Triggered - Architecture Question Required
162
+
163
+ **Same issue failed ${session.config.maxSameFailure}+ times.** This suggests an architectural problem, not a failed hypothesis.
164
+
165
+ ### Failure Pattern:
166
+ ${failureSummary}
167
+
168
+ ### Architecture Problem Indicators:
169
+ - Each fix reveals new shared state/coupling issues in different places
170
+ - Fixes require "massive refactoring" to implement
171
+ - Each fix creates new symptoms elsewhere
172
+
173
+ ### Required Action:
174
+ **STOP attempting more fixes.** Discuss with user before proceeding.
175
+
176
+ ### Questions for User:
177
+ 1. Is the current approach fundamentally sound?
178
+ 2. Are we persisting through sheer inertia?
179
+ 3. Should we refactor architecture vs. continue fixing symptoms?
180
+
181
+ **Do NOT attempt Fix #${session.config.maxSameFailure + 1} without architectural discussion.**
182
182
  `.trim();
183
183
  }
184
184
  /**
@@ -263,35 +263,35 @@ export function parseQAGoals(input) {
263
263
  * Create UltraQA workflow description
264
264
  */
265
265
  export function describeUltraQAWorkflow() {
266
- return `
267
- ## UltraQA Workflow
268
-
269
- 5-cycle autonomous QA loop:
270
-
271
- \`\`\`
272
- ┌─────────────────────────────────────────────┐
273
- │ ULTRAQA CYCLE │
274
- │ │
275
- │ 1. Run verification (test/build/lint) │
276
- │ ↓ │
277
- │ 2. Check result │
278
- │ ↓ │
279
- │ ┌───┴───┐ │
280
- │ PASS FAIL │
281
- │ ↓ ↓ │
282
- │ DONE 3. Architect diagnosis │
283
- │ ↓ │
284
- │ 4. Executor fix │
285
- │ ↓ │
286
- │ 5. Repeat (max 5 cycles) │
287
- └─────────────────────────────────────────────┘
288
- \`\`\`
289
-
290
- Exit conditions:
291
- - ✅ All goals pass (with evidence)
292
- - ⚠️ Same failure 3 times → Architecture Question (3-Fix Rule)
293
- - ❌ Max 5 cycles reached
294
- - ❌ Environment error
266
+ return `
267
+ ## UltraQA Workflow
268
+
269
+ 5-cycle autonomous QA loop:
270
+
271
+ \`\`\`
272
+ ┌─────────────────────────────────────────────┐
273
+ │ ULTRAQA CYCLE │
274
+ │ │
275
+ │ 1. Run verification (test/build/lint) │
276
+ │ ↓ │
277
+ │ 2. Check result │
278
+ │ ↓ │
279
+ │ ┌───┴───┐ │
280
+ │ PASS FAIL │
281
+ │ ↓ ↓ │
282
+ │ DONE 3. Architect diagnosis │
283
+ │ ↓ │
284
+ │ 4. Executor fix │
285
+ │ ↓ │
286
+ │ 5. Repeat (max 5 cycles) │
287
+ └─────────────────────────────────────────────┘
288
+ \`\`\`
289
+
290
+ Exit conditions:
291
+ - ✅ All goals pass (with evidence)
292
+ - ⚠️ Same failure 3 times → Architecture Question (3-Fix Rule)
293
+ - ❌ Max 5 cycles reached
294
+ - ❌ Environment error
295
295
  `.trim();
296
296
  }
297
297
  //# sourceMappingURL=UltraQA.js.map
@@ -0,0 +1,105 @@
1
+ /**
2
+ * VerificationLoop — SPEC 요구사항 달성률 정량화 + 자동 반복
3
+ *
4
+ * /vibe.trace 결과를 정량화하고, 임계값 미달 시 자동 재시도 지원
5
+ */
6
+ export interface RequirementResult {
7
+ /** Requirement ID (e.g., REQ-001) */
8
+ id: string;
9
+ /** Requirement description */
10
+ description: string;
11
+ /** Achievement status */
12
+ status: 'pass' | 'fail' | 'partial' | 'skip';
13
+ /** Achievement score 0-100 */
14
+ score: number;
15
+ /** Evidence or reason */
16
+ evidence: string;
17
+ }
18
+ export interface VerificationResult {
19
+ /** Overall achievement rate 0-100 */
20
+ achievementRate: number;
21
+ /** Individual requirement results */
22
+ requirements: RequirementResult[];
23
+ /** Count by status */
24
+ summary: {
25
+ total: number;
26
+ pass: number;
27
+ fail: number;
28
+ partial: number;
29
+ skip: number;
30
+ };
31
+ /** Timestamp */
32
+ timestamp: string;
33
+ /** Iteration number (1-based) */
34
+ iteration: number;
35
+ }
36
+ export interface VerificationLoopConfig {
37
+ /** Achievement threshold to pass (default: 90) */
38
+ threshold: number;
39
+ /** Max iterations (default: 3) */
40
+ maxIterations: number;
41
+ /** Whether auto-retry is enabled */
42
+ autoRetry: boolean;
43
+ }
44
+ export declare const DEFAULT_VERIFICATION_CONFIG: VerificationLoopConfig;
45
+ export interface LoopState {
46
+ /** Feature/SPEC name */
47
+ feature: string;
48
+ /** Configuration */
49
+ config: VerificationLoopConfig;
50
+ /** History of verification results */
51
+ history: VerificationResult[];
52
+ /** Current status */
53
+ status: 'pending' | 'running' | 'passed' | 'failed' | 'max_iterations';
54
+ /** Started at */
55
+ startedAt: string;
56
+ /** Completed at */
57
+ completedAt?: string;
58
+ }
59
+ export type VerificationAction = {
60
+ type: 'passed';
61
+ rate: number;
62
+ } | {
63
+ type: 'retry';
64
+ rate: number;
65
+ iteration: number;
66
+ failedRequirements: RequirementResult[];
67
+ } | {
68
+ type: 'max_iterations';
69
+ rate: number;
70
+ history: VerificationResult[];
71
+ };
72
+ /**
73
+ * Create a new verification loop
74
+ */
75
+ export declare function createLoop(feature: string, config?: Partial<VerificationLoopConfig>): LoopState;
76
+ /**
77
+ * Calculate achievement rate from requirement results
78
+ * Weighted average of scores; skip items are excluded
79
+ */
80
+ export declare function calculateAchievementRate(requirements: RequirementResult[]): number;
81
+ /**
82
+ * Record a verification result and determine next action
83
+ */
84
+ export declare function recordVerification(state: LoopState, requirements: RequirementResult[]): {
85
+ state: LoopState;
86
+ action: VerificationAction;
87
+ };
88
+ /**
89
+ * Get failed/partial requirements from a result
90
+ */
91
+ export declare function getUnmetRequirements(result: VerificationResult): RequirementResult[];
92
+ /**
93
+ * Format verification result as readable string
94
+ */
95
+ export declare function formatVerificationResult(result: VerificationResult, config: VerificationLoopConfig): string;
96
+ /**
97
+ * Format loop summary
98
+ */
99
+ export declare function formatLoopSummary(state: LoopState): string;
100
+ /**
101
+ * Check if improvement is being made (rate increasing across iterations)
102
+ * Returns true if latest rate is at least 1% higher than the previous
103
+ */
104
+ export declare function isImproving(state: LoopState): boolean;
105
+ //# sourceMappingURL=VerificationLoop.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VerificationLoop.d.ts","sourceRoot":"","sources":["../../../src/infra/lib/VerificationLoop.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,189 @@
1
+ /**
2
+ * VerificationLoop — SPEC 요구사항 달성률 정량화 + 자동 반복
3
+ *
4
+ * /vibe.trace 결과를 정량화하고, 임계값 미달 시 자동 재시도 지원
5
+ */
6
+ export const DEFAULT_VERIFICATION_CONFIG = {
7
+ threshold: 90,
8
+ maxIterations: 3,
9
+ autoRetry: false,
10
+ };
11
+ /**
12
+ * Create a new verification loop
13
+ */
14
+ export function createLoop(feature, config) {
15
+ return {
16
+ feature,
17
+ config: { ...DEFAULT_VERIFICATION_CONFIG, ...config },
18
+ history: [],
19
+ status: 'pending',
20
+ startedAt: new Date().toISOString(),
21
+ };
22
+ }
23
+ /**
24
+ * Calculate achievement rate from requirement results
25
+ * Weighted average of scores; skip items are excluded
26
+ */
27
+ export function calculateAchievementRate(requirements) {
28
+ const active = requirements.filter(r => r.status !== 'skip');
29
+ if (active.length === 0)
30
+ return 100;
31
+ const total = active.reduce((sum, r) => sum + r.score, 0);
32
+ return Math.round(total / active.length);
33
+ }
34
+ /**
35
+ * Build summary counts from requirement results
36
+ */
37
+ function buildSummary(requirements) {
38
+ return {
39
+ total: requirements.length,
40
+ pass: requirements.filter(r => r.status === 'pass').length,
41
+ fail: requirements.filter(r => r.status === 'fail').length,
42
+ partial: requirements.filter(r => r.status === 'partial').length,
43
+ skip: requirements.filter(r => r.status === 'skip').length,
44
+ };
45
+ }
46
+ /**
47
+ * Determine the next action based on current state
48
+ */
49
+ function determineAction(state, result) {
50
+ if (result.achievementRate >= state.config.threshold) {
51
+ return { type: 'passed', rate: result.achievementRate };
52
+ }
53
+ const nextIteration = state.history.length;
54
+ if (nextIteration >= state.config.maxIterations) {
55
+ return { type: 'max_iterations', rate: result.achievementRate, history: state.history };
56
+ }
57
+ return {
58
+ type: 'retry',
59
+ rate: result.achievementRate,
60
+ iteration: nextIteration,
61
+ failedRequirements: getUnmetRequirements(result),
62
+ };
63
+ }
64
+ /**
65
+ * Record a verification result and determine next action
66
+ */
67
+ export function recordVerification(state, requirements) {
68
+ const iteration = state.history.length + 1;
69
+ const achievementRate = calculateAchievementRate(requirements);
70
+ const result = {
71
+ achievementRate,
72
+ requirements,
73
+ summary: buildSummary(requirements),
74
+ timestamp: new Date().toISOString(),
75
+ iteration,
76
+ };
77
+ const newHistory = [...state.history, result];
78
+ const action = determineAction({ ...state, history: newHistory }, result);
79
+ const nextStatus = resolveStatus(action.type);
80
+ const completedAt = nextStatus !== 'running' ? new Date().toISOString() : undefined;
81
+ const newState = {
82
+ ...state,
83
+ history: newHistory,
84
+ status: nextStatus,
85
+ ...(completedAt && { completedAt }),
86
+ };
87
+ return { state: newState, action };
88
+ }
89
+ /**
90
+ * Map action type to loop status
91
+ */
92
+ function resolveStatus(actionType) {
93
+ switch (actionType) {
94
+ case 'passed': return 'passed';
95
+ case 'max_iterations': return 'max_iterations';
96
+ case 'retry': return 'running';
97
+ }
98
+ }
99
+ /**
100
+ * Get failed/partial requirements from a result
101
+ */
102
+ export function getUnmetRequirements(result) {
103
+ return result.requirements.filter(r => r.status === 'fail' || r.status === 'partial');
104
+ }
105
+ /**
106
+ * Get status icon for a requirement result
107
+ */
108
+ function getRequirementIcon(status) {
109
+ switch (status) {
110
+ case 'pass': return '✅';
111
+ case 'fail': return '❌';
112
+ case 'partial': return '⚠️';
113
+ case 'skip': return '⏭️';
114
+ }
115
+ }
116
+ /**
117
+ * Build a visual progress bar (e.g., "████████░░ 80%")
118
+ */
119
+ function buildRateBar(rate, width = 10) {
120
+ const filled = Math.round((rate / 100) * width);
121
+ const empty = width - filled;
122
+ return '█'.repeat(filled) + '░'.repeat(empty) + ` ${rate}%`;
123
+ }
124
+ /**
125
+ * Format verification result as readable string
126
+ */
127
+ export function formatVerificationResult(result, config) {
128
+ const lines = [];
129
+ const passed = result.achievementRate >= config.threshold;
130
+ const statusLabel = passed ? 'PASSED' : 'BELOW THRESHOLD';
131
+ lines.push(`━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━`);
132
+ lines.push(`Verification Result — Iteration ${result.iteration}`);
133
+ lines.push(`━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━`);
134
+ lines.push(`Achievement: ${buildRateBar(result.achievementRate)} [${statusLabel}]`);
135
+ lines.push(`Threshold: ${config.threshold}%`);
136
+ lines.push(`Summary: ${result.summary.pass} pass / ${result.summary.fail} fail / ${result.summary.partial} partial / ${result.summary.skip} skip`);
137
+ lines.push(``);
138
+ lines.push(`Requirements:`);
139
+ for (const req of result.requirements) {
140
+ const icon = getRequirementIcon(req.status);
141
+ lines.push(` ${icon} [${req.id}] ${req.description}`);
142
+ if (req.status !== 'pass' && req.status !== 'skip') {
143
+ lines.push(` Evidence: ${req.evidence}`);
144
+ }
145
+ }
146
+ lines.push(`━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━`);
147
+ return lines.join('\n');
148
+ }
149
+ /**
150
+ * Format loop summary
151
+ */
152
+ export function formatLoopSummary(state) {
153
+ const lines = [];
154
+ lines.push(`━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━`);
155
+ lines.push(`Verification Loop — ${state.feature}`);
156
+ lines.push(`━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━`);
157
+ lines.push(`Status: ${state.status.toUpperCase()}`);
158
+ lines.push(`Iterations: ${state.history.length}/${state.config.maxIterations}`);
159
+ lines.push(`Threshold: ${state.config.threshold}%`);
160
+ lines.push(`Auto-retry: ${state.config.autoRetry ? 'enabled' : 'disabled'}`);
161
+ if (state.history.length > 0) {
162
+ lines.push(``);
163
+ lines.push(`History:`);
164
+ for (const result of state.history) {
165
+ const bar = buildRateBar(result.achievementRate, 8);
166
+ lines.push(` Iteration ${result.iteration}: ${bar}`);
167
+ }
168
+ const improving = isImproving(state) ? ' (improving)' : '';
169
+ lines.push(`${improving}`);
170
+ }
171
+ if (state.completedAt) {
172
+ lines.push(``);
173
+ lines.push(`Completed: ${state.completedAt}`);
174
+ }
175
+ lines.push(`━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━`);
176
+ return lines.join('\n');
177
+ }
178
+ /**
179
+ * Check if improvement is being made (rate increasing across iterations)
180
+ * Returns true if latest rate is at least 1% higher than the previous
181
+ */
182
+ export function isImproving(state) {
183
+ if (state.history.length < 2)
184
+ return false;
185
+ const last = state.history[state.history.length - 1];
186
+ const prev = state.history[state.history.length - 2];
187
+ return last.achievementRate - prev.achievementRate >= 1;
188
+ }
189
+ //# sourceMappingURL=VerificationLoop.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VerificationLoop.js","sourceRoot":"","sources":["../../../src/infra/lib/VerificationLoop.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=AutomationLevel.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AutomationLevel.test.d.ts","sourceRoot":"","sources":["../../../../src/infra/lib/__tests__/AutomationLevel.test.ts"],"names":[],"mappings":""}