agentic-qe 3.7.7 → 3.7.9

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 (384) hide show
  1. package/.claude/helpers/statusline-v3.cjs +13 -1
  2. package/.claude/skills/debug-loop/SKILL.md +1 -1
  3. package/.claude/skills/enterprise-integration-testing/evals/enterprise-integration-testing.yaml +158 -0
  4. package/.claude/skills/enterprise-integration-testing/schemas/output.json +74 -0
  5. package/.claude/skills/enterprise-integration-testing/scripts/validate-config.json +25 -0
  6. package/.claude/skills/middleware-testing-patterns/evals/middleware-testing-patterns.yaml +153 -0
  7. package/.claude/skills/middleware-testing-patterns/schemas/output.json +58 -0
  8. package/.claude/skills/middleware-testing-patterns/scripts/validate-config.json +25 -0
  9. package/.claude/skills/observability-testing-patterns/evals/observability-testing-patterns.yaml +157 -0
  10. package/.claude/skills/observability-testing-patterns/schemas/output.json +58 -0
  11. package/.claude/skills/observability-testing-patterns/scripts/validate-config.json +25 -0
  12. package/.claude/skills/pr-review/SKILL.md +1 -1
  13. package/.claude/skills/qcsd-cicd-swarm/evals/qcsd-cicd-swarm.yaml +211 -0
  14. package/.claude/skills/qcsd-cicd-swarm/schemas/output.json +86 -0
  15. package/.claude/skills/qcsd-cicd-swarm/scripts/validate-config.json +30 -0
  16. package/.claude/skills/qcsd-development-swarm/evals/qcsd-development-swarm.yaml +162 -0
  17. package/.claude/skills/qcsd-development-swarm/schemas/output.json +72 -0
  18. package/.claude/skills/qcsd-development-swarm/scripts/validate-config.json +25 -0
  19. package/.claude/skills/skills-manifest.json +1 -1
  20. package/.claude/skills/trust-tier-manifest.json +78 -7
  21. package/CHANGELOG.md +39 -0
  22. package/README.md +36 -0
  23. package/assets/skills/a11y-ally/SKILL.md +1664 -1658
  24. package/assets/skills/a11y-ally/evals/a11y-ally.yaml +376 -0
  25. package/assets/skills/a11y-ally/schemas/output.json +549 -0
  26. package/assets/skills/a11y-ally/scripts/validate-config.json +42 -0
  27. package/assets/skills/brutal-honesty-review/SKILL.md +5 -0
  28. package/assets/skills/brutal-honesty-review/schemas/output.json +291 -0
  29. package/assets/skills/brutal-honesty-review/scripts/validate-config.json +34 -0
  30. package/assets/skills/cicd-pipeline-qe-orchestrator/README.md +1 -1
  31. package/assets/skills/cicd-pipeline-qe-orchestrator/SKILL.md +6 -0
  32. package/assets/skills/cicd-pipeline-qe-orchestrator/evals/cicd-pipeline-qe-orchestrator.yaml +157 -0
  33. package/assets/skills/cicd-pipeline-qe-orchestrator/schemas/output.json +542 -0
  34. package/assets/skills/cicd-pipeline-qe-orchestrator/scripts/validate-config.json +42 -0
  35. package/assets/skills/debug-loop/SKILL.md +1 -1
  36. package/assets/skills/enterprise-integration-testing/evals/enterprise-integration-testing.yaml +158 -0
  37. package/assets/skills/enterprise-integration-testing/schemas/output.json +74 -0
  38. package/assets/skills/enterprise-integration-testing/scripts/validate-config.json +25 -0
  39. package/assets/skills/middleware-testing-patterns/evals/middleware-testing-patterns.yaml +153 -0
  40. package/assets/skills/middleware-testing-patterns/schemas/output.json +58 -0
  41. package/assets/skills/middleware-testing-patterns/scripts/validate-config.json +25 -0
  42. package/assets/skills/n8n-expression-testing/SKILL.md +6 -0
  43. package/assets/skills/n8n-expression-testing/evals/n8n-expression-testing.yaml +450 -0
  44. package/assets/skills/n8n-expression-testing/schemas/output.json +369 -0
  45. package/assets/skills/n8n-expression-testing/scripts/validate-config.json +39 -0
  46. package/assets/skills/n8n-integration-testing-patterns/SKILL.md +6 -0
  47. package/assets/skills/n8n-integration-testing-patterns/evals/n8n-integration-testing-patterns.yaml +522 -0
  48. package/assets/skills/n8n-integration-testing-patterns/schemas/output.json +291 -0
  49. package/assets/skills/n8n-integration-testing-patterns/scripts/validate-config.json +34 -0
  50. package/assets/skills/n8n-security-testing/SKILL.md +6 -0
  51. package/assets/skills/n8n-security-testing/evals/n8n-security-testing.yaml +493 -0
  52. package/assets/skills/n8n-security-testing/schemas/output.json +293 -0
  53. package/assets/skills/n8n-security-testing/scripts/validate-config.json +34 -0
  54. package/assets/skills/n8n-trigger-testing-strategies/SKILL.md +6 -0
  55. package/assets/skills/n8n-trigger-testing-strategies/evals/n8n-trigger-testing-strategies.yaml +500 -0
  56. package/assets/skills/n8n-trigger-testing-strategies/schemas/output.json +295 -0
  57. package/assets/skills/n8n-trigger-testing-strategies/scripts/validate-config.json +34 -0
  58. package/assets/skills/n8n-workflow-testing-fundamentals/SKILL.md +6 -0
  59. package/assets/skills/n8n-workflow-testing-fundamentals/evals/n8n-workflow-testing-fundamentals.yaml +497 -0
  60. package/assets/skills/n8n-workflow-testing-fundamentals/schemas/output.json +254 -0
  61. package/assets/skills/n8n-workflow-testing-fundamentals/scripts/validate-config.json +35 -0
  62. package/assets/skills/observability-testing-patterns/evals/observability-testing-patterns.yaml +157 -0
  63. package/assets/skills/observability-testing-patterns/schemas/output.json +58 -0
  64. package/assets/skills/observability-testing-patterns/scripts/validate-config.json +25 -0
  65. package/assets/skills/pentest-validation/scripts/validate-config.json +12 -0
  66. package/assets/skills/pr-review/SKILL.md +1 -1
  67. package/assets/skills/qcsd-cicd-swarm/evals/qcsd-cicd-swarm.yaml +211 -0
  68. package/assets/skills/qcsd-cicd-swarm/schemas/output.json +86 -0
  69. package/assets/skills/qcsd-cicd-swarm/scripts/validate-config.json +30 -0
  70. package/assets/skills/qcsd-development-swarm/evals/qcsd-development-swarm.yaml +162 -0
  71. package/assets/skills/qcsd-development-swarm/schemas/output.json +72 -0
  72. package/assets/skills/qcsd-development-swarm/scripts/validate-config.json +25 -0
  73. package/assets/skills/qcsd-ideation-swarm/evals/qcsd-ideation-swarm.yaml +138 -0
  74. package/assets/skills/qcsd-ideation-swarm/schemas/output.json +568 -0
  75. package/assets/skills/qcsd-ideation-swarm/scripts/validate-config.json +25 -0
  76. package/assets/skills/qcsd-production-swarm/SKILL.md +2781 -0
  77. package/assets/skills/qcsd-production-swarm/evals/qcsd-production-swarm.yaml +246 -0
  78. package/assets/skills/qcsd-production-swarm/schemas/output.json +505 -0
  79. package/assets/skills/qcsd-production-swarm/scripts/validate-config.json +25 -0
  80. package/assets/skills/qcsd-refinement-swarm/evals/qcsd-refinement-swarm.yaml +139 -0
  81. package/assets/skills/qcsd-refinement-swarm/schemas/output.json +811 -0
  82. package/assets/skills/qcsd-refinement-swarm/scripts/validate-config.json +25 -0
  83. package/assets/skills/security-visual-testing/scripts/validate-config.json +45 -0
  84. package/assets/skills/sherlock-review/SKILL.md +5 -0
  85. package/assets/skills/sherlock-review/schemas/output.json +297 -0
  86. package/assets/skills/sherlock-review/scripts/validate-config.json +35 -0
  87. package/assets/skills/testability-scoring/SKILL.md +5 -0
  88. package/assets/skills/testability-scoring/evals/testability-scoring.yaml +814 -0
  89. package/assets/skills/testability-scoring/schemas/output.json +606 -0
  90. package/assets/skills/testability-scoring/scripts/validate-config.json +42 -0
  91. package/assets/skills/trust-tier-manifest.json +2404 -0
  92. package/assets/skills/wms-testing-patterns/evals/wms-testing-patterns.yaml +165 -0
  93. package/assets/skills/wms-testing-patterns/schemas/output.json +150 -0
  94. package/assets/skills/wms-testing-patterns/scripts/validate-config.json +51 -0
  95. package/dist/benchmarks/performance-benchmarks.js +1 -1
  96. package/dist/cli/bundle.js +10154 -2421
  97. package/dist/cli/commands/hooks.d.ts.map +1 -1
  98. package/dist/cli/commands/hooks.js +92 -0
  99. package/dist/cli/commands/hooks.js.map +1 -1
  100. package/dist/cli/commands/migrate.js +2 -2
  101. package/dist/coordination/complexity-composition/index.d.ts +2 -0
  102. package/dist/coordination/complexity-composition/index.d.ts.map +1 -0
  103. package/dist/coordination/complexity-composition/index.js +2 -0
  104. package/dist/coordination/complexity-composition/index.js.map +1 -0
  105. package/dist/coordination/complexity-composition/team-composer.d.ts +72 -0
  106. package/dist/coordination/complexity-composition/team-composer.d.ts.map +1 -0
  107. package/dist/coordination/complexity-composition/team-composer.js +221 -0
  108. package/dist/coordination/complexity-composition/team-composer.js.map +1 -0
  109. package/dist/coordination/consensus/consensus-engine.d.ts +10 -1
  110. package/dist/coordination/consensus/consensus-engine.d.ts.map +1 -1
  111. package/dist/coordination/consensus/consensus-engine.js +31 -1
  112. package/dist/coordination/consensus/consensus-engine.js.map +1 -1
  113. package/dist/coordination/consensus/index.d.ts +1 -0
  114. package/dist/coordination/consensus/index.d.ts.map +1 -1
  115. package/dist/coordination/consensus/index.js +4 -0
  116. package/dist/coordination/consensus/index.js.map +1 -1
  117. package/dist/coordination/consensus/interfaces.d.ts +5 -0
  118. package/dist/coordination/consensus/interfaces.d.ts.map +1 -1
  119. package/dist/coordination/consensus/interfaces.js +1 -0
  120. package/dist/coordination/consensus/interfaces.js.map +1 -1
  121. package/dist/coordination/consensus/sycophancy-scorer.d.ts +62 -0
  122. package/dist/coordination/consensus/sycophancy-scorer.d.ts.map +1 -0
  123. package/dist/coordination/consensus/sycophancy-scorer.js +200 -0
  124. package/dist/coordination/consensus/sycophancy-scorer.js.map +1 -0
  125. package/dist/coordination/constants.d.ts +1 -1
  126. package/dist/coordination/constants.js +1 -1
  127. package/dist/coordination/fleet-tiers/tier-selector.d.ts +20 -0
  128. package/dist/coordination/fleet-tiers/tier-selector.d.ts.map +1 -1
  129. package/dist/coordination/fleet-tiers/tier-selector.js +31 -0
  130. package/dist/coordination/fleet-tiers/tier-selector.js.map +1 -1
  131. package/dist/coordination/fleet-tiers/types.d.ts +2 -0
  132. package/dist/coordination/fleet-tiers/types.d.ts.map +1 -1
  133. package/dist/coordination/handlers/coverage-handlers.js +1 -1
  134. package/dist/coordination/handlers/coverage-handlers.js.map +1 -1
  135. package/dist/domains/code-intelligence/services/semantic-analyzer.d.ts +1 -1
  136. package/dist/domains/code-intelligence/services/semantic-analyzer.d.ts.map +1 -1
  137. package/dist/domains/code-intelligence/services/semantic-analyzer.js +1 -1
  138. package/dist/domains/code-intelligence/services/semantic-analyzer.js.map +1 -1
  139. package/dist/domains/coverage-analysis/coordinator.js +1 -1
  140. package/dist/domains/coverage-analysis/services/coverage-analyzer.js +1 -1
  141. package/dist/domains/coverage-analysis/services/coverage-embedder.d.ts +1 -1
  142. package/dist/domains/coverage-analysis/services/coverage-embedder.js +1 -1
  143. package/dist/domains/coverage-analysis/services/gap-detector.js +1 -1
  144. package/dist/domains/coverage-analysis/services/ghost-coverage-analyzer.js +1 -1
  145. package/dist/domains/coverage-analysis/services/hnsw-index.d.ts +2 -2
  146. package/dist/domains/coverage-analysis/services/hnsw-index.js +3 -3
  147. package/dist/domains/coverage-analysis/services/sublinear-analyzer.d.ts +1 -1
  148. package/dist/domains/coverage-analysis/services/sublinear-analyzer.js +1 -1
  149. package/dist/domains/test-execution/services/test-prioritizer.js +1 -1
  150. package/dist/domains/test-generation/blind-review/blind-review-orchestrator.d.ts +65 -0
  151. package/dist/domains/test-generation/blind-review/blind-review-orchestrator.d.ts.map +1 -0
  152. package/dist/domains/test-generation/blind-review/blind-review-orchestrator.js +189 -0
  153. package/dist/domains/test-generation/blind-review/blind-review-orchestrator.js.map +1 -0
  154. package/dist/domains/test-generation/blind-review/index.d.ts +2 -0
  155. package/dist/domains/test-generation/blind-review/index.d.ts.map +1 -0
  156. package/dist/domains/test-generation/blind-review/index.js +2 -0
  157. package/dist/domains/test-generation/blind-review/index.js.map +1 -0
  158. package/dist/domains/test-generation/context/rust-context-builder.d.ts +31 -0
  159. package/dist/domains/test-generation/context/rust-context-builder.d.ts.map +1 -0
  160. package/dist/domains/test-generation/context/rust-context-builder.js +27 -0
  161. package/dist/domains/test-generation/context/rust-context-builder.js.map +1 -0
  162. package/dist/domains/test-generation/coordinator.js +3 -3
  163. package/dist/domains/test-generation/coordinator.js.map +1 -1
  164. package/dist/domains/test-generation/detectors/mobile-detector.d.ts +41 -0
  165. package/dist/domains/test-generation/detectors/mobile-detector.d.ts.map +1 -0
  166. package/dist/domains/test-generation/detectors/mobile-detector.js +111 -0
  167. package/dist/domains/test-generation/detectors/mobile-detector.js.map +1 -0
  168. package/dist/domains/test-generation/detectors/spring-detector.d.ts +22 -0
  169. package/dist/domains/test-generation/detectors/spring-detector.d.ts.map +1 -0
  170. package/dist/domains/test-generation/detectors/spring-detector.js +37 -0
  171. package/dist/domains/test-generation/detectors/spring-detector.js.map +1 -0
  172. package/dist/domains/test-generation/factories/test-generator-factory.d.ts +2 -1
  173. package/dist/domains/test-generation/factories/test-generator-factory.d.ts.map +1 -1
  174. package/dist/domains/test-generation/factories/test-generator-factory.js +33 -13
  175. package/dist/domains/test-generation/factories/test-generator-factory.js.map +1 -1
  176. package/dist/domains/test-generation/gates/index.d.ts +2 -0
  177. package/dist/domains/test-generation/gates/index.d.ts.map +1 -0
  178. package/dist/domains/test-generation/gates/index.js +2 -0
  179. package/dist/domains/test-generation/gates/index.js.map +1 -0
  180. package/dist/domains/test-generation/gates/test-quality-gate.d.ts +85 -0
  181. package/dist/domains/test-generation/gates/test-quality-gate.d.ts.map +1 -0
  182. package/dist/domains/test-generation/gates/test-quality-gate.js +320 -0
  183. package/dist/domains/test-generation/gates/test-quality-gate.js.map +1 -0
  184. package/dist/domains/test-generation/generators/flutter-test-generator.d.ts +107 -0
  185. package/dist/domains/test-generation/generators/flutter-test-generator.d.ts.map +1 -0
  186. package/dist/domains/test-generation/generators/flutter-test-generator.js +590 -0
  187. package/dist/domains/test-generation/generators/flutter-test-generator.js.map +1 -0
  188. package/dist/domains/test-generation/generators/go-test-generator.d.ts +139 -0
  189. package/dist/domains/test-generation/generators/go-test-generator.d.ts.map +1 -0
  190. package/dist/domains/test-generation/generators/go-test-generator.js +654 -0
  191. package/dist/domains/test-generation/generators/go-test-generator.js.map +1 -0
  192. package/dist/domains/test-generation/generators/index.d.ts +8 -0
  193. package/dist/domains/test-generation/generators/index.d.ts.map +1 -1
  194. package/dist/domains/test-generation/generators/index.js +8 -0
  195. package/dist/domains/test-generation/generators/index.js.map +1 -1
  196. package/dist/domains/test-generation/generators/jest-rn-generator.d.ts +95 -0
  197. package/dist/domains/test-generation/generators/jest-rn-generator.d.ts.map +1 -0
  198. package/dist/domains/test-generation/generators/jest-rn-generator.js +591 -0
  199. package/dist/domains/test-generation/generators/jest-rn-generator.js.map +1 -0
  200. package/dist/domains/test-generation/generators/junit5-generator.d.ts +107 -0
  201. package/dist/domains/test-generation/generators/junit5-generator.d.ts.map +1 -0
  202. package/dist/domains/test-generation/generators/junit5-generator.js +588 -0
  203. package/dist/domains/test-generation/generators/junit5-generator.js.map +1 -0
  204. package/dist/domains/test-generation/generators/kotlin-junit-generator.d.ts +109 -0
  205. package/dist/domains/test-generation/generators/kotlin-junit-generator.d.ts.map +1 -0
  206. package/dist/domains/test-generation/generators/kotlin-junit-generator.js +588 -0
  207. package/dist/domains/test-generation/generators/kotlin-junit-generator.js.map +1 -0
  208. package/dist/domains/test-generation/generators/pytest-generator.d.ts +8 -1
  209. package/dist/domains/test-generation/generators/pytest-generator.d.ts.map +1 -1
  210. package/dist/domains/test-generation/generators/pytest-generator.js +57 -0
  211. package/dist/domains/test-generation/generators/pytest-generator.js.map +1 -1
  212. package/dist/domains/test-generation/generators/rust-test-generator.d.ts +80 -0
  213. package/dist/domains/test-generation/generators/rust-test-generator.d.ts.map +1 -0
  214. package/dist/domains/test-generation/generators/rust-test-generator.js +442 -0
  215. package/dist/domains/test-generation/generators/rust-test-generator.js.map +1 -0
  216. package/dist/domains/test-generation/generators/swift-testing-generator.d.ts +97 -0
  217. package/dist/domains/test-generation/generators/swift-testing-generator.d.ts.map +1 -0
  218. package/dist/domains/test-generation/generators/swift-testing-generator.js +482 -0
  219. package/dist/domains/test-generation/generators/swift-testing-generator.js.map +1 -0
  220. package/dist/domains/test-generation/generators/xunit-generator.d.ts +110 -0
  221. package/dist/domains/test-generation/generators/xunit-generator.d.ts.map +1 -0
  222. package/dist/domains/test-generation/generators/xunit-generator.js +611 -0
  223. package/dist/domains/test-generation/generators/xunit-generator.js.map +1 -0
  224. package/dist/domains/test-generation/interfaces.d.ts +14 -2
  225. package/dist/domains/test-generation/interfaces.d.ts.map +1 -1
  226. package/dist/domains/test-generation/pattern-injection/edge-case-injector.d.ts +68 -0
  227. package/dist/domains/test-generation/pattern-injection/edge-case-injector.d.ts.map +1 -0
  228. package/dist/domains/test-generation/pattern-injection/edge-case-injector.js +225 -0
  229. package/dist/domains/test-generation/pattern-injection/edge-case-injector.js.map +1 -0
  230. package/dist/domains/test-generation/pattern-injection/index.d.ts +2 -0
  231. package/dist/domains/test-generation/pattern-injection/index.d.ts.map +1 -0
  232. package/dist/domains/test-generation/pattern-injection/index.js +2 -0
  233. package/dist/domains/test-generation/pattern-injection/index.js.map +1 -0
  234. package/dist/domains/test-generation/prompts/language-prompts.d.ts +29 -0
  235. package/dist/domains/test-generation/prompts/language-prompts.d.ts.map +1 -0
  236. package/dist/domains/test-generation/prompts/language-prompts.js +135 -0
  237. package/dist/domains/test-generation/prompts/language-prompts.js.map +1 -0
  238. package/dist/domains/test-generation/services/compilation-validator.d.ts +43 -0
  239. package/dist/domains/test-generation/services/compilation-validator.d.ts.map +1 -0
  240. package/dist/domains/test-generation/services/compilation-validator.js +134 -0
  241. package/dist/domains/test-generation/services/compilation-validator.js.map +1 -0
  242. package/dist/domains/test-generation/services/index.d.ts +2 -1
  243. package/dist/domains/test-generation/services/index.d.ts.map +1 -1
  244. package/dist/domains/test-generation/services/index.js +3 -1
  245. package/dist/domains/test-generation/services/index.js.map +1 -1
  246. package/dist/domains/test-generation/services/test-file-resolver.d.ts +32 -0
  247. package/dist/domains/test-generation/services/test-file-resolver.d.ts.map +1 -0
  248. package/dist/domains/test-generation/services/test-file-resolver.js +159 -0
  249. package/dist/domains/test-generation/services/test-file-resolver.js.map +1 -0
  250. package/dist/domains/test-generation/services/test-generator.d.ts +16 -0
  251. package/dist/domains/test-generation/services/test-generator.d.ts.map +1 -1
  252. package/dist/domains/test-generation/services/test-generator.js +116 -10
  253. package/dist/domains/test-generation/services/test-generator.js.map +1 -1
  254. package/dist/governance/feature-flags.js +2 -2
  255. package/dist/governance/feature-flags.js.map +1 -1
  256. package/dist/governance/shard-embeddings.js +1 -1
  257. package/dist/init/init-wizard-hooks.d.ts.map +1 -1
  258. package/dist/init/init-wizard-hooks.js +0 -1
  259. package/dist/init/init-wizard-hooks.js.map +1 -1
  260. package/dist/init/phases/07-hooks.d.ts.map +1 -1
  261. package/dist/init/phases/07-hooks.js +0 -2
  262. package/dist/init/phases/07-hooks.js.map +1 -1
  263. package/dist/init/phases/08-mcp.d.ts +8 -4
  264. package/dist/init/phases/08-mcp.d.ts.map +1 -1
  265. package/dist/init/phases/08-mcp.js +13 -31
  266. package/dist/init/phases/08-mcp.js.map +1 -1
  267. package/dist/init/phases/10-workers.js +2 -2
  268. package/dist/init/phases/10-workers.js.map +1 -1
  269. package/dist/init/settings-merge.d.ts.map +1 -1
  270. package/dist/init/settings-merge.js +0 -2
  271. package/dist/init/settings-merge.js.map +1 -1
  272. package/dist/init/token-bootstrap.js +1 -1
  273. package/dist/init/token-bootstrap.js.map +1 -1
  274. package/dist/integrations/agentic-flow/reasoning-bank/experience-replay.d.ts +8 -2
  275. package/dist/integrations/agentic-flow/reasoning-bank/experience-replay.d.ts.map +1 -1
  276. package/dist/integrations/agentic-flow/reasoning-bank/experience-replay.js +62 -38
  277. package/dist/integrations/agentic-flow/reasoning-bank/experience-replay.js.map +1 -1
  278. package/dist/integrations/rl-suite/algorithms/decision-transformer.js +1 -1
  279. package/dist/kernel/constants.d.ts +2 -2
  280. package/dist/kernel/constants.js +2 -2
  281. package/dist/kernel/hnsw-adapter.js +1 -1
  282. package/dist/kernel/progressive-hnsw-backend.d.ts +2 -2
  283. package/dist/kernel/progressive-hnsw-backend.js +2 -2
  284. package/dist/learning/dream/concept-graph.d.ts +1 -1
  285. package/dist/learning/dream/concept-graph.js +1 -1
  286. package/dist/learning/dream/dream-engine.d.ts +1 -1
  287. package/dist/learning/dream/dream-engine.js +1 -1
  288. package/dist/learning/dream/index.d.ts +1 -1
  289. package/dist/learning/dream/index.js +1 -1
  290. package/dist/learning/dream/types.d.ts +1 -1
  291. package/dist/learning/dream/types.d.ts.map +1 -1
  292. package/dist/learning/dream/types.js +1 -1
  293. package/dist/learning/dream/types.js.map +1 -1
  294. package/dist/learning/experience-capture.d.ts +12 -2
  295. package/dist/learning/experience-capture.d.ts.map +1 -1
  296. package/dist/learning/experience-capture.js +28 -35
  297. package/dist/learning/experience-capture.js.map +1 -1
  298. package/dist/learning/experience-consolidation.d.ts +74 -0
  299. package/dist/learning/experience-consolidation.d.ts.map +1 -0
  300. package/dist/learning/experience-consolidation.js +403 -0
  301. package/dist/learning/experience-consolidation.js.map +1 -0
  302. package/dist/learning/token-tracker.js +1 -1
  303. package/dist/learning/token-tracker.js.map +1 -1
  304. package/dist/mcp/bundle.js +9453 -1166
  305. package/dist/routing/calibration/ema-calibrator.d.ts +93 -0
  306. package/dist/routing/calibration/ema-calibrator.d.ts.map +1 -0
  307. package/dist/routing/calibration/ema-calibrator.js +140 -0
  308. package/dist/routing/calibration/ema-calibrator.js.map +1 -0
  309. package/dist/routing/calibration/index.d.ts +2 -0
  310. package/dist/routing/calibration/index.d.ts.map +1 -0
  311. package/dist/routing/calibration/index.js +2 -0
  312. package/dist/routing/calibration/index.js.map +1 -0
  313. package/dist/routing/escalation/auto-escalation-tracker.d.ts +62 -0
  314. package/dist/routing/escalation/auto-escalation-tracker.d.ts.map +1 -0
  315. package/dist/routing/escalation/auto-escalation-tracker.js +116 -0
  316. package/dist/routing/escalation/auto-escalation-tracker.js.map +1 -0
  317. package/dist/routing/escalation/index.d.ts +2 -0
  318. package/dist/routing/escalation/index.d.ts.map +1 -0
  319. package/dist/routing/escalation/index.js +2 -0
  320. package/dist/routing/escalation/index.js.map +1 -0
  321. package/dist/routing/index.d.ts +4 -0
  322. package/dist/routing/index.d.ts.map +1 -1
  323. package/dist/routing/index.js +4 -0
  324. package/dist/routing/index.js.map +1 -1
  325. package/dist/routing/qe-agent-registry.js +4 -4
  326. package/dist/routing/qe-agent-registry.js.map +1 -1
  327. package/dist/routing/routing-config.d.ts +4 -0
  328. package/dist/routing/routing-config.d.ts.map +1 -1
  329. package/dist/routing/routing-config.js +2 -0
  330. package/dist/routing/routing-config.js.map +1 -1
  331. package/dist/routing/routing-feedback.d.ts +35 -2
  332. package/dist/routing/routing-feedback.d.ts.map +1 -1
  333. package/dist/routing/routing-feedback.js +97 -3
  334. package/dist/routing/routing-feedback.js.map +1 -1
  335. package/dist/routing/types.d.ts +7 -8
  336. package/dist/routing/types.d.ts.map +1 -1
  337. package/dist/routing/types.js.map +1 -1
  338. package/dist/shared/embeddings/embedding-cache.js +2 -2
  339. package/dist/shared/embeddings/index.d.ts +2 -2
  340. package/dist/shared/embeddings/index.js +2 -2
  341. package/dist/shared/embeddings/nomic-embedder.d.ts +4 -4
  342. package/dist/shared/embeddings/nomic-embedder.js +2 -2
  343. package/dist/shared/embeddings/ollama-client.d.ts +1 -1
  344. package/dist/shared/embeddings/ollama-client.js +2 -2
  345. package/dist/shared/embeddings/ollama-client.js.map +1 -1
  346. package/dist/shared/embeddings/types.d.ts +2 -2
  347. package/dist/shared/embeddings/types.js +2 -2
  348. package/dist/shared/language-detector.d.ts +46 -0
  349. package/dist/shared/language-detector.d.ts.map +1 -0
  350. package/dist/shared/language-detector.js +183 -0
  351. package/dist/shared/language-detector.js.map +1 -0
  352. package/dist/shared/llm/providers/ollama.js +1 -1
  353. package/dist/shared/metrics/code-metrics.d.ts.map +1 -1
  354. package/dist/shared/metrics/code-metrics.js +24 -1
  355. package/dist/shared/metrics/code-metrics.js.map +1 -1
  356. package/dist/shared/parsers/index.d.ts +2 -0
  357. package/dist/shared/parsers/index.d.ts.map +1 -1
  358. package/dist/shared/parsers/index.js +2 -0
  359. package/dist/shared/parsers/index.js.map +1 -1
  360. package/dist/shared/parsers/interfaces.d.ts +81 -0
  361. package/dist/shared/parsers/interfaces.d.ts.map +1 -0
  362. package/dist/shared/parsers/interfaces.js +6 -0
  363. package/dist/shared/parsers/interfaces.js.map +1 -0
  364. package/dist/shared/parsers/multi-language-parser.d.ts +144 -0
  365. package/dist/shared/parsers/multi-language-parser.d.ts.map +1 -0
  366. package/dist/shared/parsers/multi-language-parser.js +1232 -0
  367. package/dist/shared/parsers/multi-language-parser.js.map +1 -0
  368. package/dist/shared/parsers/rust-ownership-analyzer.d.ts +45 -0
  369. package/dist/shared/parsers/rust-ownership-analyzer.d.ts.map +1 -0
  370. package/dist/shared/parsers/rust-ownership-analyzer.js +52 -0
  371. package/dist/shared/parsers/rust-ownership-analyzer.js.map +1 -0
  372. package/dist/shared/parsers/typescript-parser.d.ts +16 -0
  373. package/dist/shared/parsers/typescript-parser.d.ts.map +1 -1
  374. package/dist/shared/parsers/typescript-parser.js +85 -0
  375. package/dist/shared/parsers/typescript-parser.js.map +1 -1
  376. package/dist/shared/types/test-frameworks.d.ts +25 -0
  377. package/dist/shared/types/test-frameworks.d.ts.map +1 -0
  378. package/dist/shared/types/test-frameworks.js +111 -0
  379. package/dist/shared/types/test-frameworks.js.map +1 -0
  380. package/dist/workers/workers/learning-consolidation.d.ts.map +1 -1
  381. package/dist/workers/workers/learning-consolidation.js +32 -0
  382. package/dist/workers/workers/learning-consolidation.js.map +1 -1
  383. package/package.json +1 -1
  384. package/scripts/prepare-assets.sh +8 -2
