agentic-qe 3.10.5 → 3.10.7

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 (566) hide show
  1. package/.claude/agents/v3/qe-accessibility-auditor.md +8 -0
  2. package/.claude/agents/v3/qe-bdd-generator.md +8 -0
  3. package/.claude/agents/v3/qe-chaos-engineer.md +8 -0
  4. package/.claude/agents/v3/qe-code-complexity.md +8 -0
  5. package/.claude/agents/v3/qe-code-intelligence.md +8 -0
  6. package/.claude/agents/v3/qe-contract-validator.md +8 -0
  7. package/.claude/agents/v3/qe-coverage-specialist.md +8 -0
  8. package/.claude/agents/v3/qe-defect-predictor.md +8 -0
  9. package/.claude/agents/v3/qe-dependency-mapper.md +8 -0
  10. package/.claude/agents/v3/qe-deployment-advisor.md +8 -0
  11. package/.claude/agents/v3/qe-devils-advocate.md +8 -0
  12. package/.claude/agents/v3/qe-flaky-hunter.md +8 -0
  13. package/.claude/agents/v3/qe-fleet-commander.md +8 -0
  14. package/.claude/agents/v3/qe-gap-detector.md +8 -0
  15. package/.claude/agents/v3/qe-graphql-tester.md +8 -0
  16. package/.claude/agents/v3/qe-impact-analyzer.md +8 -0
  17. package/.claude/agents/v3/qe-integration-tester.md +8 -0
  18. package/.claude/agents/v3/qe-kg-builder.md +8 -0
  19. package/.claude/agents/v3/qe-learning-coordinator.md +8 -0
  20. package/.claude/agents/v3/qe-load-tester.md +8 -0
  21. package/.claude/agents/v3/qe-message-broker-tester.md +8 -0
  22. package/.claude/agents/v3/qe-metrics-optimizer.md +8 -0
  23. package/.claude/agents/v3/qe-middleware-validator.md +8 -0
  24. package/.claude/agents/v3/qe-mutation-tester.md +8 -0
  25. package/.claude/agents/v3/qe-odata-contract-tester.md +8 -0
  26. package/.claude/agents/v3/qe-parallel-executor.md +8 -0
  27. package/.claude/agents/v3/qe-pattern-learner.md +8 -0
  28. package/.claude/agents/v3/qe-pentest-validator.md +8 -0
  29. package/.claude/agents/v3/qe-performance-tester.md +8 -0
  30. package/.claude/agents/v3/qe-product-factors-assessor.md +8 -0
  31. package/.claude/agents/v3/qe-property-tester.md +8 -0
  32. package/.claude/agents/v3/qe-quality-criteria-recommender.md +8 -0
  33. package/.claude/agents/v3/qe-quality-gate.md +8 -0
  34. package/.claude/agents/v3/qe-qx-partner.md +8 -0
  35. package/.claude/agents/v3/qe-regression-analyzer.md +8 -0
  36. package/.claude/agents/v3/qe-requirements-validator.md +8 -0
  37. package/.claude/agents/v3/qe-responsive-tester.md +8 -0
  38. package/.claude/agents/v3/qe-retry-handler.md +8 -0
  39. package/.claude/agents/v3/qe-risk-assessor.md +8 -0
  40. package/.claude/agents/v3/qe-root-cause-analyzer.md +8 -0
  41. package/.claude/agents/v3/qe-sap-idoc-tester.md +8 -0
  42. package/.claude/agents/v3/qe-sap-rfc-tester.md +8 -0
  43. package/.claude/agents/v3/qe-security-auditor.md +8 -0
  44. package/.claude/agents/v3/qe-security-scanner.md +8 -0
  45. package/.claude/agents/v3/qe-soap-tester.md +8 -0
  46. package/.claude/agents/v3/qe-sod-analyzer.md +8 -0
  47. package/.claude/agents/v3/qe-tdd-specialist.md +8 -0
  48. package/.claude/agents/v3/qe-test-architect.md +8 -0
  49. package/.claude/agents/v3/qe-test-idea-rewriter.md +8 -0
  50. package/.claude/agents/v3/qe-transfer-specialist.md +8 -0
  51. package/.claude/agents/v3/qe-visual-tester.md +8 -0
  52. package/.claude/hooks/aqe-hook.cjs +38 -2
  53. package/.claude/skills/.validation/examples/chaos-engineering-output.example.json +1 -1
  54. package/.claude/skills/.validation/examples/performance-testing-output.example.json +1 -1
  55. package/.claude/skills/.validation/examples/security-testing-output.example.json +1 -1
  56. package/.claude/skills/.validation/examples/testability-scoring-output.example.json +1 -1
  57. package/.claude/skills/.validation/schemas/skill-eval.schema.json +2 -4
  58. package/.claude/skills/.validation/schemas/skill-frontmatter.schema.json +1 -1
  59. package/.claude/skills/.validation/schemas/skill-output.template.json +1 -1
  60. package/.claude/skills/.validation/templates/eval.template.yaml +3 -3
  61. package/.claude/skills/.validation/templates/security-testing-eval.template.yaml +3 -2
  62. package/.claude/skills/.validation/templates/skill-frontmatter.example.yaml +2 -2
  63. package/.claude/skills/a11y-ally/evals/a11y-ally.yaml +2 -2
  64. package/.claude/skills/accessibility-testing/evals/accessibility-testing.yaml +2 -3
  65. package/.claude/skills/api-testing-patterns/evals/api-testing-patterns.yaml +2 -3
  66. package/.claude/skills/chaos-engineering-resilience/evals/chaos-engineering-resilience.yaml +3 -3
  67. package/.claude/skills/cicd-pipeline-qe-orchestrator/evals/cicd-pipeline-qe-orchestrator.yaml +2 -2
  68. package/.claude/skills/compatibility-testing/evals/compatibility-testing.yaml +2 -2
  69. package/.claude/skills/compliance-testing/evals/compliance-testing.yaml +2 -3
  70. package/.claude/skills/contract-testing/evals/contract-testing.yaml +2 -3
  71. package/.claude/skills/database-testing/evals/database-testing.yaml +2 -3
  72. package/.claude/skills/enterprise-integration-testing/evals/enterprise-integration-testing.yaml +2 -2
  73. package/.claude/skills/localization-testing/evals/localization-testing.yaml +2 -2
  74. package/.claude/skills/middleware-testing-patterns/evals/middleware-testing-patterns.yaml +2 -2
  75. package/.claude/skills/mobile-testing/evals/mobile-testing.yaml +2 -2
  76. package/.claude/skills/mutation-testing/evals/mutation-testing.yaml +2 -3
  77. package/.claude/skills/mutation-testing/test-data/sample-output.json +1 -1
  78. package/.claude/skills/n8n-expression-testing/evals/n8n-expression-testing.yaml +2 -2
  79. package/.claude/skills/n8n-integration-testing-patterns/evals/n8n-integration-testing-patterns.yaml +2 -2
  80. package/.claude/skills/n8n-security-testing/evals/n8n-security-testing.yaml +3 -2
  81. package/.claude/skills/n8n-trigger-testing-strategies/evals/n8n-trigger-testing-strategies.yaml +2 -2
  82. package/.claude/skills/n8n-workflow-testing-fundamentals/evals/n8n-workflow-testing-fundamentals.yaml +2 -2
  83. package/.claude/skills/observability-testing-patterns/evals/observability-testing-patterns.yaml +2 -2
  84. package/.claude/skills/pentest-validation/evals/pentest-validation.yaml +3 -3
  85. package/.claude/skills/performance-testing/evals/performance-testing.yaml +2 -3
  86. package/.claude/skills/qcsd-cicd-swarm/evals/qcsd-cicd-swarm.yaml +2 -2
  87. package/.claude/skills/qcsd-development-swarm/evals/qcsd-development-swarm.yaml +2 -2
  88. package/.claude/skills/qcsd-ideation-swarm/evals/qcsd-ideation-swarm.yaml +2 -2
  89. package/.claude/skills/qcsd-production-swarm/evals/qcsd-production-swarm.yaml +2 -2
  90. package/.claude/skills/qcsd-refinement-swarm/evals/qcsd-refinement-swarm.yaml +2 -2
  91. package/.claude/skills/qe-browser/evals/qe-browser.yaml +2 -2
  92. package/.claude/skills/qe-chaos-resilience/evals/qe-chaos-resilience.yaml +3 -2
  93. package/.claude/skills/qe-code-intelligence/evals/qe-code-intelligence.yaml +2 -2
  94. package/.claude/skills/qe-coverage-analysis/evals/qe-coverage-analysis.yaml +2 -2
  95. package/.claude/skills/qe-defect-intelligence/evals/qe-defect-intelligence.yaml +3 -2
  96. package/.claude/skills/qe-learning-optimization/evals/qe-learning-optimization.yaml +4 -4
  97. package/.claude/skills/qe-quality-assessment/evals/qe-quality-assessment.yaml +2 -2
  98. package/.claude/skills/qe-requirements-validation/evals/qe-requirements-validation.yaml +2 -2
  99. package/.claude/skills/qe-test-execution/evals/qe-test-execution.yaml +2 -2
  100. package/.claude/skills/qe-test-generation/evals/qe-test-generation.yaml +2 -2
  101. package/.claude/skills/qe-visual-accessibility/evals/qe-visual-accessibility.yaml +2 -2
  102. package/.claude/skills/quality-metrics/evals/quality-metrics.yaml +2 -2
  103. package/.claude/skills/regression-testing/evals/regression-testing.yaml +2 -2
  104. package/.claude/skills/risk-based-testing/evals/risk-based-testing.yaml +2 -2
  105. package/.claude/skills/security-testing/evals/security-testing.yaml +3 -3
  106. package/.claude/skills/security-visual-testing/evals/security-visual-testing.yaml +3 -2
  107. package/.claude/skills/shift-left-testing/evals/shift-left-testing.yaml +2 -2
  108. package/.claude/skills/shift-right-testing/evals/shift-right-testing.yaml +2 -2
  109. package/.claude/skills/skills-manifest.json +1 -1
  110. package/.claude/skills/test-automation-strategy/evals/test-automation-strategy.yaml +2 -2
  111. package/.claude/skills/test-data-management/evals/test-data-management.yaml +2 -2
  112. package/.claude/skills/test-design-techniques/evals/test-design-techniques.yaml +2 -2
  113. package/.claude/skills/test-reporting-analytics/evals/test-reporting-analytics.yaml +2 -2
  114. package/.claude/skills/testability-scoring/evals/testability-scoring.yaml +2 -3
  115. package/.claude/skills/validation-pipeline/evals/validation-pipeline.yaml +2 -2
  116. package/.claude/skills/verification-quality/evals/verification-quality.yaml +2 -2
  117. package/.claude/skills/visual-testing-advanced/evals/visual-testing-advanced.yaml +2 -2
  118. package/.claude/skills/wms-testing-patterns/evals/wms-testing-patterns.yaml +2 -1
  119. package/CHANGELOG.md +9053 -8934
  120. package/assets/agents/v3/qe-accessibility-auditor.md +8 -0
  121. package/assets/agents/v3/qe-bdd-generator.md +8 -0
  122. package/assets/agents/v3/qe-chaos-engineer.md +8 -0
  123. package/assets/agents/v3/qe-code-complexity.md +8 -0
  124. package/assets/agents/v3/qe-code-intelligence.md +8 -0
  125. package/assets/agents/v3/qe-contract-validator.md +8 -0
  126. package/assets/agents/v3/qe-coverage-specialist.md +8 -0
  127. package/assets/agents/v3/qe-defect-predictor.md +8 -0
  128. package/assets/agents/v3/qe-dependency-mapper.md +8 -0
  129. package/assets/agents/v3/qe-deployment-advisor.md +8 -0
  130. package/assets/agents/v3/qe-devils-advocate.md +8 -0
  131. package/assets/agents/v3/qe-flaky-hunter.md +8 -0
  132. package/assets/agents/v3/qe-fleet-commander.md +8 -0
  133. package/assets/agents/v3/qe-gap-detector.md +8 -0
  134. package/assets/agents/v3/qe-graphql-tester.md +8 -0
  135. package/assets/agents/v3/qe-impact-analyzer.md +8 -0
  136. package/assets/agents/v3/qe-integration-tester.md +8 -0
  137. package/assets/agents/v3/qe-kg-builder.md +8 -0
  138. package/assets/agents/v3/qe-learning-coordinator.md +8 -0
  139. package/assets/agents/v3/qe-load-tester.md +8 -0
  140. package/assets/agents/v3/qe-message-broker-tester.md +8 -0
  141. package/assets/agents/v3/qe-metrics-optimizer.md +8 -0
  142. package/assets/agents/v3/qe-middleware-validator.md +8 -0
  143. package/assets/agents/v3/qe-mutation-tester.md +8 -0
  144. package/assets/agents/v3/qe-odata-contract-tester.md +8 -0
  145. package/assets/agents/v3/qe-parallel-executor.md +8 -0
  146. package/assets/agents/v3/qe-pattern-learner.md +8 -0
  147. package/assets/agents/v3/qe-pentest-validator.md +8 -0
  148. package/assets/agents/v3/qe-performance-tester.md +8 -0
  149. package/assets/agents/v3/qe-product-factors-assessor.md +8 -0
  150. package/assets/agents/v3/qe-property-tester.md +8 -0
  151. package/assets/agents/v3/qe-quality-criteria-recommender.md +8 -0
  152. package/assets/agents/v3/qe-quality-gate.md +8 -0
  153. package/assets/agents/v3/qe-qx-partner.md +8 -0
  154. package/assets/agents/v3/qe-regression-analyzer.md +8 -0
  155. package/assets/agents/v3/qe-requirements-validator.md +8 -0
  156. package/assets/agents/v3/qe-responsive-tester.md +8 -0
  157. package/assets/agents/v3/qe-retry-handler.md +8 -0
  158. package/assets/agents/v3/qe-risk-assessor.md +8 -0
  159. package/assets/agents/v3/qe-root-cause-analyzer.md +8 -0
  160. package/assets/agents/v3/qe-sap-idoc-tester.md +8 -0
  161. package/assets/agents/v3/qe-sap-rfc-tester.md +8 -0
  162. package/assets/agents/v3/qe-security-auditor.md +8 -0
  163. package/assets/agents/v3/qe-security-scanner.md +8 -0
  164. package/assets/agents/v3/qe-soap-tester.md +8 -0
  165. package/assets/agents/v3/qe-sod-analyzer.md +8 -0
  166. package/assets/agents/v3/qe-tdd-specialist.md +8 -0
  167. package/assets/agents/v3/qe-test-architect.md +8 -0
  168. package/assets/agents/v3/qe-test-idea-rewriter.md +8 -0
  169. package/assets/agents/v3/qe-transfer-specialist.md +8 -0
  170. package/assets/agents/v3/qe-visual-tester.md +8 -0
  171. package/assets/skills/.validation/examples/chaos-engineering-output.example.json +1 -1
  172. package/assets/skills/.validation/examples/performance-testing-output.example.json +1 -1
  173. package/assets/skills/.validation/examples/security-testing-output.example.json +1 -1
  174. package/assets/skills/.validation/examples/testability-scoring-output.example.json +1 -1
  175. package/assets/skills/.validation/schemas/skill-eval.schema.json +2 -4
  176. package/assets/skills/.validation/schemas/skill-frontmatter.schema.json +1 -1
  177. package/assets/skills/.validation/schemas/skill-output.template.json +1 -1
  178. package/assets/skills/.validation/templates/eval.template.yaml +3 -3
  179. package/assets/skills/.validation/templates/security-testing-eval.template.yaml +3 -2
  180. package/assets/skills/.validation/templates/skill-frontmatter.example.yaml +2 -2
  181. package/assets/skills/a11y-ally/evals/a11y-ally.yaml +2 -2
  182. package/assets/skills/accessibility-testing/evals/accessibility-testing.yaml +2 -3
  183. package/assets/skills/api-testing-patterns/evals/api-testing-patterns.yaml +2 -3
  184. package/assets/skills/chaos-engineering-resilience/evals/chaos-engineering-resilience.yaml +3 -3
  185. package/assets/skills/cicd-pipeline-qe-orchestrator/evals/cicd-pipeline-qe-orchestrator.yaml +2 -2
  186. package/assets/skills/compatibility-testing/evals/compatibility-testing.yaml +2 -2
  187. package/assets/skills/compliance-testing/evals/compliance-testing.yaml +2 -3
  188. package/assets/skills/contract-testing/evals/contract-testing.yaml +2 -3
  189. package/assets/skills/database-testing/evals/database-testing.yaml +2 -3
  190. package/assets/skills/enterprise-integration-testing/evals/enterprise-integration-testing.yaml +2 -2
  191. package/assets/skills/localization-testing/evals/localization-testing.yaml +2 -2
  192. package/assets/skills/middleware-testing-patterns/evals/middleware-testing-patterns.yaml +2 -2
  193. package/assets/skills/mobile-testing/evals/mobile-testing.yaml +2 -2
  194. package/assets/skills/mutation-testing/evals/mutation-testing.yaml +2 -3
  195. package/assets/skills/mutation-testing/test-data/sample-output.json +1 -1
  196. package/assets/skills/n8n-expression-testing/evals/n8n-expression-testing.yaml +2 -2
  197. package/assets/skills/n8n-integration-testing-patterns/evals/n8n-integration-testing-patterns.yaml +2 -2
  198. package/assets/skills/n8n-security-testing/evals/n8n-security-testing.yaml +3 -2
  199. package/assets/skills/n8n-trigger-testing-strategies/evals/n8n-trigger-testing-strategies.yaml +2 -2
  200. package/assets/skills/n8n-workflow-testing-fundamentals/evals/n8n-workflow-testing-fundamentals.yaml +2 -2
  201. package/assets/skills/observability-testing-patterns/evals/observability-testing-patterns.yaml +2 -2
  202. package/assets/skills/pentest-validation/evals/pentest-validation.yaml +3 -3
  203. package/assets/skills/performance-testing/evals/performance-testing.yaml +2 -3
  204. package/assets/skills/qcsd-cicd-swarm/evals/qcsd-cicd-swarm.yaml +2 -2
  205. package/assets/skills/qcsd-development-swarm/evals/qcsd-development-swarm.yaml +2 -2
  206. package/assets/skills/qcsd-ideation-swarm/evals/qcsd-ideation-swarm.yaml +2 -2
  207. package/assets/skills/qcsd-production-swarm/evals/qcsd-production-swarm.yaml +2 -2
  208. package/assets/skills/qcsd-refinement-swarm/evals/qcsd-refinement-swarm.yaml +2 -2
  209. package/assets/skills/qe-browser/evals/qe-browser.yaml +2 -2
  210. package/assets/skills/qe-chaos-resilience/evals/qe-chaos-resilience.yaml +3 -2
  211. package/assets/skills/qe-code-intelligence/evals/qe-code-intelligence.yaml +2 -2
  212. package/assets/skills/qe-coverage-analysis/evals/qe-coverage-analysis.yaml +2 -2
  213. package/assets/skills/qe-defect-intelligence/evals/qe-defect-intelligence.yaml +3 -2
  214. package/assets/skills/qe-learning-optimization/evals/qe-learning-optimization.yaml +4 -4
  215. package/assets/skills/qe-quality-assessment/evals/qe-quality-assessment.yaml +2 -2
  216. package/assets/skills/qe-requirements-validation/evals/qe-requirements-validation.yaml +2 -2
  217. package/assets/skills/qe-test-execution/evals/qe-test-execution.yaml +2 -2
  218. package/assets/skills/qe-test-generation/evals/qe-test-generation.yaml +2 -2
  219. package/assets/skills/qe-visual-accessibility/evals/qe-visual-accessibility.yaml +2 -2
  220. package/assets/skills/quality-metrics/evals/quality-metrics.yaml +2 -2
  221. package/assets/skills/regression-testing/evals/regression-testing.yaml +2 -2
  222. package/assets/skills/risk-based-testing/evals/risk-based-testing.yaml +2 -2
  223. package/assets/skills/security-testing/evals/security-testing.yaml +3 -3
  224. package/assets/skills/security-visual-testing/evals/security-visual-testing.yaml +3 -2
  225. package/assets/skills/shift-left-testing/evals/shift-left-testing.yaml +2 -2
  226. package/assets/skills/shift-right-testing/evals/shift-right-testing.yaml +2 -2
  227. package/assets/skills/test-automation-strategy/evals/test-automation-strategy.yaml +2 -2
  228. package/assets/skills/test-data-management/evals/test-data-management.yaml +2 -2
  229. package/assets/skills/test-design-techniques/evals/test-design-techniques.yaml +2 -2
  230. package/assets/skills/test-reporting-analytics/evals/test-reporting-analytics.yaml +2 -2
  231. package/assets/skills/testability-scoring/evals/testability-scoring.yaml +2 -3
  232. package/assets/skills/validation-pipeline/evals/validation-pipeline.yaml +2 -2
  233. package/assets/skills/verification-quality/evals/verification-quality.yaml +2 -2
  234. package/assets/skills/visual-testing-advanced/evals/visual-testing-advanced.yaml +2 -2
  235. package/assets/skills/wms-testing-patterns/evals/wms-testing-patterns.yaml +2 -1
  236. package/dist/cli/bundle.js +5 -5
  237. package/dist/cli/chunks/adapter-TTIBYXH2.js +2 -0
  238. package/dist/cli/chunks/{agent-booster-wasm-3BC5LIEB.js → agent-booster-wasm-6I3JMU2M.js} +2 -2
  239. package/dist/cli/chunks/{agent-handler-QLXWVZZF.js → agent-handler-XWI7YM6R.js} +2 -2
  240. package/dist/cli/chunks/{agent-memory-branch-3U5PDYW7.js → agent-memory-branch-QFZKQN2L.js} +2 -2
  241. package/dist/cli/chunks/aqe-learning-engine-CTV5OLSN.js +2 -0
  242. package/dist/cli/chunks/{arena-BMJQK4RD.js → arena-5HNPVTBZ.js} +4 -4
  243. package/dist/cli/chunks/{arena-XENAGV4I.js → arena-P4IUBKZP.js} +2 -2
  244. package/dist/cli/chunks/audit-PBSH25VZ.js +3 -0
  245. package/dist/cli/chunks/base-ISNCJZ7A.js +2 -0
  246. package/dist/cli/chunks/{hnswlib-node-P6HSEFLW.js → better-sqlite3-F262IAGH.js} +2 -2
  247. package/dist/cli/chunks/{brain-handler-PHSWG5PR.js → brain-handler-EVYRCKXI.js} +3 -3
  248. package/dist/cli/chunks/{branch-enumerator-LNSYT34I.js → branch-enumerator-SUDGYJQJ.js} +2 -2
  249. package/dist/cli/chunks/{browser-M5BVQMBI.js → browser-4UKMW2RE.js} +2 -2
  250. package/dist/cli/chunks/browser-workflow-OD32QTTI.js +2 -0
  251. package/dist/cli/chunks/{chunk-VC256KH2.js → chunk-222ZQTL5.js} +2 -2
  252. package/dist/cli/chunks/{chunk-SK6YRNXI.js → chunk-262F3EMN.js} +2 -2
  253. package/dist/cli/chunks/{chunk-Q6BKJZTG.js → chunk-2J4ZUUU5.js} +2 -2
  254. package/dist/cli/chunks/{chunk-VKWDMOR4.js → chunk-2JWFS2K2.js} +2 -2
  255. package/dist/cli/chunks/{chunk-IRS4HKAR.js → chunk-2MLISLRR.js} +1 -1
  256. package/dist/cli/chunks/{chunk-J533CJUN.js → chunk-32E2OPIE.js} +3 -3
  257. package/dist/cli/chunks/{chunk-RFNEEDPQ.js → chunk-34NT5NBZ.js} +2 -2
  258. package/dist/cli/chunks/{chunk-X4B3R3ZZ.js → chunk-3IJS52OS.js} +2 -2
  259. package/dist/cli/chunks/{chunk-TMTLWSSA.js → chunk-3O4Q4GAX.js} +1 -1
  260. package/dist/cli/chunks/{chunk-RLU7764Y.js → chunk-3W6QASVB.js} +2 -2
  261. package/dist/cli/chunks/{chunk-4K7T6AKM.js → chunk-3XEL7XCA.js} +1 -1
  262. package/dist/cli/chunks/chunk-4I6FK67T.js +12 -0
  263. package/dist/cli/chunks/{chunk-YEO2Z3UX.js → chunk-4MJQJQLY.js} +2 -2
  264. package/dist/cli/chunks/{chunk-2UQWVF4P.js → chunk-4RGV6Z2H.js} +2 -2
  265. package/dist/cli/chunks/{chunk-PGNQR2VM.js → chunk-4W5QWFU4.js} +1 -1
  266. package/dist/cli/chunks/{chunk-2RLRPKCG.js → chunk-5QMIVHFT.js} +2 -2
  267. package/dist/cli/chunks/{chunk-SXQIH2QA.js → chunk-64BSODHA.js} +2 -2
  268. package/dist/cli/chunks/{chunk-S7FGTHFE.js → chunk-6A2HRMTD.js} +2 -2
  269. package/dist/cli/chunks/{chunk-RZ7D5SHS.js → chunk-6F5KPT6U.js} +1 -1
  270. package/dist/cli/chunks/{chunk-7DU35D4M.js → chunk-6OLPKIYU.js} +1 -1
  271. package/dist/cli/chunks/{chunk-HKJ3LG3N.js → chunk-6QBD64W3.js} +2 -2
  272. package/dist/cli/chunks/{chunk-MGCW5FWH.js → chunk-6RG7ZJ2H.js} +2 -2
  273. package/dist/cli/chunks/{chunk-O5OOUMBB.js → chunk-76JYG426.js} +2 -2
  274. package/dist/cli/chunks/{chunk-75MP7JMV.js → chunk-76SUEI7S.js} +1 -1
  275. package/dist/cli/chunks/{chunk-ZTC64OJE.js → chunk-7NK2H7H5.js} +2 -2
  276. package/dist/cli/chunks/{chunk-OATHXZYW.js → chunk-AKL5A3IZ.js} +1 -1
  277. package/dist/cli/chunks/{chunk-IOE6LDPF.js → chunk-AKSCYNFH.js} +2 -2
  278. package/dist/cli/chunks/{chunk-FNJZBIR3.js → chunk-AW3LGLC3.js} +2 -2
  279. package/dist/cli/chunks/{chunk-3WOQY6UL.js → chunk-AY4IEMRI.js} +2 -2
  280. package/dist/cli/chunks/{chunk-ZT7JSFGT.js → chunk-B5ZJV7GZ.js} +2 -2
  281. package/dist/cli/chunks/{chunk-IIFCTJOF.js → chunk-BLFZFKT6.js} +2 -2
  282. package/dist/cli/chunks/{chunk-G6FP3S3G.js → chunk-BPC6X6VR.js} +2 -2
  283. package/dist/cli/chunks/{chunk-24A7KD3D.js → chunk-BRYYQQUV.js} +1 -1
  284. package/dist/cli/chunks/{chunk-CUAM34RQ.js → chunk-BU2I77YW.js} +3 -3
  285. package/dist/cli/chunks/{chunk-UOIT5JZ6.js → chunk-C5CY5NSW.js} +2 -2
  286. package/dist/cli/chunks/{chunk-WFZUKXV5.js → chunk-CGBEI7UH.js} +2 -2
  287. package/dist/cli/chunks/{chunk-2Z7HIT5I.js → chunk-CJTDQJ7E.js} +1 -1
  288. package/dist/cli/chunks/{chunk-4FTO3TPH.js → chunk-CW7JQVXV.js} +2 -2
  289. package/dist/cli/chunks/chunk-DF7V6X3N.js +2 -0
  290. package/dist/cli/chunks/{chunk-JY7T2AQQ.js → chunk-DPT37UHR.js} +4 -4
  291. package/dist/cli/chunks/{chunk-D3Q4443B.js → chunk-DU7Y54JI.js} +1 -1
  292. package/dist/cli/chunks/{chunk-MJRYHHOG.js → chunk-DYNO72WD.js} +2 -2
  293. package/dist/cli/chunks/{chunk-TISBFSDJ.js → chunk-DYSRMAZP.js} +1 -1
  294. package/dist/cli/chunks/{chunk-ZS4BGJJV.js → chunk-EWNJK2BU.js} +1 -1
  295. package/dist/cli/chunks/chunk-F5RZSNHI.js +20 -0
  296. package/dist/cli/chunks/{chunk-HRORJ352.js → chunk-FK4JHBG4.js} +2 -2
  297. package/dist/cli/chunks/{chunk-VWN66V7U.js → chunk-FQBNPSV2.js} +2 -2
  298. package/dist/cli/chunks/{chunk-YZFNPTGN.js → chunk-FWLXK6AH.js} +2 -2
  299. package/dist/cli/chunks/{chunk-IVKSZNMI.js → chunk-G7ISGLKP.js} +1 -1
  300. package/dist/cli/chunks/{chunk-MWPFUBXS.js → chunk-GUDOOOO6.js} +1 -1
  301. package/dist/cli/chunks/{chunk-GDUGW6FZ.js → chunk-HARYQMWN.js} +2 -2
  302. package/dist/cli/chunks/{chunk-R573V37S.js → chunk-HBWAMCVB.js} +17 -17
  303. package/dist/cli/chunks/{chunk-GKG6IQP6.js → chunk-HDLF6LGO.js} +3 -3
  304. package/dist/cli/chunks/{chunk-XI6ZZMX7.js → chunk-HELQ7CXL.js} +1 -1
  305. package/dist/cli/chunks/{chunk-ZCYKWEAM.js → chunk-HI4DA7Z3.js} +2 -2
  306. package/dist/cli/chunks/{chunk-FPWA73N6.js → chunk-I64BLAFS.js} +2 -2
  307. package/dist/cli/chunks/chunk-I7M574IO.js +14 -0
  308. package/dist/cli/chunks/{chunk-BSRCL6RU.js → chunk-INI3AGF5.js} +2 -2
  309. package/dist/cli/chunks/{chunk-FW3C4LWU.js → chunk-ISLI6D4K.js} +2 -2
  310. package/dist/cli/chunks/{chunk-HPKYIK7R.js → chunk-IXAABYGS.js} +2 -2
  311. package/dist/cli/chunks/{chunk-5D7GLMT3.js → chunk-IYZWEYWJ.js} +1 -1
  312. package/dist/cli/chunks/{chunk-CTG3GJIM.js → chunk-J5ETX2DG.js} +2 -2
  313. package/dist/cli/chunks/chunk-JJELOEIY.js +65 -0
  314. package/dist/cli/chunks/{chunk-UTORITJT.js → chunk-JNQVPTOM.js} +2 -2
  315. package/dist/cli/chunks/{chunk-G5UIGH4C.js → chunk-JNXPRDNV.js} +3 -3
  316. package/dist/cli/chunks/{chunk-DIJ74M7V.js → chunk-K6A3AWUI.js} +1 -1
  317. package/dist/cli/chunks/{chunk-RUQV3BTV.js → chunk-K6IU2MV4.js} +1 -1
  318. package/dist/cli/chunks/{chunk-NKW7VOZV.js → chunk-KXENXRZE.js} +1 -1
  319. package/dist/cli/chunks/{chunk-CS3UB2OL.js → chunk-L2ZSYIDA.js} +1 -1
  320. package/dist/cli/chunks/{chunk-NGSA53GC.js → chunk-L3EQQMFI.js} +2 -2
  321. package/dist/cli/chunks/{chunk-ZG3DSWUA.js → chunk-L5UUUSSB.js} +1 -1
  322. package/dist/cli/chunks/{chunk-A7HGS7FW.js → chunk-L6NB4UHR.js} +2 -2
  323. package/dist/cli/chunks/{chunk-VESYE5YO.js → chunk-LEZ2MGHM.js} +3 -3
  324. package/dist/cli/chunks/{chunk-66LOFIBP.js → chunk-LFSQSLNP.js} +2 -2
  325. package/dist/cli/chunks/{chunk-WFZ4DRIC.js → chunk-LHZYTNOQ.js} +2 -2
  326. package/dist/cli/chunks/{chunk-IT7CEHAJ.js → chunk-LJHCPN4E.js} +2 -2
  327. package/dist/cli/chunks/{chunk-S7HQOGVD.js → chunk-LRRQEAP5.js} +1 -1
  328. package/dist/cli/chunks/{chunk-OJNG6ZXG.js → chunk-LSHUPEQQ.js} +2 -2
  329. package/dist/cli/chunks/{chunk-DBR4TQPK.js → chunk-LUZH2IZY.js} +2 -2
  330. package/dist/cli/chunks/{chunk-PYBVFG6T.js → chunk-M7SO5KNJ.js} +2 -2
  331. package/dist/cli/chunks/{chunk-A3BDPU5F.js → chunk-MDVJVY4C.js} +4 -4
  332. package/dist/cli/chunks/{chunk-JPOEI7CJ.js → chunk-MK73CCKO.js} +2 -2
  333. package/dist/cli/chunks/{chunk-FE3FGMNB.js → chunk-MMR23KAO.js} +2 -2
  334. package/dist/cli/chunks/{chunk-CUY2EUSQ.js → chunk-MOI74MMX.js} +2 -2
  335. package/dist/cli/chunks/{chunk-RONMVGCT.js → chunk-MRLGQX7Y.js} +2 -2
  336. package/dist/cli/chunks/{chunk-RFVZMNYX.js → chunk-MWRKNBSY.js} +2 -2
  337. package/dist/cli/chunks/{chunk-TMD6IC6D.js → chunk-NKYMHEHY.js} +2 -2
  338. package/dist/cli/chunks/{chunk-YZD4VIE5.js → chunk-O4B6FFC5.js} +1 -1
  339. package/dist/cli/chunks/{chunk-IUKERFLT.js → chunk-OAXDI4XM.js} +1 -1
  340. package/dist/cli/chunks/{chunk-3BGGNHHZ.js → chunk-OMDV6GFP.js} +1 -1
  341. package/dist/cli/chunks/{chunk-B4F5EPNR.js → chunk-OPLLH67G.js} +1 -1
  342. package/dist/cli/chunks/{chunk-HHEHGERJ.js → chunk-OSETFZVE.js} +2 -2
  343. package/dist/cli/chunks/{chunk-MRXKIXVV.js → chunk-OW4LJ5HE.js} +2 -2
  344. package/dist/cli/chunks/{chunk-3KGUP2SD.js → chunk-PY3HWJRJ.js} +2 -2
  345. package/dist/cli/chunks/{chunk-56RA6YPN.js → chunk-QBVFONWU.js} +2 -2
  346. package/dist/cli/chunks/{chunk-DJQYZ4RZ.js → chunk-QBVS4CXM.js} +1 -1
  347. package/dist/cli/chunks/{chunk-IWRORKD7.js → chunk-QDBFB4XD.js} +2 -2
  348. package/dist/cli/chunks/{chunk-AZCKTAUI.js → chunk-QLVZEEPR.js} +2 -2
  349. package/dist/cli/chunks/{chunk-FLYFNNSN.js → chunk-QMGNYRR5.js} +3 -3
  350. package/dist/cli/chunks/{chunk-AVQD7KEN.js → chunk-R2B6EQQF.js} +2 -2
  351. package/dist/cli/chunks/{chunk-7JZCEQFR.js → chunk-R7KIC6TL.js} +1 -1
  352. package/dist/cli/chunks/{chunk-ZUBJBAUD.js → chunk-RJBCIN2G.js} +2 -2
  353. package/dist/cli/chunks/{chunk-BB7MEGXD.js → chunk-RLXCFURS.js} +2 -2
  354. package/dist/cli/chunks/{chunk-4Z7XH4JE.js → chunk-S423UHYM.js} +2 -2
  355. package/dist/cli/chunks/{chunk-VB7DZVCI.js → chunk-S4NNQE4L.js} +1 -1
  356. package/dist/cli/chunks/{chunk-DWLGFYXV.js → chunk-S7FNTWFM.js} +3 -3
  357. package/dist/cli/chunks/{chunk-QAW6RVAR.js → chunk-SFW6IDMR.js} +10 -10
  358. package/dist/cli/chunks/{chunk-W7KGHW4T.js → chunk-SG6O3PXZ.js} +2 -2
  359. package/dist/cli/chunks/{chunk-HNYSBE5J.js → chunk-SLASYVNX.js} +2 -2
  360. package/dist/cli/chunks/{chunk-RCAIOTIF.js → chunk-TIUC5LRA.js} +2 -2
  361. package/dist/cli/chunks/{chunk-GTVXVYKE.js → chunk-TTLAWPEN.js} +2 -2
  362. package/dist/cli/chunks/{chunk-6SAU7GXO.js → chunk-TXXRBNOB.js} +1 -1
  363. package/dist/cli/chunks/{chunk-G4GX6YKX.js → chunk-TY7XPI6R.js} +2 -2
  364. package/dist/cli/chunks/{chunk-D7NKRCIL.js → chunk-U7EGKKN3.js} +2 -2
  365. package/dist/cli/chunks/{chunk-3JWV4GE6.js → chunk-UPDPD43T.js} +2 -2
  366. package/dist/cli/chunks/{chunk-253TDTPH.js → chunk-UURGDFGU.js} +1 -1
  367. package/dist/cli/chunks/{chunk-PPM5D7LH.js → chunk-UVUVWA4B.js} +1 -1
  368. package/dist/cli/chunks/{chunk-DN65ILSI.js → chunk-V3KNHI5B.js} +2 -2
  369. package/dist/cli/chunks/{chunk-K5KKZWED.js → chunk-V7WBNB2S.js} +2 -2
  370. package/dist/cli/chunks/{chunk-N2TJXGHG.js → chunk-VPBXVZWE.js} +1 -1
  371. package/dist/cli/chunks/{chunk-54IPDQIZ.js → chunk-WCXQA24H.js} +8 -8
  372. package/dist/cli/chunks/{chunk-MEN3UW7W.js → chunk-X3HRJV65.js} +1 -1
  373. package/dist/cli/chunks/{chunk-D4WDJ4ZF.js → chunk-X6OJFP7G.js} +2 -2
  374. package/dist/cli/chunks/{chunk-MFQIJ3HV.js → chunk-XCYPVJ34.js} +2 -2
  375. package/dist/cli/chunks/{chunk-GMU7P5O3.js → chunk-XK7P7OXO.js} +2 -2
  376. package/dist/cli/chunks/{chunk-S73KENCH.js → chunk-XWPUCPYW.js} +2 -2
  377. package/dist/cli/chunks/{chunk-RR55MLD4.js → chunk-YB4GXJJG.js} +1 -1
  378. package/dist/cli/chunks/{chunk-QTDZS4U6.js → chunk-YBM4LUSF.js} +2 -2
  379. package/dist/cli/chunks/{chunk-MIMJVKJJ.js → chunk-YLXUF5KW.js} +3 -3
  380. package/dist/cli/chunks/{chunk-AMBIOEMO.js → chunk-YMBPKBKG.js} +1 -1
  381. package/dist/cli/chunks/{chunk-KIMJPTHD.js → chunk-Z44VJC5U.js} +2 -2
  382. package/dist/cli/chunks/{ci-M2BSQBLL.js → ci-OO42YBET.js} +2 -2
  383. package/dist/cli/chunks/{ci-output-Z4TMK6GZ.js → ci-output-YXMTEX7Q.js} +2 -2
  384. package/dist/cli/chunks/{circuit-breaker-E3G4GGWB.js → circuit-breaker-EHA4N643.js} +2 -2
  385. package/dist/cli/chunks/{claude-flow-setup-MASRQU54.js → claude-flow-setup-E6G6SLYI.js} +2 -2
  386. package/dist/cli/chunks/client-N4FQ6SMD.js +2 -0
  387. package/dist/cli/chunks/{cline-installer-P3BWAKQA.js → cline-installer-6JPWD64G.js} +2 -2
  388. package/dist/cli/chunks/{code-7HY5HQAV.js → code-Q3U6XDOO.js} +2 -2
  389. package/dist/cli/chunks/{code-index-extractor-MBVKLOEU.js → code-index-extractor-BK2DC4MO.js} +2 -2
  390. package/dist/cli/chunks/{codex-installer-WZ6QO2PH.js → codex-installer-DA3GBMLN.js} +2 -2
  391. package/dist/cli/chunks/{completions-TOJC2UFP.js → completions-TZ5F33TA.js} +2 -2
  392. package/dist/cli/chunks/{complexity-analyzer-QYVDIAAW.js → complexity-analyzer-N7U4V7ID.js} +2 -2
  393. package/dist/cli/chunks/{continuedev-installer-J72CV7P4.js → continuedev-installer-DDDJGW26.js} +2 -2
  394. package/dist/cli/chunks/{copilot-installer-ACDA3GEA.js → copilot-installer-JVFCE6GT.js} +2 -2
  395. package/dist/cli/chunks/core-handlers-SFD5HCA3.js +2 -0
  396. package/dist/cli/chunks/{cost-tracker-BAYQJELE.js → cost-tracker-ZTIDLUFW.js} +2 -2
  397. package/dist/cli/chunks/{coverage-QD3XJV6W.js → coverage-6G7T7TRQ.js} +3 -3
  398. package/dist/cli/chunks/cross-domain-router-7HGRUNLT.js +2 -0
  399. package/dist/cli/chunks/{cursor-installer-SPGZ4TQM.js → cursor-installer-JFNYGSDD.js} +2 -2
  400. package/dist/cli/chunks/{daemon-3EVOL2UH.js → daemon-5A4GD6XA.js} +3 -3
  401. package/dist/cli/chunks/{daemon-N4JKD5SO.js → daemon-KTXGJJRI.js} +4 -4
  402. package/dist/cli/chunks/{dag-attention-scheduler-3BVLL3L5.js → dag-attention-scheduler-4CUEQZD6.js} +2 -2
  403. package/dist/cli/chunks/{detect-SWACKB45.js → detect-I32JUSUE.js} +2 -2
  404. package/dist/cli/chunks/{dist-node-LU4E7PI6.js → dist-node-7ITNV6QS.js} +2 -2
  405. package/dist/cli/chunks/{domain-handler-5AKKAC43.js → domain-handler-LIFCXSZ4.js} +2 -2
  406. package/dist/cli/chunks/{domain-transfer-LB6H7RPX.js → domain-transfer-67UWLHSK.js} +2 -2
  407. package/dist/cli/chunks/dream-HPGD5TLD.js +2 -0
  408. package/dist/cli/chunks/{embed-and-insert-pattern-7RBA5NDK.js → embed-and-insert-pattern-4WC5RUD6.js} +2 -2
  409. package/dist/cli/chunks/{eval-ZZFPRENX.js → eval-DLS2UAQ2.js} +3 -3
  410. package/dist/cli/chunks/{experience-capture-middleware-HRO3EGIW.js → experience-capture-middleware-VG5E6OJA.js} +3 -3
  411. package/dist/cli/chunks/{fast-paths-IRRNQBTY.js → fast-paths-262IVHDN.js} +2 -2
  412. package/dist/cli/chunks/{feature-flags-W54ABAUA.js → feature-flags-JJ3FHZGD.js} +2 -2
  413. package/dist/cli/chunks/{feature-flags-R5N5IWI2.js → feature-flags-L3K7DBN3.js} +2 -2
  414. package/dist/cli/chunks/{file-discovery-6CIDLVID.js → file-discovery-Q3PBKVUW.js} +2 -2
  415. package/dist/cli/chunks/{fleet-YTFN64WE.js → fleet-LQ5S2YHG.js} +3 -3
  416. package/dist/cli/chunks/{gnn-wrapper-RXMPLMV2.js → gnn-wrapper-I33Z537H.js} +2 -2
  417. package/dist/cli/chunks/{heartbeat-handler-HQQWEEQQ.js → heartbeat-handler-RYIRAGZ7.js} +4 -4
  418. package/dist/cli/chunks/heartbeat-scheduler-O6TI5E4P.js +2 -0
  419. package/dist/cli/chunks/hnsw-adapter-TOVTN23J.js +2 -0
  420. package/dist/cli/chunks/hnsw-index-KCZ75V7K.js +2 -0
  421. package/dist/cli/chunks/{hnsw-legacy-bridge-GPZIKYFD.js → hnsw-legacy-bridge-SSENBBPR.js} +2 -2
  422. package/dist/cli/chunks/{better-sqlite3-6AGIBSVE.js → hnswlib-node-ILDTCGLZ.js} +2 -2
  423. package/dist/cli/chunks/{hooks-AYLAGFOK.js → hooks-LR5KQMN5.js} +10 -10
  424. package/dist/cli/chunks/hybrid-router-4JEPC4JZ.js +2 -0
  425. package/dist/cli/chunks/{hypergraph-engine-56FMXI3T.js → hypergraph-engine-NDZA2DKP.js} +2 -2
  426. package/dist/cli/chunks/{hypergraph-handler-APEVT5IE.js → hypergraph-handler-ADMWVHBT.js} +3 -3
  427. package/dist/cli/chunks/impact-analyzer-3MHIU3SE.js +2 -0
  428. package/dist/cli/chunks/{init-handler-5DWF4REQ.js → init-handler-MGCYDX62.js} +6 -6
  429. package/dist/cli/chunks/init-wizard-ERBO5JNA.js +2 -0
  430. package/dist/cli/chunks/kernel-XJPIIWET.js +2 -0
  431. package/dist/cli/chunks/{kilocode-installer-XKAUA5VA.js → kilocode-installer-DQVWZUKP.js} +2 -2
  432. package/dist/cli/chunks/{kiro-installer-NI2KIYJE.js → kiro-installer-TINLYZ22.js} +2 -2
  433. package/dist/cli/chunks/knowledge-graph-NTJEG6ZE.js +2 -0
  434. package/dist/cli/chunks/{learning-ZIUMUNXZ.js → learning-KBT3S5WW.js} +3 -3
  435. package/dist/cli/chunks/{llm-router-IL52EF2V.js → llm-router-2MX5LUAB.js} +4 -4
  436. package/dist/cli/chunks/llm-router-service-4T66BGB5.js +2 -0
  437. package/dist/cli/chunks/{load-B5LFYD6O.js → load-IQWTGMLZ.js} +2 -2
  438. package/dist/cli/chunks/load-test-PM674TSK.js +2 -0
  439. package/dist/cli/chunks/{mcp-K6GZLWBC.js → mcp-GCTTJUBZ.js} +2 -2
  440. package/dist/cli/chunks/{memory-NCQRVSN6.js → memory-XQVPI4UT.js} +5 -5
  441. package/dist/cli/chunks/memory-backend-53NQ5CG7.js +2 -0
  442. package/dist/cli/chunks/memory-handlers-XD7MSFUN.js +2 -0
  443. package/dist/cli/chunks/{multi-model-executor-R4LBSJWK.js → multi-model-executor-JC63UCWG.js} +2 -2
  444. package/dist/cli/chunks/{opencode-installer-I6CBR3PV.js → opencode-installer-6VJGEBIU.js} +2 -2
  445. package/dist/cli/chunks/{orchestrator-5FXUCES6.js → orchestrator-B75QWJUF.js} +5 -5
  446. package/dist/cli/chunks/pattern-null-store-IF2RG2ON.js +2 -0
  447. package/dist/cli/chunks/{pipeline-GDKCTXJH.js → pipeline-TCBQ2UTZ.js} +2 -2
  448. package/dist/cli/chunks/{platform-ZFY3F4T3.js → platform-T43AYI3Z.js} +2 -2
  449. package/dist/cli/chunks/{plugin-HQMEN3OS.js → plugin-MSI3ZU3Z.js} +2 -2
  450. package/dist/cli/chunks/{prime-radiant-advanced-wasm-LSJGF4CV.js → prime-radiant-advanced-wasm-V62CWI6M.js} +2 -2
  451. package/dist/cli/chunks/protocol-executor-7AS75ZWT.js +2 -0
  452. package/dist/cli/chunks/{protocol-handler-BMDNIGPP.js → protocol-handler-OH2INET2.js} +2 -2
  453. package/dist/cli/chunks/{prove-ABVGAG4Z.js → prove-6PTMXMUL.js} +2 -2
  454. package/dist/cli/chunks/provider-manager-AU2C4AET.js +2 -0
  455. package/dist/cli/chunks/qe-reasoning-bank-WATQRCFO.js +2 -0
  456. package/dist/cli/chunks/{quality-ENJXPNP5.js → quality-PLNQN5GU.js} +2 -2
  457. package/dist/cli/chunks/queen-coordinator-IOCC4VQH.js +2 -0
  458. package/dist/cli/chunks/{real-embeddings-W3GNAEJO.js → real-embeddings-OW4OKR77.js} +2 -2
  459. package/dist/cli/chunks/{roocode-installer-4FJNQ7PU.js → roocode-installer-C32LCYAJ.js} +2 -2
  460. package/dist/cli/chunks/router-SCJMX6WA.js +2 -0
  461. package/dist/cli/chunks/routing-feedback-RWC7F553.js +2 -0
  462. package/dist/cli/chunks/{routing-handler-GFS5FA4F.js → routing-handler-CKFXXPMI.js} +2 -2
  463. package/dist/cli/chunks/{ruvector-commands-GBMYNJKN.js → ruvector-commands-GERRPTJL.js} +2 -2
  464. package/dist/cli/chunks/{rvf-dual-writer-STUAQT6U.js → rvf-dual-writer-5FAB2QPA.js} +2 -2
  465. package/dist/cli/chunks/{rvf-migration-adapter-LO6DBNJH.js → rvf-migration-adapter-46COKWYB.js} +2 -2
  466. package/dist/cli/chunks/{rvf-migration-coordinator-I5AD4VJ2.js → rvf-migration-coordinator-AJVRWSNC.js} +2 -2
  467. package/dist/cli/chunks/rvf-native-adapter-W2RT6PTO.js +2 -0
  468. package/dist/cli/chunks/safe-db-HO2LCAO3.js +2 -0
  469. package/dist/cli/chunks/schedule-XENCR4MR.js +2 -0
  470. package/dist/cli/chunks/scheduler-WKZ3O2SS.js +2 -0
  471. package/dist/cli/chunks/{security-X3WCA5K5.js → security-Q622IVRB.js} +3 -3
  472. package/dist/cli/chunks/{shared-rvf-adapter-Z4FSPWNP.js → shared-rvf-adapter-EST24R3R.js} +2 -2
  473. package/dist/cli/chunks/{shared-rvf-dual-writer-QOPOIRIC.js → shared-rvf-dual-writer-CP6EXKBT.js} +2 -2
  474. package/dist/cli/chunks/sqlite-persistence-IN6BOSCX.js +2 -0
  475. package/dist/cli/chunks/{status-handler-B2B5QBVK.js → status-handler-LLRQB4E2.js} +2 -2
  476. package/dist/cli/chunks/{structural-health-KT47LBVH.js → structural-health-BUFWTNN2.js} +2 -2
  477. package/dist/cli/chunks/{sync-VWD6OOUR.js → sync-JDG4SNT5.js} +2 -2
  478. package/dist/cli/chunks/sync-RDL2RUOV.js +2 -0
  479. package/dist/cli/chunks/{task-handler-X5JT5YBF.js → task-handler-KPP6ZXA6.js} +2 -2
  480. package/dist/cli/chunks/{task-handlers-IW4GQDW4.js → task-handlers-MRK2BQWI.js} +3 -3
  481. package/dist/cli/chunks/{test-MBZSUASD.js → test-7NYFTHRY.js} +4 -4
  482. package/dist/cli/chunks/{test-scheduling-E5KHKRZS.js → test-scheduling-LGPKDMWD.js} +3 -3
  483. package/dist/cli/chunks/token-bootstrap-H5JHB7TD.js +2 -0
  484. package/dist/cli/chunks/{token-usage-ECJSPOQB.js → token-usage-TWPDS5U3.js} +2 -2
  485. package/dist/cli/chunks/{transformers-UZJAQ7OZ.js → transformers-GRNPPUHM.js} +2 -2
  486. package/dist/cli/chunks/{tree-sitter-wasm-parser-H6BU2E5R.js → tree-sitter-wasm-parser-DOH5F6TO.js} +2 -2
  487. package/dist/cli/chunks/{types-PM7NT3MH.js → types-NYV3YKE3.js} +2 -2
  488. package/dist/cli/chunks/unified-memory-6MXOYRXZ.js +2 -0
  489. package/dist/cli/chunks/unified-memory-hnsw-HY3JJD5Z.js +2 -0
  490. package/dist/cli/chunks/unified-persistence-LKQNQYRY.js +2 -0
  491. package/dist/cli/chunks/{upgrade-FS2XYC2P.js → upgrade-GDJMRYAT.js} +2 -2
  492. package/dist/cli/chunks/{validate-4Y2BNN3A.js → validate-SIRFOPPM.js} +2 -2
  493. package/dist/cli/chunks/{validate-swarm-Z7QXZSUE.js → validate-swarm-XGMJYR6X.js} +2 -2
  494. package/dist/cli/chunks/{vibium-VZ6L3O2G.js → vibium-NP6ENRKV.js} +2 -2
  495. package/dist/cli/chunks/visual-security-7TBWICHP.js +2 -0
  496. package/dist/cli/chunks/{web-tree-sitter-H7P37W5U.js → web-tree-sitter-YDBWPYZD.js} +2 -2
  497. package/dist/cli/chunks/{windsurf-installer-IB2VHSZS.js → windsurf-installer-MFI6EAPH.js} +2 -2
  498. package/dist/cli/chunks/witness-chain-24SVOWQL.js +2 -0
  499. package/dist/cli/chunks/{witness-chain-C4DISYJN.js → witness-chain-YHLBWQQ3.js} +2 -2
  500. package/dist/cli/chunks/{workflow-IGM7KVIO.js → workflow-TA6RY7R5.js} +4 -4
  501. package/dist/cli/chunks/workflow-orchestrator-XBDXCTLY.js +2 -0
  502. package/dist/cli/chunks/wrappers-DS77IK4H.js +2 -0
  503. package/dist/cli/commands/eval.js +2 -2
  504. package/dist/kernel/unified-memory-schemas.d.ts +3 -2
  505. package/dist/kernel/unified-memory-schemas.js +3 -2
  506. package/dist/kernel/unified-memory.js +3 -1
  507. package/dist/learning/aqe-learning-engine.js +32 -0
  508. package/dist/learning/experience-capture.d.ts +8 -0
  509. package/dist/learning/experience-capture.js +30 -0
  510. package/dist/learning/pattern-null-store.d.ts +32 -0
  511. package/dist/learning/pattern-null-store.js +77 -0
  512. package/dist/learning/pattern-store.d.ts +10 -0
  513. package/dist/learning/pattern-store.js +23 -0
  514. package/dist/mcp/bundle.js +377 -347
  515. package/dist/mcp/handlers/validation-pipeline-handler.d.ts +19 -0
  516. package/dist/mcp/handlers/validation-pipeline-handler.js +10 -0
  517. package/dist/migrations/20260611_add_pattern_nulls_table.d.ts +26 -0
  518. package/dist/migrations/20260611_add_pattern_nulls_table.js +63 -0
  519. package/dist/validation/pipeline.d.ts +25 -0
  520. package/dist/validation/pipeline.js +28 -5
  521. package/dist/validation/steps/requirements.js +5 -0
  522. package/package.json +3 -2
  523. package/dist/cli/chunks/adapter-XZVL3DHO.js +0 -2
  524. package/dist/cli/chunks/aqe-learning-engine-YIL25K6W.js +0 -2
  525. package/dist/cli/chunks/audit-WPIRUJNZ.js +0 -3
  526. package/dist/cli/chunks/base-YCYV23Q3.js +0 -2
  527. package/dist/cli/chunks/browser-workflow-ALCOCRA2.js +0 -2
  528. package/dist/cli/chunks/chunk-EIL7FQC4.js +0 -65
  529. package/dist/cli/chunks/chunk-RLZDXQNM.js +0 -2
  530. package/dist/cli/chunks/chunk-W5C7R2LS.js +0 -12
  531. package/dist/cli/chunks/client-RPB6RYVY.js +0 -2
  532. package/dist/cli/chunks/core-handlers-QFJT5NX6.js +0 -2
  533. package/dist/cli/chunks/cross-domain-router-5GJ7WZKX.js +0 -2
  534. package/dist/cli/chunks/dream-C6VNLTON.js +0 -2
  535. package/dist/cli/chunks/heartbeat-scheduler-4SBO27BG.js +0 -2
  536. package/dist/cli/chunks/hnsw-adapter-W7G6VNXW.js +0 -2
  537. package/dist/cli/chunks/hnsw-index-LENA5QML.js +0 -2
  538. package/dist/cli/chunks/hybrid-router-IXHIC45P.js +0 -2
  539. package/dist/cli/chunks/impact-analyzer-DKGVMYU6.js +0 -2
  540. package/dist/cli/chunks/init-wizard-BBY3LY3F.js +0 -2
  541. package/dist/cli/chunks/kernel-7CUW7G62.js +0 -2
  542. package/dist/cli/chunks/knowledge-graph-Q5CP47IP.js +0 -2
  543. package/dist/cli/chunks/llm-router-service-MTXCX7TO.js +0 -2
  544. package/dist/cli/chunks/load-test-YBWXASBO.js +0 -2
  545. package/dist/cli/chunks/memory-backend-52LANEA3.js +0 -2
  546. package/dist/cli/chunks/memory-handlers-KFW3HYAP.js +0 -2
  547. package/dist/cli/chunks/protocol-executor-TRYUS77M.js +0 -2
  548. package/dist/cli/chunks/provider-manager-6XQQN7FX.js +0 -2
  549. package/dist/cli/chunks/qe-reasoning-bank-3IUPE4DJ.js +0 -2
  550. package/dist/cli/chunks/queen-coordinator-VWPH4XPX.js +0 -2
  551. package/dist/cli/chunks/router-OIB6ODHA.js +0 -2
  552. package/dist/cli/chunks/routing-feedback-EKYPCZYG.js +0 -2
  553. package/dist/cli/chunks/rvf-native-adapter-7RXP2Q4Q.js +0 -2
  554. package/dist/cli/chunks/safe-db-MNKFEPBX.js +0 -2
  555. package/dist/cli/chunks/schedule-AJXABVXX.js +0 -2
  556. package/dist/cli/chunks/scheduler-LDWYHIAW.js +0 -2
  557. package/dist/cli/chunks/sqlite-persistence-A6GKDMOJ.js +0 -2
  558. package/dist/cli/chunks/sync-CKID22IW.js +0 -2
  559. package/dist/cli/chunks/token-bootstrap-TIDPJ5IG.js +0 -2
  560. package/dist/cli/chunks/unified-memory-27QJHABO.js +0 -2
  561. package/dist/cli/chunks/unified-memory-hnsw-76VUXR4H.js +0 -2
  562. package/dist/cli/chunks/unified-persistence-QRCGDEXH.js +0 -2
  563. package/dist/cli/chunks/visual-security-KB27O7BE.js +0 -2
  564. package/dist/cli/chunks/witness-chain-EYPXHRDV.js +0 -2
  565. package/dist/cli/chunks/workflow-orchestrator-6AQZ3USU.js +0 -2
  566. package/dist/cli/chunks/wrappers-PQXC263L.js +0 -2
