@llm-dev-ops/agentics-cli 1.4.59 → 1.4.69

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 (452) hide show
  1. package/README.md +1 -1
  2. package/dist/commands/agents.d.ts.map +1 -1
  3. package/dist/commands/agents.js +167 -0
  4. package/dist/commands/agents.js.map +1 -1
  5. package/dist/pipeline/auto-chain.d.ts +1 -0
  6. package/dist/pipeline/auto-chain.d.ts.map +1 -1
  7. package/dist/pipeline/auto-chain.js +124 -37
  8. package/dist/pipeline/auto-chain.js.map +1 -1
  9. package/dist/pipeline/execution-context.d.ts.map +1 -1
  10. package/dist/pipeline/execution-context.js +12 -37
  11. package/dist/pipeline/execution-context.js.map +1 -1
  12. package/dist/pipeline/phase2/phases/adr-generator.d.ts.map +1 -1
  13. package/dist/pipeline/phase2/phases/adr-generator.js +160 -1
  14. package/dist/pipeline/phase2/phases/adr-generator.js.map +1 -1
  15. package/dist/pipeline/phase2/phases/ddd-generator.d.ts.map +1 -1
  16. package/dist/pipeline/phase2/phases/ddd-generator.js +400 -3
  17. package/dist/pipeline/phase2/phases/ddd-generator.js.map +1 -1
  18. package/dist/pipeline/phase2/phases/ddd-quality-gate.d.ts +43 -0
  19. package/dist/pipeline/phase2/phases/ddd-quality-gate.d.ts.map +1 -0
  20. package/dist/pipeline/phase2/phases/ddd-quality-gate.js +413 -0
  21. package/dist/pipeline/phase2/phases/ddd-quality-gate.js.map +1 -0
  22. package/dist/pipeline/phase2/phases/research-dossier.d.ts +0 -13
  23. package/dist/pipeline/phase2/phases/research-dossier.d.ts.map +1 -1
  24. package/dist/pipeline/phase2/phases/research-dossier.js +114 -1
  25. package/dist/pipeline/phase2/phases/research-dossier.js.map +1 -1
  26. package/dist/pipeline/phase2/phases/research-quality-gate.d.ts +48 -0
  27. package/dist/pipeline/phase2/phases/research-quality-gate.d.ts.map +1 -0
  28. package/dist/pipeline/phase2/phases/research-quality-gate.js +322 -0
  29. package/dist/pipeline/phase2/phases/research-quality-gate.js.map +1 -0
  30. package/dist/pipeline/phase2/phases/sparc-quality-gate.d.ts +41 -0
  31. package/dist/pipeline/phase2/phases/sparc-quality-gate.d.ts.map +1 -0
  32. package/dist/pipeline/phase2/phases/sparc-quality-gate.js +350 -0
  33. package/dist/pipeline/phase2/phases/sparc-quality-gate.js.map +1 -0
  34. package/dist/pipeline/phase2/phases/sparc-specification.d.ts +14 -0
  35. package/dist/pipeline/phase2/phases/sparc-specification.d.ts.map +1 -1
  36. package/dist/pipeline/phase2/phases/sparc-specification.js +500 -10
  37. package/dist/pipeline/phase2/phases/sparc-specification.js.map +1 -1
  38. package/dist/pipeline/phase2/phases/tdd-plan-generator.js +1 -1
  39. package/dist/pipeline/phase2/phases/tdd-plan-generator.js.map +1 -1
  40. package/dist/pipeline/phase2/phases/tech-stack-detector.d.ts +72 -0
  41. package/dist/pipeline/phase2/phases/tech-stack-detector.d.ts.map +1 -0
  42. package/dist/pipeline/phase2/phases/tech-stack-detector.js +332 -0
  43. package/dist/pipeline/phase2/phases/tech-stack-detector.js.map +1 -0
  44. package/dist/pipeline/phase2/types.d.ts +2 -0
  45. package/dist/pipeline/phase2/types.d.ts.map +1 -1
  46. package/dist/pipeline/phase3/phases/domain-codegen.d.ts.map +1 -1
  47. package/dist/pipeline/phase3/phases/domain-codegen.js +169 -4
  48. package/dist/pipeline/phase3/phases/domain-codegen.js.map +1 -1
  49. package/dist/pipeline/phase3/phases/test-generator.d.ts.map +1 -1
  50. package/dist/pipeline/phase3/phases/test-generator.js +12 -2
  51. package/dist/pipeline/phase3/phases/test-generator.js.map +1 -1
  52. package/dist/pipeline/phase3-sparc/phase3-sparc-coordinator.d.ts.map +1 -1
  53. package/dist/pipeline/phase3-sparc/phase3-sparc-coordinator.js +99 -1
  54. package/dist/pipeline/phase3-sparc/phase3-sparc-coordinator.js.map +1 -1
  55. package/dist/pipeline/phase4/phases/deployment-generator.d.ts +17 -4
  56. package/dist/pipeline/phase4/phases/deployment-generator.d.ts.map +1 -1
  57. package/dist/pipeline/phase4/phases/deployment-generator.js +364 -44
  58. package/dist/pipeline/phase4/phases/deployment-generator.js.map +1 -1
  59. package/dist/pipeline/phase4/phases/erp-client-generator.d.ts.map +1 -1
  60. package/dist/pipeline/phase4/phases/erp-client-generator.js +27 -15
  61. package/dist/pipeline/phase4/phases/erp-client-generator.js.map +1 -1
  62. package/dist/pipeline/phase4/phases/erp-target-resolver.d.ts.map +1 -1
  63. package/dist/pipeline/phase4/phases/erp-target-resolver.js +49 -2
  64. package/dist/pipeline/phase4/phases/erp-target-resolver.js.map +1 -1
  65. package/dist/pipeline/phase4/phases/http-server-generator.d.ts.map +1 -1
  66. package/dist/pipeline/phase4/phases/http-server-generator.js +263 -3
  67. package/dist/pipeline/phase4/phases/http-server-generator.js.map +1 -1
  68. package/dist/pipeline/phase4/phases/infra-adapter-generator.d.ts.map +1 -1
  69. package/dist/pipeline/phase4/phases/infra-adapter-generator.js +335 -37
  70. package/dist/pipeline/phase4/phases/infra-adapter-generator.js.map +1 -1
  71. package/dist/pipeline/phase4/types.d.ts +3 -1
  72. package/dist/pipeline/phase4/types.d.ts.map +1 -1
  73. package/dist/pipeline/phase4-adrs/phase4-adrs-coordinator.d.ts.map +1 -1
  74. package/dist/pipeline/phase4-adrs/phase4-adrs-coordinator.js +211 -2
  75. package/dist/pipeline/phase4-adrs/phase4-adrs-coordinator.js.map +1 -1
  76. package/dist/pipeline/phase5-build/phases/implementation-quality-gate.d.ts +54 -0
  77. package/dist/pipeline/phase5-build/phases/implementation-quality-gate.d.ts.map +1 -0
  78. package/dist/pipeline/phase5-build/phases/implementation-quality-gate.js +417 -0
  79. package/dist/pipeline/phase5-build/phases/implementation-quality-gate.js.map +1 -0
  80. package/dist/pipeline/phases/prompt-generator.js +1 -1
  81. package/dist/pipeline/phases/prompt-generator.js.map +1 -1
  82. package/dist/pipeline/ruflo-phase-executor.d.ts +116 -1
  83. package/dist/pipeline/ruflo-phase-executor.d.ts.map +1 -1
  84. package/dist/pipeline/ruflo-phase-executor.js +666 -159
  85. package/dist/pipeline/ruflo-phase-executor.js.map +1 -1
  86. package/dist/pipeline/swarm-orchestrator.d.ts.map +1 -1
  87. package/dist/pipeline/swarm-orchestrator.js +62 -6
  88. package/dist/pipeline/swarm-orchestrator.js.map +1 -1
  89. package/dist/routing/capability-classifier.d.ts +43 -0
  90. package/dist/routing/capability-classifier.d.ts.map +1 -0
  91. package/dist/routing/capability-classifier.js +157 -0
  92. package/dist/routing/capability-classifier.js.map +1 -0
  93. package/dist/routing/composition-engine.d.ts +77 -0
  94. package/dist/routing/composition-engine.d.ts.map +1 -0
  95. package/dist/routing/composition-engine.js +249 -0
  96. package/dist/routing/composition-engine.js.map +1 -0
  97. package/dist/routing/graph-federation.d.ts +71 -0
  98. package/dist/routing/graph-federation.d.ts.map +1 -0
  99. package/dist/routing/graph-federation.js +210 -0
  100. package/dist/routing/graph-federation.js.map +1 -0
  101. package/dist/routing/graph-loader.d.ts +74 -0
  102. package/dist/routing/graph-loader.d.ts.map +1 -0
  103. package/dist/routing/graph-loader.js +383 -0
  104. package/dist/routing/graph-loader.js.map +1 -0
  105. package/dist/routing/graph-router.d.ts +103 -0
  106. package/dist/routing/graph-router.d.ts.map +1 -0
  107. package/dist/routing/graph-router.js +415 -0
  108. package/dist/routing/graph-router.js.map +1 -0
  109. package/dist/routing/graph-validator.d.ts +44 -0
  110. package/dist/routing/graph-validator.d.ts.map +1 -0
  111. package/dist/routing/graph-validator.js +329 -0
  112. package/dist/routing/graph-validator.js.map +1 -0
  113. package/dist/routing/index.d.ts +52 -0
  114. package/dist/routing/index.d.ts.map +1 -0
  115. package/dist/routing/index.js +68 -0
  116. package/dist/routing/index.js.map +1 -0
  117. package/dist/routing/outcome-recorder.d.ts +71 -0
  118. package/dist/routing/outcome-recorder.d.ts.map +1 -0
  119. package/dist/routing/outcome-recorder.js +133 -0
  120. package/dist/routing/outcome-recorder.js.map +1 -0
  121. package/dist/routing/weight-adjuster.d.ts +59 -0
  122. package/dist/routing/weight-adjuster.d.ts.map +1 -0
  123. package/dist/routing/weight-adjuster.js +167 -0
  124. package/dist/routing/weight-adjuster.js.map +1 -0
  125. package/dist/routing/weighted-resolver.d.ts +55 -0
  126. package/dist/routing/weighted-resolver.d.ts.map +1 -0
  127. package/dist/routing/weighted-resolver.js +133 -0
  128. package/dist/routing/weighted-resolver.js.map +1 -0
  129. package/dist/synthesis/ask-artifact-writer.d.ts.map +1 -1
  130. package/dist/synthesis/ask-artifact-writer.js +8 -0
  131. package/dist/synthesis/ask-artifact-writer.js.map +1 -1
  132. package/dist/synthesis/simulation-artifact-generator.d.ts +14 -0
  133. package/dist/synthesis/simulation-artifact-generator.d.ts.map +1 -1
  134. package/dist/synthesis/simulation-artifact-generator.js +224 -1
  135. package/dist/synthesis/simulation-artifact-generator.js.map +1 -1
  136. package/dist/synthesis/simulation-renderers.d.ts.map +1 -1
  137. package/dist/synthesis/simulation-renderers.js +211 -40
  138. package/dist/synthesis/simulation-renderers.js.map +1 -1
  139. package/package.json +3 -1
  140. package/scripts/postinstall.sh +25 -0
  141. package/dist/bundled-agents/connector-hub-agents/package-lock.json +0 -11697
  142. package/dist/bundled-agents/connector-hub-agents/package.json +0 -75
  143. package/dist/bundled-agents/connector-hub-agents/tsconfig.build.json +0 -22
  144. package/dist/bundled-agents/connector-hub-agents/tsconfig.json +0 -57
  145. package/dist/bundled-agents/copilot-agents/functions/.gcloudignore +0 -17
  146. package/dist/bundled-agents/copilot-agents/functions/dist/functions/src/cors.d.ts +0 -14
  147. package/dist/bundled-agents/copilot-agents/functions/dist/functions/src/cors.js +0 -35
  148. package/dist/bundled-agents/copilot-agents/functions/dist/functions/src/cors.js.map +0 -1
  149. package/dist/bundled-agents/copilot-agents/functions/dist/functions/src/envelope.d.ts +0 -55
  150. package/dist/bundled-agents/copilot-agents/functions/dist/functions/src/envelope.js +0 -40
  151. package/dist/bundled-agents/copilot-agents/functions/dist/functions/src/envelope.js.map +0 -1
  152. package/dist/bundled-agents/copilot-agents/functions/dist/functions/src/health.d.ts +0 -22
  153. package/dist/bundled-agents/copilot-agents/functions/dist/functions/src/health.js +0 -38
  154. package/dist/bundled-agents/copilot-agents/functions/dist/functions/src/health.js.map +0 -1
  155. package/dist/bundled-agents/copilot-agents/functions/dist/functions/src/index.d.ts +0 -34
  156. package/dist/bundled-agents/copilot-agents/functions/dist/functions/src/index.js +0 -186
  157. package/dist/bundled-agents/copilot-agents/functions/dist/functions/src/index.js.map +0 -1
  158. package/dist/bundled-agents/copilot-agents/functions/dist/functions/src/router.d.ts +0 -36
  159. package/dist/bundled-agents/copilot-agents/functions/dist/functions/src/router.js +0 -121
  160. package/dist/bundled-agents/copilot-agents/functions/dist/functions/src/router.js.map +0 -1
  161. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/config-validation/config-validation-agent.d.ts +0 -157
  162. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/config-validation/config-validation-agent.js +0 -948
  163. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/config-validation/config-validation-agent.js.map +0 -1
  164. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/config-validation/index.d.ts +0 -9
  165. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/config-validation/index.js +0 -27
  166. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/config-validation/index.js.map +0 -1
  167. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/contracts/agent-span-wrapper.d.ts +0 -23
  168. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/contracts/agent-span-wrapper.js +0 -50
  169. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/contracts/agent-span-wrapper.js.map +0 -1
  170. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/contracts/base-agent.d.ts +0 -214
  171. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/contracts/base-agent.js +0 -91
  172. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/contracts/base-agent.js.map +0 -1
  173. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/contracts/config-validation-schemas.d.ts +0 -1166
  174. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/contracts/config-validation-schemas.js +0 -308
  175. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/contracts/config-validation-schemas.js.map +0 -1
  176. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/contracts/decision-event.d.ts +0 -59
  177. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/contracts/decision-event.js +0 -62
  178. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/contracts/decision-event.js.map +0 -1
  179. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/contracts/decomposer-schemas.d.ts +0 -400
  180. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/contracts/decomposer-schemas.js +0 -113
  181. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/contracts/decomposer-schemas.js.map +0 -1
  182. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/contracts/execution-graph.d.ts +0 -250
  183. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/contracts/execution-graph.js +0 -169
  184. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/contracts/execution-graph.js.map +0 -1
  185. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/contracts/index.d.ts +0 -17
  186. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/contracts/index.js +0 -97
  187. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/contracts/index.js.map +0 -1
  188. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/contracts/intelligence-schemas.d.ts +0 -1674
  189. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/contracts/intelligence-schemas.js +0 -246
  190. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/contracts/intelligence-schemas.js.map +0 -1
  191. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/contracts/intent-classifier-schemas.d.ts +0 -1085
  192. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/contracts/intent-classifier-schemas.js +0 -218
  193. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/contracts/intent-classifier-schemas.js.map +0 -1
  194. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/contracts/meta-reasoner-schemas.d.ts +0 -949
  195. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/contracts/meta-reasoner-schemas.js +0 -253
  196. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/contracts/meta-reasoner-schemas.js.map +0 -1
  197. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/contracts/objective-clarifier-schemas.d.ts +0 -657
  198. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/contracts/objective-clarifier-schemas.js +0 -205
  199. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/contracts/objective-clarifier-schemas.js.map +0 -1
  200. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/contracts/pipeline-schemas.d.ts +0 -285
  201. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/contracts/pipeline-schemas.js +0 -106
  202. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/contracts/pipeline-schemas.js.map +0 -1
  203. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/contracts/planner-schemas.d.ts +0 -581
  204. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/contracts/planner-schemas.js +0 -136
  205. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/contracts/planner-schemas.js.map +0 -1
  206. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/contracts/reflection-schemas.d.ts +0 -791
  207. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/contracts/reflection-schemas.js +0 -225
  208. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/contracts/reflection-schemas.js.map +0 -1
  209. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/decomposer/decomposer-agent.d.ts +0 -120
  210. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/decomposer/decomposer-agent.js +0 -535
  211. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/decomposer/decomposer-agent.js.map +0 -1
  212. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/decomposer/index.d.ts +0 -9
  213. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/decomposer/index.js +0 -18
  214. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/decomposer/index.js.map +0 -1
  215. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/intent-classifier/index.d.ts +0 -4
  216. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/intent-classifier/index.js +0 -9
  217. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/intent-classifier/index.js.map +0 -1
  218. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/intent-classifier/intent-classifier-agent.d.ts +0 -123
  219. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/intent-classifier/intent-classifier-agent.js +0 -609
  220. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/intent-classifier/intent-classifier-agent.js.map +0 -1
  221. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/meta-reasoner/index.d.ts +0 -10
  222. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/meta-reasoner/index.js +0 -25
  223. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/meta-reasoner/index.js.map +0 -1
  224. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/meta-reasoner/meta-reasoner-agent.d.ts +0 -111
  225. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/meta-reasoner/meta-reasoner-agent.js +0 -686
  226. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/meta-reasoner/meta-reasoner-agent.js.map +0 -1
  227. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/meta-reasoner/telemetry.d.ts +0 -11
  228. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/meta-reasoner/telemetry.js +0 -25
  229. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/meta-reasoner/telemetry.js.map +0 -1
  230. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/objective-clarifier/index.d.ts +0 -6
  231. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/objective-clarifier/index.js +0 -15
  232. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/objective-clarifier/index.js.map +0 -1
  233. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/objective-clarifier/objective-clarifier-agent.d.ts +0 -126
  234. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/objective-clarifier/objective-clarifier-agent.js +0 -780
  235. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/objective-clarifier/objective-clarifier-agent.js.map +0 -1
  236. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/objective-clarifier/ruvector-persistence.d.ts +0 -49
  237. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/objective-clarifier/ruvector-persistence.js +0 -125
  238. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/objective-clarifier/ruvector-persistence.js.map +0 -1
  239. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/objective-clarifier/telemetry.d.ts +0 -73
  240. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/objective-clarifier/telemetry.js +0 -192
  241. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/objective-clarifier/telemetry.js.map +0 -1
  242. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/planner/index.d.ts +0 -11
  243. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/planner/index.js +0 -25
  244. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/planner/index.js.map +0 -1
  245. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/planner/planner-agent.d.ts +0 -127
  246. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/planner/planner-agent.js +0 -483
  247. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/planner/planner-agent.js.map +0 -1
  248. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/planner/ruvector-persistence.d.ts +0 -49
  249. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/planner/ruvector-persistence.js +0 -125
  250. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/planner/ruvector-persistence.js.map +0 -1
  251. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/planner/telemetry.d.ts +0 -73
  252. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/planner/telemetry.js +0 -192
  253. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/planner/telemetry.js.map +0 -1
  254. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/reflection/index.d.ts +0 -11
  255. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/reflection/index.js +0 -27
  256. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/reflection/index.js.map +0 -1
  257. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/reflection/reflection-agent.d.ts +0 -122
  258. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/reflection/reflection-agent.js +0 -645
  259. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/reflection/reflection-agent.js.map +0 -1
  260. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/reflection/ruvector-persistence.d.ts +0 -59
  261. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/reflection/ruvector-persistence.js +0 -156
  262. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/reflection/ruvector-persistence.js.map +0 -1
  263. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/reflection/telemetry.d.ts +0 -88
  264. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/reflection/telemetry.js +0 -246
  265. package/dist/bundled-agents/copilot-agents/functions/dist/services/agents/reflection/telemetry.js.map +0 -1
  266. package/dist/bundled-agents/copilot-agents/functions/index.js +0 -4
  267. package/dist/bundled-agents/copilot-agents/functions/jest.config.js +0 -29
  268. package/dist/bundled-agents/copilot-agents/functions/lib/functions/src/cors.d.ts +0 -14
  269. package/dist/bundled-agents/copilot-agents/functions/lib/functions/src/cors.js +0 -35
  270. package/dist/bundled-agents/copilot-agents/functions/lib/functions/src/cors.js.map +0 -1
  271. package/dist/bundled-agents/copilot-agents/functions/lib/functions/src/envelope.d.ts +0 -27
  272. package/dist/bundled-agents/copilot-agents/functions/lib/functions/src/envelope.js +0 -21
  273. package/dist/bundled-agents/copilot-agents/functions/lib/functions/src/envelope.js.map +0 -1
  274. package/dist/bundled-agents/copilot-agents/functions/lib/functions/src/health.d.ts +0 -22
  275. package/dist/bundled-agents/copilot-agents/functions/lib/functions/src/health.js +0 -38
  276. package/dist/bundled-agents/copilot-agents/functions/lib/functions/src/health.js.map +0 -1
  277. package/dist/bundled-agents/copilot-agents/functions/lib/functions/src/index.d.ts +0 -34
  278. package/dist/bundled-agents/copilot-agents/functions/lib/functions/src/index.js +0 -174
  279. package/dist/bundled-agents/copilot-agents/functions/lib/functions/src/index.js.map +0 -1
  280. package/dist/bundled-agents/copilot-agents/functions/lib/functions/src/router.d.ts +0 -27
  281. package/dist/bundled-agents/copilot-agents/functions/lib/functions/src/router.js +0 -107
  282. package/dist/bundled-agents/copilot-agents/functions/lib/functions/src/router.js.map +0 -1
  283. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/config-validation/config-validation-agent.d.ts +0 -157
  284. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/config-validation/config-validation-agent.js +0 -941
  285. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/config-validation/config-validation-agent.js.map +0 -1
  286. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/config-validation/index.d.ts +0 -9
  287. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/config-validation/index.js +0 -27
  288. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/config-validation/index.js.map +0 -1
  289. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/contracts/agent-span-wrapper.d.ts +0 -23
  290. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/contracts/agent-span-wrapper.js +0 -50
  291. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/contracts/agent-span-wrapper.js.map +0 -1
  292. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/contracts/base-agent.d.ts +0 -185
  293. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/contracts/base-agent.js +0 -86
  294. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/contracts/base-agent.js.map +0 -1
  295. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/contracts/config-validation-schemas.d.ts +0 -1081
  296. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/contracts/config-validation-schemas.js +0 -305
  297. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/contracts/config-validation-schemas.js.map +0 -1
  298. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/contracts/decision-event.d.ts +0 -59
  299. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/contracts/decision-event.js +0 -62
  300. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/contracts/decision-event.js.map +0 -1
  301. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/contracts/decomposer-schemas.d.ts +0 -315
  302. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/contracts/decomposer-schemas.js +0 -110
  303. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/contracts/decomposer-schemas.js.map +0 -1
  304. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/contracts/execution-graph.d.ts +0 -250
  305. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/contracts/execution-graph.js +0 -169
  306. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/contracts/execution-graph.js.map +0 -1
  307. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/contracts/index.d.ts +0 -16
  308. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/contracts/index.js +0 -88
  309. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/contracts/index.js.map +0 -1
  310. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/contracts/intelligence-schemas.d.ts +0 -1674
  311. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/contracts/intelligence-schemas.js +0 -246
  312. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/contracts/intelligence-schemas.js.map +0 -1
  313. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/contracts/intent-classifier-schemas.d.ts +0 -1000
  314. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/contracts/intent-classifier-schemas.js +0 -215
  315. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/contracts/intent-classifier-schemas.js.map +0 -1
  316. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/contracts/meta-reasoner-schemas.d.ts +0 -864
  317. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/contracts/meta-reasoner-schemas.js +0 -250
  318. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/contracts/meta-reasoner-schemas.js.map +0 -1
  319. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/contracts/objective-clarifier-schemas.d.ts +0 -572
  320. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/contracts/objective-clarifier-schemas.js +0 -202
  321. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/contracts/objective-clarifier-schemas.js.map +0 -1
  322. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/contracts/planner-schemas.d.ts +0 -496
  323. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/contracts/planner-schemas.js +0 -133
  324. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/contracts/planner-schemas.js.map +0 -1
  325. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/contracts/reflection-schemas.d.ts +0 -706
  326. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/contracts/reflection-schemas.js +0 -222
  327. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/contracts/reflection-schemas.js.map +0 -1
  328. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/decomposer/decomposer-agent.d.ts +0 -107
  329. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/decomposer/decomposer-agent.js +0 -360
  330. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/decomposer/decomposer-agent.js.map +0 -1
  331. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/decomposer/index.d.ts +0 -9
  332. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/decomposer/index.js +0 -18
  333. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/decomposer/index.js.map +0 -1
  334. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/intent-classifier/index.d.ts +0 -4
  335. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/intent-classifier/index.js +0 -9
  336. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/intent-classifier/index.js.map +0 -1
  337. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/intent-classifier/intent-classifier-agent.d.ts +0 -123
  338. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/intent-classifier/intent-classifier-agent.js +0 -609
  339. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/intent-classifier/intent-classifier-agent.js.map +0 -1
  340. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/meta-reasoner/index.d.ts +0 -10
  341. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/meta-reasoner/index.js +0 -25
  342. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/meta-reasoner/index.js.map +0 -1
  343. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/meta-reasoner/meta-reasoner-agent.d.ts +0 -111
  344. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/meta-reasoner/meta-reasoner-agent.js +0 -686
  345. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/meta-reasoner/meta-reasoner-agent.js.map +0 -1
  346. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/meta-reasoner/telemetry.d.ts +0 -11
  347. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/meta-reasoner/telemetry.js +0 -25
  348. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/meta-reasoner/telemetry.js.map +0 -1
  349. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/objective-clarifier/index.d.ts +0 -6
  350. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/objective-clarifier/index.js +0 -15
  351. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/objective-clarifier/index.js.map +0 -1
  352. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/objective-clarifier/objective-clarifier-agent.d.ts +0 -126
  353. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/objective-clarifier/objective-clarifier-agent.js +0 -780
  354. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/objective-clarifier/objective-clarifier-agent.js.map +0 -1
  355. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/objective-clarifier/ruvector-persistence.d.ts +0 -49
  356. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/objective-clarifier/ruvector-persistence.js +0 -125
  357. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/objective-clarifier/ruvector-persistence.js.map +0 -1
  358. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/objective-clarifier/telemetry.d.ts +0 -73
  359. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/objective-clarifier/telemetry.js +0 -192
  360. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/objective-clarifier/telemetry.js.map +0 -1
  361. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/planner/index.d.ts +0 -11
  362. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/planner/index.js +0 -25
  363. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/planner/index.js.map +0 -1
  364. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/planner/planner-agent.d.ts +0 -119
  365. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/planner/planner-agent.js +0 -421
  366. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/planner/planner-agent.js.map +0 -1
  367. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/planner/ruvector-persistence.d.ts +0 -49
  368. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/planner/ruvector-persistence.js +0 -125
  369. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/planner/ruvector-persistence.js.map +0 -1
  370. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/planner/telemetry.d.ts +0 -73
  371. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/planner/telemetry.js +0 -192
  372. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/planner/telemetry.js.map +0 -1
  373. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/reflection/index.d.ts +0 -11
  374. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/reflection/index.js +0 -27
  375. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/reflection/index.js.map +0 -1
  376. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/reflection/reflection-agent.d.ts +0 -122
  377. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/reflection/reflection-agent.js +0 -645
  378. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/reflection/reflection-agent.js.map +0 -1
  379. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/reflection/ruvector-persistence.d.ts +0 -59
  380. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/reflection/ruvector-persistence.js +0 -156
  381. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/reflection/ruvector-persistence.js.map +0 -1
  382. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/reflection/telemetry.d.ts +0 -88
  383. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/reflection/telemetry.js +0 -246
  384. package/dist/bundled-agents/copilot-agents/functions/lib/services/agents/reflection/telemetry.js.map +0 -1
  385. package/dist/bundled-agents/copilot-agents/functions/package-lock.json +0 -5473
  386. package/dist/bundled-agents/copilot-agents/functions/package.json +0 -40
  387. package/dist/bundled-agents/copilot-agents/functions/src/claude.ts +0 -71
  388. package/dist/bundled-agents/copilot-agents/functions/src/cors.ts +0 -36
  389. package/dist/bundled-agents/copilot-agents/functions/src/envelope.ts +0 -77
  390. package/dist/bundled-agents/copilot-agents/functions/src/handler.test.ts +0 -340
  391. package/dist/bundled-agents/copilot-agents/functions/src/health.ts +0 -53
  392. package/dist/bundled-agents/copilot-agents/functions/src/index.ts +0 -201
  393. package/dist/bundled-agents/copilot-agents/functions/src/router.ts +0 -148
  394. package/dist/bundled-agents/copilot-agents/functions/tsconfig.json +0 -31
  395. package/dist/bundled-agents/copilot-agents/package-lock.json +0 -11825
  396. package/dist/bundled-agents/copilot-agents/package.json +0 -5
  397. package/dist/bundled-agents/governance-dashboard-agents/package-lock.json +0 -8282
  398. package/dist/bundled-agents/governance-dashboard-agents/package.json +0 -13
  399. package/dist/bundled-agents/orchestrator-agents/functions/contracts/index.js +0 -590
  400. package/dist/bundled-agents/orchestrator-agents/functions/index.js +0 -442
  401. package/dist/bundled-agents/orchestrator-agents/functions/test.js +0 -325
  402. package/dist/bundled-agents/orchestrator-agents/index.js +0 -6
  403. package/dist/bundled-agents/orchestrator-agents/package-lock.json +0 -13254
  404. package/dist/bundled-agents/orchestrator-agents/package.json +0 -20
  405. package/dist/bundled-agents/platform-agents/package-lock.json +0 -1723
  406. package/dist/bundled-agents/platform-agents/package.json +0 -22
  407. package/dist/bundled-agents/platform-agents/src/agents/decision-memo.ts +0 -463
  408. package/dist/bundled-agents/platform-agents/src/agents/decision.ts +0 -234
  409. package/dist/bundled-agents/platform-agents/src/agents/executive-summary.ts +0 -229
  410. package/dist/bundled-agents/platform-agents/src/agents/risk-score.ts +0 -327
  411. package/dist/bundled-agents/platform-agents/src/claude.ts +0 -71
  412. package/dist/bundled-agents/platform-agents/src/cors.ts +0 -24
  413. package/dist/bundled-agents/platform-agents/src/envelope.ts +0 -37
  414. package/dist/bundled-agents/platform-agents/src/health.ts +0 -20
  415. package/dist/bundled-agents/platform-agents/src/index.ts +0 -171
  416. package/dist/bundled-agents/platform-agents/src/router.ts +0 -38
  417. package/dist/bundled-agents/platform-agents/src/text-analysis.ts +0 -238
  418. package/dist/bundled-agents/platform-agents/tsconfig.json +0 -19
  419. package/dist/bundled-agents/sentinel-agents/lib/agents/alert.d.ts +0 -3
  420. package/dist/bundled-agents/sentinel-agents/lib/agents/alert.d.ts.map +0 -1
  421. package/dist/bundled-agents/sentinel-agents/lib/agents/alert.js +0 -43
  422. package/dist/bundled-agents/sentinel-agents/lib/agents/alert.js.map +0 -1
  423. package/dist/bundled-agents/sentinel-agents/lib/agents/anomaly.d.ts +0 -3
  424. package/dist/bundled-agents/sentinel-agents/lib/agents/anomaly.d.ts.map +0 -1
  425. package/dist/bundled-agents/sentinel-agents/lib/agents/anomaly.js +0 -30
  426. package/dist/bundled-agents/sentinel-agents/lib/agents/anomaly.js.map +0 -1
  427. package/dist/bundled-agents/sentinel-agents/lib/agents/correlation.d.ts +0 -3
  428. package/dist/bundled-agents/sentinel-agents/lib/agents/correlation.d.ts.map +0 -1
  429. package/dist/bundled-agents/sentinel-agents/lib/agents/correlation.js +0 -53
  430. package/dist/bundled-agents/sentinel-agents/lib/agents/correlation.js.map +0 -1
  431. package/dist/bundled-agents/sentinel-agents/lib/agents/drift.d.ts +0 -3
  432. package/dist/bundled-agents/sentinel-agents/lib/agents/drift.d.ts.map +0 -1
  433. package/dist/bundled-agents/sentinel-agents/lib/agents/drift.js +0 -51
  434. package/dist/bundled-agents/sentinel-agents/lib/agents/drift.js.map +0 -1
  435. package/dist/bundled-agents/sentinel-agents/lib/agents/rca.d.ts +0 -3
  436. package/dist/bundled-agents/sentinel-agents/lib/agents/rca.d.ts.map +0 -1
  437. package/dist/bundled-agents/sentinel-agents/lib/agents/rca.js +0 -36
  438. package/dist/bundled-agents/sentinel-agents/lib/agents/rca.js.map +0 -1
  439. package/dist/bundled-agents/sentinel-agents/lib/index.d.ts +0 -2
  440. package/dist/bundled-agents/sentinel-agents/lib/index.d.ts.map +0 -1
  441. package/dist/bundled-agents/sentinel-agents/lib/index.js +0 -70
  442. package/dist/bundled-agents/sentinel-agents/lib/index.js.map +0 -1
  443. package/dist/bundled-agents/sentinel-agents/package-lock.json +0 -12591
  444. package/dist/bundled-agents/sentinel-agents/package.json +0 -62
  445. package/dist/bundled-agents/sentinel-agents/src/agents/alert.ts +0 -46
  446. package/dist/bundled-agents/sentinel-agents/src/agents/anomaly.ts +0 -33
  447. package/dist/bundled-agents/sentinel-agents/src/agents/correlation.ts +0 -56
  448. package/dist/bundled-agents/sentinel-agents/src/agents/drift.ts +0 -54
  449. package/dist/bundled-agents/sentinel-agents/src/agents/rca.ts +0 -38
  450. package/dist/bundled-agents/sentinel-agents/src/claude.ts +0 -71
  451. package/dist/bundled-agents/sentinel-agents/src/index.ts +0 -77
  452. package/dist/bundled-agents/sentinel-agents/tsconfig.json +0 -20
