agentic-qe 3.3.2 → 3.3.4

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 (672) hide show
  1. package/.claude/agents/v3/README.md +100 -0
  2. package/.claude/agents/v3/qe-accessibility-auditor.md +112 -11
  3. package/.claude/agents/v3/qe-bdd-generator.md +40 -0
  4. package/.claude/agents/v3/qe-coverage-specialist.md +39 -0
  5. package/.claude/agents/v3/qe-defect-predictor.md +36 -0
  6. package/.claude/agents/v3/qe-gap-detector.md +39 -0
  7. package/.claude/agents/v3/qe-pattern-learner.md +31 -0
  8. package/.claude/agents/v3/qe-product-factors-assessor.md +34 -0
  9. package/.claude/agents/v3/qe-quality-criteria-recommender.md +32 -0
  10. package/.claude/agents/v3/qe-quality-gate.md +39 -0
  11. package/.claude/agents/v3/qe-requirements-validator.md +37 -0
  12. package/.claude/agents/v3/qe-risk-assessor.md +33 -0
  13. package/.claude/agents/v3/qe-tdd-specialist.md +33 -0
  14. package/.claude/agents/v3/qe-test-architect.md +36 -0
  15. package/.claude/helpers/statusline-v3.cjs +96 -27
  16. package/.claude/skills/README.md +30 -104
  17. package/.claude/skills/a11y-ally/SKILL.md +1658 -0
  18. package/.claude/skills/qcsd-ideation-swarm/SKILL.md +1750 -0
  19. package/.claude/skills/skills-manifest.json +78 -8
  20. package/README.md +24 -7
  21. package/package.json +1 -1
  22. package/scripts/demo-warmup.sh +45 -0
  23. package/scripts/fetch-content.js +460 -0
  24. package/scripts/sync-claude-flow.cjs +99 -0
  25. package/v3/CHANGELOG.md +188 -0
  26. package/v3/README.md +18 -9
  27. package/v3/assets/agents/v3/README.md +100 -0
  28. package/v3/assets/agents/v3/qe-accessibility-auditor.md +112 -11
  29. package/v3/assets/agents/v3/qe-bdd-generator.md +40 -0
  30. package/v3/assets/agents/v3/qe-coverage-specialist.md +39 -0
  31. package/v3/assets/agents/v3/qe-defect-predictor.md +36 -0
  32. package/v3/assets/agents/v3/qe-gap-detector.md +39 -0
  33. package/v3/assets/agents/v3/qe-pattern-learner.md +31 -0
  34. package/v3/assets/agents/v3/qe-product-factors-assessor.md +34 -0
  35. package/v3/assets/agents/v3/qe-quality-criteria-recommender.md +32 -0
  36. package/v3/assets/agents/v3/qe-quality-gate.md +39 -0
  37. package/v3/assets/agents/v3/qe-requirements-validator.md +37 -0
  38. package/v3/assets/agents/v3/qe-risk-assessor.md +33 -0
  39. package/v3/assets/agents/v3/qe-tdd-specialist.md +33 -0
  40. package/v3/assets/agents/v3/qe-test-architect.md +36 -0
  41. package/v3/assets/hooks/cross-phase-memory.yaml +253 -0
  42. package/v3/assets/skills/a11y-ally/SKILL.md +1658 -0
  43. package/v3/assets/skills/qcsd-ideation-swarm/SKILL.md +1750 -0
  44. package/v3/assets/skills/skills-manifest.json +753 -0
  45. package/v3/dist/adapters/claude-flow/model-router-bridge.d.ts.map +1 -1
  46. package/v3/dist/adapters/claude-flow/model-router-bridge.js +6 -4
  47. package/v3/dist/adapters/claude-flow/model-router-bridge.js.map +1 -1
  48. package/v3/dist/adapters/claude-flow/pretrain-bridge.d.ts.map +1 -1
  49. package/v3/dist/adapters/claude-flow/pretrain-bridge.js +13 -8
  50. package/v3/dist/adapters/claude-flow/pretrain-bridge.js.map +1 -1
  51. package/v3/dist/adapters/claude-flow/trajectory-bridge.d.ts.map +1 -1
  52. package/v3/dist/adapters/claude-flow/trajectory-bridge.js +9 -6
  53. package/v3/dist/adapters/claude-flow/trajectory-bridge.js.map +1 -1
  54. package/v3/dist/benchmarks/performance-benchmarks.d.ts.map +1 -1
  55. package/v3/dist/benchmarks/performance-benchmarks.js +5 -3
  56. package/v3/dist/benchmarks/performance-benchmarks.js.map +1 -1
  57. package/v3/dist/cli/bundle.js +47008 -36837
  58. package/v3/dist/cli/commands/hooks.d.ts.map +1 -1
  59. package/v3/dist/cli/commands/hooks.js +288 -0
  60. package/v3/dist/cli/commands/hooks.js.map +1 -1
  61. package/v3/dist/cli/commands/sync.d.ts.map +1 -1
  62. package/v3/dist/cli/commands/sync.js +0 -6
  63. package/v3/dist/cli/commands/sync.js.map +1 -1
  64. package/v3/dist/cli/handlers/init-handler.d.ts.map +1 -1
  65. package/v3/dist/cli/handlers/init-handler.js +11 -0
  66. package/v3/dist/cli/handlers/init-handler.js.map +1 -1
  67. package/v3/dist/cli/index.js +14 -2
  68. package/v3/dist/cli/index.js.map +1 -1
  69. package/v3/dist/cli/scheduler/persistent-scheduler.d.ts.map +1 -1
  70. package/v3/dist/cli/scheduler/persistent-scheduler.js +3 -2
  71. package/v3/dist/cli/scheduler/persistent-scheduler.js.map +1 -1
  72. package/v3/dist/cli/wizards/test-wizard.d.ts.map +1 -1
  73. package/v3/dist/cli/wizards/test-wizard.js +6 -4
  74. package/v3/dist/cli/wizards/test-wizard.js.map +1 -1
  75. package/v3/dist/coordination/consensus/domain-findings.d.ts +202 -0
  76. package/v3/dist/coordination/consensus/domain-findings.d.ts.map +1 -0
  77. package/v3/dist/coordination/consensus/domain-findings.js +66 -0
  78. package/v3/dist/coordination/consensus/domain-findings.js.map +1 -0
  79. package/v3/dist/coordination/consensus/index.d.ts +2 -0
  80. package/v3/dist/coordination/consensus/index.d.ts.map +1 -1
  81. package/v3/dist/coordination/consensus/index.js +4 -0
  82. package/v3/dist/coordination/consensus/index.js.map +1 -1
  83. package/v3/dist/coordination/consensus/providers/native-learning-provider.d.ts.map +1 -1
  84. package/v3/dist/coordination/consensus/providers/native-learning-provider.js +10 -8
  85. package/v3/dist/coordination/consensus/providers/native-learning-provider.js.map +1 -1
  86. package/v3/dist/coordination/consensus/providers/ollama-provider.d.ts.map +1 -1
  87. package/v3/dist/coordination/consensus/providers/ollama-provider.js +5 -4
  88. package/v3/dist/coordination/consensus/providers/ollama-provider.js.map +1 -1
  89. package/v3/dist/coordination/consensus/providers/openai-provider.d.ts.map +1 -1
  90. package/v3/dist/coordination/consensus/providers/openai-provider.js +5 -4
  91. package/v3/dist/coordination/consensus/providers/openai-provider.js.map +1 -1
  92. package/v3/dist/coordination/constants.d.ts +198 -0
  93. package/v3/dist/coordination/constants.d.ts.map +1 -0
  94. package/v3/dist/coordination/constants.js +210 -0
  95. package/v3/dist/coordination/constants.js.map +1 -0
  96. package/v3/dist/coordination/index.d.ts +1 -0
  97. package/v3/dist/coordination/index.d.ts.map +1 -1
  98. package/v3/dist/coordination/index.js +4 -0
  99. package/v3/dist/coordination/index.js.map +1 -1
  100. package/v3/dist/coordination/mincut/dream-integration.d.ts.map +1 -1
  101. package/v3/dist/coordination/mincut/dream-integration.js +5 -1
  102. package/v3/dist/coordination/mincut/dream-integration.js.map +1 -1
  103. package/v3/dist/coordination/mixins/consensus-enabled-domain.d.ts +225 -0
  104. package/v3/dist/coordination/mixins/consensus-enabled-domain.d.ts.map +1 -0
  105. package/v3/dist/coordination/mixins/consensus-enabled-domain.js +466 -0
  106. package/v3/dist/coordination/mixins/consensus-enabled-domain.js.map +1 -0
  107. package/v3/dist/coordination/mixins/index.d.ts +14 -0
  108. package/v3/dist/coordination/mixins/index.d.ts.map +1 -0
  109. package/v3/dist/coordination/mixins/index.js +28 -0
  110. package/v3/dist/coordination/mixins/index.js.map +1 -0
  111. package/v3/dist/coordination/mixins/mincut-aware-domain.d.ts +227 -0
  112. package/v3/dist/coordination/mixins/mincut-aware-domain.d.ts.map +1 -0
  113. package/v3/dist/coordination/mixins/mincut-aware-domain.js +368 -0
  114. package/v3/dist/coordination/mixins/mincut-aware-domain.js.map +1 -0
  115. package/v3/dist/coordination/queen-coordinator.d.ts +19 -1
  116. package/v3/dist/coordination/queen-coordinator.d.ts.map +1 -1
  117. package/v3/dist/coordination/queen-coordinator.js +87 -7
  118. package/v3/dist/coordination/queen-coordinator.js.map +1 -1
  119. package/v3/dist/coordination/task-executor.d.ts +21 -1
  120. package/v3/dist/coordination/task-executor.d.ts.map +1 -1
  121. package/v3/dist/coordination/task-executor.js +227 -11
  122. package/v3/dist/coordination/task-executor.js.map +1 -1
  123. package/v3/dist/coordination/workflow-orchestrator.d.ts.map +1 -1
  124. package/v3/dist/coordination/workflow-orchestrator.js +261 -0
  125. package/v3/dist/coordination/workflow-orchestrator.js.map +1 -1
  126. package/v3/dist/domains/chaos-resilience/coordinator.d.ts +92 -0
  127. package/v3/dist/domains/chaos-resilience/coordinator.d.ts.map +1 -1
  128. package/v3/dist/domains/chaos-resilience/coordinator.js +241 -1
  129. package/v3/dist/domains/chaos-resilience/coordinator.js.map +1 -1
  130. package/v3/dist/domains/chaos-resilience/plugin.d.ts +14 -3
  131. package/v3/dist/domains/chaos-resilience/plugin.d.ts.map +1 -1
  132. package/v3/dist/domains/chaos-resilience/plugin.js +97 -1
  133. package/v3/dist/domains/chaos-resilience/plugin.js.map +1 -1
  134. package/v3/dist/domains/chaos-resilience/services/chaos-engineer.d.ts +29 -2
  135. package/v3/dist/domains/chaos-resilience/services/chaos-engineer.d.ts.map +1 -1
  136. package/v3/dist/domains/chaos-resilience/services/chaos-engineer.js +62 -3
  137. package/v3/dist/domains/chaos-resilience/services/chaos-engineer.js.map +1 -1
  138. package/v3/dist/domains/chaos-resilience/services/performance-profiler.d.ts.map +1 -1
  139. package/v3/dist/domains/chaos-resilience/services/performance-profiler.js +12 -8
  140. package/v3/dist/domains/chaos-resilience/services/performance-profiler.js.map +1 -1
  141. package/v3/dist/domains/code-intelligence/coordinator.d.ts +112 -0
  142. package/v3/dist/domains/code-intelligence/coordinator.d.ts.map +1 -1
  143. package/v3/dist/domains/code-intelligence/coordinator.js +221 -0
  144. package/v3/dist/domains/code-intelligence/coordinator.js.map +1 -1
  145. package/v3/dist/domains/code-intelligence/plugin.d.ts +13 -3
  146. package/v3/dist/domains/code-intelligence/plugin.d.ts.map +1 -1
  147. package/v3/dist/domains/code-intelligence/plugin.js +85 -0
  148. package/v3/dist/domains/code-intelligence/plugin.js.map +1 -1
  149. package/v3/dist/domains/code-intelligence/services/knowledge-graph.d.ts +66 -2
  150. package/v3/dist/domains/code-intelligence/services/knowledge-graph.d.ts.map +1 -1
  151. package/v3/dist/domains/code-intelligence/services/knowledge-graph.js +253 -3
  152. package/v3/dist/domains/code-intelligence/services/knowledge-graph.js.map +1 -1
  153. package/v3/dist/domains/code-intelligence/services/product-factors-bridge.d.ts.map +1 -1
  154. package/v3/dist/domains/code-intelligence/services/product-factors-bridge.js +3 -2
  155. package/v3/dist/domains/code-intelligence/services/product-factors-bridge.js.map +1 -1
  156. package/v3/dist/domains/constants.d.ts +481 -0
  157. package/v3/dist/domains/constants.d.ts.map +1 -0
  158. package/v3/dist/domains/constants.js +503 -0
  159. package/v3/dist/domains/constants.js.map +1 -0
  160. package/v3/dist/domains/contract-testing/coordinator.d.ts +89 -1
  161. package/v3/dist/domains/contract-testing/coordinator.d.ts.map +1 -1
  162. package/v3/dist/domains/contract-testing/coordinator.js +222 -1
  163. package/v3/dist/domains/contract-testing/coordinator.js.map +1 -1
  164. package/v3/dist/domains/contract-testing/interfaces.d.ts +29 -1
  165. package/v3/dist/domains/contract-testing/interfaces.d.ts.map +1 -1
  166. package/v3/dist/domains/contract-testing/plugin.d.ts +6 -1
  167. package/v3/dist/domains/contract-testing/plugin.d.ts.map +1 -1
  168. package/v3/dist/domains/contract-testing/plugin.js +81 -2
  169. package/v3/dist/domains/contract-testing/plugin.js.map +1 -1
  170. package/v3/dist/domains/contract-testing/services/contract-validator.d.ts +29 -2
  171. package/v3/dist/domains/contract-testing/services/contract-validator.d.ts.map +1 -1
  172. package/v3/dist/domains/contract-testing/services/contract-validator.js +62 -6
  173. package/v3/dist/domains/contract-testing/services/contract-validator.js.map +1 -1
  174. package/v3/dist/domains/coverage-analysis/coordinator.d.ts +95 -2
  175. package/v3/dist/domains/coverage-analysis/coordinator.d.ts.map +1 -1
  176. package/v3/dist/domains/coverage-analysis/coordinator.js +274 -6
  177. package/v3/dist/domains/coverage-analysis/coordinator.js.map +1 -1
  178. package/v3/dist/domains/coverage-analysis/services/coverage-analyzer.d.ts +119 -3
  179. package/v3/dist/domains/coverage-analysis/services/coverage-analyzer.d.ts.map +1 -1
  180. package/v3/dist/domains/coverage-analysis/services/coverage-analyzer.js +267 -5
  181. package/v3/dist/domains/coverage-analysis/services/coverage-analyzer.js.map +1 -1
  182. package/v3/dist/domains/coverage-analysis/services/gap-detector.d.ts +111 -2
  183. package/v3/dist/domains/coverage-analysis/services/gap-detector.d.ts.map +1 -1
  184. package/v3/dist/domains/coverage-analysis/services/gap-detector.js +231 -3
  185. package/v3/dist/domains/coverage-analysis/services/gap-detector.js.map +1 -1
  186. package/v3/dist/domains/coverage-analysis/services/hnsw-index.d.ts.map +1 -1
  187. package/v3/dist/domains/coverage-analysis/services/hnsw-index.js +1 -0
  188. package/v3/dist/domains/coverage-analysis/services/hnsw-index.js.map +1 -1
  189. package/v3/dist/domains/defect-intelligence/coordinator.d.ts +80 -1
  190. package/v3/dist/domains/defect-intelligence/coordinator.d.ts.map +1 -1
  191. package/v3/dist/domains/defect-intelligence/coordinator.js +262 -7
  192. package/v3/dist/domains/defect-intelligence/coordinator.js.map +1 -1
  193. package/v3/dist/domains/defect-intelligence/interfaces.d.ts +17 -0
  194. package/v3/dist/domains/defect-intelligence/interfaces.d.ts.map +1 -1
  195. package/v3/dist/domains/defect-intelligence/plugin.d.ts +6 -1
  196. package/v3/dist/domains/defect-intelligence/plugin.d.ts.map +1 -1
  197. package/v3/dist/domains/defect-intelligence/plugin.js +101 -0
  198. package/v3/dist/domains/defect-intelligence/plugin.js.map +1 -1
  199. package/v3/dist/domains/defect-intelligence/services/defect-predictor.d.ts +91 -2
  200. package/v3/dist/domains/defect-intelligence/services/defect-predictor.d.ts.map +1 -1
  201. package/v3/dist/domains/defect-intelligence/services/defect-predictor.js +277 -9
  202. package/v3/dist/domains/defect-intelligence/services/defect-predictor.js.map +1 -1
  203. package/v3/dist/domains/defect-intelligence/services/root-cause-analyzer.d.ts +79 -2
  204. package/v3/dist/domains/defect-intelligence/services/root-cause-analyzer.d.ts.map +1 -1
  205. package/v3/dist/domains/defect-intelligence/services/root-cause-analyzer.js +259 -3
  206. package/v3/dist/domains/defect-intelligence/services/root-cause-analyzer.js.map +1 -1
  207. package/v3/dist/domains/domain-interface.d.ts +155 -0
  208. package/v3/dist/domains/domain-interface.d.ts.map +1 -1
  209. package/v3/dist/domains/domain-interface.js +164 -9
  210. package/v3/dist/domains/domain-interface.js.map +1 -1
  211. package/v3/dist/domains/learning-optimization/coordinator.d.ts +88 -0
  212. package/v3/dist/domains/learning-optimization/coordinator.d.ts.map +1 -1
  213. package/v3/dist/domains/learning-optimization/coordinator.js +227 -1
  214. package/v3/dist/domains/learning-optimization/coordinator.js.map +1 -1
  215. package/v3/dist/domains/learning-optimization/index.d.ts +1 -1
  216. package/v3/dist/domains/learning-optimization/index.d.ts.map +1 -1
  217. package/v3/dist/domains/learning-optimization/index.js.map +1 -1
  218. package/v3/dist/domains/learning-optimization/interfaces.d.ts +4 -0
  219. package/v3/dist/domains/learning-optimization/interfaces.d.ts.map +1 -1
  220. package/v3/dist/domains/learning-optimization/plugin.d.ts +2 -1
  221. package/v3/dist/domains/learning-optimization/plugin.d.ts.map +1 -1
  222. package/v3/dist/domains/learning-optimization/plugin.js +50 -1
  223. package/v3/dist/domains/learning-optimization/plugin.js.map +1 -1
  224. package/v3/dist/domains/learning-optimization/services/learning-coordinator.d.ts +54 -2
  225. package/v3/dist/domains/learning-optimization/services/learning-coordinator.d.ts.map +1 -1
  226. package/v3/dist/domains/learning-optimization/services/learning-coordinator.js +90 -3
  227. package/v3/dist/domains/learning-optimization/services/learning-coordinator.js.map +1 -1
  228. package/v3/dist/domains/quality-assessment/coordinator.d.ts +194 -1
  229. package/v3/dist/domains/quality-assessment/coordinator.d.ts.map +1 -1
  230. package/v3/dist/domains/quality-assessment/coordinator.js +664 -6
  231. package/v3/dist/domains/quality-assessment/coordinator.js.map +1 -1
  232. package/v3/dist/domains/quality-assessment/interfaces.d.ts +22 -0
  233. package/v3/dist/domains/quality-assessment/interfaces.d.ts.map +1 -1
  234. package/v3/dist/domains/quality-assessment/services/deployment-advisor.d.ts +61 -2
  235. package/v3/dist/domains/quality-assessment/services/deployment-advisor.d.ts.map +1 -1
  236. package/v3/dist/domains/quality-assessment/services/deployment-advisor.js +213 -5
  237. package/v3/dist/domains/quality-assessment/services/deployment-advisor.js.map +1 -1
  238. package/v3/dist/domains/quality-assessment/services/quality-analyzer.d.ts +59 -4
  239. package/v3/dist/domains/quality-assessment/services/quality-analyzer.d.ts.map +1 -1
  240. package/v3/dist/domains/quality-assessment/services/quality-analyzer.js +195 -3
  241. package/v3/dist/domains/quality-assessment/services/quality-analyzer.js.map +1 -1
  242. package/v3/dist/domains/requirements-validation/coordinator.d.ts +78 -0
  243. package/v3/dist/domains/requirements-validation/coordinator.d.ts.map +1 -1
  244. package/v3/dist/domains/requirements-validation/coordinator.js +189 -0
  245. package/v3/dist/domains/requirements-validation/coordinator.js.map +1 -1
  246. package/v3/dist/domains/requirements-validation/index.d.ts +1 -0
  247. package/v3/dist/domains/requirements-validation/index.d.ts.map +1 -1
  248. package/v3/dist/domains/requirements-validation/index.js +2 -0
  249. package/v3/dist/domains/requirements-validation/index.js.map +1 -1
  250. package/v3/dist/domains/requirements-validation/interfaces.d.ts +4 -0
  251. package/v3/dist/domains/requirements-validation/interfaces.d.ts.map +1 -1
  252. package/v3/dist/domains/requirements-validation/plugin.d.ts +13 -1
  253. package/v3/dist/domains/requirements-validation/plugin.d.ts.map +1 -1
  254. package/v3/dist/domains/requirements-validation/plugin.js +94 -0
  255. package/v3/dist/domains/requirements-validation/plugin.js.map +1 -1
  256. package/v3/dist/domains/requirements-validation/qcsd-ideation-plugin.d.ts +245 -0
  257. package/v3/dist/domains/requirements-validation/qcsd-ideation-plugin.d.ts.map +1 -0
  258. package/v3/dist/domains/requirements-validation/qcsd-ideation-plugin.js +1143 -0
  259. package/v3/dist/domains/requirements-validation/qcsd-ideation-plugin.js.map +1 -0
  260. package/v3/dist/domains/requirements-validation/services/product-factors-assessment/code-intelligence/codebase-analyzer.d.ts.map +1 -1
  261. package/v3/dist/domains/requirements-validation/services/product-factors-assessment/code-intelligence/codebase-analyzer.js +3 -2
  262. package/v3/dist/domains/requirements-validation/services/product-factors-assessment/code-intelligence/codebase-analyzer.js.map +1 -1
  263. package/v3/dist/domains/requirements-validation/services/requirements-validator.d.ts +106 -2
  264. package/v3/dist/domains/requirements-validation/services/requirements-validator.d.ts.map +1 -1
  265. package/v3/dist/domains/requirements-validation/services/requirements-validator.js +263 -3
  266. package/v3/dist/domains/requirements-validation/services/requirements-validator.js.map +1 -1
  267. package/v3/dist/domains/security-compliance/coordinator.d.ts +56 -1
  268. package/v3/dist/domains/security-compliance/coordinator.d.ts.map +1 -1
  269. package/v3/dist/domains/security-compliance/coordinator.js +241 -17
  270. package/v3/dist/domains/security-compliance/coordinator.js.map +1 -1
  271. package/v3/dist/domains/security-compliance/interfaces.d.ts +2 -0
  272. package/v3/dist/domains/security-compliance/interfaces.d.ts.map +1 -1
  273. package/v3/dist/domains/security-compliance/plugin.d.ts +3 -2
  274. package/v3/dist/domains/security-compliance/plugin.d.ts.map +1 -1
  275. package/v3/dist/domains/security-compliance/plugin.js +64 -0
  276. package/v3/dist/domains/security-compliance/plugin.js.map +1 -1
  277. package/v3/dist/domains/security-compliance/services/scanners/dast-auth-testing.d.ts +25 -0
  278. package/v3/dist/domains/security-compliance/services/scanners/dast-auth-testing.d.ts.map +1 -0
  279. package/v3/dist/domains/security-compliance/services/scanners/dast-auth-testing.js +160 -0
  280. package/v3/dist/domains/security-compliance/services/scanners/dast-auth-testing.js.map +1 -0
  281. package/v3/dist/domains/security-compliance/services/scanners/dast-helpers.d.ts +48 -0
  282. package/v3/dist/domains/security-compliance/services/scanners/dast-helpers.d.ts.map +1 -0
  283. package/v3/dist/domains/security-compliance/services/scanners/dast-helpers.js +385 -0
  284. package/v3/dist/domains/security-compliance/services/scanners/dast-helpers.js.map +1 -0
  285. package/v3/dist/domains/security-compliance/services/scanners/dast-injection-testing.d.ts +20 -0
  286. package/v3/dist/domains/security-compliance/services/scanners/dast-injection-testing.d.ts.map +1 -0
  287. package/v3/dist/domains/security-compliance/services/scanners/dast-injection-testing.js +99 -0
  288. package/v3/dist/domains/security-compliance/services/scanners/dast-injection-testing.js.map +1 -0
  289. package/v3/dist/domains/security-compliance/services/scanners/dast-scanner.d.ts +62 -0
  290. package/v3/dist/domains/security-compliance/services/scanners/dast-scanner.d.ts.map +1 -0
  291. package/v3/dist/domains/security-compliance/services/scanners/dast-scanner.js +329 -0
  292. package/v3/dist/domains/security-compliance/services/scanners/dast-scanner.js.map +1 -0
  293. package/v3/dist/domains/security-compliance/services/scanners/dependency-scanner.d.ts +46 -0
  294. package/v3/dist/domains/security-compliance/services/scanners/dependency-scanner.d.ts.map +1 -0
  295. package/v3/dist/domains/security-compliance/services/scanners/dependency-scanner.js +180 -0
  296. package/v3/dist/domains/security-compliance/services/scanners/dependency-scanner.js.map +1 -0
  297. package/v3/dist/domains/security-compliance/services/scanners/index.d.ts +14 -0
  298. package/v3/dist/domains/security-compliance/services/scanners/index.d.ts.map +1 -0
  299. package/v3/dist/domains/security-compliance/services/scanners/index.js +16 -0
  300. package/v3/dist/domains/security-compliance/services/scanners/index.js.map +1 -0
  301. package/v3/dist/domains/security-compliance/services/scanners/sast-scanner.d.ts +92 -0
  302. package/v3/dist/domains/security-compliance/services/scanners/sast-scanner.d.ts.map +1 -0
  303. package/v3/dist/domains/security-compliance/services/scanners/sast-scanner.js +440 -0
  304. package/v3/dist/domains/security-compliance/services/scanners/sast-scanner.js.map +1 -0
  305. package/v3/dist/domains/security-compliance/services/scanners/scanner-orchestrator.d.ts +78 -0
  306. package/v3/dist/domains/security-compliance/services/scanners/scanner-orchestrator.d.ts.map +1 -0
  307. package/v3/dist/domains/security-compliance/services/scanners/scanner-orchestrator.js +179 -0
  308. package/v3/dist/domains/security-compliance/services/scanners/scanner-orchestrator.js.map +1 -0
  309. package/v3/dist/domains/security-compliance/services/scanners/scanner-types.d.ts +91 -0
  310. package/v3/dist/domains/security-compliance/services/scanners/scanner-types.d.ts.map +1 -0
  311. package/v3/dist/domains/security-compliance/services/scanners/scanner-types.js +15 -0
  312. package/v3/dist/domains/security-compliance/services/scanners/scanner-types.js.map +1 -0
  313. package/v3/dist/domains/security-compliance/services/scanners/security-patterns.d.ts +16 -0
  314. package/v3/dist/domains/security-compliance/services/scanners/security-patterns.d.ts.map +1 -0
  315. package/v3/dist/domains/security-compliance/services/scanners/security-patterns.js +507 -0
  316. package/v3/dist/domains/security-compliance/services/scanners/security-patterns.js.map +1 -0
  317. package/v3/dist/domains/security-compliance/services/security-auditor.d.ts.map +1 -1
  318. package/v3/dist/domains/security-compliance/services/security-auditor.js +2 -1
  319. package/v3/dist/domains/security-compliance/services/security-auditor.js.map +1 -1
  320. package/v3/dist/domains/security-compliance/services/security-scanner.d.ts +20 -182
  321. package/v3/dist/domains/security-compliance/services/security-scanner.d.ts.map +1 -1
  322. package/v3/dist/domains/security-compliance/services/security-scanner.js +37 -1909
  323. package/v3/dist/domains/security-compliance/services/security-scanner.js.map +1 -1
  324. package/v3/dist/domains/security-compliance/services/semgrep-integration.d.ts.map +1 -1
  325. package/v3/dist/domains/security-compliance/services/semgrep-integration.js +7 -6
  326. package/v3/dist/domains/security-compliance/services/semgrep-integration.js.map +1 -1
  327. package/v3/dist/domains/test-execution/coordinator.d.ts +89 -0
  328. package/v3/dist/domains/test-execution/coordinator.d.ts.map +1 -1
  329. package/v3/dist/domains/test-execution/coordinator.js +259 -2
  330. package/v3/dist/domains/test-execution/coordinator.js.map +1 -1
  331. package/v3/dist/domains/test-execution/services/auth-state-manager.d.ts.map +1 -1
  332. package/v3/dist/domains/test-execution/services/auth-state-manager.js +6 -4
  333. package/v3/dist/domains/test-execution/services/auth-state-manager.js.map +1 -1
  334. package/v3/dist/domains/test-execution/services/e2e/assertion-handlers.d.ts +55 -0
  335. package/v3/dist/domains/test-execution/services/e2e/assertion-handlers.d.ts.map +1 -0
  336. package/v3/dist/domains/test-execution/services/e2e/assertion-handlers.js +407 -0
  337. package/v3/dist/domains/test-execution/services/e2e/assertion-handlers.js.map +1 -0
  338. package/v3/dist/domains/test-execution/services/e2e/browser-orchestrator.d.ts +122 -0
  339. package/v3/dist/domains/test-execution/services/e2e/browser-orchestrator.d.ts.map +1 -0
  340. package/v3/dist/domains/test-execution/services/e2e/browser-orchestrator.js +325 -0
  341. package/v3/dist/domains/test-execution/services/e2e/browser-orchestrator.js.map +1 -0
  342. package/v3/dist/domains/test-execution/services/e2e/e2e-coordinator.d.ts +97 -0
  343. package/v3/dist/domains/test-execution/services/e2e/e2e-coordinator.d.ts.map +1 -0
  344. package/v3/dist/domains/test-execution/services/e2e/e2e-coordinator.js +297 -0
  345. package/v3/dist/domains/test-execution/services/e2e/e2e-coordinator.js.map +1 -0
  346. package/v3/dist/domains/test-execution/services/e2e/index.d.ts +22 -0
  347. package/v3/dist/domains/test-execution/services/e2e/index.d.ts.map +1 -0
  348. package/v3/dist/domains/test-execution/services/e2e/index.js +52 -0
  349. package/v3/dist/domains/test-execution/services/e2e/index.js.map +1 -0
  350. package/v3/dist/domains/test-execution/services/e2e/result-collector.d.ts +51 -0
  351. package/v3/dist/domains/test-execution/services/e2e/result-collector.d.ts.map +1 -0
  352. package/v3/dist/domains/test-execution/services/e2e/result-collector.js +133 -0
  353. package/v3/dist/domains/test-execution/services/e2e/result-collector.js.map +1 -0
  354. package/v3/dist/domains/test-execution/services/e2e/step-executors.d.ts +48 -0
  355. package/v3/dist/domains/test-execution/services/e2e/step-executors.d.ts.map +1 -0
  356. package/v3/dist/domains/test-execution/services/e2e/step-executors.js +422 -0
  357. package/v3/dist/domains/test-execution/services/e2e/step-executors.js.map +1 -0
  358. package/v3/dist/domains/test-execution/services/e2e/step-retry-handler.d.ts +49 -0
  359. package/v3/dist/domains/test-execution/services/e2e/step-retry-handler.d.ts.map +1 -0
  360. package/v3/dist/domains/test-execution/services/e2e/step-retry-handler.js +146 -0
  361. package/v3/dist/domains/test-execution/services/e2e/step-retry-handler.js.map +1 -0
  362. package/v3/dist/domains/test-execution/services/e2e/types.d.ts +138 -0
  363. package/v3/dist/domains/test-execution/services/e2e/types.d.ts.map +1 -0
  364. package/v3/dist/domains/test-execution/services/e2e/types.js +65 -0
  365. package/v3/dist/domains/test-execution/services/e2e/types.js.map +1 -0
  366. package/v3/dist/domains/test-execution/services/e2e/wait-condition-handler.d.ts +33 -0
  367. package/v3/dist/domains/test-execution/services/e2e/wait-condition-handler.d.ts.map +1 -0
  368. package/v3/dist/domains/test-execution/services/e2e/wait-condition-handler.js +114 -0
  369. package/v3/dist/domains/test-execution/services/e2e/wait-condition-handler.js.map +1 -0
  370. package/v3/dist/domains/test-execution/services/e2e-runner.d.ts +18 -392
  371. package/v3/dist/domains/test-execution/services/e2e-runner.d.ts.map +1 -1
  372. package/v3/dist/domains/test-execution/services/e2e-runner.js +25 -1757
  373. package/v3/dist/domains/test-execution/services/e2e-runner.js.map +1 -1
  374. package/v3/dist/domains/test-execution/services/flaky-detector.d.ts.map +1 -1
  375. package/v3/dist/domains/test-execution/services/flaky-detector.js +12 -9
  376. package/v3/dist/domains/test-execution/services/flaky-detector.js.map +1 -1
  377. package/v3/dist/domains/test-execution/services/retry-handler.d.ts.map +1 -1
  378. package/v3/dist/domains/test-execution/services/retry-handler.js +7 -5
  379. package/v3/dist/domains/test-execution/services/retry-handler.js.map +1 -1
  380. package/v3/dist/domains/test-execution/services/test-executor.d.ts +30 -2
  381. package/v3/dist/domains/test-execution/services/test-executor.d.ts.map +1 -1
  382. package/v3/dist/domains/test-execution/services/test-executor.js +67 -5
  383. package/v3/dist/domains/test-execution/services/test-executor.js.map +1 -1
  384. package/v3/dist/domains/test-generation/coordinator.d.ts +97 -0
  385. package/v3/dist/domains/test-generation/coordinator.d.ts.map +1 -1
  386. package/v3/dist/domains/test-generation/coordinator.js +237 -0
  387. package/v3/dist/domains/test-generation/coordinator.js.map +1 -1
  388. package/v3/dist/domains/test-generation/interfaces.d.ts +2 -0
  389. package/v3/dist/domains/test-generation/interfaces.d.ts.map +1 -1
  390. package/v3/dist/domains/test-generation/services/test-generator.d.ts +32 -0
  391. package/v3/dist/domains/test-generation/services/test-generator.d.ts.map +1 -1
  392. package/v3/dist/domains/test-generation/services/test-generator.js +158 -3
  393. package/v3/dist/domains/test-generation/services/test-generator.js.map +1 -1
  394. package/v3/dist/domains/visual-accessibility/coordinator.d.ts +147 -0
  395. package/v3/dist/domains/visual-accessibility/coordinator.d.ts.map +1 -1
  396. package/v3/dist/domains/visual-accessibility/coordinator.js +382 -2
  397. package/v3/dist/domains/visual-accessibility/coordinator.js.map +1 -1
  398. package/v3/dist/domains/visual-accessibility/plugin.d.ts +2 -1
  399. package/v3/dist/domains/visual-accessibility/plugin.d.ts.map +1 -1
  400. package/v3/dist/domains/visual-accessibility/plugin.js +66 -3
  401. package/v3/dist/domains/visual-accessibility/plugin.js.map +1 -1
  402. package/v3/dist/domains/visual-accessibility/services/accessibility-tester.d.ts.map +1 -1
  403. package/v3/dist/domains/visual-accessibility/services/accessibility-tester.js +3 -2
  404. package/v3/dist/domains/visual-accessibility/services/accessibility-tester.js.map +1 -1
  405. package/v3/dist/domains/visual-accessibility/services/browser-security-scanner.d.ts.map +1 -1
  406. package/v3/dist/domains/visual-accessibility/services/browser-security-scanner.js +22 -12
  407. package/v3/dist/domains/visual-accessibility/services/browser-security-scanner.js.map +1 -1
  408. package/v3/dist/domains/visual-accessibility/services/viewport-capture.d.ts.map +1 -1
  409. package/v3/dist/domains/visual-accessibility/services/viewport-capture.js +3 -2
  410. package/v3/dist/domains/visual-accessibility/services/viewport-capture.js.map +1 -1
  411. package/v3/dist/domains/visual-accessibility/services/visual-regression.d.ts.map +1 -1
  412. package/v3/dist/domains/visual-accessibility/services/visual-regression.js +3 -2
  413. package/v3/dist/domains/visual-accessibility/services/visual-regression.js.map +1 -1
  414. package/v3/dist/domains/visual-accessibility/services/visual-tester.d.ts +47 -2
  415. package/v3/dist/domains/visual-accessibility/services/visual-tester.d.ts.map +1 -1
  416. package/v3/dist/domains/visual-accessibility/services/visual-tester.js +87 -3
  417. package/v3/dist/domains/visual-accessibility/services/visual-tester.js.map +1 -1
  418. package/v3/dist/hooks/cross-phase-hooks.d.ts +42 -0
  419. package/v3/dist/hooks/cross-phase-hooks.d.ts.map +1 -0
  420. package/v3/dist/hooks/cross-phase-hooks.js +338 -0
  421. package/v3/dist/hooks/cross-phase-hooks.js.map +1 -0
  422. package/v3/dist/hooks/index.d.ts +9 -0
  423. package/v3/dist/hooks/index.d.ts.map +1 -0
  424. package/v3/dist/hooks/index.js +9 -0
  425. package/v3/dist/hooks/index.js.map +1 -0
  426. package/v3/dist/init/agents-installer.d.ts.map +1 -1
  427. package/v3/dist/init/agents-installer.js +6 -4
  428. package/v3/dist/init/agents-installer.js.map +1 -1
  429. package/v3/dist/init/enhancements/claude-flow-adapter.d.ts.map +1 -1
  430. package/v3/dist/init/enhancements/claude-flow-adapter.js +15 -9
  431. package/v3/dist/init/enhancements/claude-flow-adapter.js.map +1 -1
  432. package/v3/dist/init/enhancements/detector.js +6 -4
  433. package/v3/dist/init/enhancements/detector.js.map +1 -1
  434. package/v3/dist/init/init-wizard.d.ts +5 -0
  435. package/v3/dist/init/init-wizard.d.ts.map +1 -1
  436. package/v3/dist/init/init-wizard.js +74 -11
  437. package/v3/dist/init/init-wizard.js.map +1 -1
  438. package/v3/dist/init/migration/data-migrator.d.ts.map +1 -1
  439. package/v3/dist/init/migration/data-migrator.js +6 -4
  440. package/v3/dist/init/migration/data-migrator.js.map +1 -1
  441. package/v3/dist/init/phases/02-analysis.js +2 -2
  442. package/v3/dist/init/phases/02-analysis.js.map +1 -1
  443. package/v3/dist/init/phases/04-database.d.ts.map +1 -1
  444. package/v3/dist/init/phases/04-database.js +0 -1
  445. package/v3/dist/init/phases/04-database.js.map +1 -1
  446. package/v3/dist/init/phases/11-claude-md.d.ts.map +1 -1
  447. package/v3/dist/init/phases/11-claude-md.js +25 -0
  448. package/v3/dist/init/phases/11-claude-md.js.map +1 -1
  449. package/v3/dist/init/phases/12-verification.d.ts.map +1 -1
  450. package/v3/dist/init/phases/12-verification.js +2 -1
  451. package/v3/dist/init/phases/12-verification.js.map +1 -1
  452. package/v3/dist/init/project-analyzer.d.ts.map +1 -1
  453. package/v3/dist/init/project-analyzer.js +12 -8
  454. package/v3/dist/init/project-analyzer.js.map +1 -1
  455. package/v3/dist/init/skills-installer.d.ts.map +1 -1
  456. package/v3/dist/init/skills-installer.js +6 -4
  457. package/v3/dist/init/skills-installer.js.map +1 -1
  458. package/v3/dist/init/token-bootstrap.d.ts.map +1 -1
  459. package/v3/dist/init/token-bootstrap.js +2 -1
  460. package/v3/dist/init/token-bootstrap.js.map +1 -1
  461. package/v3/dist/integrations/agent-booster-wasm/index.d.ts.map +1 -1
  462. package/v3/dist/integrations/agent-booster-wasm/index.js +8 -4
  463. package/v3/dist/integrations/agent-booster-wasm/index.js.map +1 -1
  464. package/v3/dist/integrations/agentic-flow/model-router/signal-collector.d.ts.map +1 -1
  465. package/v3/dist/integrations/agentic-flow/model-router/signal-collector.js +3 -2
  466. package/v3/dist/integrations/agentic-flow/model-router/signal-collector.js.map +1 -1
  467. package/v3/dist/integrations/agentic-flow/reasoning-bank/experience-replay.d.ts.map +1 -1
  468. package/v3/dist/integrations/agentic-flow/reasoning-bank/experience-replay.js.map +1 -1
  469. package/v3/dist/integrations/agentic-flow/reasoning-bank/trajectory-tracker.d.ts.map +1 -1
  470. package/v3/dist/integrations/agentic-flow/reasoning-bank/trajectory-tracker.js.map +1 -1
  471. package/v3/dist/integrations/browser/agent-browser/client.d.ts.map +1 -1
  472. package/v3/dist/integrations/browser/agent-browser/client.js +9 -6
  473. package/v3/dist/integrations/browser/agent-browser/client.js.map +1 -1
  474. package/v3/dist/integrations/browser/agent-browser/command-executor.d.ts.map +1 -1
  475. package/v3/dist/integrations/browser/agent-browser/command-executor.js +3 -2
  476. package/v3/dist/integrations/browser/agent-browser/command-executor.js.map +1 -1
  477. package/v3/dist/integrations/browser/index.d.ts +1 -0
  478. package/v3/dist/integrations/browser/index.d.ts.map +1 -1
  479. package/v3/dist/integrations/browser/index.js +6 -0
  480. package/v3/dist/integrations/browser/index.js.map +1 -1
  481. package/v3/dist/integrations/browser/web-content-fetcher.d.ts +154 -0
  482. package/v3/dist/integrations/browser/web-content-fetcher.d.ts.map +1 -0
  483. package/v3/dist/integrations/browser/web-content-fetcher.js +529 -0
  484. package/v3/dist/integrations/browser/web-content-fetcher.js.map +1 -0
  485. package/v3/dist/integrations/coherence/threshold-tuner.d.ts.map +1 -1
  486. package/v3/dist/integrations/coherence/threshold-tuner.js +3 -2
  487. package/v3/dist/integrations/coherence/threshold-tuner.js.map +1 -1
  488. package/v3/dist/integrations/coherence/wasm-loader.d.ts.map +1 -1
  489. package/v3/dist/integrations/coherence/wasm-loader.js +3 -2
  490. package/v3/dist/integrations/coherence/wasm-loader.js.map +1 -1
  491. package/v3/dist/integrations/n8n/agent-factory.d.ts.map +1 -1
  492. package/v3/dist/integrations/n8n/agent-factory.js +6 -4
  493. package/v3/dist/integrations/n8n/agent-factory.js.map +1 -1
  494. package/v3/dist/integrations/rl-suite/persistence/q-value-store.d.ts.map +1 -1
  495. package/v3/dist/integrations/rl-suite/persistence/q-value-store.js.map +1 -1
  496. package/v3/dist/integrations/ruvector/sona-persistence.d.ts.map +1 -1
  497. package/v3/dist/integrations/ruvector/sona-persistence.js +6 -4
  498. package/v3/dist/integrations/ruvector/sona-persistence.js.map +1 -1
  499. package/v3/dist/integrations/vibium/client.d.ts.map +1 -1
  500. package/v3/dist/integrations/vibium/client.js +3 -2
  501. package/v3/dist/integrations/vibium/client.js.map +1 -1
  502. package/v3/dist/kernel/agent-coordinator.d.ts +1 -1
  503. package/v3/dist/kernel/agent-coordinator.d.ts.map +1 -1
  504. package/v3/dist/kernel/agent-coordinator.js +4 -4
  505. package/v3/dist/kernel/agent-coordinator.js.map +1 -1
  506. package/v3/dist/kernel/constants.d.ts +155 -0
  507. package/v3/dist/kernel/constants.d.ts.map +1 -0
  508. package/v3/dist/kernel/constants.js +169 -0
  509. package/v3/dist/kernel/constants.js.map +1 -0
  510. package/v3/dist/kernel/event-bus.d.ts +8 -0
  511. package/v3/dist/kernel/event-bus.d.ts.map +1 -1
  512. package/v3/dist/kernel/event-bus.js +79 -17
  513. package/v3/dist/kernel/event-bus.js.map +1 -1
  514. package/v3/dist/kernel/hybrid-backend.d.ts.map +1 -1
  515. package/v3/dist/kernel/hybrid-backend.js +4 -3
  516. package/v3/dist/kernel/hybrid-backend.js.map +1 -1
  517. package/v3/dist/kernel/kernel.d.ts.map +1 -1
  518. package/v3/dist/kernel/kernel.js +3 -2
  519. package/v3/dist/kernel/kernel.js.map +1 -1
  520. package/v3/dist/kernel/memory-backend.d.ts.map +1 -1
  521. package/v3/dist/kernel/memory-backend.js +4 -3
  522. package/v3/dist/kernel/memory-backend.js.map +1 -1
  523. package/v3/dist/kernel/unified-memory.d.ts.map +1 -1
  524. package/v3/dist/kernel/unified-memory.js +14 -11
  525. package/v3/dist/kernel/unified-memory.js.map +1 -1
  526. package/v3/dist/kernel/unified-persistence.js +3 -2
  527. package/v3/dist/kernel/unified-persistence.js.map +1 -1
  528. package/v3/dist/learning/aqe-learning-engine.d.ts.map +1 -1
  529. package/v3/dist/learning/aqe-learning-engine.js +12 -8
  530. package/v3/dist/learning/aqe-learning-engine.js.map +1 -1
  531. package/v3/dist/learning/dream/index.d.ts +1 -1
  532. package/v3/dist/learning/dream/index.d.ts.map +1 -1
  533. package/v3/dist/learning/dream/index.js +3 -1
  534. package/v3/dist/learning/dream/index.js.map +1 -1
  535. package/v3/dist/learning/dream/spreading-activation.d.ts +41 -0
  536. package/v3/dist/learning/dream/spreading-activation.d.ts.map +1 -1
  537. package/v3/dist/learning/dream/spreading-activation.js +79 -0
  538. package/v3/dist/learning/dream/spreading-activation.js.map +1 -1
  539. package/v3/dist/learning/experience-capture-middleware.d.ts +119 -0
  540. package/v3/dist/learning/experience-capture-middleware.d.ts.map +1 -0
  541. package/v3/dist/learning/experience-capture-middleware.js +416 -0
  542. package/v3/dist/learning/experience-capture-middleware.js.map +1 -0
  543. package/v3/dist/learning/pattern-store.d.ts.map +1 -1
  544. package/v3/dist/learning/pattern-store.js +16 -6
  545. package/v3/dist/learning/pattern-store.js.map +1 -1
  546. package/v3/dist/learning/real-embeddings.d.ts.map +1 -1
  547. package/v3/dist/learning/real-embeddings.js +7 -1
  548. package/v3/dist/learning/real-embeddings.js.map +1 -1
  549. package/v3/dist/learning/sqlite-persistence.d.ts +1 -1
  550. package/v3/dist/learning/sqlite-persistence.d.ts.map +1 -1
  551. package/v3/dist/learning/sqlite-persistence.js.map +1 -1
  552. package/v3/dist/logging/console-logger.d.ts +96 -0
  553. package/v3/dist/logging/console-logger.d.ts.map +1 -0
  554. package/v3/dist/logging/console-logger.js +247 -0
  555. package/v3/dist/logging/console-logger.js.map +1 -0
  556. package/v3/dist/logging/index.d.ts +42 -0
  557. package/v3/dist/logging/index.d.ts.map +1 -0
  558. package/v3/dist/logging/index.js +39 -0
  559. package/v3/dist/logging/index.js.map +1 -0
  560. package/v3/dist/logging/logger-factory.d.ts +145 -0
  561. package/v3/dist/logging/logger-factory.d.ts.map +1 -0
  562. package/v3/dist/logging/logger-factory.js +218 -0
  563. package/v3/dist/logging/logger-factory.js.map +1 -0
  564. package/v3/dist/logging/logger.d.ts +89 -0
  565. package/v3/dist/logging/logger.d.ts.map +1 -0
  566. package/v3/dist/logging/logger.js +74 -0
  567. package/v3/dist/logging/logger.js.map +1 -0
  568. package/v3/dist/mcp/bundle.js +63771 -53632
  569. package/v3/dist/mcp/handlers/agent-handlers.js +2 -2
  570. package/v3/dist/mcp/handlers/agent-handlers.js.map +1 -1
  571. package/v3/dist/mcp/handlers/core-handlers.d.ts +2 -0
  572. package/v3/dist/mcp/handlers/core-handlers.d.ts.map +1 -1
  573. package/v3/dist/mcp/handlers/core-handlers.js +33 -0
  574. package/v3/dist/mcp/handlers/core-handlers.js.map +1 -1
  575. package/v3/dist/mcp/handlers/cross-phase-handlers.d.ts +110 -0
  576. package/v3/dist/mcp/handlers/cross-phase-handlers.d.ts.map +1 -0
  577. package/v3/dist/mcp/handlers/cross-phase-handlers.js +216 -0
  578. package/v3/dist/mcp/handlers/cross-phase-handlers.js.map +1 -0
  579. package/v3/dist/mcp/handlers/domain-handler-configs.d.ts +151 -0
  580. package/v3/dist/mcp/handlers/domain-handler-configs.d.ts.map +1 -0
  581. package/v3/dist/mcp/handlers/domain-handler-configs.js +486 -0
  582. package/v3/dist/mcp/handlers/domain-handler-configs.js.map +1 -0
  583. package/v3/dist/mcp/handlers/domain-handlers.d.ts +174 -121
  584. package/v3/dist/mcp/handlers/domain-handlers.d.ts.map +1 -1
  585. package/v3/dist/mcp/handlers/domain-handlers.js +178 -1049
  586. package/v3/dist/mcp/handlers/domain-handlers.js.map +1 -1
  587. package/v3/dist/mcp/handlers/handler-factory.d.ts +182 -0
  588. package/v3/dist/mcp/handlers/handler-factory.d.ts.map +1 -0
  589. package/v3/dist/mcp/handlers/handler-factory.js +327 -0
  590. package/v3/dist/mcp/handlers/handler-factory.js.map +1 -0
  591. package/v3/dist/mcp/handlers/index.d.ts +2 -1
  592. package/v3/dist/mcp/handlers/index.d.ts.map +1 -1
  593. package/v3/dist/mcp/handlers/index.js +4 -2
  594. package/v3/dist/mcp/handlers/index.js.map +1 -1
  595. package/v3/dist/mcp/handlers/task-handlers.d.ts +1 -0
  596. package/v3/dist/mcp/handlers/task-handlers.d.ts.map +1 -1
  597. package/v3/dist/mcp/handlers/task-handlers.js +91 -7
  598. package/v3/dist/mcp/handlers/task-handlers.js.map +1 -1
  599. package/v3/dist/mcp/handlers/wrapped-domain-handlers.d.ts +30 -0
  600. package/v3/dist/mcp/handlers/wrapped-domain-handlers.d.ts.map +1 -0
  601. package/v3/dist/mcp/handlers/wrapped-domain-handlers.js +75 -0
  602. package/v3/dist/mcp/handlers/wrapped-domain-handlers.js.map +1 -0
  603. package/v3/dist/mcp/server.d.ts.map +1 -1
  604. package/v3/dist/mcp/server.js +107 -1
  605. package/v3/dist/mcp/server.js.map +1 -1
  606. package/v3/dist/mcp/tools/chaos-resilience/inject.js +1 -1
  607. package/v3/dist/mcp/tools/chaos-resilience/inject.js.map +1 -1
  608. package/v3/dist/mcp/tools/contract-testing/validate.js +1 -1
  609. package/v3/dist/mcp/tools/contract-testing/validate.js.map +1 -1
  610. package/v3/dist/mcp/tools/learning-optimization/optimize.js +1 -1
  611. package/v3/dist/mcp/tools/learning-optimization/optimize.js.map +1 -1
  612. package/v3/dist/mcp/tools/visual-accessibility/index.js +2 -2
  613. package/v3/dist/mcp/tools/visual-accessibility/index.js.map +1 -1
  614. package/v3/dist/mcp/types.d.ts +5 -3
  615. package/v3/dist/mcp/types.d.ts.map +1 -1
  616. package/v3/dist/memory/cross-phase-memory.d.ts +55 -0
  617. package/v3/dist/memory/cross-phase-memory.d.ts.map +1 -0
  618. package/v3/dist/memory/cross-phase-memory.js +265 -0
  619. package/v3/dist/memory/cross-phase-memory.js.map +1 -0
  620. package/v3/dist/memory/index.d.ts +9 -0
  621. package/v3/dist/memory/index.d.ts.map +1 -0
  622. package/v3/dist/memory/index.js +9 -0
  623. package/v3/dist/memory/index.js.map +1 -0
  624. package/v3/dist/routing/qe-agent-registry.d.ts +1 -1
  625. package/v3/dist/routing/qe-agent-registry.d.ts.map +1 -1
  626. package/v3/dist/routing/qe-agent-registry.js +20 -1
  627. package/v3/dist/routing/qe-agent-registry.js.map +1 -1
  628. package/v3/dist/shared/io/file-reader.d.ts.map +1 -1
  629. package/v3/dist/shared/io/file-reader.js +3 -2
  630. package/v3/dist/shared/io/file-reader.js.map +1 -1
  631. package/v3/dist/shared/utils/binary-insert.d.ts +85 -0
  632. package/v3/dist/shared/utils/binary-insert.d.ts.map +1 -0
  633. package/v3/dist/shared/utils/binary-insert.js +122 -0
  634. package/v3/dist/shared/utils/binary-insert.js.map +1 -0
  635. package/v3/dist/shared/utils/index.d.ts +1 -0
  636. package/v3/dist/shared/utils/index.d.ts.map +1 -1
  637. package/v3/dist/shared/utils/index.js +1 -0
  638. package/v3/dist/shared/utils/index.js.map +1 -1
  639. package/v3/dist/strange-loop/belief-reconciler.d.ts.map +1 -1
  640. package/v3/dist/strange-loop/belief-reconciler.js +3 -2
  641. package/v3/dist/strange-loop/belief-reconciler.js.map +1 -1
  642. package/v3/dist/sync/claude-flow-bridge.d.ts +63 -0
  643. package/v3/dist/sync/claude-flow-bridge.d.ts.map +1 -0
  644. package/v3/dist/sync/claude-flow-bridge.js +322 -0
  645. package/v3/dist/sync/claude-flow-bridge.js.map +1 -0
  646. package/v3/dist/sync/cloud/postgres-writer.d.ts.map +1 -1
  647. package/v3/dist/sync/cloud/postgres-writer.js +0 -1
  648. package/v3/dist/sync/cloud/postgres-writer.js.map +1 -1
  649. package/v3/dist/sync/readers/sqlite-reader.d.ts.map +1 -1
  650. package/v3/dist/sync/readers/sqlite-reader.js +3 -2
  651. package/v3/dist/sync/readers/sqlite-reader.js.map +1 -1
  652. package/v3/dist/test-scheduling/flaky-tracking/flaky-tracker.d.ts.map +1 -1
  653. package/v3/dist/test-scheduling/flaky-tracking/flaky-tracker.js +3 -2
  654. package/v3/dist/test-scheduling/flaky-tracking/flaky-tracker.js.map +1 -1
  655. package/v3/dist/test-scheduling/git-aware/test-selector.d.ts.map +1 -1
  656. package/v3/dist/test-scheduling/git-aware/test-selector.js +3 -2
  657. package/v3/dist/test-scheduling/git-aware/test-selector.js.map +1 -1
  658. package/v3/dist/types/cross-phase-signals.d.ts +119 -0
  659. package/v3/dist/types/cross-phase-signals.d.ts.map +1 -0
  660. package/v3/dist/types/cross-phase-signals.js +33 -0
  661. package/v3/dist/types/cross-phase-signals.js.map +1 -0
  662. package/v3/dist/types/index.d.ts +9 -0
  663. package/v3/dist/types/index.d.ts.map +1 -0
  664. package/v3/dist/types/index.js +9 -0
  665. package/v3/dist/types/index.js.map +1 -0
  666. package/v3/dist/workers/worker-manager.d.ts.map +1 -1
  667. package/v3/dist/workers/worker-manager.js +3 -2
  668. package/v3/dist/workers/worker-manager.js.map +1 -1
  669. package/v3/dist/workflows/browser/workflow-loader.d.ts +3 -3
  670. package/v3/dist/workflows/browser/workflow-loader.d.ts.map +1 -1
  671. package/v3/dist/workflows/browser/workflow-loader.js.map +1 -1
  672. package/v3/package.json +4 -1