@@ -523,7 +523,7 @@ export function createEvalCommand() {
523
523
  .command('run')
524
524
  .description('Run eval suite for a single skill')
525
525
  .requiredOption('-s, --skill <skill>', 'Skill name to evaluate')
526
- .requiredOption('-m, --model <model>', 'Model to use (e.g., claude-3.5-sonnet)')
526
+ .requiredOption('-m, --model <model>', 'Model to use (e.g., claude-sonnet-4-6)')
527
527
  .option('-p, --parallel', 'Enable parallel execution', false)
528
528
  .option('-w, --workers <n>', 'Number of parallel workers', parseInt, 5)
529
529
  .option('-b, --batch-size <n>', 'Test cases per batch', parseInt, 4)
@@ -549,7 +549,7 @@ export function createEvalCommand() {
549
549
  .command('run-all')
550
550
  .description('Run eval suites for multiple skills')
551
551
  .option('--skills-tier <tier>', 'Skill tier (1=all, 2=P0+P1, 3=P0 only)', parseInt, 3)
552
- .option('--models <models>', 'Comma-separated models to test', 'claude-3.5-sonnet')
552
+ .option('--models <models>', 'Comma-separated models to test', 'claude-sonnet-4-6')
553
553
  .option('-p, --parallel', 'Enable parallel execution', true)
554
554
  .option('-w, --workers <n>', 'Number of parallel workers', parseInt, 5)
555
555
  .option('-o, --output <path>', 'Output file path for report')
@@ -5,8 +5,9 @@
5
5
  * Extracted from unified-memory.ts for maintainability.
6
6
  */
7
7
  import { HYPERGRAPH_SCHEMA } from '../migrations/20260120_add_hypergraph_tables.js';
8
- export { HYPERGRAPH_SCHEMA };
9
- export declare const SCHEMA_VERSION = 9;
8
+ import { PATTERN_NULLS_SCHEMA } from '../migrations/20260611_add_pattern_nulls_table.js';
9
+ export { HYPERGRAPH_SCHEMA, PATTERN_NULLS_SCHEMA };
10
+ export declare const SCHEMA_VERSION = 10;
10
11
  export declare const SCHEMA_VERSION_TABLE = "\n CREATE TABLE IF NOT EXISTS schema_version (\n id INTEGER PRIMARY KEY CHECK (id = 1),\n version INTEGER NOT NULL,\n migrated_at TEXT DEFAULT (datetime('now'))\n );\n";
11
12
  export declare const KV_STORE_SCHEMA = "\n -- Key-Value Store (v2 compatible - same schema as HybridBackend)\n CREATE TABLE IF NOT EXISTS kv_store (\n key TEXT NOT NULL,\n namespace TEXT NOT NULL,\n value TEXT NOT NULL,\n expires_at INTEGER,\n created_at INTEGER DEFAULT (strftime('%s', 'now') * 1000),\n PRIMARY KEY (namespace, key)\n );\n CREATE INDEX IF NOT EXISTS idx_kv_namespace ON kv_store(namespace);\n CREATE INDEX IF NOT EXISTS idx_kv_expires ON kv_store(expires_at) WHERE expires_at IS NOT NULL;\n";
12
13
  export declare const VECTORS_SCHEMA = "\n -- Vector Embeddings (new in v3 - replaces in-memory AgentDB)\n CREATE TABLE IF NOT EXISTS vectors (\n id TEXT PRIMARY KEY,\n namespace TEXT NOT NULL DEFAULT 'default',\n embedding BLOB NOT NULL,\n dimensions INTEGER NOT NULL,\n metadata TEXT,\n created_at TEXT DEFAULT (datetime('now')),\n updated_at TEXT DEFAULT (datetime('now'))\n );\n CREATE INDEX IF NOT EXISTS idx_vectors_namespace ON vectors(namespace);\n CREATE INDEX IF NOT EXISTS idx_vectors_dimensions ON vectors(dimensions);\n";
@@ -5,12 +5,13 @@
5
5
  * Extracted from unified-memory.ts for maintainability.
6
6
  */
7
7
  import { HYPERGRAPH_SCHEMA } from '../migrations/20260120_add_hypergraph_tables.js';
8
+ import { PATTERN_NULLS_SCHEMA } from '../migrations/20260611_add_pattern_nulls_table.js';
8
9
  // Re-export for convenience
9
- export { HYPERGRAPH_SCHEMA };
10
+ export { HYPERGRAPH_SCHEMA, PATTERN_NULLS_SCHEMA };
10
11
  // ============================================================================
11
12
  // Schema Version for Migrations
12
13
  // ============================================================================
13
- export const SCHEMA_VERSION = 9; // v9: adds FTS5 full-text search for qe_patterns (hybrid vector/text search)
14
+ export const SCHEMA_VERSION = 10; // v10: adds qe_pattern_nulls kept negative pattern records (ADR-110)
14
15
  export const SCHEMA_VERSION_TABLE = `
15
16
  CREATE TABLE IF NOT EXISTS schema_version (
16
17
  id INTEGER PRIMARY KEY CHECK (id = 1),
@@ -40,7 +40,7 @@ export { BinaryHeap, UnifiedHnswIndex, createHnswIndex } from './unified-memory-
40
40
  // parity tests or benchmarks only.
41
41
  import { UnifiedHnswIndex } from './unified-memory-hnsw.js';
42
42
  // Import schemas
43
- import { SCHEMA_VERSION, SCHEMA_VERSION_TABLE, KV_STORE_SCHEMA, VECTORS_SCHEMA, RL_QVALUES_SCHEMA, GOAP_SCHEMA, DREAM_SCHEMA, QE_PATTERNS_SCHEMA, MINCUT_SCHEMA, SONA_PATTERNS_SCHEMA, FEEDBACK_SCHEMA, HYPERGRAPH_SCHEMA, STATS_TABLES, } from './unified-memory-schemas.js';
43
+ import { SCHEMA_VERSION, SCHEMA_VERSION_TABLE, KV_STORE_SCHEMA, VECTORS_SCHEMA, RL_QVALUES_SCHEMA, GOAP_SCHEMA, DREAM_SCHEMA, QE_PATTERNS_SCHEMA, MINCUT_SCHEMA, SONA_PATTERNS_SCHEMA, FEEDBACK_SCHEMA, HYPERGRAPH_SCHEMA, PATTERN_NULLS_SCHEMA, STATS_TABLES, } from './unified-memory-schemas.js';
44
44
  // CRDT imports for distributed state synchronization
45
45
  import { createCRDTStore, } from '../memory/crdt/index.js';
46
46
  // ============================================================================
@@ -452,6 +452,8 @@ export class UnifiedMemoryManager {
452
452
  SELECT rowid, name, description, pattern_type, qe_domain FROM qe_patterns;
453
453
  `);
454
454
  }