@@ -0,0 +1,413 @@
1
+ /**
2
+ * Phase 2 Quality Gate: DDD Model Validator
3
+ *
4
+ * Validates DDD domain model completeness before code generation.
5
+ * Prevents copy-paste entities by ensuring:
6
+ * - Every bounded context has aggregates with typed fields
7
+ * - Ubiquitous language glossary is non-empty
8
+ * - Context map has real relationships
9
+ * - ADRs reference correct technology (not wrong ERP/cloud provider)
10
+ *
11
+ * Error codes:
12
+ * ECLI-P2-050 DDD model quality too low for code generation
13
+ * ECLI-P2-051 DDD model not available on context
14
+ * ECLI-P2-052 ADR technology mismatch detected
15
+ */
16
+ // ============================================================================
17
+ // Detection Patterns
18
+ // ============================================================================
19
+ /**
20
+ * Generic index signature patterns that indicate copy-paste or untyped entities.
21
+ * These produce `Record<string, unknown>` style types in generated code.
22
+ */
23
+ const GENERIC_SIGNATURE_PATTERNS = [
24
+ /\[key:\s*string\]\s*:\s*unknown/g,
25
+ /\[key:\s*string\]\s*:\s*any/g,
26
+ /Record\s*<\s*string\s*,\s*(?:unknown|any)\s*>/g,
27
+ /\{\s*\[k:\s*string\]\s*:\s*\w+\s*\}/g,
28
+ /\bMap\s*<\s*string\s*,\s*(?:unknown|any)\s*>/g,
29
+ ];
30
+ /**
31
+ * Known cloud provider names for technology mismatch detection.
32
+ */
33
+ const CLOUD_PROVIDERS = new Map([
34
+ ['aws', ['AWS', 'Amazon', 'Lambda', 'DynamoDB', 'S3', 'SQS', 'SNS', 'ECS', 'EKS', 'Aurora', 'RDS', 'Kinesis', 'EventBridge', 'CloudFormation', 'CDK']],
35
+ ['azure', ['Azure', 'Cosmos DB', 'Azure Functions', 'AKS', 'Azure SQL', 'Service Bus', 'Event Grid', 'Bicep', 'ARM']],
36
+ ['gcp', ['GCP', 'Google Cloud', 'Cloud Run', 'Cloud SQL', 'Pub/Sub', 'BigQuery', 'Firestore', 'Cloud Functions', 'GKE', 'Spanner']],
37
+ ]);
38
+ /**
39
+ * Known ERP system names for technology mismatch detection.
40
+ */
41
+ const ERP_SYSTEMS = new Map([
42
+ ['sap', ['SAP', 'S/4HANA', 'SAP HANA', 'ABAP', 'BAPI', 'IDoc', 'RFC', 'OData']],
43
+ ['oracle', ['Oracle ERP', 'Oracle Cloud', 'JD Edwards', 'PeopleSoft']],
44
+ ['dynamics', ['Dynamics 365', 'D365', 'Business Central', 'Finance and Operations']],
45
+ ['netsuite', ['NetSuite', 'SuiteScript', 'SuiteFlow']],
46
+ ]);
47
+ /**
48
+ * Known database engines for technology mismatch detection.
49
+ */
50
+ const DATABASE_ENGINES = new Map([
51
+ ['postgresql', ['PostgreSQL', 'Postgres', 'pg_']],
52
+ ['mysql', ['MySQL', 'MariaDB']],
53
+ ['dynamodb', ['DynamoDB']],
54
+ ['mongodb', ['MongoDB', 'Mongoose']],
55
+ ['cosmosdb', ['Cosmos DB', 'CosmosDB']],
56
+ ['firestore', ['Firestore']],
57
+ ['sqlserver', ['SQL Server', 'MSSQL', 'T-SQL']],
58
+ ]);
59
+ // ============================================================================
60
+ // Validation Helpers
61
+ // ============================================================================
62
+ /**
63
+ * Check if an aggregate has typed fields (not just names).
64
+ * Typed fields means entities or value objects with descriptions
65
+ * that contain type information, or invariants that reference fields.
66
+ */
67
+ function aggregateHasTypedFields(agg) {
68
+ // Check entities have non-trivial descriptions (> 15 chars, not just the name repeated)
69
+ const typedEntities = agg.entities.filter((e) => e.description.length > 15 &&
70
+ e.description.toLowerCase() !== e.name.toLowerCase() &&
71
+ !isGenericDescription(e.description));
72
+ // Check value objects have invariants and non-trivial descriptions
73
+ const typedValueObjects = agg.valueObjects.filter((vo) => vo.description.length > 15 &&
74
+ (vo.invariants.length > 0 || hasFieldTypeIndicators(vo.description)));
75
+ // At least one entity or value object must have real type info
76
+ return typedEntities.length > 0 || typedValueObjects.length > 0;
77
+ }
78
+ /**
79
+ * Detect generic/placeholder descriptions that don't add real type information.
80
+ */
81
+ function isGenericDescription(desc) {
82
+ const lower = desc.toLowerCase().trim();
83
+ const genericPhrases = [
84
+ 'represents a',
85
+ 'contains data',
86
+ 'holds information',
87
+ 'stores data',
88
+ 'generic entity',
89
+ 'base entity',
90
+ 'to be defined',
91
+ 'placeholder',
92
+ 'tbd',
93
+ ];
94
+ return genericPhrases.some((p) => lower.startsWith(p) || lower === p);
95
+ }
96
+ /**
97
+ * Check whether a description contains field-type indicators
98
+ * (e.g. "string", "number", "Date", "UUID", "decimal").
99
+ */
100
+ function hasFieldTypeIndicators(desc) {
101
+ return /\b(?:string|number|boolean|Date|UUID|decimal|integer|float|bigint|enum|array|list)\b/i.test(desc);
102
+ }
103
+ /**
104
+ * Detect generic index signature patterns in DDD model content.
105
+ */
106
+ function countGenericSignatures(model) {
107
+ const allText = serializeModelText(model);
108
+ let count = 0;
109
+ for (const pattern of GENERIC_SIGNATURE_PATTERNS) {
110
+ const re = new RegExp(pattern.source, pattern.flags);
111
+ const matches = allText.match(re);
112
+ if (matches)
113
+ count += matches.length;
114
+ }
115
+ return count;
116
+ }
117
+ /**
118
+ * Serialize all DDD model text content for scanning.
119
+ */
120
+ function serializeModelText(model) {
121
+ const parts = [];
122
+ for (const ctx of model.contexts) {
123
+ parts.push(ctx.name, ctx.description);
124
+ for (const agg of ctx.aggregates) {
125
+ parts.push(agg.name, agg.root);
126
+ for (const e of agg.entities)
127
+ parts.push(e.name, e.description);
128
+ for (const vo of agg.valueObjects)
129
+ parts.push(vo.name, vo.description, ...vo.invariants);
130
+ parts.push(...agg.invariants);
131
+ }
132
+ for (const evt of ctx.domainEvents)
133
+ parts.push(evt.name, evt.description, ...evt.payload);
134
+ for (const cmd of ctx.commands)
135
+ parts.push(cmd.name, cmd.description, ...cmd.input, ...cmd.preconditions, ...cmd.postconditions);
136
+ for (const q of ctx.queries)
137
+ parts.push(q.name, q.description, q.returns, ...q.parameters);
138
+ for (const term of ctx.ubiquitousLanguage)
139
+ parts.push(term.term, term.definition);
140
+ }
141
+ for (const rel of model.contextMap)
142
+ parts.push(rel.upstream, rel.downstream, rel.description, rel.type);
143
+ for (const term of model.ubiquitousLanguageGlossary)
144
+ parts.push(term.term, term.definition);
145
+ return parts.join('\n');
146
+ }
147
+ /**
148
+ * Detect technology mismatches between ADRs and user-stated constraints.
149
+ *
150
+ * Extracts the dominant cloud provider, ERP system, and database from the DDD
151
+ * model text, then checks ADRs for references to competing technologies.
152
+ */
153
+ function detectTechnologyMismatches(model, adrs) {
154
+ const mismatches = [];
155
+ const modelText = serializeModelText(model).toLowerCase();
156
+ const adrText = adrs.map((a) => `${a.context} ${a.decision} ${a.title}`).join('\n').toLowerCase();
157
+ const combinedText = `${modelText}\n${adrText}`;
158
+ // Detect dominant technologies in the model
159
+ const detectedCloud = detectDominant(combinedText, CLOUD_PROVIDERS);
160
+ const detectedERP = detectDominant(combinedText, ERP_SYSTEMS);
161
+ const _detectedDB = detectDominant(combinedText, DATABASE_ENGINES);
162
+ void _detectedDB; // reserved for future DB mismatch checks
163
+ // Check ADRs for competing cloud provider references
164
+ if (detectedCloud) {
165
+ for (const [provider, keywords] of CLOUD_PROVIDERS) {
166
+ if (provider === detectedCloud)
167
+ continue;
168
+ for (const kw of keywords) {
169
+ if (adrText.includes(kw.toLowerCase())) {
170
+ mismatches.push(`ADR references ${kw} (${provider}) but dominant cloud provider in model is ${detectedCloud}. ` +
171
+ 'Verify the correct cloud provider is used consistently.');
172
+ break; // One mismatch per provider is enough
173
+ }
174
+ }
175
+ }
176
+ }
177
+ // Check ADRs for competing ERP references
178
+ if (detectedERP) {
179
+ for (const [system, keywords] of ERP_SYSTEMS) {
180
+ if (system === detectedERP)
181
+ continue;
182
+ for (const kw of keywords) {
183
+ if (adrText.includes(kw.toLowerCase())) {
184
+ mismatches.push(`ADR references ${kw} (${system}) but dominant ERP system in model is ${detectedERP}. ` +
185
+ 'Ensure ADRs align with the user\'s stated ERP system.');
186
+ break;
187
+ }
188
+ }
189
+ }
190
+ }
191
+ return mismatches;
192
+ }
193
+ /**
194
+ * Find the dominant technology from a set of known providers/systems
195
+ * by counting keyword occurrences in the text.
196
+ */
197
+ function detectDominant(text, providers) {
198
+ let maxCount = 0;
199
+ let dominant = null;
200
+ for (const [name, keywords] of providers) {
201
+ let count = 0;
202
+ for (const kw of keywords) {
203
+ const re = new RegExp(`\\b${escapeRegExp(kw)}\\b`, 'gi');
204
+ const matches = text.match(re);
205
+ if (matches)
206
+ count += matches.length;
207
+ }
208
+ if (count > maxCount) {
209
+ maxCount = count;
210
+ dominant = name;
211
+ }
212
+ }
213
+ // Only return if there's a meaningful signal (at least 2 mentions)
214
+ return maxCount >= 2 ? dominant : null;
215
+ }
216
+ /** Escape special regex characters in a string. */
217
+ function escapeRegExp(str) {
218
+ return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
219
+ }
220
+ // ============================================================================
221
+ // Main Validation
222
+ // ============================================================================
223
+ const PASSING_SCORE = 60;
224
+ const WEIGHTS = {
225
+ contextsExist: 15, // at least one bounded context
226
+ aggregatesTyped: 25, // aggregates have typed fields
227
+ ubiquitousLanguage: 15, // glossary is non-empty
228
+ contextMapComplete: 15, // context map has real relations
229
+ commandsAndEvents: 15, // domain has commands and events
230
+ contentIntegrity: 10, // no generic index signatures
231
+ technologyAlignment: 5, // ADR tech matches model tech
232
+ };
233
+ /**
234
+ * Validate DDD domain model quality and produce a detailed report.
235
+ */
236
+ export function validateDDDQuality(model, adrs) {
237
+ const issues = [];
238
+ const contexts = model.contexts;
239
+ const totalContexts = contexts.length;
240
+ // ---- Empty model fast-path ----
241
+ if (totalContexts === 0) {
242
+ return {
243
+ passed: false,
244
+ score: 0,
245
+ issues: ['DDD model contains zero bounded contexts. DDD generation may have failed entirely.'],
246
+ totalContexts: 0,
247
+ contextsWithAggregates: 0,
248
+ aggregatesWithTypedFields: 0,
249
+ totalAggregates: 0,
250
+ ubiquitousLanguageTerms: 0,
251
+ contextMapRelations: 0,
252
+ genericIndexSignaturesDetected: 0,
253
+ technologyMismatches: [],
254
+ };
255
+ }
256
+ // ---- Count signals ----
257
+ // 1. Contexts with aggregates
258
+ const contextsWithAggregates = contexts.filter((c) => c.aggregates.length > 0).length;
259
+ // 2. Aggregates with typed fields
260
+ const allAggregates = contexts.flatMap((c) => c.aggregates);
261
+ const totalAggregates = allAggregates.length;
262
+ const aggregatesWithTypedFields = allAggregates.filter(aggregateHasTypedFields).length;
263
+ // 3. Ubiquitous language terms (context-level + global glossary)
264
+ const contextLevelTerms = contexts.flatMap((c) => c.ubiquitousLanguage).length;
265
+ const globalTerms = model.ubiquitousLanguageGlossary.length;
266
+ const ubiquitousLanguageTerms = contextLevelTerms + globalTerms;
267
+ // 4. Context map relations
268
+ const contextMapRelations = model.contextMap.length;
269
+ // 5. Commands and events (indicate real domain modeling, not just CRUD)
270
+ const totalCommands = contexts.flatMap((c) => c.commands).length;
271
+ const totalEvents = contexts.flatMap((c) => c.domainEvents).length;
272
+ // 6. Generic index signatures
273
+ const genericIndexSignaturesDetected = countGenericSignatures(model);
274
+ // 7. Technology mismatches (only if ADRs provided)
275
+ const technologyMismatches = adrs ? detectTechnologyMismatches(model, adrs) : [];
276
+ // ---- Compute sub-scores ----
277
+ // Contexts exist
278
+ const contextsScore = totalContexts > 0
279
+ ? (contextsWithAggregates / totalContexts) * WEIGHTS.contextsExist
280
+ : 0;
281
+ // Aggregates typed
282
+ const aggRatio = totalAggregates > 0 ? aggregatesWithTypedFields / totalAggregates : 0;
283
+ const aggregatesScore = aggRatio * WEIGHTS.aggregatesTyped;
284
+ // Ubiquitous language
285
+ const ulThreshold = 5;
286
+ const ulRatio = Math.min(1, ubiquitousLanguageTerms / ulThreshold);
287
+ const ulScore = ulRatio * WEIGHTS.ubiquitousLanguage;
288
+ // Context map
289
+ const expectedRelations = Math.max(1, totalContexts - 1); // at least N-1 relations
290
+ const cmRatio = Math.min(1, contextMapRelations / expectedRelations);
291
+ const cmScore = cmRatio * WEIGHTS.contextMapComplete;
292
+ // Commands and events (expect at least 1 per context)
293
+ const ceRatio = totalContexts > 0
294
+ ? Math.min(1, (totalCommands + totalEvents) / (totalContexts * 2))
295
+ : 0;
296
+ const ceScore = ceRatio * WEIGHTS.commandsAndEvents;
297
+ // Content integrity (penalize generic signatures)
298
+ const integrityPenalty = Math.min(WEIGHTS.contentIntegrity, genericIndexSignaturesDetected * 2);
299
+ const integrityScore = WEIGHTS.contentIntegrity - integrityPenalty;
300
+ // Technology alignment
301
+ const techPenalty = Math.min(WEIGHTS.technologyAlignment, technologyMismatches.length * 2.5);
302
+ const techScore = WEIGHTS.technologyAlignment - techPenalty;
303
+ const rawScore = contextsScore + aggregatesScore + ulScore + cmScore +
304
+ ceScore + integrityScore + techScore;
305
+ const score = Math.max(0, Math.min(100, Math.round(rawScore)));
306
+ // ---- Collect actionable issues ----
307
+ if (contextsWithAggregates < totalContexts) {
308
+ issues.push(`Only ${contextsWithAggregates}/${totalContexts} bounded contexts have aggregates. ` +
309
+ 'Every bounded context should define at least one aggregate root.');
310
+ }
311
+ if (totalAggregates > 0 && aggregatesWithTypedFields < totalAggregates) {
312
+ issues.push(`Only ${aggregatesWithTypedFields}/${totalAggregates} aggregates have typed field definitions. ` +
313
+ 'Entities and value objects need descriptions with concrete types, not just names.');
314
+ }
315
+ if (ubiquitousLanguageTerms === 0) {
316
+ issues.push('Ubiquitous language glossary is empty. Add domain terms with definitions.');
317
+ }
318
+ else if (ubiquitousLanguageTerms < ulThreshold) {
319
+ issues.push(`Only ${ubiquitousLanguageTerms}/${ulThreshold} ubiquitous language terms defined. ` +
320
+ 'Expand the glossary to cover key domain concepts.');
321
+ }
322
+ if (totalContexts > 1 && contextMapRelations === 0) {
323
+ issues.push('Context map has no relationships despite multiple bounded contexts. ' +
324
+ 'Define upstream/downstream relationships between contexts.');
325
+ }
326
+ else if (totalContexts > 1 && contextMapRelations < totalContexts - 1) {
327
+ issues.push(`Only ${contextMapRelations} context map relations for ${totalContexts} contexts. ` +
328
+ `Expected at least ${totalContexts - 1} relationships.`);
329
+ }
330
+ if (totalCommands === 0) {
331
+ issues.push('No domain commands defined. Add commands that express intent to change domain state.');
332
+ }
333
+ if (totalEvents === 0) {
334
+ issues.push('No domain events defined. Add events that signal meaningful state changes.');
335
+ }
336
+ if (genericIndexSignaturesDetected > 0) {
337
+ issues.push(`${genericIndexSignaturesDetected} generic index signatures detected (e.g. "[key: string]: unknown"). ` +
338
+ 'Replace with concrete typed fields to prevent Record<string, unknown> in generated code.');
339
+ }
340
+ for (const mismatch of technologyMismatches) {
341
+ issues.push(`ECLI-P2-052: ${mismatch}`);
342
+ }
343
+ const passed = score >= PASSING_SCORE;
344
+ return {
345
+ passed,
346
+ score,
347
+ issues,
348
+ totalContexts,
349
+ contextsWithAggregates,
350
+ aggregatesWithTypedFields,
351
+ totalAggregates,
352
+ ubiquitousLanguageTerms,
353
+ contextMapRelations,
354
+ genericIndexSignaturesDetected,
355
+ technologyMismatches,
356
+ };
357
+ }
358
+ // ============================================================================
359
+ // Pipeline Stage Entry Point
360
+ // ============================================================================
361
+ /**
362
+ * Execute the DDD quality gate as a Phase 2 pipeline stage.
363
+ *
364
+ * Reads the DDD domain model and optionally ADRs from context stage outputs,
365
+ * validates the model, and returns a stage output indicating pass or fail.
366
+ *
367
+ * @throws Error with ECLI-P2-051 if DDD model is not on context
368
+ */
369
+ export async function executeDDDQualityGate(context) {
370
+ const start = Date.now();
371
+ const dddOutput = context.stageOutputs.get('ddd-generation');
372
+ if (!dddOutput || dddOutput.status !== 'completed' || !dddOutput.data) {
373
+ throw new Error('ECLI-P2-051: DDD model not available on context. ' +
374
+ 'The ddd-generation stage must complete successfully before the DDD quality gate.');
375
+ }
376
+ const model = dddOutput.data;
377
+ // Optionally load ADRs for technology mismatch detection
378
+ const adrOutput = context.stageOutputs.get('adr-generation');
379
+ const adrs = (adrOutput?.status === 'completed' && adrOutput.data)
380
+ ? adrOutput.data.records ?? []
381
+ : [];
382
+ const report = validateDDDQuality(model, adrs);
383
+ const elapsed = Date.now() - start;
384
+ if (!report.passed) {
385
+ console.error(` [QUALITY-GATE] DDD model FAILED (score: ${report.score}/100)`);
386
+ for (const issue of report.issues) {
387
+ console.error(` - ${issue}`);
388
+ }
389
+ return {
390
+ stage: 'ddd-generation',
391
+ status: 'failed',
392
+ data: report,
393
+ artifacts: [],
394
+ timing: elapsed,
395
+ summary: `ECLI-P2-050: DDD model quality too low (score: ${report.score}/100, minimum: ${PASSING_SCORE}). ` +
396
+ `Issues: ${report.issues.join(' | ')}`,
397
+ };
398
+ }
399
+ console.error(` [QUALITY-GATE] DDD model PASSED (score: ${report.score}/100)`);
400
+ console.error(` Contexts: ${report.totalContexts}, Aggregates: ${report.totalAggregates} ` +
401
+ `(${report.aggregatesWithTypedFields} typed), UL terms: ${report.ubiquitousLanguageTerms}`);
402
+ return {
403
+ stage: 'ddd-generation',
404
+ status: 'completed',
405
+ data: report,
406
+ artifacts: [],
407
+ timing: elapsed,
408
+ summary: `DDD quality gate passed (score: ${report.score}/100). ` +
409
+ `${report.totalContexts} contexts, ${report.totalAggregates} aggregates, ` +
410
+ `${report.ubiquitousLanguageTerms} UL terms validated.`,
411
+ };
412
+ }
413
+ //# sourceMappingURL=ddd-quality-gate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ddd-quality-gate.js","sourceRoot":"","sources":["../../../../src/pipeline/phase2/phases/ddd-quality-gate.ts"],"names":[],"mappings":"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"}
@@ -23,18 +23,5 @@ import type { Phase2Context, Phase2StageOutput, Phase1Artifacts, ResearchDossier
23
23
  * @returns A fully populated ResearchDossier
24
24
  */
25
25
  export declare function buildResearchDossier(artifacts: Phase1Artifacts, traceId: string): ResearchDossier;
26
- /**
27
- * Generate the research dossier as Stage 2 of the Phase 2 pipeline.
28
- *
29
- * 1. Creates a telemetry span
30
- * 2. Calls buildResearchDossier (pure extraction)
31
- * 3. Validates against ResearchDossierSchema (warn-only)
32
- * 4. Writes research-dossier.json to phase2Dir
33
- * 5. Stores output on context.stageOutputs
34
- * 6. Returns Phase2StageOutput
35
- *
36
- * @param context - Mutable Phase 2 pipeline context
37
- * @returns Stage output with status, timing, and artifact paths
38
- */
39
26
  export declare function generateResearchDossier(context: Phase2Context): Promise<Phase2StageOutput>;
40
27
  //# sourceMappingURL=research-dossier.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"research-dossier.d.ts","sourceRoot":"","sources":["../../../../src/pipeline/phase2/phases/research-dossier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,eAAe,EAOhB,MAAM,aAAa,CAAC;AAi5BrB;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,eAAe,EAC1B,OAAO,EAAE,MAAM,GACd,eAAe,CAuDjB;AAoFD;;;;;;;;;;;;GAYG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,iBAAiB,CAAC,CAsJ5B"}
1
+ {"version":3,"file":"research-dossier.d.ts","sourceRoot":"","sources":["../../../../src/pipeline/phase2/phases/research-dossier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,eAAe,EAOhB,MAAM,aAAa,CAAC;AAk5BrB;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,eAAe,EAC1B,OAAO,EAAE,MAAM,GACd,eAAe,CAuDjB;AA8ND,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,iBAAiB,CAAC,CA8J5B"}
@@ -15,6 +15,7 @@ import * as fs from 'node:fs';
15
15
  import * as path from 'node:path';
16
16
  import { ResearchDossierSchema } from '../schemas.js';
17
17
  import { createSpan, endSpan, emitSpan } from '../telemetry.js';
18
+ import { createClaudeCodeRunner } from '../../../runtime/claude-code-runner.js';
18
19
  // ============================================================================
19
20
  // Constants
20
21
  // ============================================================================
@@ -971,12 +972,124 @@ function renderDossierMarkdown(dossier) {
971
972
  * @param context - Mutable Phase 2 pipeline context
972
973
  * @returns Stage output with status, timing, and artifact paths
973
974
  */
975
+ // ============================================================================
976
+ // ADR-027: LLM-Powered Domain Research
977
+ //
978
+ // The mechanical dossier re-slices the user's query into labeled items.
979
+ // This function calls Claude to generate ACTUAL domain research: industry
980
+ // terminology, real API surfaces, regulatory frameworks, domain entities
981
+ // with typed attributes, and technology-specific integration patterns.
982
+ // ============================================================================
983
+ function enrichDossierWithLLM(dossier, query, phase1Dir = '') {
984
+ try {
985
+ const runner = createClaudeCodeRunner();
986
+ // Summarize what the mechanical extraction found
987
+ const existingItems = dossier.items.slice(0, 15)
988
+ .map(i => `- [${i.category}] ${i.title}`)
989
+ .join('\n');
990
+ // Load Phase 1 agent results if available (manifest tracks all 110 agents)
991
+ let agentContext = '';
992
+ try {
993
+ const manifestPath = path.join(phase1Dir, 'manifest.json');
994
+ if (phase1Dir && fs.existsSync(manifestPath)) {
995
+ const manifest = JSON.parse(fs.readFileSync(manifestPath, 'utf-8'));
996
+ if (manifest.agents_invoked && manifest.agents_invoked.length > 0) {
997
+ const successAgents = manifest.agents_invoked.filter(a => a.status === 'success' || a.status === '200');
998
+ const agentDomains = [...new Set(successAgents.map(a => a.domain))];
999
+ agentContext = `\nAGENTICS FLEET: ${successAgents.length} agents across ${agentDomains.length} domains completed analysis: ${agentDomains.slice(0, 15).join(', ')}.\n` +
1000
+ `These agents (copilot/planner, research-lab/hypothesis, connector-hub/erp-surface, etc.) have already analyzed this domain. Build on their findings.\n`;
1001
+ }
1002
+ }
1003
+ }
1004
+ catch { /* non-fatal */ }
1005
+ const prompt = `You are a senior enterprise architect conducting deep domain research.\n` +
1006
+ `\nCLIENT REQUEST: ${query}\n` +
1007
+ (agentContext ? agentContext : '') +
1008
+ `\nMECHANICAL EXTRACTION (already found):\n${existingItems}\n` +
1009
+ `\nConduct REAL domain research and produce additional findings. You MUST include:\n` +
1010
+ `\n1. DOMAIN ENTITIES: Key business objects with their typed attributes (e.g., "TradePosition: instrument_id: string, quantity: number, mark_to_market: number, counterparty_id: string")\n` +
1011
+ `2. REAL API SURFACES: Actual API names for any mentioned systems (e.g., for SAP: API_BUSINESS_PARTNER, API_PRODUCT_SRV; for Salesforce: /services/data/vXX/sobjects). Do NOT fabricate — only name APIs you know exist.\n` +
1012
+ `3. REGULATORY FRAMEWORKS: Real regulations relevant to this domain (e.g., EMIR, MiFID II, SOX, HIPAA, GDPR — only those actually applicable)\n` +
1013
+ `4. DOMAIN ALGORITHMS: Key calculations and business rules (e.g., Value at Risk, demand forecasting, yield optimization — specific to this domain)\n` +
1014
+ `5. INTEGRATION PATTERNS: How the mentioned systems actually connect (batch vs real-time, event-driven, ETL, CDC)\n` +
1015
+ `6. KEY STAKEHOLDERS: Real roles in this domain (e.g., Chief Risk Officer, Floor Trader, Compliance Officer — not generic "Employees")\n` +
1016
+ `7. FAILURE MODES: Domain-specific risks (e.g., stale market data, position limit breaches, settlement failures)\n` +
1017
+ `\nReturn a JSON object:\n` +
1018
+ `{\n` +
1019
+ ` "items": [\n` +
1020
+ ` {\n` +
1021
+ ` "category": "requirement|constraint|stakeholder|risk|recommendation|decision-rationale",\n` +
1022
+ ` "title": "Short descriptive title",\n` +
1023
+ ` "content": "Detailed domain-specific finding with real terminology",\n` +
1024
+ ` "severity": "high|medium|low"\n` +
1025
+ ` }\n` +
1026
+ ` ]\n` +
1027
+ `}\n` +
1028
+ `\nCRITICAL: Include REAL domain knowledge from your training. Real API names, real regulatory frameworks, real industry terminology. This research drives all downstream code generation.`;
1029
+ const result = runner.invoke(prompt, {
1030
+ runId: `research-llm-${Date.now()}`,
1031
+ timeoutMs: 180_000,
1032
+ });
1033
+ const data = result.data;
1034
+ // Extract items from response (may be direct JSON or wrapped in content)
1035
+ let llmItems;
1036
+ if (Array.isArray(data.items)) {
1037
+ llmItems = data.items;
1038
+ }
1039
+ else if (typeof data.content === 'string') {
1040
+ try {
1041
+ const parsed = JSON.parse(data.content);
1042
+ if (Array.isArray(parsed.items))
1043
+ llmItems = parsed.items;
1044
+ }
1045
+ catch { /* not JSON */ }
1046
+ }
1047
+ if (!llmItems || llmItems.length === 0) {
1048
+ process.stderr.write('[research-dossier] LLM research: no items in response\n');
1049
+ return;
1050
+ }
1051
+ // Merge LLM items into dossier
1052
+ const validCategories = new Set([
1053
+ 'requirement', 'constraint', 'stakeholder', 'success-criterion',
1054
+ 'timeline', 'risk', 'recommendation', 'decision-rationale',
1055
+ ]);
1056
+ let addedCount = 0;
1057
+ for (const item of llmItems) {
1058
+ const category = validCategories.has(item.category)
1059
+ ? item.category
1060
+ : 'recommendation';
1061
+ const nextId = `RD-${String(dossier.items.length + 1).padStart(3, '0')}`;
1062
+ dossier.items.push({
1063
+ id: nextId,
1064
+ source: 'decision-memo', // LLM research attributed to decision-memo
1065
+ category,
1066
+ title: (item.title || '').slice(0, 200),
1067
+ content: (item.content || '').slice(0, 1000),
1068
+ severity: item.severity,
1069
+ });
1070
+ addedCount++;
1071
+ }
1072
+ // Rebuild summary
1073
+ dossier.summary = buildDossierSummary(dossier.items, dossier.crossReferences);
1074
+ process.stderr.write(`[research-dossier] LLM domain research: added ${addedCount} items in ${result.durationMs}ms\n`);
1075
+ }
1076
+ catch (err) {
1077
+ process.stderr.write(`[research-dossier] LLM research enrichment failed (using mechanical dossier): ${err instanceof Error ? err.message : String(err)}\n`);
1078
+ }
1079
+ }
974
1080
  export async function generateResearchDossier(context) {
975
1081
  const span = createSpan('research-dossier', 'generate', { traceId: context.traceId });
976
1082
  const startTime = Date.now();
977
1083
  try {
978
- // Pure extraction from Phase 1 artifacts
1084
+ // Mechanical extraction from Phase 1 artifacts
979
1085
  const dossier = buildResearchDossier(context.phase1Artifacts, context.traceId);
1086
+ // ADR-027: Enrich with LLM-generated domain research (real APIs, regulations, entities)
1087
+ const query = context.phase1Artifacts?.scenario?.query
1088
+ ?? context.phase1Artifacts?.manifest?.['query']
1089
+ ?? '';
1090
+ if (query) {
1091
+ enrichDossierWithLLM(dossier, query, context.phase1Dir);
1092
+ }
980
1093
  // Incorporate agent results (research-lab, copilot, etc.) from pre-dispatch
981
1094
  const runDir = path.dirname(context.phase2Dir);
982
1095
  const agentReportPath = path.join(runDir, '.pre-phase2', 'agentics-agents-report.json');