@@ -6,6 +6,10 @@
6
6
  * - ActorCritic RL: Quality gate threshold tuning
7
7
  * - QESONA: Quality pattern learning
8
8
  * - QEFlashAttention: Similarity computations for quality reports
9
+ *
10
+ * V3 Integrations (ADR-047, CONSENSUS-MIXIN-001):
11
+ * - MinCutAwareDomainMixin: Topology-aware routing and health monitoring
12
+ * - ConsensusEnabledMixin: Multi-model consensus for high-stakes quality decisions
9
13
  */
10
14
  import { v4 as uuidv4 } from 'uuid';
11
15
  import { ok, err } from '../../shared/types';
@@ -19,6 +23,11 @@ import { createPersistentSONAEngine } from '../../integrations/ruvector/sona-per
19
23
  import { createQEFlashAttention, } from '../../integrations/ruvector/wrappers';
20
24
  // V3 Integration: ClaimVerifier for report verification (Phase 4)
21
25
  import { createClaimVerifierService, } from '../../agents/claim-verifier/index.js';
26
+ // V3 Integration: MinCut Awareness (ADR-047)
27
+ import { createMinCutAwareMixin, } from '../../coordination/mixins/mincut-aware-domain';
28
+ // V3 Integration: Consensus Verification (CONSENSUS-MIXIN-001)
29
+ import { createConsensusEnabledMixin, } from '../../coordination/mixins/consensus-enabled-domain';
30
+ import { createDomainFinding, } from '../../coordination/consensus/domain-findings';
22
31
  const DEFAULT_CONFIG = {
23
32
  maxConcurrentWorkflows: 5,
24
33
  defaultTimeout: 60000,
@@ -29,6 +38,14 @@ const DEFAULT_CONFIG = {
29
38
  enableFlashAttention: true,
30
39
  // V3: ClaimVerifier enabled by default
31
40
  enableClaimVerification: true,
41
+ // V3: MinCut Awareness enabled by default
42
+ enableMinCutAwareness: true,
43
+ topologyHealthThreshold: 0.5,
44
+ // V3: Consensus enabled by default for quality decisions
45
+ enableConsensus: true,
46
+ consensusThreshold: 0.7,
47
+ consensusMinModels: 2,
48
+ borderlineMargin: 0.05, // 5% margin for borderline detection
32
49
  };
33
50
  /**
34
51
  * Quality Assessment Coordinator
@@ -38,6 +55,10 @@ const DEFAULT_CONFIG = {
38
55
  * - ActorCritic RL: Quality gate threshold tuning
39
56
  * - QESONA: Quality pattern learning
40
57
  * - QEFlashAttention: Similarity computations for quality reports
58
+ *
59
+ * V3 Integrations (ADR-047, CONSENSUS-MIXIN-001):
60
+ * - MinCutAwareDomainMixin: Topology-aware routing and health monitoring
61
+ * - ConsensusEnabledMixin: Multi-model consensus for high-stakes quality decisions
41
62
  */
42
63
  export class QualityAssessmentCoordinator {
43
64
  eventBus;
@@ -55,6 +76,10 @@ export class QualityAssessmentCoordinator {
55
76
  flashAttention;
56
77
  // V3 Integration: ClaimVerifier for report verification
57
78
  claimVerifier;
79
+ // V3 Integration: MinCut Awareness (ADR-047)
80
+ minCutMixin;
81
+ // V3 Integration: Consensus Verification (CONSENSUS-MIXIN-001)
82
+ consensusMixin;
58
83
  // Quality domain name for SONA
59
84
  domain = 'quality-assessment';
60
85
  // Cache of recent dream insights for quality assessment enhancement
@@ -67,10 +92,36 @@ export class QualityAssessmentCoordinator {
67
92
  this.qualityGate = new QualityGateService(memory);
68
93
  this.qualityAnalyzer = new QualityAnalyzerService(memory);
69
94
  this.deploymentAdvisor = new DeploymentAdvisorService(memory);
95
+ // V3 Integration: Initialize MinCut Awareness Mixin (ADR-047)
96
+ this.minCutMixin = createMinCutAwareMixin(this.domain, {
97
+ enableMinCutAwareness: this.config.enableMinCutAwareness,
98
+ topologyHealthThreshold: this.config.topologyHealthThreshold,
99
+ pauseOnCriticalTopology: false, // Quality assessment continues even in degraded topology
100
+ monitoredDomains: [], // Monitor all domains
101
+ });
102
+ // V3 Integration: Initialize Consensus Mixin (CONSENSUS-MIXIN-001)
103
+ // Configured for quality-assessment specific finding types
104
+ this.consensusMixin = createConsensusEnabledMixin({
105
+ enableConsensus: this.config.enableConsensus,
106
+ consensusThreshold: this.config.consensusThreshold,
107
+ minModels: this.config.consensusMinModels,
108
+ // Quality-specific finding types that require consensus
109
+ verifyFindingTypes: [
110
+ 'gate-verdict', // Pass/fail quality gate decisions
111
+ 'tech-debt-classification', // Critical vs acceptable tech debt
112
+ 'release-readiness', // Go/no-go deployment decisions
113
+ 'risk-scoring', // High-risk deployment detection
114
+ ],
115
+ strategy: 'weighted',
116
+ modelTimeout: 60000,
117
+ verifySeverities: ['critical', 'high'],
118
+ enableLogging: false,
119
+ });
70
120
  }
71
121
  /**
72
122
  * Initialize the coordinator
73
123
  * Sets up Ruvector integrations: ActorCritic, QESONA, QEFlashAttention
124
+ * V3: Also initializes MinCut awareness and Consensus verification
74
125
  */
75
126
  async initialize() {
76
127
  if (this.initialized)
@@ -96,6 +147,10 @@ export class QualityAssessmentCoordinator {
96
147
  if (this.config.enableClaimVerification) {
97
148
  await this.initializeClaimVerifier();
98
149
  }
150
+ // V3 Integration: Initialize Consensus Engine (CONSENSUS-MIXIN-001)
151
+ if (this.config.enableConsensus) {
152
+ await this.initializeConsensus();
153
+ }
99
154
  this.initialized = true;
100
155
  }
101
156
  catch (error) {
@@ -103,8 +158,25 @@ export class QualityAssessmentCoordinator {
103
158
  throw new Error(errorMsg);
104
159
  }
105
160
  }
161
+ /**
162
+ * V3 Integration: Initialize the consensus engine for multi-model verification
163
+ * @private
164
+ */
165
+ async initializeConsensus() {
166
+ try {
167
+ // The mixin handles provider registration and engine creation
168
+ await this.consensusMixin.initializeConsensus();
169
+ console.log('[quality-assessment] Consensus engine initialized for quality gate decisions');
170
+ }
171
+ catch (error) {
172
+ // Log and continue - consensus is enhancement, not critical
173
+ console.warn('[quality-assessment] Failed to initialize consensus engine:', error);
174
+ console.warn('[quality-assessment] Continuing without multi-model consensus verification');
175
+ }
176
+ }
106
177
  /**
107
178
  * Dispose and cleanup
179
+ * V3: Also disposes MinCut mixin and Consensus engine
108
180
  */
109
181
  async dispose() {
110
182
  await this.saveWorkflowState();
@@ -115,6 +187,10 @@ export class QualityAssessmentCoordinator {
115
187
  await this.qesona.close();
116
188
  this.qesona = undefined;
117
189
  }
190
+ // V3 Integration: Dispose MinCut mixin (ADR-047)
191
+ this.minCutMixin.dispose();
192
+ // V3 Integration: Dispose Consensus engine (CONSENSUS-MIXIN-001)
193
+ await this.consensusMixin.disposeConsensus();
118
194
  this.workflows.clear();
119
195
  this.initialized = false;
120
196
  }
@@ -125,16 +201,90 @@ export class QualityAssessmentCoordinator {
125
201
  return Array.from(this.workflows.values()).filter((w) => w.status === 'running' || w.status === 'pending');
126
202
  }
127
203
  // ============================================================================
204
+ // V3 Integration: MinCut Awareness (ADR-047)
205
+ // ============================================================================
206
+ /**
207
+ * Set the MinCut bridge for topology awareness
208
+ * Uses dependency injection pattern for testability
209
+ *
210
+ * @param bridge - The QueenMinCutBridge instance
211
+ */
212
+ setMinCutBridge(bridge) {
213
+ this.minCutMixin.setMinCutBridge(bridge);
214
+ }
215
+ /**
216
+ * Check if the overall topology is healthy
217
+ * Returns true if status is not 'critical'
218
+ */
219
+ isTopologyHealthy() {
220
+ return this.minCutMixin.isTopologyHealthy();
221
+ }
222
+ /**
223
+ * Get domains that are healthy for routing
224
+ * Filters out weak domains from routing candidates
225
+ */
226
+ getHealthyRoutingDomains() {
227
+ return this.minCutMixin.getHealthyRoutingDomains();
228
+ }
229
+ /**
230
+ * Check if this domain itself is a weak point in the topology
231
+ */
232
+ isDomainWeakPoint() {
233
+ return this.minCutMixin.isDomainWeakPoint();
234
+ }
235
+ /**
236
+ * Get weak vertices belonging to this domain
237
+ * Per ADR-047: Identifies agents that are single points of failure
238
+ */
239
+ getDomainWeakVertices() {
240
+ return this.minCutMixin.getDomainWeakVertices();
241
+ }
242
+ /**
243
+ * Get topology-aware routing for cross-domain coordination
244
+ * Per ADR-047: Routes to healthy domains, avoiding weak points
245
+ */
246
+ getTopologyBasedRouting(targetDomains) {
247
+ return this.minCutMixin.getTopologyBasedRouting(targetDomains);
248
+ }
249
+ // ============================================================================
250
+ // V3 Integration: Consensus Verification (CONSENSUS-MIXIN-001)
251
+ // ============================================================================
252
+ /**
253
+ * Get consensus statistics
254
+ */
255
+ getConsensusStats() {
256
+ return this.consensusMixin.getConsensusStats();
257
+ }
258
+ /**
259
+ * Check if consensus verification is available
260
+ */
261
+ isConsensusAvailable() {
262
+ return this.consensusMixin.isConsensusAvailable();
263
+ }
264
+ // ============================================================================
128
265
  // QualityAssessmentAPI Implementation
129
266
  // ============================================================================
130
267
  /**
131
268
  * Evaluate a quality gate
132
269
  * Uses Actor-Critic RL for intelligent threshold tuning when enabled
270
+ * V3: Uses consensus verification for borderline gate decisions
133
271
  */
134
272
  async evaluateGate(request) {
135
273
  const workflowId = uuidv4();
136
274
  try {
137
275
  this.startWorkflow(workflowId, 'gate-evaluation');
276
+ // Self-healing: Check if operations should be paused due to critical topology
277
+ if (this.minCutMixin.shouldPauseOperations()) {
278
+ console.warn('[quality-assessment] Quality gate evaluation paused: topology is in critical state');
279
+ this.failWorkflow(workflowId, 'Topology is in critical state');
280
+ return err(new Error('Quality gate evaluation paused: topology is in critical state'));
281
+ }
282
+ // V3 Integration: Check topology health before proceeding (ADR-047)
283
+ // Apply stricter thresholds when topology is degraded
284
+ if (!this.isTopologyHealthy()) {
285
+ console.warn('[quality-assessment] Topology degraded - applying stricter thresholds for quality gate');
286
+ // Continue evaluation but with heightened caution - quality gates are critical
287
+ }
138
288
  // Spawn quality gate agent if available
139
289
  const agentResult = await this.spawnQualityGateAgent(workflowId, request);
140
290
  if (agentResult.success) {
@@ -161,22 +311,31 @@ export class QualityAssessmentCoordinator {
161
311
  this.failWorkflow(workflowId, 'Evaluation failed');
162
312
  return result;
163
313
  }
314
+ // V3 Integration: Use consensus for borderline cases (CONSENSUS-MIXIN-001)
315
+ // Borderline cases are pass/fail decisions where metrics are close to thresholds
316
+ let finalResult = result.value;
317
+ if (this.config.enableConsensus && this.isBorderlineGateResult(request.metrics, request.thresholds, result.value)) {
318
+ const consensusResult = await this.verifyGateVerdictWithConsensus(effectiveRequest, result.value);
319
+ if (consensusResult) {
320
+ finalResult = consensusResult;
321
+ }
322
+ }
164
323
  // Success path
165
324
  this.completeWorkflow(workflowId);
166
325
  // Store quality pattern in SONA if enabled
167
326
  if (this.config.enableSONAPatternLearning && this.qesona) {
168
- await this.storeQualityPattern(effectiveRequest, result.value);
327
+ await this.storeQualityPattern(effectiveRequest, finalResult);
169
328
  }
170
329
  // Train Actor-Critic with the result
171
330
  if (this.config.enableRLThresholdTuning && this.actorCritic) {
172
- await this.trainActorCritic(effectiveRequest, result.value);
331
+ await this.trainActorCritic(effectiveRequest, finalResult);
173
332
  }
174
333
  // Publish event
175
334
  if (this.config.publishEvents) {
176
- await this.publishQualityGateEvaluated(result.value);
335
+ await this.publishQualityGateEvaluated(finalResult);
177
336
  }
178
337
  // V3: Verify claims before returning (Phase 4)
179
- const verifiedResult = await this.verifyGateResultClaims(result.value);
338
+ const verifiedResult = await this.verifyGateResultClaims(finalResult);
180
339
  return ok(verifiedResult);
181
340
  }
182
341
  catch (error) {
@@ -184,14 +343,118 @@ export class QualityAssessmentCoordinator {
184
343
  return err(error instanceof Error ? error : new Error(String(error)));
185
344
  }
186
345
  }
346
+ /**
347
+ * V3 Integration: Check if a gate result is a borderline case
348
+ * A borderline case is when any metric is within the configured margin of its threshold
349
+ *
350
+ * @param metrics - The quality metrics being evaluated
351
+ * @param thresholds - The threshold configuration
352
+ * @param result - The gate result
353
+ * @returns true if this is a borderline case requiring consensus
354
+ */
355
+ isBorderlineGateResult(metrics, thresholds, result) {
356
+ const margin = this.config.borderlineMargin;
357
+ // Check each metric against its threshold
358
+ const metricsToCheck = [
359
+ { metricKey: 'coverage', thresholdKey: 'coverage', isMin: true },
360
+ { metricKey: 'testsPassing', thresholdKey: 'testsPassing', isMin: true },
361
+ { metricKey: 'criticalBugs', thresholdKey: 'criticalBugs', isMin: false },
362
+ { metricKey: 'codeSmells', thresholdKey: 'codeSmells', isMin: false },
363
+ { metricKey: 'securityVulnerabilities', thresholdKey: 'securityVulnerabilities', isMin: false },
364
+ { metricKey: 'technicalDebt', thresholdKey: 'technicalDebt', isMin: false },
365
+ { metricKey: 'duplications', thresholdKey: 'duplications', isMin: false },
366
+ ];
367
+ for (const { metricKey, thresholdKey, isMin } of metricsToCheck) {
368
+ const metricValue = metrics[metricKey];
369
+ const thresholdConfig = thresholds[thresholdKey];
370
+ if (thresholdConfig === undefined)
371
+ continue;
372
+ const threshold = isMin
373
+ ? thresholdConfig.min
374
+ : thresholdConfig.max;
375
+ if (threshold === undefined || threshold === 0)
376
+ continue;
377
+ // Calculate relative distance from threshold
378
+ const relativeDistance = Math.abs(metricValue - threshold) / threshold;
379
+ // If any metric is within margin of threshold, it's borderline
380
+ if (relativeDistance < margin) {
381
+ console.log(`[quality-assessment] Borderline detected: ${metricKey}=${metricValue} (threshold=${threshold}, distance=${(relativeDistance * 100).toFixed(1)}%)`);
382
+ return true;
383
+ }
384
+ }
385
+ return false;
386
+ }
387
+ /**
388
+ * V3 Integration: Verify a gate verdict with multi-model consensus
389
+ *
390
+ * @param request - The gate evaluation request
391
+ * @param initialResult - The initial gate result
392
+ * @returns The potentially modified result with consensus verification, or null if consensus unavailable
393
+ */
394
+ async verifyGateVerdictWithConsensus(request, initialResult) {
395
+ // Create a domain finding for the gate verdict
396
+ const finding = createDomainFinding({
397
+ id: `gate-verdict-${uuidv4()}`,
398
+ type: 'gate-verdict',
399
+ confidence: initialResult.overallScore / 100,
400
+ description: `Quality gate '${request.gateName}' verdict: ${initialResult.passed ? 'PASSED' : 'FAILED'} (borderline case)`,
401
+ payload: {
402
+ metrics: request.metrics,
403
+ thresholds: request.thresholds,
404
+ initialResult,
405
+ },
406
+ detectedBy: 'quality-assessment-coordinator',
407
+ severity: initialResult.passed ? 'medium' : 'high',
408
+ });
409
+ // Check if this finding requires consensus
410
+ if (!this.consensusMixin.requiresConsensus(finding)) {
411
+ return null;
412
+ }
413
+ try {
414
+ const consensusResult = await this.consensusMixin.verifyFinding(finding);
415
+ if (!consensusResult.success) {
416
+ console.warn('[quality-assessment] Consensus verification failed:', consensusResult.error);
417
+ return null;
418
+ }
419
+ const consensus = consensusResult.value;
420
+ console.log(`[quality-assessment] Consensus for gate '${request.gateName}': ` +
421
+ `verdict=${consensus.verdict}, confidence=${(consensus.confidence * 100).toFixed(1)}%`);
422
+ // Return result with consensus information
423
+ return {
424
+ ...initialResult,
425
+ // Add consensus metadata (extends GateResult)
426
+ consensusVerified: true,
427
+ consensusConfidence: consensus.confidence,
428
+ consensusVerdict: consensus.verdict,
429
+ };
430
+ }
431
+ catch (error) {
432
+ console.error('[quality-assessment] Consensus verification error:', error);
433
+ return null;
434
+ }
435
+ }
187
436
  /**
188
437
  * Analyze code quality
189
438
  * Uses QEFlashAttention for similarity-based recommendations when enabled
439
+ * V3: Includes topology-aware behavior based on MinCut health
190
440
  */
191
441
  async analyzeQuality(request) {
192
442
  const workflowId = uuidv4();
193
443
  try {
194
444
  this.startWorkflow(workflowId, 'quality-analysis');
445
+ // Self-healing: Check if operations should be paused due to critical topology
446
+ if (this.minCutMixin.shouldPauseOperations()) {
447
+ console.warn('[quality-assessment] Quality analysis paused: topology is in critical state');
448
+ this.failWorkflow(workflowId, 'Topology is in critical state');
449
+ return err(new Error('Quality analysis paused: topology is in critical state'));
450
+ }
451
+ // V3 Integration: Check topology health and adjust behavior (ADR-047)
452
+ const topologyHealthy = this.isTopologyHealthy();
453
+ if (!topologyHealthy) {
454
+ console.warn('[quality-assessment] Topology degraded during quality analysis');
455
+ // Could adjust analysis depth or timeouts in degraded state
456
+ // For now, we proceed but could be extended to reduce analysis scope
457
+ }
195
458
  // Spawn quality analyzer agent
196
459
  const agentResult = await this.spawnQualityAnalyzerAgent(workflowId, request);
197
460
  if (agentResult.success) {
@@ -236,11 +499,22 @@ export class QualityAssessmentCoordinator {
236
499
  }
237
500
  /**
238
501
  * Get deployment recommendation
502
+ * V3: Uses consensus verification for high-risk deployment decisions
239
503
  */
240
504
  async getDeploymentAdvice(request) {
241
505
  const workflowId = uuidv4();
242
506
  try {
243
507
  this.startWorkflow(workflowId, 'deployment-advice');
508
+ // Self-healing: Check if operations should be paused due to critical topology
509
+ if (this.minCutMixin.shouldPauseOperations()) {
510
+ console.warn('[quality-assessment] Deployment advice paused: topology is in critical state');
511
+ this.failWorkflow(workflowId, 'Topology is in critical state');
512
+ return err(new Error('Deployment advice paused: topology is in critical state'));
513
+ }
514
+ // V3 Integration: Check topology health (ADR-047)
515
+ if (!this.isTopologyHealthy()) {
516
+ console.warn('[quality-assessment] Topology degraded during deployment advice generation');
517
+ }
244
518
  // Spawn deployment advisor agent
245
519
  const agentResult = await this.spawnDeploymentAdvisorAgent(workflowId, request);
246
520
  if (agentResult.success) {
@@ -256,19 +530,83 @@ export class QualityAssessmentCoordinator {
256
530
  this.failWorkflow(workflowId, 'Evaluation failed');
257
531
  return result;
258
532
  }
533
+ // V3 Integration: Use consensus for high-risk deployment decisions (CONSENSUS-MIXIN-001)
534
+ let finalAdvice = result.value;
535
+ if (this.config.enableConsensus && this.isHighRiskDeployment(request, result.value)) {
536
+ const consensusAdvice = await this.verifyDeploymentAdviceWithConsensus(request, result.value);
537
+ if (consensusAdvice) {
538
+ finalAdvice = consensusAdvice;
539
+ }
540
+ }
259
541
  // Success path
260
542
  this.completeWorkflow(workflowId);
261
543
  // Publish deployment decision event
262
544
  if (this.config.publishEvents) {
263
- await this.publishDeploymentDecision(result.value, request.releaseCandidate);
545
+ await this.publishDeploymentDecision(finalAdvice, request.releaseCandidate);
264
546
  }
265
- return result;
547
+ return ok(finalAdvice);
266
548
  }
267
549
  catch (error) {
268
550
  this.failWorkflow(workflowId, String(error));
269
551
  return err(error instanceof Error ? error : new Error(String(error)));
270
552
  }
271
553
  }
554
+ /**
555
+ * V3 Integration: Check if a deployment is high-risk
556
+ * High-risk deployments include blocked deployments or low risk tolerance with warnings
557
+ */
558
+ isHighRiskDeployment(request, advice) {
559
+ // Blocked deployments are always high-risk
560
+ if (advice.decision === 'blocked') {
561
+ return true;
562
+ }
563
+ // Warning with low risk tolerance is high-risk
564
+ if (advice.decision === 'warning' && request.riskTolerance === 'low') {
565
+ return true;
566
+ }
567
+ // High risk score (>0.7) with any decision is high-risk
568
+ if (advice.riskScore > 0.7) {
569
+ return true;
570
+ }
571
+ return false;
572
+ }
573
+ /**
574
+ * V3 Integration: Verify deployment advice with multi-model consensus
575
+ */
576
+ async verifyDeploymentAdviceWithConsensus(request, initialAdvice) {
577
+ const finding = createDomainFinding({
578
+ id: `release-readiness-${uuidv4()}`,
579
+ type: 'release-readiness',
580
+ confidence: initialAdvice.confidence,
581
+ description: `Release readiness for '${request.releaseCandidate}': ${initialAdvice.decision} (risk: ${(initialAdvice.riskScore * 100).toFixed(0)}%)`,
582
+ payload: { request, initialAdvice },
583
+ detectedBy: 'quality-assessment-coordinator',
584
+ severity: initialAdvice.decision === 'blocked' ? 'critical' : 'high',
585
+ });
586
+ if (!this.consensusMixin.requiresConsensus(finding)) {
587
+ return null;
588
+ }
589
+ try {
590
+ const consensusResult = await this.consensusMixin.verifyFinding(finding);
591
+ if (!consensusResult.success) {
592
+ console.warn('[quality-assessment] Consensus verification for deployment failed:', consensusResult.error);
593
+ return null;
594
+ }
595
+ const consensus = consensusResult.value;
596
+ console.log(`[quality-assessment] Consensus for deployment '${request.releaseCandidate}': ` +
597
+ `verdict=${consensus.verdict}, confidence=${(consensus.confidence * 100).toFixed(1)}%`);
598
+ return {
599
+ ...initialAdvice,
600
+ consensusVerified: true,
601
+ consensusConfidence: consensus.confidence,
602
+ consensusVerdict: consensus.verdict,
603
+ };
604
+ }
605
+ catch (error) {
606
+ console.error('[quality-assessment] Consensus verification error:', error);
607
+ return null;
608
+ }
609
+ }
272
610
  /**
273
611
  * Analyze code complexity
274
612
  */
@@ -276,6 +614,16 @@ export class QualityAssessmentCoordinator {
276
614
  const workflowId = uuidv4();
277
615
  try {
278
616
  this.startWorkflow(workflowId, 'complexity-analysis');
617
+ // Self-healing: Check if operations should be paused due to critical topology
618
+ if (this.minCutMixin.shouldPauseOperations()) {
619
+ console.warn('[quality-assessment] Complexity analysis paused: topology is in critical state');
620
+ this.failWorkflow(workflowId, 'Topology is in critical state');
621
+ return err(new Error('Complexity analysis paused: topology is in critical state'));
622
+ }
623
+ // V3 Integration: Check topology health (ADR-047)
624
+ if (!this.isTopologyHealthy()) {
625
+ console.warn('[quality-assessment] Topology degraded during complexity analysis');
626
+ }
279
627
  // Spawn complexity analyzer agent
280
628
  const agentResult = await this.spawnComplexityAnalyzerAgent(workflowId, request);
281
629
  if (agentResult.success) {
@@ -300,6 +648,316 @@ export class QualityAssessmentCoordinator {
300
648
  return err(error instanceof Error ? error : new Error(String(error)));
301
649
  }
302
650
  }
651
+ /**
652
+ * Generate a quality report
653
+ * @param options - Report generation options
654
+ * @returns Result containing the generated report content
655
+ */
656
+ async generateReport(options) {
657
+ try {
658
+ // Collect current quality metrics from memory or use defaults
659
+ const storedMetrics = await this.memory.get('quality-assessment:current-metrics');
660
+ const metrics = storedMetrics ?? {
661
+ coverage: 80,
662
+ testsPassing: 95,
663
+ criticalBugs: 0,
664
+ codeSmells: 5,
665
+ securityVulnerabilities: 0,
666
+ technicalDebt: 10,
667
+ duplications: 3,
668
+ };
669
+ // Build report content based on format
670
+ const reportData = {
671
+ timestamp: new Date().toISOString(),
672
+ metrics,
673
+ recommendations: options.includeRecommendations
674
+ ? this.generateRecommendations(metrics)
675
+ : undefined,
676
+ };
677
+ let content;
678
+ switch (options.format) {
679
+ case 'json':
680
+ content = JSON.stringify(reportData, null, 2);
681
+ break;
682
+ case 'html':
683
+ content = this.formatAsHtml(reportData);
684
+ break;
685
+ case 'markdown':
686
+ content = this.formatAsMarkdown(reportData);
687
+ break;
688
+ default:
689
+ content = JSON.stringify(reportData, null, 2);
690
+ }
691
+ return ok({ content, format: options.format });
692
+ }
693
+ catch (error) {
694
+ return err(error instanceof Error ? error : new Error(String(error)));
695
+ }
696
+ }
697
+ /**
698
+ * Get quality dashboard overview
699
+ * @returns Result containing dashboard data
700
+ */
701
+ async getQualityDashboard() {
702
+ try {
703
+ const storedMetrics = await this.memory.get('quality-assessment:current-metrics');
704
+ const metrics = storedMetrics ?? {
705
+ coverage: 80,
706
+ testsPassing: 95,
707
+ criticalBugs: 0,
708
+ codeSmells: 5,
709
+ securityVulnerabilities: 0,
710
+ technicalDebt: 10,
711
+ duplications: 3,
712
+ };
713
+ // Calculate overall score (weighted average)
714
+ const overallScore = Math.round((metrics.coverage * 0.3) +
715
+ (metrics.testsPassing * 0.3) +
716
+ ((100 - Math.min(100, metrics.codeSmells)) * 0.2) +
717
+ ((100 - Math.min(100, metrics.securityVulnerabilities * 10)) * 0.2));
718
+ return ok({
719
+ overallScore,
720
+ metrics,
721
+ trends: {
722
+ coverage: 0,
723
+ quality: 0,
724
+ security: 0,
725
+ },
726
+ });
727
+ }
728
+ catch (error) {
729
+ return err(error instanceof Error ? error : new Error(String(error)));
730
+ }
731
+ }
732
+ /**
733
+ * Analyze project risks
734
+ * @param options - Risk analysis options
735
+ * @returns Result containing identified risks
736
+ */
737
+ async analyzeRisks(options) {
738
+ try {
739
+ const storedMetrics = await this.memory.get('quality-assessment:current-metrics');
740
+ const metrics = storedMetrics ?? {
741
+ coverage: 80,
742
+ testsPassing: 95,
743
+ criticalBugs: 0,
744
+ codeSmells: 5,
745
+ securityVulnerabilities: 0,
746
+ technicalDebt: 10,
747
+ duplications: 3,
748
+ };
749
+ const risks = [];
750
+ // Check coverage risk
751
+ if (metrics.coverage < 50) {
752
+ risks.push({
753
+ id: 'risk-coverage-critical',
754
+ severity: 'critical',
755
+ description: 'Code coverage is critically low',
756
+ category: 'quality',
757
+ });
758
+ }
759
+ else if (metrics.coverage < 70) {
760
+ risks.push({
761
+ id: 'risk-coverage-high',
762
+ severity: 'high',
763
+ description: 'Code coverage is below recommended threshold',
764
+ category: 'quality',
765
+ });
766
+ }
767
+ // Check security risks
768
+ if (options.includeSecurityRisks && metrics.securityVulnerabilities > 0) {
769
+ risks.push({
770
+ id: 'risk-security',
771
+ severity: metrics.securityVulnerabilities > 5 ? 'critical' : 'high',
772
+ description: `${metrics.securityVulnerabilities} security vulnerabilities detected`,
773
+ category: 'security',
774
+ });
775
+ }
776
+ // Check technical debt
777
+ if (metrics.technicalDebt > 40) {
778
+ risks.push({
779
+ id: 'risk-debt-critical',
780
+ severity: 'high',
781
+ description: 'Technical debt is critically high',
782
+ category: 'maintainability',
783
+ });
784
+ }
785
+ // Determine overall risk level
786
+ const criticalCount = risks.filter((r) => r.severity === 'critical').length;
787
+ const highCount = risks.filter((r) => r.severity === 'high').length;
788
+ let overallRiskLevel = 'low';
789
+ if (criticalCount > 0) {
790
+ overallRiskLevel = 'critical';
791
+ }
792
+ else if (highCount > 1) {
793
+ overallRiskLevel = 'high';
794
+ }
795
+ else if (highCount > 0 || risks.length > 2) {
796
+ overallRiskLevel = 'medium';
797
+ }
798
+ return ok({ risks, overallRiskLevel });
799
+ }
800
+ catch (error) {
801
+ return err(error instanceof Error ? error : new Error(String(error)));
802
+ }
803
+ }
804
+ /**
805
+ * Evaluate a quality gate (simplified API)
806
+ * @param options - Quality gate evaluation options
807
+ * @returns Result containing gate evaluation
808
+ */
809
+ async evaluateQualityGate(options) {
810
+ // Build full metrics with defaults
811
+ const fullMetrics = {
812
+ coverage: options.metrics.coverage ?? 80,
813
+ testsPassing: options.metrics.testsPassing ?? 95,
814
+ criticalBugs: options.metrics.criticalBugs ?? 0,
815
+ codeSmells: options.metrics.codeSmells ?? 5,
816
+ securityVulnerabilities: options.metrics.securityVulnerabilities ?? 0,
817
+ technicalDebt: options.metrics.technicalDebt ?? 10,
818
+ duplications: options.metrics.duplications ?? 3,
819
+ };
820
+ // Build evaluation request
821
+ const request = {
822
+ gateName: options.gateId,
823
+ metrics: fullMetrics,
824
+ thresholds: {
825
+ coverage: { min: 70 },
826
+ testsPassing: { min: 90 },
827
+ criticalBugs: { max: 0 },
828
+ codeSmells: { max: 20 },
829
+ securityVulnerabilities: { max: 0 },
830
+ },
831
+ };
832
+ // Delegate to existing evaluateGate method
833
+ const result = await this.evaluateGate(request);
834
+ if (!result.success) {
835
+ return err(result.error);
836
+ }
837
+ return ok({
838
+ passed: result.value.passed,
839
+ score: result.value.overallScore,
840
+ violations: result.value.failedChecks,
841
+ });
842
+ }
843
+ /**
844
+ * Assess deployment readiness
845
+ * @param options - Deployment readiness options
846
+ * @returns Result containing readiness assessment
847
+ */
848
+ async assessDeploymentReadiness(options) {
849
+ try {
850
+ const storedMetrics = await this.memory.get('quality-assessment:current-metrics');
851
+ const metrics = storedMetrics ?? {
852
+ coverage: 80,
853
+ testsPassing: 95,
854
+ criticalBugs: 0,
855
+ codeSmells: 5,
856
+ securityVulnerabilities: 0,
857
+ technicalDebt: 10,
858
+ duplications: 3,
859
+ };
860
+ const risks = [];
861
+ // Check for production-specific risks
862
+ if (options.environment === 'production') {
863
+ if (metrics.coverage < 70) {
864
+ risks.push({
865
+ id: 'risk-coverage',
866
+ severity: 'high',
867
+ description: 'Coverage below recommended threshold for production',
868
+ });
869
+ }
870
+ if (metrics.securityVulnerabilities > 0) {
871
+ risks.push({
872
+ id: 'risk-security',
873
+ severity: 'critical',
874
+ description: 'Security vulnerabilities must be resolved before production deployment',
875
+ });
876
+ }
877
+ if (metrics.criticalBugs > 0) {
878
+ risks.push({
879
+ id: 'risk-bugs',
880
+ severity: 'critical',
881
+ description: 'Critical bugs must be resolved before production deployment',
882
+ });
883
+ }
884
+ }
885
+ // Calculate readiness score
886
+ const score = Math.round((metrics.coverage * 0.4) +
887
+ (metrics.testsPassing * 0.3) +
888
+ ((100 - Math.min(100, metrics.securityVulnerabilities * 20)) * 0.3));
889
+ const ready = risks.filter((r) => r.severity === 'critical').length === 0 && score >= 70;
890
+ return ok({ ready, risks, score });
891
+ }
892
+ catch (error) {
893
+ return err(error instanceof Error ? error : new Error(String(error)));
894
+ }
895
+ }
896
+ /**
897
+ * Analyze technical debt
898
+ * @param options - Technical debt analysis options
899
+ * @returns Result containing debt analysis
900
+ */
901
+ async analyzeTechnicalDebt(options) {
902
+ try {
903
+ const storedMetrics = await this.memory.get('quality-assessment:current-metrics');
904
+ const metrics = storedMetrics ?? {
905
+ coverage: 80,
906
+ testsPassing: 95,
907
+ criticalBugs: 0,
908
+ codeSmells: 5,
909
+ securityVulnerabilities: 0,
910
+ technicalDebt: 10,
911
+ duplications: 3,
912
+ };
913
+ const items = [];
914
+ // Generate sample debt items based on metrics
915
+ if (metrics.duplications > 0) {
916
+ items.push({
917
+ file: `${options.projectPath}/src/utils/helpers.ts`,
918
+ type: 'duplication',
919
+ effort: metrics.duplications * 30,
920
+ description: 'Duplicated code blocks that should be refactored',
921
+ });
922
+ }
923
+ if (options.includeCodeSmells && metrics.codeSmells > 0) {
924
+ items.push({
925
+ file: `${options.projectPath}/src/services/legacy.ts`,
926
+ type: 'code-smell',
927
+ effort: metrics.codeSmells * 15,
928
+ description: 'Code smells that impact maintainability',
929
+ });
930
+ }
931
+ const totalDebt = metrics.technicalDebt;
932
+ const debtRatio = totalDebt / 100;
933
+ return ok({ totalDebt, items, debtRatio });
934
+ }
935
+ catch (error) {
936
+ return err(error instanceof Error ? error : new Error(String(error)));
937
+ }
938
+ }
939
+ generateRecommendations(metrics) {
940
+ const recommendations = [];
941
+ if (metrics.coverage < 80) {
942
+ recommendations.push('Increase test coverage to at least 80%');
943
+ }
944
+ if (metrics.codeSmells > 10) {
945
+ recommendations.push('Refactor complex code to improve maintainability');
946
+ }
947
+ if (metrics.technicalDebt > 20) {
948
+ recommendations.push('Allocate time to reduce technical debt');
949
+ }
950
+ if (metrics.securityVulnerabilities > 0) {
951
+ recommendations.push('Address security vulnerabilities urgently');
952
+ }
953
+ return recommendations;
954
+ }
955
+ formatAsHtml(data) {
956
+ return `<html><body><pre>${JSON.stringify(data, null, 2)}</pre></body></html>`;
957
+ }
958
+ formatAsMarkdown(data) {
959
+ return `# Quality Report\n\n\`\`\`json\n${JSON.stringify(data, null, 2)}\n\`\`\``;
960
+ }
303
961
  // ============================================================================
304
962
  // Agent Spawning Methods
305
963
  // ============================================================================