455
+ if (currentVersion < 10)
456
+ this.db.exec(PATTERN_NULLS_SCHEMA);
455
457
  this.db.prepare(`
456
458
  INSERT OR REPLACE INTO schema_version (id, version, migrated_at)
457
459
  VALUES (1, ?, datetime('now'))
@@ -147,6 +147,20 @@ export class AQELearningEngine {
147
147
  if (process.env.DEBUG)
148
148
  console.debug('[AQELearningEngine] Witness chain wiring skipped:', e instanceof Error ? e.message : e);
149
149
  }
150
+ // Wire ADR-110 kept-nulls recorder (fail-soft, mirrors witness wiring)
151
+ try {
152
+ const { getUnifiedPersistence } = await import('../kernel/unified-persistence.js');
153
+ const persistence = getUnifiedPersistence();
154
+ if (persistence.isInitialized()) {
155
+ const { PatternNullStore } = await import('./pattern-null-store.js');
156
+ const nullStore = new PatternNullStore(persistence.getDatabase());
157
+ this.experienceCapture.setNullRecorder((record) => nullStore.recordNull(record));
158
+ }
159
+ }
160
+ catch (e) {
161
+ if (process.env.DEBUG)
162
+ console.debug('[AQELearningEngine] Null recorder wiring skipped:', e instanceof Error ? e.message : e);
163
+ }
150
164
  }
151
165
  // Wire cross-domain transfer with real performance provider (Y-2 fix)
152
166
  try {
@@ -316,10 +330,12 @@ export class AQELearningEngine {
316
330
  return err(new Error('Engine not initialized'));
317
331
  }
318
332
  // Search for similar patterns before routing (Phase 5.1 & 5.3)
333
+ // ADR-110: pass context so previously-failed patterns are discounted here too
319
334
  const patternSearchResult = await this.searchPatternsForTask(request.task, {
320
335
  limit: 5,
321
336
  minConfidence: 0.4,
322
337
  domain: request.domain,
338
+ contextFingerprint: request.domain ? `${request.domain}:router` : undefined,
323
339
  });
324
340
  // Track pattern usage for found patterns (Phase 5.4)
325
341
  if (patternSearchResult.success && patternSearchResult.value.length > 0) {
@@ -363,6 +379,7 @@ export class AQELearningEngine {
363
379
  limit: options.limit || 5,
364
380
  minConfidence: options.minConfidence || 0.4,
365
381
  domain: options.domain,
382
+ contextFingerprint: options.contextFingerprint,
366
383
  useVectorSearch: true,
367
384
  });
368
385
  }
@@ -555,6 +572,20 @@ export class AQELearningEngine {
555
572
  // Fall through to local tracking
556
573
  }
557
574
  }
575
+ // ADR-110: retrieve the patterns that will GUIDE this task so a failure
576
+ // can be attributed to them as kept nulls. Fail-soft — guidance is
577
+ // best-effort and must never block task start.
578
+ const contextFingerprint = `${domain ?? 'unknown'}:${agent ?? 'unknown'}`;
579
+ let appliedPatterns;
580
+ try {
581
+ const guiding = await this.searchPatternsForTask(task, { domain, contextFingerprint });
582
+ if (guiding.success && guiding.value.length > 0) {
583
+ appliedPatterns = guiding.value.map(r => r.pattern.id);
584
+ }
585
+ }
586
+ catch {
587
+ // guidance retrieval is non-critical; proceed without it
588
+ }
558
589
  // Start experience capture (linked to trajectory if available)
559
590
  let experienceId;
560
591
  if (this.experienceCapture) {
@@ -562,6 +593,7 @@ export class AQELearningEngine {
562
593
  agent,
563
594
  domain,
564
595
  trajectoryId: trajectoryId !== id ? trajectoryId : undefined,
596
+ appliedPatterns,
565
597
  });
566
598
  }
567
599
  // Local tracking
@@ -75,6 +75,8 @@ export interface TaskExperience {
75
75
  feedback?: string;
76
76
  /** Extracted patterns (if any) */
77
77
  patterns?: string[];
78
+ /** Patterns that GUIDED this task (retrieved before execution) — null-capture targets on failure (ADR-110) */
79
+ appliedPatterns?: string[];
78
80
  /** Claude Flow trajectory ID (if available) */
79
81
  trajectoryId?: string;
80
82
  /** Additional metadata */
@@ -169,12 +171,16 @@ export declare class ExperienceCaptureService {
169
171
  private sessionCaptureCount;
170
172
  /** Optional witness chain for attaching audit receipts to experiences */
171
173
  private witnessChain?;
174
+ /** Optional ADR-110 null recorder — wired by the composition root to PatternNullStore.recordNull */
175
+ private nullRecorder?;
172
176
  constructor(memory: MemoryBackend, patternStore?: IPatternStore | undefined, eventBus?: EventBus | undefined, config?: Partial<ExperienceCaptureConfig>);
173
177
  /**
174
178
  * Set the witness chain for attaching audit receipts to captured experiences.
175
179
  * Only creates witness records when the useWitnessChain feature flag is enabled.
176
180
  */
177
181
  setWitnessChain(chain: WitnessChain): void;
182
+ /** Wire the ADR-110 kept-nulls recorder (typically PatternNullStore.recordNull). */
183
+ setNullRecorder(recorder: NonNullable<typeof this.nullRecorder>): void;
178
184
  /**
179
185
  * Initialize the experience capture service
180
186
  */
@@ -188,6 +194,8 @@ export declare class ExperienceCaptureService {
188
194
  model?: 'haiku' | 'sonnet' | 'opus';
189
195
  trajectoryId?: string;
190
196
  metadata?: Record<string, unknown>;
197
+ /** Pattern ids retrieved to guide this task — enables ADR-110 null capture on failure */
198
+ appliedPatterns?: string[];
191
199
  }): string;
192
200
  /**
193
201
  * Record a step in the experience
@@ -94,6 +94,8 @@ export class ExperienceCaptureService {
94
94
  sessionCaptureCount = 0;
95
95
  /** Optional witness chain for attaching audit receipts to experiences */
96
96
  witnessChain;
97
+ /** Optional ADR-110 null recorder — wired by the composition root to PatternNullStore.recordNull */
98
+ nullRecorder;
97
99
  constructor(memory, patternStore, eventBus, config = {}) {
98
100
  this.memory = memory;
99
101
  this.patternStore = patternStore;
@@ -107,6 +109,10 @@ export class ExperienceCaptureService {
107
109
  setWitnessChain(chain) {
108
110
  this.witnessChain = chain;
109
111
  }
112
+ /** Wire the ADR-110 kept-nulls recorder (typically PatternNullStore.recordNull). */
113
+ setNullRecorder(recorder) {
114
+ this.nullRecorder = recorder;
115
+ }
110
116
  /**
111
117
  * Initialize the experience capture service
112
118
  */
@@ -141,6 +147,7 @@ export class ExperienceCaptureService {
141
147
  quality: 0,
142
148
  trajectoryId: options?.trajectoryId,
143
149
  metadata: options?.metadata,
150
+ appliedPatterns: options?.appliedPatterns,
144
151
  };
145
152
  this.activeExperiences.set(id, experience);
146
153
  return id;
@@ -216,6 +223,29 @@ export class ExperienceCaptureService {
216
223
  await this.storeExperience(experience);
217
224
  // Update stats
218
225
  this.updateStats(experience);
226
+ // ADR-110: a pattern-guided failure is a kept null, not a discarded run.
227
+ // Failure = negative reward when a reward signal exists, else !success.
228
+ const failed = experience.reward !== undefined ? experience.reward < 0 : !experience.success;
229
+ if (this.nullRecorder && failed && experience.appliedPatterns?.length) {
230
+ const contextFingerprint = `${experience.domain ?? 'unknown'}:${experience.agent ?? 'unknown'}`;
231
+ for (const patternId of experience.appliedPatterns) {
232
+ try {
233
+ this.nullRecorder({
234
+ patternId,
235
+ contextFingerprint,
236
+ failureMode: experience.testOutcome ?? experience.feedback ?? 'task-failure',
237
+ trajectoryRef: experience.trajectoryId,
238
+ evidenceClass: 'EXECUTED',
239
+ });
240
+ }
241
+ catch (nullError) {
242
+ logger.warn('Failed to record pattern null', {
243
+ patternId,
244
+ error: nullError instanceof Error ? nullError.message : String(nullError),
245
+ });
246
+ }
247
+ }
248
+ }
219
249
  // Extract patterns: require positive reward (or no reward signal) AND quality threshold
220
250
  // Zero or negative reward blocks extraction — only learn from genuinely positive outcomes
221
251
  const rewardAllowsExtraction = experience.reward === undefined || experience.reward > 0;
@@ -0,0 +1,32 @@
1
+ import type { Database as DatabaseType } from 'better-sqlite3';
2
+ export type NullEvidenceClass = 'EXECUTED' | 'STATIC' | 'INFERRED' | 'CONJECTURE';
3
+ export interface PatternNullRecord {
4
+ patternId: string;
5
+ contextFingerprint: string;
6
+ failureMode: string;
7
+ trajectoryRef?: string;
8
+ /** What evidence backs this failure record (ADR-105). Verdict-pipeline failures are EXECUTED. */
9
+ evidenceClass?: NullEvidenceClass;
10
+ }
11
+ export interface NullSummary {
12
+ patternId: string;
13
+ /** Total consolidated failure count across all contexts */
14
+ totalFailures: number;
15
+ /** Per-context consolidated counts */
16
+ byContext: Record<string, number>;
17
+ }
18
+ export declare class PatternNullStore {
19
+ private readonly db;
20
+ constructor(db: DatabaseType);
21
+ /** Record a failure; consolidates on repeat (pattern, context) pairs. */
22
+ recordNull(record: PatternNullRecord): void;
23
+ /** Batch summaries for retrieval-time surfacing. Missing patterns simply have no entry. */
24
+ getNullSummaries(patternIds: string[]): Map<string, NullSummary>;
25
+ /**
26
+ * Pure ranking-discount helper (no DB) so retrieval code can apply it
27
+ * without coupling. A null in the caller's own context discounts hardest;
28
+ * remote nulls discount mildly; the floor keeps patterns retrievable.
29
+ */
30
+ static applyNullDiscount(score: number, summary: NullSummary | undefined, contextFingerprint?: string): number;
31
+ }
32
+ //# sourceMappingURL=pattern-null-store.d.ts.map
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Pattern Null Store (ADR-110, issue #522)
3
+ *
4
+ * First-class negative pattern records: when an applied pattern fails in a
5
+ * context, the failure is kept — consolidated per (pattern, context) — and
6
+ * surfaced at retrieval time so ranking can discount by context-matched null
7
+ * density. Nulls are information, not tombstones: a pattern that fails in one
8
+ * context may be right in another, and a deleted failure is unauditable (the
9
+ * Pattern Space v2.1 lesson).
10
+ *
11
+ * Persistence: qe_pattern_nulls (schema v10, migration
12
+ * 20260611_add_pattern_nulls_table). Obtain the handle via
13
+ * SQLitePatternStore.getDatabase().
14
+ */
15
+ import { v4 as uuidv4 } from 'uuid';
16
+ import { applyMigration } from '../migrations/20260611_add_pattern_nulls_table.js';
17
+ /** Weight of a context-matched null vs a null from elsewhere (ADR-110: local nulls outweigh remote successes). */
18
+ const CONTEXT_MATCHED_WEIGHT = 0.15;
19
+ const UNMATCHED_WEIGHT = 0.03;
20
+ /** Floor so heavily-nulled patterns remain retrievable (nulls inform, never erase). */
21
+ const DISCOUNT_FLOOR = 0.25;
22
+ export class PatternNullStore {
23
+ db;
24
+ constructor(db) {
25
+ this.db = db;
26
+ // Additive, idempotent — safe on DBs that predate schema v10.
27
+ applyMigration(db);
28
+ }
29
+ /** Record a failure; consolidates on repeat (pattern, context) pairs. */
30
+ recordNull(record) {
31
+ this.db.prepare(`
32
+ INSERT INTO qe_pattern_nulls (id, pattern_id, context_fingerprint, failure_mode, trajectory_ref, evidence_class)
33
+ VALUES (?, ?, ?, ?, ?, ?)
34
+ ON CONFLICT(pattern_id, context_fingerprint) DO UPDATE SET
35
+ consolidated_count = consolidated_count + 1,
36
+ failure_mode = excluded.failure_mode,
37
+ trajectory_ref = COALESCE(excluded.trajectory_ref, trajectory_ref),
38
+ updated_at = datetime('now')
39
+ `).run(uuidv4(), record.patternId, record.contextFingerprint, record.failureMode, record.trajectoryRef ?? null, record.evidenceClass ?? 'EXECUTED');
40
+ }
41
+ /** Batch summaries for retrieval-time surfacing. Missing patterns simply have no entry. */
42
+ getNullSummaries(patternIds) {
43
+ const out = new Map();
44
+ if (patternIds.length === 0)
45
+ return out;
46
+ const placeholders = patternIds.map(() => '?').join(',');
47
+ const rows = this.db.prepare(`
48
+ SELECT pattern_id, context_fingerprint, consolidated_count
49
+ FROM qe_pattern_nulls
50
+ WHERE pattern_id IN (${placeholders})
51
+ `).all(...patternIds);
52
+ for (const row of rows) {
53
+ let summary = out.get(row.pattern_id);
54
+ if (!summary) {
55
+ summary = { patternId: row.pattern_id, totalFailures: 0, byContext: {} };
56
+ out.set(row.pattern_id, summary);
57
+ }
58
+ summary.totalFailures += row.consolidated_count;
59
+ summary.byContext[row.context_fingerprint] = row.consolidated_count;
60
+ }
61
+ return out;
62
+ }
63
+ /**
64
+ * Pure ranking-discount helper (no DB) so retrieval code can apply it
65
+ * without coupling. A null in the caller's own context discounts hardest;
66
+ * remote nulls discount mildly; the floor keeps patterns retrievable.
67
+ */
68
+ static applyNullDiscount(score, summary, contextFingerprint) {
69
+ if (!summary || summary.totalFailures === 0)
70
+ return score;
71
+ const matched = contextFingerprint ? (summary.byContext[contextFingerprint] ?? 0) : 0;
72
+ const unmatched = summary.totalFailures - matched;
73
+ const factor = Math.max(DISCOUNT_FLOOR, 1 - matched * CONTEXT_MATCHED_WEIGHT - unmatched * UNMATCHED_WEIGHT);
74
+ return score * factor;
75
+ }
76
+ }
77
+ //# sourceMappingURL=pattern-null-store.js.map
@@ -9,6 +9,7 @@ import type { MemoryBackend } from '../kernel/interfaces.js';
9
9
  import type { Result } from '../shared/types/index.js';
10
10
  import { QEPattern, QEPatternContext, QEPatternType, QEDomain, CreateQEPatternOptions } from './qe-patterns.js';
11
11
  import type { FilterExpression } from '../integrations/ruvector/interfaces.js';
12
+ import { type NullSummary } from './pattern-null-store.js';
12
13
  /**
13
14
  * Token tracking configuration (ADR-042)
14
15
  */
@@ -130,6 +131,11 @@ export interface PatternSearchOptions {
130
131
  * When undefined, no additional filtering is applied (backward compatible).
131
132
  */
132
133
  filter?: FilterExpression;
134
+ /**
135
+ * Caller's context fingerprint (domain:agent) for ADR-110 null discounting.
136
+ * Nulls recorded in this context discount matching patterns hardest.
137
+ */
138
+ contextFingerprint?: string;
133
139
  }
134
140
  /**
135
141
  * Pattern search result with reuse optimization (ADR-042)
@@ -149,6 +155,8 @@ export interface PatternSearchResult {
149
155
  estimatedTokenSavings: number;
150
156
  /** Confidence level for reusing this pattern (0-1) (ADR-042) */
151
157
  reuseConfidence: number;
158
+ /** Kept-nulls summary when this pattern has recorded failures (ADR-110) */
159
+ nullSummary?: NullSummary;
152
160
  }
153
161
  /**
154
162
  * Interface for pattern store operations
@@ -196,6 +204,8 @@ export declare class PatternStore implements IPatternStore {
196
204
  private initialized;
197
205
  private cleanupTimer?;
198
206
  private sqliteStore;
207
+ /** Lazy ADR-110 null store over the sqlite handle */
208
+ private nullStore;
199
209
  private loadingPromise;
200
210
  private patternCache;
201
211
  private domainIndex;
@@ -21,6 +21,7 @@ import { DeltaTracker } from '../integrations/ruvector/delta-tracker.js';
21
21
  import { createVectorDeltaTracker, } from '../integrations/ruvector/vector-delta-tracker.js';
22
22
  import { createHopfieldMemory } from '../integrations/ruvector/hopfield-memory.js';
23
23
  import { createHyperbolicPatternIndex, } from './hyperbolic-pattern-index.js';
24
+ import { PatternNullStore } from './pattern-null-store.js';
24
25
  // ============================================================================
25
26
  // R1: HDC Fingerprint Singleton (lazy-initialized)
26
27
  // ============================================================================
@@ -102,6 +103,8 @@ export class PatternStore {
102
103
  cleanupTimer;
103
104
  // Optional SQLite persistence delegate for delete/promote
104
105
  sqliteStore = null;
106
+ /** Lazy ADR-110 null store over the sqlite handle */
107
+ nullStore = null;
105
108
  loadingPromise = null;
106
109
  // In-memory caches for fast access
107
110
  patternCache = new Map();
@@ -767,6 +770,26 @@ export class PatternStore {
767
770
  // while penalizing stale patterns (decayFactor is 0-1)
768
771
  result.score = result.score * (0.7 + 0.3 * effectiveDecay);
769
772
  }
773
+ // ADR-110: surface kept nulls and discount scores by context-matched
774
+ // null density — "succeeded elsewhere" never outranks "failed here".
775
+ const nullDb = this.sqliteStore?.getDatabase();
776
+ if (nullDb && results.length > 0) {
777
+ try {
778
+ if (!this.nullStore)
779
+ this.nullStore = new PatternNullStore(nullDb);
780
+ const summaries = this.nullStore.getNullSummaries(results.map(r => r.pattern.id));
781
+ for (const result of results) {
782
+ const summary = summaries.get(result.pattern.id);
783
+ if (summary) {
784
+ result.nullSummary = summary;
785
+ result.score = PatternNullStore.applyNullDiscount(result.score, summary, options.contextFingerprint);
786
+ }
787
+ }
788
+ }
789
+ catch (error) {
790
+ console.debug('[PatternStore] null discount skipped:', toErrorMessage(error));
791
+ }
792
+ }
770
793
  // Sort by score
771
794
  results.sort((a, b) => b.score - a.score);
772
795
  // Apply metadata filter BEFORE limit so we don't lose matching results (W-3 fix)