@@ -21,7 +21,7 @@ import { CoverageVectorMetadata } from './hnsw-index';
21
21
  * Configuration for coverage embedding generation
22
22
  */
23
23
  export interface CoverageEmbedderConfig {
24
- /** Number of dimensions for the embedding (default: 768) */
24
+ /** Number of dimensions for the embedding (default: 384) */
25
25
  dimensions: number;
26
26
  /** Include file path features in embedding */
27
27
  includePathFeatures: boolean;
@@ -19,7 +19,7 @@
19
19
  * Default embedder configuration
20
20
  */
21
21
  export const DEFAULT_EMBEDDER_CONFIG = {
22
- dimensions: 768,
22
+ dimensions: 384,
23
23
  includePathFeatures: true,
24
24
  includeTemporalFeatures: true,
25
25
  normalization: 'l2',
@@ -18,7 +18,7 @@ const DEFAULT_CONFIG = {
18
18
  // ============================================================================
19
19
  export class GapDetectorService {
20
20
  static DEFAULT_MIN_COVERAGE = 80;
21
- static VECTOR_DIMENSION = 768;
21
+ static VECTOR_DIMENSION = 384;
22
22
  memory;
23
23
  config;
24
24
  llmRouter;
@@ -15,7 +15,7 @@ const ALL_CATEGORIES = [
15
15
  'missing-integration-contract', 'absent-edge-case', 'missing-security-check',
16
16
  ];
17
17
  const DEFAULT_CONFIG = {
18
- dimensions: 768, minConfidence: 0.3, maxGaps: 50,
18
+ dimensions: 384, minConfidence: 0.3, maxGaps: 50,
19
19
  riskWeight: 0.6, distanceWeight: 0.4,
20
20
  namespace: 'ghost-surface', idealSurfaceDecay: 0.95,
21
21
  };
@@ -23,7 +23,7 @@ import { MemoryBackend } from '../../../kernel/interfaces';
23
23
  * HNSW index configuration options
24
24
  */
25
25
  export interface HNSWIndexConfig {
26
- /** Number of dimensions for vectors (default: 768) */
26
+ /** Number of dimensions for vectors (default: 384) */
27
27
  dimensions: number;
28
28
  /** Number of neighbors per node (default: 16) */
29
29
  M: number;
@@ -237,7 +237,7 @@ export declare class HNSWIndex implements IHNSWIndex {
237
237
  clear(): Promise<void>;
238
238
  /**
239
239
  * Validate and auto-resize vectors to match HNSW configured dimensions.
240
- * Fix #279: Prevents Rust WASM panic when RealEmbeddings (768-dim) are
240
+ * Fix #279: Prevents Rust WASM panic when mismatched-dim embeddings are
241
241
  * passed to a mismatched-dim HNSW index.
242
242
  *
243
243
  * Note: ProgressiveHnswBackend also handles dimension auto-resize internally,
@@ -24,7 +24,7 @@ import { secureRandom } from '../../../shared/utils/crypto-random.js';
24
24
  * Default HNSW configuration optimized for coverage analysis
25
25
  */
26
26
  export const DEFAULT_HNSW_CONFIG = {
27
- dimensions: 768,
27
+ dimensions: 384,
28
28
  M: 16,
29
29
  efConstruction: 200,
30
30
  efSearch: 100,
@@ -252,7 +252,7 @@ export class HNSWIndex {
252
252
  // ============================================================================
253
253
  /**
254
254
  * Validate and auto-resize vectors to match HNSW configured dimensions.
255
- * Fix #279: Prevents Rust WASM panic when RealEmbeddings (768-dim) are
255
+ * Fix #279: Prevents Rust WASM panic when mismatched-dim embeddings are
256
256
  * passed to a mismatched-dim HNSW index.
257
257
  *
258
258
  * Note: ProgressiveHnswBackend also handles dimension auto-resize internally,
@@ -364,7 +364,7 @@ export function createHNSWIndex(memory, config) {
364
364
  * @returns Benchmark results including backend type
365
365
  */
366
366
  export async function benchmarkHNSW(index, vectorCount = 10000, searchCount = 1000) {
367
- const dimensions = 768;
367
+ const dimensions = 384;
368
368
  const startInsert = performance.now();
369
369
  // Insert vectors
370
370
  for (let i = 0; i < vectorCount; i++) {
@@ -36,7 +36,7 @@ export interface SublinearAnalyzerConfig {
36
36
  autoIndex: boolean;
37
37
  /** Batch size for bulk operations (default: 100) */
38
38
  batchSize: number;
39
- /** Vector dimensions for embeddings (default: 768) */
39
+ /** Vector dimensions for embeddings (default: 384) */
40
40
  dimensions: number;
41
41
  }
42
42
  /**
@@ -30,7 +30,7 @@ export const DEFAULT_ANALYZER_CONFIG = {
30
30
  maxResults: 100,
31
31
  autoIndex: true,
32
32
  batchSize: 100,
33
- dimensions: 768,
33
+ dimensions: 384,
34
34
  };
35
35
  // ============================================================================
36
36
  // Sublinear Coverage Analyzer Implementation
@@ -16,7 +16,7 @@ const DEFAULT_CONFIG = {
16
16
  enableAutoTraining: true,
17
17
  trainingInterval: 10,
18
18
  contextLength: 10,
19
- embeddingDim: 768,
19
+ embeddingDim: 384,
20
20
  };
21
21
  // ============================================================================
22
22
  // Test Prioritizer Service
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Blind Review Orchestrator for Test Generation
3
+ * Inspired by loki-mode blind review pattern
4
+ *
5
+ * Runs N independent test generation passes in parallel with varied
6
+ * temperatures, then deduplicates using Jaccard similarity on tokenized
7
+ * assertions to maximize test diversity.
8
+ */
9
+ import { Result } from '../../../shared/types/index.js';
10
+ import type { ITestGenerationService } from '../services/test-generator.js';
11
+ import type { IGenerateTestsRequest, IGeneratedTest } from '../interfaces.js';
12
+ export interface BlindReviewConfig {
13
+ /** Number of independent reviewers to run in parallel */
14
+ reviewerCount: number;
15
+ /** Jaccard similarity threshold for deduplication (0-1) */
16
+ deduplicationThreshold: number;
17
+ /** Timeout per reviewer in milliseconds */
18
+ timeoutMs: number;
19
+ /** Whether to vary temperatures across reviewers */
20
+ varyTemperatures: boolean;
21
+ /** Temperature values for each reviewer */
22
+ temperatures: number[];
23
+ }
24
+ export interface ReviewerOutput {
25
+ reviewerId: string;
26
+ tests: IGeneratedTest[];
27
+ durationMs: number;
28
+ }
29
+ export interface BlindReviewStats {
30
+ totalGenerated: number;
31
+ afterDedup: number;
32
+ uniquenessScore: number;
33
+ }
34
+ export interface BlindReviewResult {
35
+ mergedTests: IGeneratedTest[];
36
+ reviewerOutputs: ReviewerOutput[];
37
+ stats: BlindReviewStats;
38
+ }
39
+ /**
40
+ * Tokenize code into a set of meaningful tokens.
41
+ * Strips whitespace, splits on non-alphanumeric boundaries,
42
+ * and filters tokens shorter than 3 characters.
43
+ */
44
+ export declare function tokenize(code: string): Set<string>;
45
+ /**
46
+ * Compute Jaccard similarity between two token sets.
47
+ * Returns 0 if both sets are empty.
48
+ */
49
+ export declare function jaccardSimilarity(a: Set<string>, b: Set<string>): number;
50
+ /**
51
+ * Deduplicate tests using Jaccard similarity on tokenized test code.
52
+ * Groups tests by target file, then within each group keeps the
53
+ * test with the most assertions from each similarity cluster.
54
+ */
55
+ export declare function deduplicateTests(tests: IGeneratedTest[], threshold: number): IGeneratedTest[];
56
+ export declare class BlindReviewOrchestrator {
57
+ private readonly service;
58
+ constructor(service: ITestGenerationService);
59
+ /**
60
+ * Run blind review: N independent generation passes in parallel,
61
+ * then deduplicate and merge results.
62
+ */
63
+ generateWithBlindReview(request: IGenerateTestsRequest, config?: Partial<BlindReviewConfig>): Promise<Result<BlindReviewResult, Error>>;
64
+ }
65
+ //# sourceMappingURL=blind-review-orchestrator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blind-review-orchestrator.d.ts","sourceRoot":"","sources":["../../../../src/domains/test-generation/blind-review/blind-review-orchestrator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,MAAM,EAAW,MAAM,gCAAgC,CAAC;AACjE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,KAAK,EACV,qBAAqB,EACrB,cAAc,EACf,MAAM,kBAAkB,CAAC;AAM1B,MAAM,WAAW,iBAAiB;IAChC,yDAAyD;IACzD,aAAa,EAAE,MAAM,CAAC;IACtB,2DAA2D;IAC3D,sBAAsB,EAAE,MAAM,CAAC;IAC/B,2CAA2C;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,oDAAoD;IACpD,gBAAgB,EAAE,OAAO,CAAC;IAC1B,2CAA2C;IAC3C,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAcD,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,cAAc,EAAE,CAAC;IAC9B,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,KAAK,EAAE,gBAAgB,CAAC;CACzB;AAMD;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAOlD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,CAexE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,cAAc,EAAE,EACvB,SAAS,EAAE,MAAM,GAChB,cAAc,EAAE,CA+ClB;AA6BD,qBAAa,uBAAuB;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,sBAAsB;IAE5D;;;OAGG;IACG,uBAAuB,CAC3B,OAAO,EAAE,qBAAqB,EAC9B,MAAM,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAClC,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;CAqF7C"}
@@ -0,0 +1,189 @@
1
+ /**
2
+ * Blind Review Orchestrator for Test Generation
3
+ * Inspired by loki-mode blind review pattern
4
+ *
5
+ * Runs N independent test generation passes in parallel with varied
6
+ * temperatures, then deduplicates using Jaccard similarity on tokenized
7
+ * assertions to maximize test diversity.
8
+ */
9
+ import { ok, err } from '../../../shared/types/index.js';
10
+ const DEFAULT_CONFIG = {
11
+ reviewerCount: 3,
12
+ deduplicationThreshold: 0.8,
13
+ timeoutMs: 30000,
14
+ varyTemperatures: true,
15
+ temperatures: [0.2, 0.5, 0.8],
16
+ };
17
+ // ============================================================================
18
+ // Tokenization & Jaccard Similarity
19
+ // ============================================================================
20
+ /**
21
+ * Tokenize code into a set of meaningful tokens.
22
+ * Strips whitespace, splits on non-alphanumeric boundaries,
23
+ * and filters tokens shorter than 3 characters.
24
+ */
25
+ export function tokenize(code) {
26
+ return new Set(code
27
+ .replace(/\s+/g, ' ')
28
+ .split(/[^a-zA-Z0-9_]+/)
29
+ .filter((t) => t.length > 2));
30
+ }
31
+ /**
32
+ * Compute Jaccard similarity between two token sets.
33
+ * Returns 0 if both sets are empty.
34
+ */
35
+ export function jaccardSimilarity(a, b) {
36
+ if (a.size === 0 && b.size === 0)
37
+ return 0;
38
+ let intersectionSize = 0;
39
+ const smaller = a.size <= b.size ? a : b;
40
+ const larger = a.size <= b.size ? b : a;
41
+ for (const token of smaller) {
42
+ if (larger.has(token)) {
43
+ intersectionSize++;
44
+ }
45
+ }
46
+ const unionSize = a.size + b.size - intersectionSize;
47
+ return unionSize === 0 ? 0 : intersectionSize / unionSize;
48
+ }
49
+ /**
50
+ * Deduplicate tests using Jaccard similarity on tokenized test code.
51
+ * Groups tests by target file, then within each group keeps the
52
+ * test with the most assertions from each similarity cluster.
53
+ */
54
+ export function deduplicateTests(tests, threshold) {
55
+ if (tests.length === 0)
56
+ return [];
57
+ // Group by source file
58
+ const bySource = new Map();
59
+ for (const test of tests) {
60
+ const key = test.sourceFile || '__ungrouped__';
61
+ const group = bySource.get(key) || [];
62
+ group.push(test);
63
+ bySource.set(key, group);
64
+ }
65
+ const deduplicated = [];
66
+ for (const group of bySource.values()) {
67
+ const tokenSets = group.map((t) => tokenize(t.testCode));
68
+ const used = new Set();
69
+ for (let i = 0; i < group.length; i++) {
70
+ if (used.has(i))
71
+ continue;
72
+ // Start a cluster with this test
73
+ const cluster = [i];
74
+ used.add(i);
75
+ for (let j = i + 1; j < group.length; j++) {
76
+ if (used.has(j))
77
+ continue;
78
+ const similarity = jaccardSimilarity(tokenSets[i], tokenSets[j]);
79
+ if (similarity >= threshold) {
80
+ cluster.push(j);
81
+ used.add(j);
82
+ }
83
+ }
84
+ // Keep the test with the most assertions from the cluster
85
+ let best = cluster[0];
86
+ for (const idx of cluster) {
87
+ if (group[idx].assertions > group[best].assertions) {
88
+ best = idx;
89
+ }
90
+ }
91
+ deduplicated.push(group[best]);
92
+ }
93
+ }
94
+ return deduplicated;
95
+ }
96
+ // ============================================================================
97
+ // Orchestrator
98
+ // ============================================================================
99
+ /**
100
+ * Wraps a promise with a timeout. Rejects if the promise does not
101
+ * settle within the given number of milliseconds.
102
+ */
103
+ function withTimeout(promise, ms) {
104
+ return new Promise((resolve, reject) => {
105
+ const timer = setTimeout(() => reject(new Error(`Reviewer timed out after ${ms}ms`)), ms);
106
+ promise.then((value) => {
107
+ clearTimeout(timer);
108
+ resolve(value);
109
+ }, (reason) => {
110
+ clearTimeout(timer);
111
+ reject(reason);
112
+ });
113
+ });
114
+ }
115
+ export class BlindReviewOrchestrator {
116
+ service;
117
+ constructor(service) {
118
+ this.service = service;
119
+ }
120
+ /**
121
+ * Run blind review: N independent generation passes in parallel,
122
+ * then deduplicate and merge results.
123
+ */
124
+ async generateWithBlindReview(request, config) {
125
+ const cfg = { ...DEFAULT_CONFIG, ...config };
126
+ if (cfg.reviewerCount < 1) {
127
+ return err(new Error('reviewerCount must be at least 1'));
128
+ }
129
+ // Launch N parallel reviewers with varied temperatures
130
+ const reviewerPromises = Array.from({ length: cfg.reviewerCount }, (_, i) => {
131
+ const reviewerId = `reviewer-${i}`;
132
+ const start = Date.now();
133
+ // Vary the request per reviewer: each gets a different temperature
134
+ // to encourage diverse test generation outputs
135
+ const reviewerRequest = { ...request };
136
+ if (cfg.varyTemperatures && cfg.temperatures.length > 0) {
137
+ const temperature = cfg.temperatures[i % cfg.temperatures.length];
138
+ // Attach temperature hint as pattern metadata that the generator can use
139
+ reviewerRequest.patterns = [
140
+ ...(request.patterns ?? []),
141
+ `__blind_review_temperature:${temperature}`,
142
+ ];
143
+ }
144
+ const genPromise = this.service
145
+ .generateTests(reviewerRequest)
146
+ .then((result) => {
147
+ const durationMs = Date.now() - start;
148
+ if (result.success) {
149
+ return {
150
+ reviewerId,
151
+ tests: result.value.tests,
152
+ durationMs,
153
+ };
154
+ }
155
+ return { reviewerId, tests: [], durationMs };
156
+ });
157
+ return withTimeout(genPromise, cfg.timeoutMs).catch(() => ({
158
+ reviewerId,
159
+ tests: [],
160
+ durationMs: Date.now() - start,
161
+ }));
162
+ });
163
+ const reviewerOutputs = await Promise.allSettled(reviewerPromises);
164
+ // Collect fulfilled results
165
+ const outputs = reviewerOutputs
166
+ .filter((r) => r.status === 'fulfilled')
167
+ .map((r) => r.value);
168
+ // Gather all tests
169
+ const allTests = outputs.flatMap((o) => o.tests);
170
+ if (allTests.length === 0) {
171
+ return err(new Error('All reviewers failed to generate tests'));
172
+ }
173
+ // Deduplicate
174
+ const mergedTests = deduplicateTests(allTests, cfg.deduplicationThreshold);
175
+ const totalGenerated = allTests.length;
176
+ const afterDedup = mergedTests.length;
177
+ const uniquenessScore = totalGenerated === 0 ? 0 : afterDedup / totalGenerated;
178
+ return ok({
179
+ mergedTests,
180
+ reviewerOutputs: outputs,
181
+ stats: {
182
+ totalGenerated,
183
+ afterDedup,
184
+ uniquenessScore,
185
+ },
186
+ });
187
+ }
188
+ }
189
+ //# sourceMappingURL=blind-review-orchestrator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blind-review-orchestrator.js","sourceRoot":"","sources":["../../../../src/domains/test-generation/blind-review/blind-review-orchestrator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAU,EAAE,EAAE,GAAG,EAAE,MAAM,gCAAgC,CAAC;AAwBjE,MAAM,cAAc,GAAsB;IACxC,aAAa,EAAE,CAAC;IAChB,sBAAsB,EAAE,GAAG;IAC3B,SAAS,EAAE,KAAK;IAChB,gBAAgB,EAAE,IAAI;IACtB,YAAY,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;CAC9B,CAAC;AAwBF,+EAA+E;AAC/E,oCAAoC;AACpC,+EAA+E;AAE/E;;;;GAIG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAY;IACnC,OAAO,IAAI,GAAG,CACZ,IAAI;SACD,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,KAAK,CAAC,gBAAgB,CAAC;SACvB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAC/B,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,CAAc,EAAE,CAAc;IAC9D,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAE3C,IAAI,gBAAgB,GAAG,CAAC,CAAC;IACzB,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAExC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACtB,gBAAgB,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,GAAG,gBAAgB,CAAC;IACrD,OAAO,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,GAAG,SAAS,CAAC;AAC5D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAC9B,KAAuB,EACvB,SAAiB;IAEjB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAElC,uBAAuB;IACvB,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA4B,CAAC;IACrD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,IAAI,eAAe,CAAC;QAC/C,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED,MAAM,YAAY,GAAqB,EAAE,CAAC;IAE1C,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;QACtC,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QACzD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAE/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;gBAAE,SAAS;YAE1B,iCAAiC;YACjC,MAAM,OAAO,GAAa,CAAC,CAAC,CAAC,CAAC;YAC9B,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAEZ,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC1C,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;oBAAE,SAAS;gBAE1B,MAAM,UAAU,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjE,IAAI,UAAU,IAAI,SAAS,EAAE,CAAC;oBAC5B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAChB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACd,CAAC;YACH,CAAC;YAED,0DAA0D;YAC1D,IAAI,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACtB,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;gBAC1B,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;oBACnD,IAAI,GAAG,GAAG,CAAC;gBACb,CAAC;YACH,CAAC;YACD,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,+EAA+E;AAC/E,eAAe;AACf,+EAA+E;AAE/E;;;GAGG;AACH,SAAS,WAAW,CAAI,OAAmB,EAAE,EAAU;IACrD,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACxC,MAAM,KAAK,GAAG,UAAU,CACtB,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,4BAA4B,EAAE,IAAI,CAAC,CAAC,EAC3D,EAAE,CACH,CAAC;QACF,OAAO,CAAC,IAAI,CACV,CAAC,KAAK,EAAE,EAAE;YACR,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC,EACD,CAAC,MAAM,EAAE,EAAE;YACT,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,MAAM,CAAC,MAAM,CAAC,CAAC;QACjB,CAAC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,OAAO,uBAAuB;IACL;IAA7B,YAA6B,OAA+B;QAA/B,YAAO,GAAP,OAAO,CAAwB;IAAG,CAAC;IAEhE;;;OAGG;IACH,KAAK,CAAC,uBAAuB,CAC3B,OAA8B,EAC9B,MAAmC;QAEnC,MAAM,GAAG,GAAsB,EAAE,GAAG,cAAc,EAAE,GAAG,MAAM,EAAE,CAAC;QAEhE,IAAI,GAAG,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;YAC1B,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC,CAAC;QAC5D,CAAC;QAED,uDAAuD;QACvD,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CACjC,EAAE,MAAM,EAAE,GAAG,CAAC,aAAa,EAAE,EAC7B,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACP,MAAM,UAAU,GAAG,YAAY,CAAC,EAAE,CAAC;YACnC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAEzB,mEAAmE;YACnE,+CAA+C;YAC/C,MAAM,eAAe,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;YACvC,IAAI,GAAG,CAAC,gBAAgB,IAAI,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxD,MAAM,WAAW,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,GAAG,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;gBAClE,yEAAyE;gBACzE,eAAe,CAAC,QAAQ,GAAG;oBACzB,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;oBAC3B,8BAA8B,WAAW,EAAE;iBAC5C,CAAC;YACJ,CAAC;YAED,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO;iBAC5B,aAAa,CAAC,eAAe,CAAC;iBAC9B,IAAI,CAAC,CAAC,MAAM,EAAkB,EAAE;gBAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;gBACtC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnB,OAAO;wBACL,UAAU;wBACV,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK;wBACzB,UAAU;qBACX,CAAC;gBACJ,CAAC;gBACD,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC;YAC/C,CAAC,CAAC,CAAC;YAEL,OAAO,WAAW,CAAC,UAAU,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,KAAK,CACjD,GAAmB,EAAE,CAAC,CAAC;gBACrB,UAAU;gBACV,KAAK,EAAE,EAAE;gBACT,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;aAC/B,CAAC,CACH,CAAC;QACJ,CAAC,CACF,CAAC;QAEF,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;QAEnE,4BAA4B;QAC5B,MAAM,OAAO,GAAqB,eAAe;aAC9C,MAAM,CACL,CAAC,CAAC,EAA+C,EAAE,CACjD,CAAC,CAAC,MAAM,KAAK,WAAW,CAC3B;aACA,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAEvB,mBAAmB;QACnB,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAEjD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC,CAAC;QAClE,CAAC;QAED,cAAc;QACd,MAAM,WAAW,GAAG,gBAAgB,CAAC,QAAQ,EAAE,GAAG,CAAC,sBAAsB,CAAC,CAAC;QAE3E,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC;QACvC,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC;QACtC,MAAM,eAAe,GACnB,cAAc,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,cAAc,CAAC;QAEzD,OAAO,EAAE,CAAC;YACR,WAAW;YACX,eAAe,EAAE,OAAO;YACxB,KAAK,EAAE;gBACL,cAAc;gBACd,UAAU;gBACV,eAAe;aAChB;SACF,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -0,0 +1,2 @@
1
+ export { BlindReviewOrchestrator, tokenize, jaccardSimilarity, deduplicateTests, type BlindReviewConfig, type BlindReviewResult, type BlindReviewStats, type ReviewerOutput, } from './blind-review-orchestrator.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/domains/test-generation/blind-review/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,QAAQ,EACR,iBAAiB,EACjB,gBAAgB,EAChB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,cAAc,GACpB,MAAM,gCAAgC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { BlindReviewOrchestrator, tokenize, jaccardSimilarity, deduplicateTests, } from './blind-review-orchestrator.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/domains/test-generation/blind-review/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,QAAQ,EACR,iBAAiB,EACjB,gBAAgB,GAKjB,MAAM,gCAAgC,CAAC"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Rust Context Builder
3
+ * Builds test context with ownership-aware patterns for Rust test generation.
4
+ *
5
+ * Determines which crate dependencies (tokio, mockall) are needed and
6
+ * whether `use super::*` should be emitted for inline test modules.
7
+ *
8
+ * @module test-generation/context
9
+ */
10
+ export interface RustTestContext {
11
+ /** Whether to emit `use super::*;` (true for inline test modules) */
12
+ useSuper: boolean;
13
+ /** Whether async functions require `#[tokio::test]` */
14
+ needsTokio: boolean;
15
+ /** Whether trait mocking via mockall is needed */
16
+ needsMockall: boolean;
17
+ /** List of trait names that need `#[automock]` */
18
+ traitMocks: string[];
19
+ }
20
+ /**
21
+ * Build a RustTestContext from a list of parsed function signatures.
22
+ *
23
+ * @param functions - Array of function metadata (name, isAsync, decorators)
24
+ * @returns Context object describing crate/feature requirements
25
+ */
26
+ export declare function buildRustTestContext(functions: Array<{
27
+ name: string;
28
+ isAsync: boolean;
29
+ decorators: string[];
30
+ }>): RustTestContext;
31
+ //# sourceMappingURL=rust-context-builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rust-context-builder.d.ts","sourceRoot":"","sources":["../../../../src/domains/test-generation/context/rust-context-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,WAAW,eAAe;IAC9B,qEAAqE;IACrE,QAAQ,EAAE,OAAO,CAAC;IAClB,uDAAuD;IACvD,UAAU,EAAE,OAAO,CAAC;IACpB,kDAAkD;IAClD,YAAY,EAAE,OAAO,CAAC;IACtB,kDAAkD;IAClD,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,GACzE,eAAe,CAWjB"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Rust Context Builder
3
+ * Builds test context with ownership-aware patterns for Rust test generation.
4
+ *
5
+ * Determines which crate dependencies (tokio, mockall) are needed and
6
+ * whether `use super::*` should be emitted for inline test modules.
7
+ *
8
+ * @module test-generation/context
9
+ */
10
+ /**
11
+ * Build a RustTestContext from a list of parsed function signatures.
12
+ *
13
+ * @param functions - Array of function metadata (name, isAsync, decorators)
14
+ * @returns Context object describing crate/feature requirements
15
+ */
16
+ export function buildRustTestContext(functions) {
17
+ const needsTokio = functions.some((f) => f.isAsync);
18
+ // Full trait analysis would require AST inspection; stubbed for now
19
+ const needsMockall = false;
20
+ return {
21
+ useSuper: true,
22
+ needsTokio,
23
+ needsMockall,
24
+ traitMocks: [],
25
+ };
26
+ }
27
+ //# sourceMappingURL=rust-context-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rust-context-builder.js","sourceRoot":"","sources":["../../../../src/domains/test-generation/context/rust-context-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAaH;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAClC,SAA0E;IAE1E,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACpD,oEAAoE;IACpE,MAAM,YAAY,GAAG,KAAK,CAAC;IAE3B,OAAO;QACL,QAAQ,EAAE,IAAI;QACd,UAAU;QACV,YAAY;QACZ,UAAU,EAAE,EAAE;KACf,CAAC;AACJ,CAAC"}
@@ -149,7 +149,7 @@ export class TestGenerationCoordinator extends BaseDomainCoordinator {
149
149
  try {
150
150
  this.decisionTransformer = new DecisionTransformerAlgorithm({
151
151
  contextLength: 10,
152
- embeddingDim: 768,
152
+ embeddingDim: 384,
153
153
  });
154
154
  // Note: DecisionTransformer will auto-initialize on first predict() call
155
155
  console.log('[TestGenerationCoordinator] DecisionTransformer created for test case selection');
@@ -300,7 +300,7 @@ export class TestGenerationCoordinator extends BaseDomainCoordinator {
300
300
  if (this.config.publishEvents) {
301
301
  await this.publishTestSuiteCreated(result.value, request);
302
302
  for (const test of result.value.tests) {
303
- await this.publishTestGenerated(test, request.framework);
303
+ await this.publishTestGenerated(test, request.framework ?? 'vitest');
304
304
  }
305
305
  }
306
306
  // Learn from successful generation using QESONA
@@ -444,7 +444,7 @@ export class TestGenerationCoordinator extends BaseDomainCoordinator {
444
444
  name: `test-generator-${workflowId.slice(0, 8)}`,
445
445
  domain: 'test-generation',
446
446
  type: 'generator',
447
- capabilities: ['test-generation', request.testType, request.framework],
447
+ capabilities: ['test-generation', request.testType, request.framework ?? 'vitest'],
448
448
  config: {
449
449
  workflowId,
450
450
  sourceFiles: request.sourceFiles,