0xray 3.0.12 → 3.0.14

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 (1167) hide show
  1. package/.opencode/agents/testing-best-practices.yml +12 -0
  2. package/.opencode/codex.codex +2 -2
  3. package/.opencode/commands/dependency-audit.md +3 -3
  4. package/.opencode/enforcer-config.json +3 -3
  5. package/.opencode/hooks/post-commit +1 -1
  6. package/.opencode/init.sh +20 -20
  7. package/.opencode/skills/api-design/SKILL.md +37 -0
  8. package/.opencode/skills/architect-tools/SKILL.md +37 -0
  9. package/.opencode/skills/architecture-patterns/SKILL.md +37 -0
  10. package/.opencode/skills/auto-format/SKILL.md +37 -0
  11. package/.opencode/skills/backend-engineer/SKILL.md +49 -0
  12. package/.opencode/skills/boot-orchestrator/SKILL.md +37 -0
  13. package/.opencode/skills/bug-triage/SKILL.md +43 -0
  14. package/.opencode/skills/code-analyzer/SKILL.md +45 -0
  15. package/.opencode/skills/code-review/SKILL.md +52 -0
  16. package/.opencode/skills/content-creator/SKILL.md +38 -0
  17. package/.opencode/skills/database-engineer/SKILL.md +46 -0
  18. package/.opencode/skills/devops-engineer/SKILL.md +49 -0
  19. package/.opencode/skills/enforcer/SKILL.md +37 -0
  20. package/.opencode/skills/framework-compliance-audit/SKILL.md +37 -0
  21. package/.opencode/skills/frontend-engineer/SKILL.md +49 -0
  22. package/.opencode/skills/frontend-ui-ux-engineer/SKILL.md +41 -0
  23. package/.opencode/skills/git-workflow/SKILL.md +37 -0
  24. package/.opencode/skills/growth-strategist/SKILL.md +48 -0
  25. package/.opencode/skills/hermes-agent/SKILL.md +212 -0
  26. package/.opencode/skills/inference-improve/SKILL.md +97 -0
  27. package/.opencode/skills/lint/SKILL.md +37 -0
  28. package/.opencode/skills/log-monitor/SKILL.md +44 -0
  29. package/.opencode/skills/mobile-developer/SKILL.md +42 -0
  30. package/.opencode/skills/model-health-check/SKILL.md +37 -0
  31. package/.opencode/skills/multimodal-looker/SKILL.md +45 -0
  32. package/.opencode/skills/orchestrator/SKILL.md +37 -0
  33. package/.opencode/skills/performance-analysis/SKILL.md +37 -0
  34. package/.opencode/skills/performance-engineer/SKILL.md +41 -0
  35. package/.opencode/skills/performance-optimization/SKILL.md +37 -0
  36. package/.opencode/skills/processor-pipeline/SKILL.md +37 -0
  37. package/.opencode/skills/project-analysis/SKILL.md +42 -0
  38. package/.opencode/skills/refactoring-strategies/SKILL.md +37 -0
  39. package/.opencode/skills/researcher/SKILL.md +37 -0
  40. package/.opencode/skills/security-audit/SKILL.md +48 -0
  41. package/.opencode/skills/security-scan/SKILL.md +37 -0
  42. package/.opencode/skills/seo-consultant/SKILL.md +43 -0
  43. package/.opencode/skills/session-management/SKILL.md +36 -0
  44. package/.opencode/skills/state-manager/SKILL.md +37 -0
  45. package/.opencode/skills/storyteller/SKILL.md +130 -0
  46. package/.opencode/skills/strategist/SKILL.md +32 -0
  47. package/.opencode/skills/tech-writer/SKILL.md +37 -0
  48. package/.opencode/skills/testing-strategy/SKILL.md +43 -0
  49. package/.opencode/skills/ui-ux-design/SKILL.md +603 -0
  50. package/.opencode/skills/xray-orchestrator/SKILL.md +141 -0
  51. package/AGENTS.md +19 -33
  52. package/README.md +78 -316
  53. package/dist/AGENTS.md +19 -33
  54. package/dist/CHANGELOG.md +39 -480
  55. package/dist/README.md +78 -316
  56. package/dist/agents/architect.js +0 -1
  57. package/dist/agents/backend-engineer.js +0 -1
  58. package/dist/agents/bug-triage-specialist.js +0 -1
  59. package/dist/agents/code-analyzer.js +0 -1
  60. package/dist/agents/code-reviewer.js +1 -2
  61. package/dist/agents/content-creator.js +0 -1
  62. package/dist/agents/database-engineer.js +0 -1
  63. package/dist/agents/devops-engineer.js +0 -1
  64. package/dist/agents/frontend-engineer.js +0 -1
  65. package/dist/agents/frontend-ui-ux-engineer.js +0 -1
  66. package/dist/agents/growth-strategist.js +0 -1
  67. package/dist/agents/index.js +0 -1
  68. package/dist/agents/known-names.js +72 -0
  69. package/dist/agents/librarian-agents-updater.js +0 -1
  70. package/dist/agents/log-monitor.js +0 -1
  71. package/dist/agents/mobile-developer.js +0 -1
  72. package/dist/agents/multimodal-looker.js +93 -0
  73. package/dist/agents/performance-engineer.js +0 -1
  74. package/dist/agents/refactorer.js +0 -1
  75. package/dist/agents/registry.js +1 -1
  76. package/dist/agents/researcher.js +0 -1
  77. package/dist/agents/security-auditor.js +0 -1
  78. package/dist/agents/seo-consultant.js +0 -1
  79. package/dist/agents/strategist.js +0 -1
  80. package/dist/agents/tech-writer.js +0 -1
  81. package/dist/agents/testing-lead.js +0 -1
  82. package/dist/agents/types.js +0 -1
  83. package/dist/analytics/consent-manager.js +258 -0
  84. package/dist/analytics/emerging-pattern-detector.js +0 -1
  85. package/dist/analytics/pattern-learning-engine.js +0 -1
  86. package/dist/analytics/pattern-performance-tracker.js +0 -1
  87. package/dist/analytics/predictive-analytics.js +0 -1
  88. package/dist/analytics/prompt-pattern-analyzer.js +0 -1
  89. package/dist/analytics/routing-performance-analyzer.js +0 -1
  90. package/dist/analytics/routing-refiner.js +1 -2
  91. package/dist/analytics/simple-pattern-analyzer.js +297 -0
  92. package/dist/architect/architect-tools.js +0 -1
  93. package/dist/architect/architectural-integrity.js +0 -1
  94. package/dist/benchmark/performance-benchmark.js +372 -0
  95. package/dist/cli/commands/analytics-disable.js +72 -0
  96. package/dist/cli/commands/analytics-enable-action.js +82 -0
  97. package/dist/cli/commands/analytics-preview.js +106 -0
  98. package/dist/cli/commands/analytics-status.js +68 -0
  99. package/dist/cli/commands/antigravity-status.js +0 -1
  100. package/dist/cli/commands/archive-logs.js +0 -1
  101. package/dist/cli/commands/credible-init.js +0 -1
  102. package/dist/cli/commands/enforce.js +78 -0
  103. package/dist/cli/commands/govern.js +0 -1
  104. package/dist/cli/commands/grok-install.js +0 -1
  105. package/dist/cli/commands/hermes-install.js +4 -5
  106. package/dist/cli/commands/mcp-install.js +1 -2
  107. package/dist/cli/commands/openclaw-install.js +1 -2
  108. package/dist/cli/commands/opencode-install.js +0 -33
  109. package/dist/cli/commands/plugin-commands.js +2 -3
  110. package/dist/cli/commands/publish-agent.js +5 -6
  111. package/dist/cli/commands/security-audit.js +0 -1
  112. package/dist/cli/commands/skill-install.js +1 -2
  113. package/dist/cli/commands/status.js +5 -20
  114. package/dist/cli/commands/storyteller.js +2 -3
  115. package/dist/cli/index.js +237 -67
  116. package/dist/cli/server.js +147 -0
  117. package/dist/config/default-agents.js +0 -1
  118. package/dist/config/routing-mappings.js +19 -1
  119. package/dist/core/activity-logger.js +4 -5
  120. package/dist/core/adaptive-kernel.js +0 -1
  121. package/dist/core/agent-spawn-gate.js +1 -2
  122. package/dist/core/boot-orchestrator.js +50 -36
  123. package/dist/core/bridge.mjs +24 -24
  124. package/dist/core/codex-formatter.js +3 -4
  125. package/dist/core/codex-injector.js +10 -11
  126. package/dist/core/config-loader.js +2 -5
  127. package/dist/core/config-paths.js +30 -40
  128. package/dist/core/context-loader.js +5 -8
  129. package/dist/core/context-validator.js +0 -1
  130. package/dist/core/features-config.js +1 -2
  131. package/dist/core/framework-logger.js +11 -75
  132. package/dist/core/index.js +2 -5
  133. package/dist/core/kernel-patterns.js +0 -1
  134. package/dist/core/logging-config.js +43 -0
  135. package/dist/core/model-router.js +0 -1
  136. package/dist/core/orchestrator.js +172 -29
  137. package/dist/core/system-prompt-generator.js +2 -3
  138. package/dist/core/trace-context.js +33 -0
  139. package/dist/core/xray-activation.js +21 -27
  140. package/dist/delegation/agent-delegator.js +3 -4
  141. package/dist/delegation/agent-expertise.js +0 -1
  142. package/dist/delegation/analytics/index.js +0 -1
  143. package/dist/delegation/analytics/learning-engine.js +0 -1
  144. package/dist/delegation/analytics/outcome-tracker.js +0 -1
  145. package/dist/delegation/analytics/routing-analytics.js +0 -1
  146. package/dist/delegation/ast-code-parser.js +0 -1
  147. package/dist/delegation/codebase-context-analyzer.js +0 -1
  148. package/dist/delegation/complexity-analyzer.js +0 -1
  149. package/dist/delegation/complexity-core.js +0 -1
  150. package/dist/delegation/config/types.js +0 -1
  151. package/dist/delegation/dependency-graph-builder.js +0 -1
  152. package/dist/delegation/index.js +3 -5
  153. package/dist/delegation/metrics-aggregator.js +0 -1
  154. package/dist/delegation/session-coordinator.js +0 -1
  155. package/dist/delegation/strategy-selector.js +0 -1
  156. package/dist/delegation/voting-coordinator.js +375 -0
  157. package/dist/delegation/voting-types.js +0 -1
  158. package/dist/delegation/weighted-voting-aggregator.js +0 -1
  159. package/dist/enforcement/core/index.js +0 -1
  160. package/dist/enforcement/core/rule-executor.js +0 -1
  161. package/dist/enforcement/core/rule-hierarchy.js +0 -1
  162. package/dist/enforcement/core/rule-registry.js +0 -1
  163. package/dist/enforcement/core/violation-fixer.js +0 -1
  164. package/dist/enforcement/enforcer-tools.js +125 -4
  165. package/dist/enforcement/index.js +0 -1
  166. package/dist/enforcement/loaders/agent-triage-loader.js +0 -1
  167. package/dist/enforcement/loaders/agents-md-validation-loader.js +2 -3
  168. package/dist/enforcement/loaders/base-loader.js +0 -1
  169. package/dist/enforcement/loaders/codex-loader.js +2 -3
  170. package/dist/enforcement/loaders/index.js +0 -1
  171. package/dist/enforcement/loaders/loader-orchestrator.js +0 -1
  172. package/dist/enforcement/loaders/processor-loader.js +0 -1
  173. package/dist/enforcement/rule-enforcer.js +0 -1
  174. package/dist/enforcement/test-auto-healing.js +325 -0
  175. package/dist/enforcement/types.js +0 -1
  176. package/dist/enforcement/validators/architecture-validators.js +0 -81
  177. package/dist/enforcement/validators/base-validator.js +0 -1
  178. package/dist/enforcement/validators/code-quality-validators.js +14 -46
  179. package/dist/enforcement/validators/index.js +0 -1
  180. package/dist/enforcement/validators/security-validators.js +0 -1
  181. package/dist/enforcement/validators/testing-validators.js +0 -1
  182. package/dist/enforcement/validators/validator-registry.js +1 -3
  183. package/dist/execution/opencode-cli-invoker.js +27 -10
  184. package/dist/execution/proposal-applier.js +173 -19
  185. package/dist/governance/codex-policy.service.js +26 -9
  186. package/dist/governance/governance-core.js +117 -32
  187. package/dist/governance/governance-service.js +45 -99
  188. package/dist/governance/governance-types.js +3 -19
  189. package/dist/index.js +19 -10
  190. package/dist/inference/deploy-verifier.js +1 -2
  191. package/dist/inference/index.js +0 -1
  192. package/dist/inference/inference-accumulator.js +1 -2
  193. package/dist/inference/inference-cycle.js +569 -153
  194. package/dist/inference/semantic-patterns.js +0 -1
  195. package/dist/inference/session-capture.js +0 -1
  196. package/dist/integrations/base/ExampleIntegration.js +181 -0
  197. package/dist/integrations/base/Integration.js +1 -2
  198. package/dist/integrations/base/README.md +2 -2
  199. package/dist/integrations/base/index.js +2 -1
  200. package/dist/integrations/base/registry.js +19 -20
  201. package/dist/integrations/base/types.js +0 -1
  202. package/dist/integrations/enforcement-gate.js +3 -16
  203. package/dist/integrations/governance/governance-client.js +1 -8
  204. package/dist/integrations/governance/index.js +6 -27
  205. package/dist/integrations/governance/types.js +5 -11
  206. package/dist/integrations/grok/grok-cli.js +20 -32
  207. package/dist/integrations/grok/hooks/pre-tool-use.js +19 -35
  208. package/dist/integrations/grok/plugin/0xray/.mcp.json +11 -8
  209. package/dist/integrations/grok/plugin/0xray/hooks/hooks.json +2 -2
  210. package/dist/integrations/hermes-agent/.mcp.json +32 -0
  211. package/dist/integrations/hermes-agent/__init__.py +72 -78
  212. package/dist/integrations/hermes-agent/__pycache__/__init__.cpython-313.pyc +0 -0
  213. package/dist/integrations/hermes-agent/__pycache__/tools.cpython-313.pyc +0 -0
  214. package/dist/integrations/hermes-agent/after-install.md +14 -14
  215. package/dist/integrations/hermes-agent/bridge.mjs +64 -62
  216. package/dist/integrations/hermes-agent/conftest.py +14 -0
  217. package/dist/integrations/hermes-agent/plugin.yaml +5 -5
  218. package/dist/integrations/hermes-agent/schemas.py +12 -12
  219. package/dist/integrations/hermes-agent/test_plugin.py +1100 -0
  220. package/dist/integrations/hermes-agent/tools.py +23 -85
  221. package/dist/integrations/openclaw/README.md +12 -12
  222. package/dist/integrations/openclaw/api-server.js +10 -8
  223. package/dist/integrations/openclaw/client.js +24 -23
  224. package/dist/integrations/openclaw/config.js +1 -2
  225. package/dist/integrations/openclaw/hooks/{xray-hooks.js → strray-hooks.js} +18 -18
  226. package/dist/integrations/openclaw/index.js +2 -26
  227. package/dist/integrations/openclaw/types.js +0 -1
  228. package/dist/integrations/plugins/index.js +0 -1
  229. package/dist/integrations/plugins/plugin-integration.js +0 -1
  230. package/dist/integrations/plugins/plugin-registry.js +7 -8
  231. package/dist/mcps/agent-resolver.js +0 -1
  232. package/dist/mcps/architect-tools.server.js +195 -113
  233. package/dist/mcps/auto-format.server.js +95 -50
  234. package/dist/mcps/boot-orchestrator.server.js +636 -99
  235. package/dist/mcps/config/config-loader.js +9 -17
  236. package/dist/mcps/config/config-validator.js +0 -1
  237. package/dist/mcps/config/index.js +0 -1
  238. package/dist/mcps/config/plugin-server-registry.js +0 -1
  239. package/dist/mcps/config/server-config-registry.js +11 -12
  240. package/dist/mcps/connection/connection-manager.js +79 -0
  241. package/dist/mcps/connection/connection-pool.js +0 -1
  242. package/dist/mcps/connection/mcp-connection.js +1 -2
  243. package/dist/mcps/connection/process-spawner.js +0 -1
  244. package/dist/mcps/enforcer-tools.server.js +286 -205
  245. package/dist/mcps/estimation.server.js +107 -64
  246. package/dist/mcps/framework-compliance-audit.server.js +82 -54
  247. package/dist/mcps/framework-help.server.js +101 -64
  248. package/dist/mcps/governance.server.js +29 -86
  249. package/dist/mcps/in-process-skill-registry.js +0 -17
  250. package/dist/mcps/index.js +0 -1
  251. package/dist/mcps/knowledge-skills/api-design.server.js +66 -45
  252. package/dist/mcps/knowledge-skills/architecture-patterns.server.js +73 -45
  253. package/dist/mcps/knowledge-skills/bug-triage-specialist.server.js +161 -153
  254. package/dist/mcps/knowledge-skills/code-analyzer.server.js +44 -30
  255. package/dist/mcps/knowledge-skills/code-review.server.js +142 -119
  256. package/dist/mcps/knowledge-skills/content-creator.server.js +225 -215
  257. package/dist/mcps/knowledge-skills/database-design.server.js +150 -127
  258. package/dist/mcps/knowledge-skills/devops-deployment.server.js +159 -81
  259. package/dist/mcps/knowledge-skills/git-workflow.server.js +67 -46
  260. package/dist/mcps/knowledge-skills/growth-strategist.server.js +323 -313
  261. package/dist/mcps/knowledge-skills/log-monitor.server.js +159 -151
  262. package/dist/mcps/knowledge-skills/mobile-development.server.js +208 -102
  263. package/dist/mcps/knowledge-skills/multimodal-looker.server.js +158 -133
  264. package/dist/mcps/knowledge-skills/performance-optimization.server.js +295 -165
  265. package/dist/mcps/knowledge-skills/project-analysis.server.js +225 -85
  266. package/dist/mcps/knowledge-skills/refactoring-strategies.server.js +155 -73
  267. package/dist/mcps/knowledge-skills/security-audit.server.js +135 -112
  268. package/dist/mcps/knowledge-skills/seo-consultant.server.js +202 -90
  269. package/dist/mcps/knowledge-skills/session-management.server.js +203 -51
  270. package/dist/mcps/knowledge-skills/skill-invocation.server.js +367 -220
  271. package/dist/mcps/knowledge-skills/strategist.server.js +121 -82
  272. package/dist/mcps/knowledge-skills/tech-writer.server.js +299 -97
  273. package/dist/mcps/knowledge-skills/testing-best-practices.server.js +866 -0
  274. package/dist/mcps/knowledge-skills/testing-strategy.server.js +152 -88
  275. package/dist/mcps/knowledge-skills/ui-ux-design.server.js +398 -100
  276. package/dist/mcps/lint.server.js +92 -52
  277. package/dist/mcps/mcp-client.js +5 -6
  278. package/dist/mcps/model-health-check.server.js +60 -33
  279. package/dist/mcps/orchestrator/config/agent-capabilities.js +0 -1
  280. package/dist/mcps/orchestrator/execution/execution-planner.js +0 -1
  281. package/dist/mcps/orchestrator/handlers/complexity-handler.js +0 -1
  282. package/dist/mcps/orchestrator/handlers/status-handler.js +0 -1
  283. package/dist/mcps/orchestrator/handlers/task-handler.js +0 -1
  284. package/dist/mcps/orchestrator/server.js +4 -7
  285. package/dist/mcps/orchestrator/types.js +0 -1
  286. package/dist/mcps/orchestrator.server.js +19 -0
  287. package/dist/mcps/performance-analysis.server.js +88 -58
  288. package/dist/mcps/processor-pipeline.server.js +100 -70
  289. package/dist/mcps/protocol/protocol-constants.js +0 -1
  290. package/dist/mcps/registry.json +1 -1
  291. package/dist/mcps/researcher.server.js +154 -82
  292. package/dist/mcps/security-scan.server.js +96 -55
  293. package/dist/mcps/shared/knowledge-skill-base.js +0 -1
  294. package/dist/mcps/shared/prompt-security-validator.js +0 -1
  295. package/dist/mcps/shared/security-scanner.js +0 -1
  296. package/dist/mcps/simulation/index.js +0 -1
  297. package/dist/mcps/simulation/server-simulations.js +4 -5
  298. package/dist/mcps/simulation/simulation-engine.js +0 -1
  299. package/dist/mcps/state-manager.server.js +160 -116
  300. package/dist/mcps/tools/index.js +0 -1
  301. package/dist/mcps/tools/tool-cache.js +0 -1
  302. package/dist/mcps/tools/tool-discovery.js +0 -1
  303. package/dist/mcps/tools/tool-executor.js +0 -1
  304. package/dist/mcps/tools/tool-registry.js +0 -1
  305. package/dist/mcps/types/index.js +0 -1
  306. package/dist/mcps/types/json-rpc.types.js +0 -1
  307. package/dist/mcps/types/mcp.types.js +0 -1
  308. package/dist/metrics/agent-metrics.js +1 -2
  309. package/dist/metrics/index.js +0 -1
  310. package/dist/monitoring/advanced-profiler.js +0 -1
  311. package/dist/monitoring/memory-monitor.js +0 -1
  312. package/dist/monitoring/nudge-watchdog.js +0 -1
  313. package/dist/monitoring/test-auto-generation-monitor.js +0 -1
  314. package/dist/nucleus/default-plugins.js +51 -18
  315. package/dist/nucleus/govern-http.js +0 -1
  316. package/dist/nucleus/index.js +0 -1
  317. package/dist/nucleus/kernel.js +0 -1
  318. package/dist/nucleus/orchestrator.js +3 -4
  319. package/dist/nucleus/plugin-registry.js +0 -1
  320. package/dist/nucleus/thin-dispatch.js +0 -1
  321. package/dist/orchestrator/agent-spawn-governor.js +0 -1
  322. package/dist/orchestrator/enhanced-multi-agent-orchestrator.js +2 -3
  323. package/dist/orchestrator/intelligent-commit-batcher.js +3 -4
  324. package/dist/orchestrator/multi-agent-orchestration-coordinator.js +9 -10
  325. package/dist/orchestrator/orchestrator.js +25 -7
  326. package/dist/orchestrator/self-direction-activation.js +245 -0
  327. package/dist/orchestrator/universal-librarian-consultation.js +216 -0
  328. package/dist/orchestrator/universal-registry-bridge.js +247 -0
  329. package/dist/performance/performance-budget-enforcer.js +434 -0
  330. package/dist/performance/performance-regression-tester.js +342 -0
  331. package/dist/plugin/xray-codex-injection.js +270 -37
  332. package/dist/postprocessor/PostProcessor.js +542 -146
  333. package/dist/postprocessor/analysis/FailureAnalysisEngine.js +0 -1
  334. package/dist/postprocessor/autofix/AutoFixEngine.js +54 -1
  335. package/dist/postprocessor/autofix/FixValidator.js +0 -1
  336. package/dist/postprocessor/config.js +0 -1
  337. package/dist/postprocessor/escalation/EscalationEngine.js +0 -1
  338. package/dist/postprocessor/monitoring/MonitoringEngine.js +0 -1
  339. package/dist/postprocessor/redeploy/RedeployCoordinator.js +0 -1
  340. package/dist/postprocessor/services/RegressionAnalysisService.js +2 -3
  341. package/dist/postprocessor/success/SuccessHandler.js +0 -1
  342. package/dist/postprocessor/triggers/APITrigger.js +0 -1
  343. package/dist/postprocessor/triggers/GitHookTrigger.js +25 -26
  344. package/dist/postprocessor/triggers/WebhookTrigger.js +0 -1
  345. package/dist/postprocessor/types.js +0 -1
  346. package/dist/processors/doc-write-guard.js +0 -1
  347. package/dist/processors/implementations/agents-md-validation-processor.js +3 -4
  348. package/dist/processors/implementations/async-pattern-processor.js +0 -1
  349. package/dist/processors/implementations/codex-compliance-processor.js +0 -1
  350. package/dist/processors/implementations/commit-batcher-processor.js +0 -1
  351. package/dist/processors/implementations/console-log-guard-processor.js +0 -1
  352. package/dist/processors/implementations/coverage-analysis-processor.js +0 -1
  353. package/dist/processors/implementations/error-boundary-processor.js +0 -1
  354. package/dist/processors/implementations/inference-improvement-processor.js +2 -3
  355. package/dist/processors/implementations/log-protection-processor.js +2 -3
  356. package/dist/processors/implementations/nudge-processor.js +0 -1
  357. package/dist/processors/implementations/performance-budget-processor.js +0 -1
  358. package/dist/processors/implementations/postprocessor-chain-validator.js +0 -1
  359. package/dist/processors/implementations/pre-validate-processor.js +0 -1
  360. package/dist/processors/implementations/publish-preflight-processor.js +3 -4
  361. package/dist/processors/implementations/refactoring-logging-processor-wrapper.js +1 -96
  362. package/dist/processors/implementations/refactoring-logging-processor.js +96 -0
  363. package/dist/processors/implementations/regression-testing-processor.js +2 -3
  364. package/dist/processors/implementations/session-capture-processor.js +37 -0
  365. package/dist/processors/implementations/session-summary-processor.js +2 -3
  366. package/dist/processors/implementations/spawn-governance-processor.js +0 -1
  367. package/dist/processors/implementations/state-validation-processor.js +0 -1
  368. package/dist/processors/implementations/storytelling-trigger-processor.js +2 -3
  369. package/dist/processors/implementations/test-auto-creation-processor.js +0 -1
  370. package/dist/processors/implementations/test-execution-processor.js +0 -1
  371. package/dist/processors/implementations/typescript-compilation-processor.js +0 -1
  372. package/dist/processors/implementations/version-compliance-processor.js +0 -1
  373. package/dist/processors/processor-interfaces.js +0 -1
  374. package/dist/processors/processor-manager.js +314 -347
  375. package/dist/processors/processor-types.js +0 -1
  376. package/dist/public/XrayService.js +0 -1
  377. package/dist/public/about.html +6 -6
  378. package/dist/public/enterprise.html +1 -1
  379. package/dist/public/features.html +2 -2
  380. package/dist/public/index.html +4 -4
  381. package/dist/public/index.js +0 -1
  382. package/dist/reporting/framework-reporting-system.js +0 -1
  383. package/dist/reporting/log-parser.js +0 -1
  384. package/dist/reporting/metrics.js +0 -1
  385. package/dist/reporting/report-formatter.js +1 -2
  386. package/dist/reporting/types.js +0 -1
  387. package/dist/scripts/activate-kernel-pipeline.js +101 -0
  388. package/dist/scripts/integration.js +0 -1
  389. package/dist/scripts/pre-command +1 -1
  390. package/dist/security/comprehensive-security-audit.js +0 -1
  391. package/dist/security/index.js +13 -0
  392. package/dist/security/prompt-security-validator.js +148 -0
  393. package/dist/security/security-agent-coordinator.js +204 -0
  394. package/dist/security/security-auditor.js +584 -0
  395. package/dist/security/security-hardener.js +1 -130
  396. package/dist/security/security-hardening-system.js +727 -0
  397. package/dist/security/security-headers.js +0 -1
  398. package/dist/security/security-orchestration-layer.js +496 -0
  399. package/dist/security/security-scanner.js +429 -0
  400. package/dist/services/inference-tuner.js +2 -3
  401. package/dist/session/index.js +0 -1
  402. package/dist/session/session-cleanup-manager.js +0 -1
  403. package/dist/session/session-monitor.js +0 -1
  404. package/dist/session/session-state-manager.js +0 -1
  405. package/dist/skills/hermes-agent/SKILL.md +12 -12
  406. package/dist/skills/orchestrator/SKILL.md +1 -1
  407. package/dist/skills/registry.json +1 -1
  408. package/dist/skills/storyteller/SKILL.md +1 -1
  409. package/dist/skills/testing-best-practices/SKILL.md +37 -0
  410. package/dist/skills/xray-orchestrator/index.js +0 -1
  411. package/dist/state/context-providers.js +1 -0
  412. package/dist/state/index.js +6 -2
  413. package/dist/state/state-manager.js +4 -5
  414. package/dist/state/state-types.js +1 -0
  415. package/dist/testing/memory-regression-suite.js +258 -0
  416. package/dist/tools/assess-complexity-tool.js +0 -1
  417. package/dist/tools/query-routing-tool.js +0 -1
  418. package/dist/types/metamorphosis.js +0 -1
  419. package/dist/utils/batch-operations.js +292 -0
  420. package/dist/utils/codex-parser.js +0 -1
  421. package/dist/utils/command-runner.js +0 -1
  422. package/dist/utils/import-resolver.js +1 -2
  423. package/dist/utils/language-detector.js +0 -1
  424. package/dist/utils/path-resolver.js +2 -3
  425. package/dist/utils/shutdown-handler.js +0 -1
  426. package/dist/utils/task-graph.js +0 -1
  427. package/dist/utils/test-template-generator.js +178 -0
  428. package/dist/utils/token-manager.js +163 -0
  429. package/dist/validation/estimation-validator.js +1 -2
  430. package/dist/validation/report-content-validator.js +0 -1
  431. package/package.json +17 -42
  432. package/scripts/hooks/pre-command +1 -1
  433. package/scripts/hooks/run-hook.js +73 -186
  434. package/scripts/node/auto-reflection-generator.mjs +2 -2
  435. package/scripts/node/enforce-agents-md.mjs +2 -2
  436. package/scripts/node/postinstall.cjs +13 -32
  437. package/scripts/node/pre-publish-guard.js +11 -17
  438. package/scripts/node/prepare-consumer.cjs +6 -7
  439. package/scripts/node/release.js +159 -0
  440. package/scripts/node/release.mjs +160 -166
  441. package/scripts/node/setup.cjs +6 -65
  442. package/scripts/node/universal-version-manager.js +68 -66
  443. package/scripts/node/validate-mcp-connectivity.js +1 -1
  444. package/scripts/node/version-manager.mjs +4 -50
  445. package/src/integrations/grok/plugin/0xray/.mcp.json +11 -8
  446. package/src/integrations/grok/plugin/0xray/hooks/hooks.json +2 -2
  447. package/src/mcps/architect-tools.server.ts +215 -112
  448. package/src/mcps/auto-format.server.ts +110 -50
  449. package/src/mcps/boot-orchestrator.server.ts +803 -105
  450. package/src/mcps/config/__tests__/config-loader.test.ts +4 -8
  451. package/src/mcps/config/__tests__/server-config-registry.test.ts +18 -18
  452. package/src/mcps/config/config-loader.ts +9 -18
  453. package/src/mcps/config/server-config-registry.ts +11 -11
  454. package/src/mcps/connection/connection-manager.ts +91 -0
  455. package/src/mcps/connection/mcp-connection.ts +1 -1
  456. package/src/mcps/enforcer-tools.server.ts +311 -214
  457. package/src/mcps/estimation.server.ts +122 -62
  458. package/src/mcps/framework-compliance-audit.server.ts +97 -52
  459. package/src/mcps/framework-help.server.ts +114 -64
  460. package/src/mcps/governance.server.ts +31 -94
  461. package/src/mcps/in-process-skill-registry.ts +0 -16
  462. package/src/mcps/knowledge-skills/api-design.server.ts +76 -40
  463. package/src/mcps/knowledge-skills/architecture-patterns.server.ts +86 -39
  464. package/src/mcps/knowledge-skills/bug-triage-specialist.server.ts +192 -173
  465. package/src/mcps/knowledge-skills/code-analyzer.server.ts +54 -28
  466. package/src/mcps/knowledge-skills/code-review.server.ts +160 -122
  467. package/src/mcps/knowledge-skills/content-creator.server.ts +254 -226
  468. package/src/mcps/knowledge-skills/database-design.server.ts +164 -126
  469. package/src/mcps/knowledge-skills/devops-deployment.server.ts +171 -75
  470. package/src/mcps/knowledge-skills/git-workflow.server.ts +76 -40
  471. package/src/mcps/knowledge-skills/growth-strategist.server.ts +360 -332
  472. package/src/mcps/knowledge-skills/log-monitor.server.ts +186 -168
  473. package/src/mcps/knowledge-skills/mobile-development.server.ts +222 -97
  474. package/src/mcps/knowledge-skills/multimodal-looker.server.ts +174 -136
  475. package/src/mcps/knowledge-skills/performance-optimization.server.ts +328 -164
  476. package/src/mcps/knowledge-skills/project-analysis.server.ts +247 -80
  477. package/src/mcps/knowledge-skills/refactoring-strategies.server.ts +170 -67
  478. package/src/mcps/knowledge-skills/security-audit.server.ts +150 -112
  479. package/src/mcps/knowledge-skills/seo-consultant.server.ts +219 -88
  480. package/src/mcps/knowledge-skills/session-management.server.ts +232 -52
  481. package/src/mcps/knowledge-skills/skill-invocation.server.ts +406 -225
  482. package/src/mcps/knowledge-skills/strategist.server.ts +142 -80
  483. package/src/mcps/knowledge-skills/tech-writer.server.ts +349 -93
  484. package/src/mcps/knowledge-skills/testing-best-practices.server.test.ts +136 -0
  485. package/src/mcps/knowledge-skills/testing-best-practices.server.ts +1232 -0
  486. package/src/mcps/knowledge-skills/testing-strategy.server.ts +160 -83
  487. package/src/mcps/knowledge-skills/ui-ux-design.server.ts +486 -101
  488. package/src/mcps/lint.server.ts +108 -54
  489. package/src/mcps/mcp-client.ts +5 -5
  490. package/src/mcps/model-health-check.server.ts +71 -34
  491. package/src/mcps/orchestrator/server.ts +4 -6
  492. package/src/mcps/orchestrator.server.ts +34 -0
  493. package/src/mcps/performance-analysis.server.ts +104 -60
  494. package/src/mcps/processor-pipeline.server.ts +110 -72
  495. package/src/mcps/registry.json +1 -1
  496. package/src/mcps/researcher.server.ts +177 -88
  497. package/src/mcps/security-scan.server.ts +104 -55
  498. package/src/mcps/simulation/server-simulations.ts +4 -4
  499. package/src/mcps/state-manager.server.ts +175 -117
  500. package/src/opencode/agents/testing-best-practices.yml +12 -0
  501. package/src/opencode/codex.codex +2 -2
  502. package/src/opencode/commands/dependency-audit.md +3 -3
  503. package/src/opencode/enforcer-config.json +3 -3
  504. package/src/skills/hermes-agent/SKILL.md +12 -12
  505. package/src/skills/orchestrator/SKILL.md +1 -1
  506. package/src/skills/registry.json +1 -1
  507. package/src/skills/storyteller/SKILL.md +1 -1
  508. package/src/skills/testing-best-practices/SKILL.md +37 -0
  509. package/.mcp.json +0 -24
  510. package/.opencode/plugin/xray-codex-injection.js +0 -624
  511. package/.plugin/plugin.json +0 -11
  512. package/dist/agents/architect.d.ts +0 -2
  513. package/dist/agents/architect.js.map +0 -1
  514. package/dist/agents/backend-engineer.d.ts +0 -8
  515. package/dist/agents/backend-engineer.js.map +0 -1
  516. package/dist/agents/bug-triage-specialist.d.ts +0 -2
  517. package/dist/agents/bug-triage-specialist.js.map +0 -1
  518. package/dist/agents/code-analyzer.d.ts +0 -7
  519. package/dist/agents/code-analyzer.js.map +0 -1
  520. package/dist/agents/code-reviewer.d.ts +0 -2
  521. package/dist/agents/code-reviewer.js.map +0 -1
  522. package/dist/agents/content-creator.d.ts +0 -9
  523. package/dist/agents/content-creator.js.map +0 -1
  524. package/dist/agents/database-engineer.d.ts +0 -8
  525. package/dist/agents/database-engineer.js.map +0 -1
  526. package/dist/agents/devops-engineer.d.ts +0 -8
  527. package/dist/agents/devops-engineer.js.map +0 -1
  528. package/dist/agents/frontend-engineer.d.ts +0 -8
  529. package/dist/agents/frontend-engineer.js.map +0 -1
  530. package/dist/agents/frontend-ui-ux-engineer.d.ts +0 -8
  531. package/dist/agents/frontend-ui-ux-engineer.js.map +0 -1
  532. package/dist/agents/growth-strategist.d.ts +0 -8
  533. package/dist/agents/growth-strategist.js.map +0 -1
  534. package/dist/agents/index.d.ts +0 -24
  535. package/dist/agents/index.js.map +0 -1
  536. package/dist/agents/librarian-agents-updater.d.ts +0 -30
  537. package/dist/agents/librarian-agents-updater.js.map +0 -1
  538. package/dist/agents/log-monitor.d.ts +0 -2
  539. package/dist/agents/log-monitor.js.map +0 -1
  540. package/dist/agents/mobile-developer.d.ts +0 -9
  541. package/dist/agents/mobile-developer.js.map +0 -1
  542. package/dist/agents/performance-engineer.d.ts +0 -8
  543. package/dist/agents/performance-engineer.js.map +0 -1
  544. package/dist/agents/refactorer.d.ts +0 -2
  545. package/dist/agents/refactorer.js.map +0 -1
  546. package/dist/agents/registry.d.ts +0 -35
  547. package/dist/agents/registry.js.map +0 -1
  548. package/dist/agents/researcher.d.ts +0 -2
  549. package/dist/agents/researcher.js.map +0 -1
  550. package/dist/agents/security-auditor.d.ts +0 -2
  551. package/dist/agents/security-auditor.js.map +0 -1
  552. package/dist/agents/seo-consultant.d.ts +0 -8
  553. package/dist/agents/seo-consultant.js.map +0 -1
  554. package/dist/agents/strategist.d.ts +0 -7
  555. package/dist/agents/strategist.js.map +0 -1
  556. package/dist/agents/tech-writer.d.ts +0 -8
  557. package/dist/agents/tech-writer.js.map +0 -1
  558. package/dist/agents/testing-lead.d.ts +0 -2
  559. package/dist/agents/testing-lead.js.map +0 -1
  560. package/dist/agents/types.d.ts +0 -45
  561. package/dist/agents/types.js.map +0 -1
  562. package/dist/analytics/emerging-pattern-detector.d.ts +0 -67
  563. package/dist/analytics/emerging-pattern-detector.js.map +0 -1
  564. package/dist/analytics/pattern-learning-engine.d.ts +0 -80
  565. package/dist/analytics/pattern-learning-engine.js.map +0 -1
  566. package/dist/analytics/pattern-performance-tracker.d.ts +0 -97
  567. package/dist/analytics/pattern-performance-tracker.js.map +0 -1
  568. package/dist/analytics/predictive-analytics.d.ts +0 -41
  569. package/dist/analytics/predictive-analytics.js.map +0 -1
  570. package/dist/analytics/prompt-pattern-analyzer.d.ts +0 -99
  571. package/dist/analytics/prompt-pattern-analyzer.js.map +0 -1
  572. package/dist/analytics/routing-performance-analyzer.d.ts +0 -101
  573. package/dist/analytics/routing-performance-analyzer.js.map +0 -1
  574. package/dist/analytics/routing-refiner.d.ts +0 -104
  575. package/dist/analytics/routing-refiner.js.map +0 -1
  576. package/dist/architect/architect-tools.d.ts +0 -70
  577. package/dist/architect/architect-tools.js.map +0 -1
  578. package/dist/architect/architectural-integrity.d.ts +0 -20
  579. package/dist/architect/architectural-integrity.js.map +0 -1
  580. package/dist/cli/commands/antigravity-status.d.ts +0 -9
  581. package/dist/cli/commands/antigravity-status.js.map +0 -1
  582. package/dist/cli/commands/archive-logs.d.ts +0 -24
  583. package/dist/cli/commands/archive-logs.js.map +0 -1
  584. package/dist/cli/commands/credible-init.d.ts +0 -11
  585. package/dist/cli/commands/credible-init.js.map +0 -1
  586. package/dist/cli/commands/govern.d.ts +0 -29
  587. package/dist/cli/commands/govern.js.map +0 -1
  588. package/dist/cli/commands/grok-install.d.ts +0 -7
  589. package/dist/cli/commands/grok-install.js.map +0 -1
  590. package/dist/cli/commands/hermes-install.d.ts +0 -2
  591. package/dist/cli/commands/hermes-install.js.map +0 -1
  592. package/dist/cli/commands/mcp-install.d.ts +0 -4
  593. package/dist/cli/commands/mcp-install.js.map +0 -1
  594. package/dist/cli/commands/openclaw-install.d.ts +0 -2
  595. package/dist/cli/commands/openclaw-install.js.map +0 -1
  596. package/dist/cli/commands/opencode-install.d.ts +0 -2
  597. package/dist/cli/commands/opencode-install.js.map +0 -1
  598. package/dist/cli/commands/plugin-commands.d.ts +0 -19
  599. package/dist/cli/commands/plugin-commands.js.map +0 -1
  600. package/dist/cli/commands/publish-agent.d.ts +0 -15
  601. package/dist/cli/commands/publish-agent.js.map +0 -1
  602. package/dist/cli/commands/security-audit.d.ts +0 -23
  603. package/dist/cli/commands/security-audit.js.map +0 -1
  604. package/dist/cli/commands/skill-install.d.ts +0 -5
  605. package/dist/cli/commands/skill-install.js.map +0 -1
  606. package/dist/cli/commands/status.d.ts +0 -41
  607. package/dist/cli/commands/status.js.map +0 -1
  608. package/dist/cli/commands/storyteller.d.ts +0 -19
  609. package/dist/cli/commands/storyteller.js.map +0 -1
  610. package/dist/cli/index.d.ts +0 -7
  611. package/dist/cli/index.js.map +0 -1
  612. package/dist/config/default-agents.d.ts +0 -12
  613. package/dist/config/default-agents.js.map +0 -1
  614. package/dist/config/routing-mappings.d.ts +0 -21
  615. package/dist/config/routing-mappings.js.map +0 -1
  616. package/dist/core/activity-logger.d.ts +0 -72
  617. package/dist/core/activity-logger.js.map +0 -1
  618. package/dist/core/adaptive-kernel.d.ts +0 -109
  619. package/dist/core/adaptive-kernel.js.map +0 -1
  620. package/dist/core/agent-spawn-gate.d.ts +0 -56
  621. package/dist/core/agent-spawn-gate.js.map +0 -1
  622. package/dist/core/boot-orchestrator.d.ts +0 -99
  623. package/dist/core/boot-orchestrator.js.map +0 -1
  624. package/dist/core/codex-formatter.d.ts +0 -96
  625. package/dist/core/codex-formatter.js.map +0 -1
  626. package/dist/core/codex-injector.d.ts +0 -74
  627. package/dist/core/codex-injector.js.map +0 -1
  628. package/dist/core/config-loader.d.ts +0 -71
  629. package/dist/core/config-loader.js.map +0 -1
  630. package/dist/core/config-paths.d.ts +0 -65
  631. package/dist/core/config-paths.js.map +0 -1
  632. package/dist/core/context-loader.d.ts +0 -122
  633. package/dist/core/context-loader.js.map +0 -1
  634. package/dist/core/context-validator.d.ts +0 -53
  635. package/dist/core/context-validator.js.map +0 -1
  636. package/dist/core/features-config.d.ts +0 -462
  637. package/dist/core/features-config.js.map +0 -1
  638. package/dist/core/framework-logger.d.ts +0 -77
  639. package/dist/core/framework-logger.js.map +0 -1
  640. package/dist/core/index.d.ts +0 -5
  641. package/dist/core/index.js.map +0 -1
  642. package/dist/core/kernel-patterns.d.ts +0 -130
  643. package/dist/core/kernel-patterns.js.map +0 -1
  644. package/dist/core/model-router.d.ts +0 -61
  645. package/dist/core/model-router.js.map +0 -1
  646. package/dist/core/orchestrator.d.ts +0 -73
  647. package/dist/core/orchestrator.js.map +0 -1
  648. package/dist/core/system-prompt-generator.d.ts +0 -35
  649. package/dist/core/system-prompt-generator.js.map +0 -1
  650. package/dist/core/xray-activation.d.ts +0 -14
  651. package/dist/core/xray-activation.js.map +0 -1
  652. package/dist/delegation/agent-delegator.d.ts +0 -186
  653. package/dist/delegation/agent-delegator.js.map +0 -1
  654. package/dist/delegation/agent-expertise.d.ts +0 -16
  655. package/dist/delegation/agent-expertise.js.map +0 -1
  656. package/dist/delegation/analytics/index.d.ts +0 -12
  657. package/dist/delegation/analytics/index.js.map +0 -1
  658. package/dist/delegation/analytics/learning-engine.d.ts +0 -85
  659. package/dist/delegation/analytics/learning-engine.js.map +0 -1
  660. package/dist/delegation/analytics/outcome-tracker.d.ts +0 -118
  661. package/dist/delegation/analytics/outcome-tracker.js.map +0 -1
  662. package/dist/delegation/analytics/routing-analytics.d.ts +0 -61
  663. package/dist/delegation/analytics/routing-analytics.js.map +0 -1
  664. package/dist/delegation/ast-code-parser.d.ts +0 -174
  665. package/dist/delegation/ast-code-parser.js.map +0 -1
  666. package/dist/delegation/codebase-context-analyzer.d.ts +0 -164
  667. package/dist/delegation/codebase-context-analyzer.js.map +0 -1
  668. package/dist/delegation/complexity-analyzer.d.ts +0 -111
  669. package/dist/delegation/complexity-analyzer.js.map +0 -1
  670. package/dist/delegation/complexity-core.d.ts +0 -119
  671. package/dist/delegation/complexity-core.js.map +0 -1
  672. package/dist/delegation/config/types.d.ts +0 -247
  673. package/dist/delegation/config/types.js.map +0 -1
  674. package/dist/delegation/dependency-graph-builder.d.ts +0 -95
  675. package/dist/delegation/dependency-graph-builder.js.map +0 -1
  676. package/dist/delegation/index.d.ts +0 -27
  677. package/dist/delegation/index.js.map +0 -1
  678. package/dist/delegation/metrics-aggregator.d.ts +0 -92
  679. package/dist/delegation/metrics-aggregator.js.map +0 -1
  680. package/dist/delegation/session-coordinator.d.ts +0 -133
  681. package/dist/delegation/session-coordinator.js.map +0 -1
  682. package/dist/delegation/strategy-selector.d.ts +0 -28
  683. package/dist/delegation/strategy-selector.js.map +0 -1
  684. package/dist/delegation/voting-types.d.ts +0 -155
  685. package/dist/delegation/voting-types.js.map +0 -1
  686. package/dist/delegation/weighted-voting-aggregator.d.ts +0 -37
  687. package/dist/delegation/weighted-voting-aggregator.js.map +0 -1
  688. package/dist/enforcement/core/index.d.ts +0 -15
  689. package/dist/enforcement/core/index.js.map +0 -1
  690. package/dist/enforcement/core/rule-executor.d.ts +0 -158
  691. package/dist/enforcement/core/rule-executor.js.map +0 -1
  692. package/dist/enforcement/core/rule-hierarchy.d.ts +0 -146
  693. package/dist/enforcement/core/rule-hierarchy.js.map +0 -1
  694. package/dist/enforcement/core/rule-registry.d.ts +0 -197
  695. package/dist/enforcement/core/rule-registry.js.map +0 -1
  696. package/dist/enforcement/core/violation-fixer.d.ts +0 -106
  697. package/dist/enforcement/core/violation-fixer.js.map +0 -1
  698. package/dist/enforcement/enforcer-tools.d.ts +0 -78
  699. package/dist/enforcement/enforcer-tools.js.map +0 -1
  700. package/dist/enforcement/index.d.ts +0 -23
  701. package/dist/enforcement/index.js.map +0 -1
  702. package/dist/enforcement/loaders/agent-triage-loader.d.ts +0 -99
  703. package/dist/enforcement/loaders/agent-triage-loader.js.map +0 -1
  704. package/dist/enforcement/loaders/agents-md-validation-loader.d.ts +0 -76
  705. package/dist/enforcement/loaders/agents-md-validation-loader.js.map +0 -1
  706. package/dist/enforcement/loaders/base-loader.d.ts +0 -83
  707. package/dist/enforcement/loaders/base-loader.js.map +0 -1
  708. package/dist/enforcement/loaders/codex-loader.d.ts +0 -77
  709. package/dist/enforcement/loaders/codex-loader.js.map +0 -1
  710. package/dist/enforcement/loaders/index.d.ts +0 -37
  711. package/dist/enforcement/loaders/index.js.map +0 -1
  712. package/dist/enforcement/loaders/loader-orchestrator.d.ts +0 -97
  713. package/dist/enforcement/loaders/loader-orchestrator.js.map +0 -1
  714. package/dist/enforcement/loaders/processor-loader.d.ts +0 -60
  715. package/dist/enforcement/loaders/processor-loader.js.map +0 -1
  716. package/dist/enforcement/rule-enforcer.d.ts +0 -142
  717. package/dist/enforcement/rule-enforcer.js.map +0 -1
  718. package/dist/enforcement/types.d.ts +0 -501
  719. package/dist/enforcement/types.js.map +0 -1
  720. package/dist/enforcement/validators/architecture-validators.d.ts +0 -172
  721. package/dist/enforcement/validators/architecture-validators.js.map +0 -1
  722. package/dist/enforcement/validators/base-validator.d.ts +0 -88
  723. package/dist/enforcement/validators/base-validator.js.map +0 -1
  724. package/dist/enforcement/validators/code-quality-validators.d.ts +0 -90
  725. package/dist/enforcement/validators/code-quality-validators.js.map +0 -1
  726. package/dist/enforcement/validators/index.d.ts +0 -15
  727. package/dist/enforcement/validators/index.js.map +0 -1
  728. package/dist/enforcement/validators/security-validators.d.ts +0 -53
  729. package/dist/enforcement/validators/security-validators.js.map +0 -1
  730. package/dist/enforcement/validators/testing-validators.d.ts +0 -81
  731. package/dist/enforcement/validators/testing-validators.js.map +0 -1
  732. package/dist/enforcement/validators/validator-registry.d.ts +0 -92
  733. package/dist/enforcement/validators/validator-registry.js.map +0 -1
  734. package/dist/execution/opencode-cli-invoker.d.ts +0 -8
  735. package/dist/execution/opencode-cli-invoker.js.map +0 -1
  736. package/dist/execution/proposal-applier.d.ts +0 -16
  737. package/dist/execution/proposal-applier.js.map +0 -1
  738. package/dist/governance/codex-policy.service.d.ts +0 -39
  739. package/dist/governance/codex-policy.service.js.map +0 -1
  740. package/dist/governance/governance-core.d.ts +0 -40
  741. package/dist/governance/governance-core.js.map +0 -1
  742. package/dist/governance/governance-service.d.ts +0 -45
  743. package/dist/governance/governance-service.js.map +0 -1
  744. package/dist/governance/governance-types.d.ts +0 -95
  745. package/dist/governance/governance-types.js.map +0 -1
  746. package/dist/index.d.ts +0 -26
  747. package/dist/index.js.map +0 -1
  748. package/dist/inference/deploy-verifier.d.ts +0 -26
  749. package/dist/inference/deploy-verifier.js.map +0 -1
  750. package/dist/inference/index.d.ts +0 -9
  751. package/dist/inference/index.js.map +0 -1
  752. package/dist/inference/inference-accumulator.d.ts +0 -29
  753. package/dist/inference/inference-accumulator.js.map +0 -1
  754. package/dist/inference/inference-cycle.d.ts +0 -98
  755. package/dist/inference/inference-cycle.js.map +0 -1
  756. package/dist/inference/semantic-patterns.d.ts +0 -7
  757. package/dist/inference/semantic-patterns.js.map +0 -1
  758. package/dist/inference/session-capture.d.ts +0 -32
  759. package/dist/inference/session-capture.js.map +0 -1
  760. package/dist/integrations/base/Integration.d.ts +0 -267
  761. package/dist/integrations/base/Integration.js.map +0 -1
  762. package/dist/integrations/base/index.d.ts +0 -11
  763. package/dist/integrations/base/index.js.map +0 -1
  764. package/dist/integrations/base/registry.d.ts +0 -273
  765. package/dist/integrations/base/registry.js.map +0 -1
  766. package/dist/integrations/base/types.d.ts +0 -168
  767. package/dist/integrations/base/types.js.map +0 -1
  768. package/dist/integrations/enforcement-gate.d.ts +0 -44
  769. package/dist/integrations/enforcement-gate.js.map +0 -1
  770. package/dist/integrations/governance/governance-client.d.ts +0 -79
  771. package/dist/integrations/governance/governance-client.js.map +0 -1
  772. package/dist/integrations/governance/index.d.ts +0 -99
  773. package/dist/integrations/governance/index.js.map +0 -1
  774. package/dist/integrations/governance/types.d.ts +0 -265
  775. package/dist/integrations/governance/types.js.map +0 -1
  776. package/dist/integrations/grok/grok-cli.d.ts +0 -25
  777. package/dist/integrations/grok/grok-cli.js.map +0 -1
  778. package/dist/integrations/grok/hooks/pre-tool-use.d.ts +0 -18
  779. package/dist/integrations/grok/hooks/pre-tool-use.js.map +0 -1
  780. package/dist/integrations/hermes-agent/hermes-agent-integration.d.ts +0 -133
  781. package/dist/integrations/hermes-agent/hermes-agent-integration.js +0 -504
  782. package/dist/integrations/hermes-agent/hermes-agent-integration.js.map +0 -1
  783. package/dist/integrations/hermes-agent/index.d.ts +0 -11
  784. package/dist/integrations/hermes-agent/index.js +0 -12
  785. package/dist/integrations/hermes-agent/index.js.map +0 -1
  786. package/dist/integrations/hermes-agent/types.d.ts +0 -227
  787. package/dist/integrations/hermes-agent/types.js +0 -11
  788. package/dist/integrations/hermes-agent/types.js.map +0 -1
  789. package/dist/integrations/openclaw/api-server.d.ts +0 -86
  790. package/dist/integrations/openclaw/api-server.js.map +0 -1
  791. package/dist/integrations/openclaw/client.d.ts +0 -121
  792. package/dist/integrations/openclaw/client.js.map +0 -1
  793. package/dist/integrations/openclaw/config.d.ts +0 -96
  794. package/dist/integrations/openclaw/config.js.map +0 -1
  795. package/dist/integrations/openclaw/hooks/xray-hooks.d.ts +0 -134
  796. package/dist/integrations/openclaw/hooks/xray-hooks.js.map +0 -1
  797. package/dist/integrations/openclaw/index.d.ts +0 -101
  798. package/dist/integrations/openclaw/index.js.map +0 -1
  799. package/dist/integrations/openclaw/types.d.ts +0 -426
  800. package/dist/integrations/openclaw/types.js.map +0 -1
  801. package/dist/integrations/plugins/index.d.ts +0 -10
  802. package/dist/integrations/plugins/index.js.map +0 -1
  803. package/dist/integrations/plugins/plugin-integration.d.ts +0 -289
  804. package/dist/integrations/plugins/plugin-integration.js.map +0 -1
  805. package/dist/integrations/plugins/plugin-registry.d.ts +0 -224
  806. package/dist/integrations/plugins/plugin-registry.js.map +0 -1
  807. package/dist/mcps/agent-resolver.d.ts +0 -46
  808. package/dist/mcps/agent-resolver.js.map +0 -1
  809. package/dist/mcps/architect-tools.server.d.ts +0 -15
  810. package/dist/mcps/architect-tools.server.js.map +0 -1
  811. package/dist/mcps/auto-format.server.d.ts +0 -17
  812. package/dist/mcps/auto-format.server.js.map +0 -1
  813. package/dist/mcps/boot-orchestrator.server.d.ts +0 -20
  814. package/dist/mcps/boot-orchestrator.server.js.map +0 -1
  815. package/dist/mcps/config/config-loader.d.ts +0 -58
  816. package/dist/mcps/config/config-loader.js.map +0 -1
  817. package/dist/mcps/config/config-validator.d.ts +0 -40
  818. package/dist/mcps/config/config-validator.js.map +0 -1
  819. package/dist/mcps/config/index.d.ts +0 -31
  820. package/dist/mcps/config/index.js.map +0 -1
  821. package/dist/mcps/config/plugin-server-registry.d.ts +0 -127
  822. package/dist/mcps/config/plugin-server-registry.js.map +0 -1
  823. package/dist/mcps/config/server-config-registry.d.ts +0 -51
  824. package/dist/mcps/config/server-config-registry.js.map +0 -1
  825. package/dist/mcps/connection/connection-pool.d.ts +0 -64
  826. package/dist/mcps/connection/connection-pool.js.map +0 -1
  827. package/dist/mcps/connection/mcp-connection.d.ts +0 -66
  828. package/dist/mcps/connection/mcp-connection.js.map +0 -1
  829. package/dist/mcps/connection/process-spawner.d.ts +0 -24
  830. package/dist/mcps/connection/process-spawner.js.map +0 -1
  831. package/dist/mcps/enforcer-tools.server.d.ts +0 -25
  832. package/dist/mcps/enforcer-tools.server.js.map +0 -1
  833. package/dist/mcps/estimation.server.d.ts +0 -19
  834. package/dist/mcps/estimation.server.js.map +0 -1
  835. package/dist/mcps/framework-compliance-audit.server.d.ts +0 -20
  836. package/dist/mcps/framework-compliance-audit.server.js.map +0 -1
  837. package/dist/mcps/framework-help.server.d.ts +0 -12
  838. package/dist/mcps/framework-help.server.js.map +0 -1
  839. package/dist/mcps/governance.server.d.ts +0 -34
  840. package/dist/mcps/governance.server.js.map +0 -1
  841. package/dist/mcps/in-process-skill-registry.d.ts +0 -20
  842. package/dist/mcps/in-process-skill-registry.js.map +0 -1
  843. package/dist/mcps/index.d.ts +0 -17
  844. package/dist/mcps/index.js.map +0 -1
  845. package/dist/mcps/knowledge-skills/api-design.server.d.ts +0 -13
  846. package/dist/mcps/knowledge-skills/api-design.server.js.map +0 -1
  847. package/dist/mcps/knowledge-skills/architecture-patterns.server.d.ts +0 -7
  848. package/dist/mcps/knowledge-skills/architecture-patterns.server.js.map +0 -1
  849. package/dist/mcps/knowledge-skills/bug-triage-specialist.server.d.ts +0 -31
  850. package/dist/mcps/knowledge-skills/bug-triage-specialist.server.js.map +0 -1
  851. package/dist/mcps/knowledge-skills/code-analyzer.server.d.ts +0 -30
  852. package/dist/mcps/knowledge-skills/code-analyzer.server.js.map +0 -1
  853. package/dist/mcps/knowledge-skills/code-review.server.d.ts +0 -44
  854. package/dist/mcps/knowledge-skills/code-review.server.js.map +0 -1
  855. package/dist/mcps/knowledge-skills/content-creator.server.d.ts +0 -11
  856. package/dist/mcps/knowledge-skills/content-creator.server.js.map +0 -1
  857. package/dist/mcps/knowledge-skills/database-design.server.d.ts +0 -41
  858. package/dist/mcps/knowledge-skills/database-design.server.js.map +0 -1
  859. package/dist/mcps/knowledge-skills/devops-deployment.server.d.ts +0 -41
  860. package/dist/mcps/knowledge-skills/devops-deployment.server.js.map +0 -1
  861. package/dist/mcps/knowledge-skills/git-workflow.server.d.ts +0 -13
  862. package/dist/mcps/knowledge-skills/git-workflow.server.js.map +0 -1
  863. package/dist/mcps/knowledge-skills/growth-strategist.server.d.ts +0 -11
  864. package/dist/mcps/knowledge-skills/growth-strategist.server.js.map +0 -1
  865. package/dist/mcps/knowledge-skills/log-monitor.server.d.ts +0 -22
  866. package/dist/mcps/knowledge-skills/log-monitor.server.js.map +0 -1
  867. package/dist/mcps/knowledge-skills/mobile-development.server.d.ts +0 -17
  868. package/dist/mcps/knowledge-skills/mobile-development.server.js.map +0 -1
  869. package/dist/mcps/knowledge-skills/multimodal-looker.server.d.ts +0 -53
  870. package/dist/mcps/knowledge-skills/multimodal-looker.server.js.map +0 -1
  871. package/dist/mcps/knowledge-skills/performance-optimization.server.d.ts +0 -69
  872. package/dist/mcps/knowledge-skills/performance-optimization.server.js.map +0 -1
  873. package/dist/mcps/knowledge-skills/project-analysis.server.d.ts +0 -35
  874. package/dist/mcps/knowledge-skills/project-analysis.server.js.map +0 -1
  875. package/dist/mcps/knowledge-skills/refactoring-strategies.server.d.ts +0 -31
  876. package/dist/mcps/knowledge-skills/refactoring-strategies.server.js.map +0 -1
  877. package/dist/mcps/knowledge-skills/security-audit.server.d.ts +0 -46
  878. package/dist/mcps/knowledge-skills/security-audit.server.js.map +0 -1
  879. package/dist/mcps/knowledge-skills/seo-consultant.server.d.ts +0 -24
  880. package/dist/mcps/knowledge-skills/seo-consultant.server.js.map +0 -1
  881. package/dist/mcps/knowledge-skills/session-management.server.d.ts +0 -21
  882. package/dist/mcps/knowledge-skills/session-management.server.js.map +0 -1
  883. package/dist/mcps/knowledge-skills/skill-invocation.server.d.ts +0 -32
  884. package/dist/mcps/knowledge-skills/skill-invocation.server.js.map +0 -1
  885. package/dist/mcps/knowledge-skills/strategist.server.d.ts +0 -8
  886. package/dist/mcps/knowledge-skills/strategist.server.js.map +0 -1
  887. package/dist/mcps/knowledge-skills/tech-writer.server.d.ts +0 -45
  888. package/dist/mcps/knowledge-skills/tech-writer.server.js.map +0 -1
  889. package/dist/mcps/knowledge-skills/testing-strategy.server.d.ts +0 -45
  890. package/dist/mcps/knowledge-skills/testing-strategy.server.js.map +0 -1
  891. package/dist/mcps/knowledge-skills/ui-ux-design.server.d.ts +0 -66
  892. package/dist/mcps/knowledge-skills/ui-ux-design.server.js.map +0 -1
  893. package/dist/mcps/lint.server.d.ts +0 -15
  894. package/dist/mcps/lint.server.js.map +0 -1
  895. package/dist/mcps/mcp-client.d.ts +0 -157
  896. package/dist/mcps/mcp-client.js.map +0 -1
  897. package/dist/mcps/model-health-check.server.d.ts +0 -14
  898. package/dist/mcps/model-health-check.server.js.map +0 -1
  899. package/dist/mcps/orchestrator/config/agent-capabilities.d.ts +0 -35
  900. package/dist/mcps/orchestrator/config/agent-capabilities.js.map +0 -1
  901. package/dist/mcps/orchestrator/execution/execution-planner.d.ts +0 -62
  902. package/dist/mcps/orchestrator/execution/execution-planner.js.map +0 -1
  903. package/dist/mcps/orchestrator/handlers/complexity-handler.d.ts +0 -32
  904. package/dist/mcps/orchestrator/handlers/complexity-handler.js.map +0 -1
  905. package/dist/mcps/orchestrator/handlers/status-handler.d.ts +0 -69
  906. package/dist/mcps/orchestrator/handlers/status-handler.js.map +0 -1
  907. package/dist/mcps/orchestrator/handlers/task-handler.d.ts +0 -52
  908. package/dist/mcps/orchestrator/handlers/task-handler.js.map +0 -1
  909. package/dist/mcps/orchestrator/server.d.ts +0 -38
  910. package/dist/mcps/orchestrator/server.js.map +0 -1
  911. package/dist/mcps/orchestrator/types.d.ts +0 -79
  912. package/dist/mcps/orchestrator/types.js.map +0 -1
  913. package/dist/mcps/performance-analysis.server.d.ts +0 -25
  914. package/dist/mcps/performance-analysis.server.js.map +0 -1
  915. package/dist/mcps/processor-pipeline.server.d.ts +0 -29
  916. package/dist/mcps/processor-pipeline.server.js.map +0 -1
  917. package/dist/mcps/protocol/protocol-constants.d.ts +0 -46
  918. package/dist/mcps/protocol/protocol-constants.js.map +0 -1
  919. package/dist/mcps/researcher.server.d.ts +0 -29
  920. package/dist/mcps/researcher.server.js.map +0 -1
  921. package/dist/mcps/security-scan.server.d.ts +0 -18
  922. package/dist/mcps/security-scan.server.js.map +0 -1
  923. package/dist/mcps/shared/knowledge-skill-base.d.ts +0 -14
  924. package/dist/mcps/shared/knowledge-skill-base.js.map +0 -1
  925. package/dist/mcps/shared/prompt-security-validator.d.ts +0 -44
  926. package/dist/mcps/shared/prompt-security-validator.js.map +0 -1
  927. package/dist/mcps/shared/security-scanner.d.ts +0 -119
  928. package/dist/mcps/shared/security-scanner.js.map +0 -1
  929. package/dist/mcps/simulation/index.d.ts +0 -12
  930. package/dist/mcps/simulation/index.js.map +0 -1
  931. package/dist/mcps/simulation/server-simulations.d.ts +0 -39
  932. package/dist/mcps/simulation/server-simulations.js.map +0 -1
  933. package/dist/mcps/simulation/simulation-engine.d.ts +0 -51
  934. package/dist/mcps/simulation/simulation-engine.js.map +0 -1
  935. package/dist/mcps/state-manager.server.d.ts +0 -26
  936. package/dist/mcps/state-manager.server.js.map +0 -1
  937. package/dist/mcps/tools/index.d.ts +0 -14
  938. package/dist/mcps/tools/index.js.map +0 -1
  939. package/dist/mcps/tools/tool-cache.d.ts +0 -53
  940. package/dist/mcps/tools/tool-cache.js.map +0 -1
  941. package/dist/mcps/tools/tool-discovery.d.ts +0 -27
  942. package/dist/mcps/tools/tool-discovery.js.map +0 -1
  943. package/dist/mcps/tools/tool-executor.d.ts +0 -41
  944. package/dist/mcps/tools/tool-executor.js.map +0 -1
  945. package/dist/mcps/tools/tool-registry.d.ts +0 -42
  946. package/dist/mcps/tools/tool-registry.js.map +0 -1
  947. package/dist/mcps/types/index.d.ts +0 -13
  948. package/dist/mcps/types/index.js.map +0 -1
  949. package/dist/mcps/types/json-rpc.types.d.ts +0 -35
  950. package/dist/mcps/types/json-rpc.types.js.map +0 -1
  951. package/dist/mcps/types/mcp.types.d.ts +0 -105
  952. package/dist/mcps/types/mcp.types.js.map +0 -1
  953. package/dist/metrics/agent-metrics.d.ts +0 -170
  954. package/dist/metrics/agent-metrics.js.map +0 -1
  955. package/dist/metrics/index.d.ts +0 -6
  956. package/dist/metrics/index.js.map +0 -1
  957. package/dist/monitoring/advanced-profiler.d.ts +0 -51
  958. package/dist/monitoring/advanced-profiler.js.map +0 -1
  959. package/dist/monitoring/memory-monitor.d.ts +0 -113
  960. package/dist/monitoring/memory-monitor.js.map +0 -1
  961. package/dist/monitoring/nudge-watchdog.d.ts +0 -88
  962. package/dist/monitoring/nudge-watchdog.js.map +0 -1
  963. package/dist/monitoring/test-auto-generation-monitor.d.ts +0 -64
  964. package/dist/monitoring/test-auto-generation-monitor.js.map +0 -1
  965. package/dist/nucleus/default-plugins.d.ts +0 -17
  966. package/dist/nucleus/default-plugins.js.map +0 -1
  967. package/dist/nucleus/govern-http.d.ts +0 -59
  968. package/dist/nucleus/govern-http.js.map +0 -1
  969. package/dist/nucleus/index.d.ts +0 -18
  970. package/dist/nucleus/index.js.map +0 -1
  971. package/dist/nucleus/kernel.d.ts +0 -51
  972. package/dist/nucleus/kernel.js.map +0 -1
  973. package/dist/nucleus/orchestrator.d.ts +0 -97
  974. package/dist/nucleus/orchestrator.js.map +0 -1
  975. package/dist/nucleus/plugin-registry.d.ts +0 -132
  976. package/dist/nucleus/plugin-registry.js.map +0 -1
  977. package/dist/nucleus/thin-dispatch.d.ts +0 -28
  978. package/dist/nucleus/thin-dispatch.js.map +0 -1
  979. package/dist/orchestrator/agent-spawn-governor.d.ts +0 -127
  980. package/dist/orchestrator/agent-spawn-governor.js.map +0 -1
  981. package/dist/orchestrator/enhanced-multi-agent-orchestrator.d.ts +0 -156
  982. package/dist/orchestrator/enhanced-multi-agent-orchestrator.js.map +0 -1
  983. package/dist/orchestrator/intelligent-commit-batcher.d.ts +0 -114
  984. package/dist/orchestrator/intelligent-commit-batcher.js.map +0 -1
  985. package/dist/orchestrator/multi-agent-orchestration-coordinator.d.ts +0 -127
  986. package/dist/orchestrator/multi-agent-orchestration-coordinator.js.map +0 -1
  987. package/dist/orchestrator/orchestrator.d.ts +0 -142
  988. package/dist/orchestrator/orchestrator.js.map +0 -1
  989. package/dist/plugin/xray-codex-injection.d.ts +0 -55
  990. package/dist/plugin/xray-codex-injection.js.map +0 -1
  991. package/dist/postprocessor/PostProcessor.d.ts +0 -80
  992. package/dist/postprocessor/PostProcessor.js.map +0 -1
  993. package/dist/postprocessor/analysis/CodeChangeAnalyzer.d.ts +0 -11
  994. package/dist/postprocessor/analysis/CodeChangeAnalyzer.js +0 -51
  995. package/dist/postprocessor/analysis/CodeChangeAnalyzer.js.map +0 -1
  996. package/dist/postprocessor/analysis/FailureAnalysisEngine.d.ts +0 -39
  997. package/dist/postprocessor/analysis/FailureAnalysisEngine.js.map +0 -1
  998. package/dist/postprocessor/autofix/AutoFixEngine.d.ts +0 -40
  999. package/dist/postprocessor/autofix/AutoFixEngine.js.map +0 -1
  1000. package/dist/postprocessor/autofix/FixValidator.d.ts +0 -23
  1001. package/dist/postprocessor/autofix/FixValidator.js.map +0 -1
  1002. package/dist/postprocessor/compliance/ArchitecturalComplianceChecker.d.ts +0 -11
  1003. package/dist/postprocessor/compliance/ArchitecturalComplianceChecker.js +0 -357
  1004. package/dist/postprocessor/compliance/ArchitecturalComplianceChecker.js.map +0 -1
  1005. package/dist/postprocessor/config/ProcessorConfigLoader.d.ts +0 -44
  1006. package/dist/postprocessor/config/ProcessorConfigLoader.js +0 -22
  1007. package/dist/postprocessor/config/ProcessorConfigLoader.js.map +0 -1
  1008. package/dist/postprocessor/config.d.ts +0 -6
  1009. package/dist/postprocessor/config.js.map +0 -1
  1010. package/dist/postprocessor/escalation/EscalationEngine.d.ts +0 -154
  1011. package/dist/postprocessor/escalation/EscalationEngine.js.map +0 -1
  1012. package/dist/postprocessor/metamorphosis/SelfProposalEngine.d.ts +0 -87
  1013. package/dist/postprocessor/metamorphosis/SelfProposalEngine.js +0 -473
  1014. package/dist/postprocessor/metamorphosis/SelfProposalEngine.js.map +0 -1
  1015. package/dist/postprocessor/metamorphosis/index.d.ts +0 -2
  1016. package/dist/postprocessor/metamorphosis/index.js +0 -2
  1017. package/dist/postprocessor/metamorphosis/index.js.map +0 -1
  1018. package/dist/postprocessor/monitoring/MonitoringEngine.d.ts +0 -40
  1019. package/dist/postprocessor/monitoring/MonitoringEngine.js.map +0 -1
  1020. package/dist/postprocessor/redeploy/RedeployCoordinator.d.ts +0 -91
  1021. package/dist/postprocessor/redeploy/RedeployCoordinator.js.map +0 -1
  1022. package/dist/postprocessor/reporting/PostProcessorReporter.d.ts +0 -19
  1023. package/dist/postprocessor/reporting/PostProcessorReporter.js +0 -97
  1024. package/dist/postprocessor/reporting/PostProcessorReporter.js.map +0 -1
  1025. package/dist/postprocessor/services/RegressionAnalysisService.d.ts +0 -40
  1026. package/dist/postprocessor/services/RegressionAnalysisService.js.map +0 -1
  1027. package/dist/postprocessor/success/SuccessHandler.d.ts +0 -57
  1028. package/dist/postprocessor/success/SuccessHandler.js.map +0 -1
  1029. package/dist/postprocessor/triggers/APITrigger.d.ts +0 -35
  1030. package/dist/postprocessor/triggers/APITrigger.js.map +0 -1
  1031. package/dist/postprocessor/triggers/GitHookTrigger.d.ts +0 -38
  1032. package/dist/postprocessor/triggers/GitHookTrigger.js.map +0 -1
  1033. package/dist/postprocessor/triggers/WebhookTrigger.d.ts +0 -47
  1034. package/dist/postprocessor/triggers/WebhookTrigger.js.map +0 -1
  1035. package/dist/postprocessor/types.d.ts +0 -233
  1036. package/dist/postprocessor/types.js.map +0 -1
  1037. package/dist/postprocessor/validation/HookMetricsCollector.d.ts +0 -47
  1038. package/dist/postprocessor/validation/HookMetricsCollector.js +0 -188
  1039. package/dist/postprocessor/validation/HookMetricsCollector.js.map +0 -1
  1040. package/dist/postprocessor/validation/LightweightValidator.d.ts +0 -46
  1041. package/dist/postprocessor/validation/LightweightValidator.js +0 -271
  1042. package/dist/postprocessor/validation/LightweightValidator.js.map +0 -1
  1043. package/dist/processors/doc-write-guard.d.ts +0 -6
  1044. package/dist/processors/doc-write-guard.js.map +0 -1
  1045. package/dist/processors/implementations/agents-md-validation-processor.d.ts +0 -63
  1046. package/dist/processors/implementations/agents-md-validation-processor.js.map +0 -1
  1047. package/dist/processors/implementations/async-pattern-processor.d.ts +0 -48
  1048. package/dist/processors/implementations/async-pattern-processor.js.map +0 -1
  1049. package/dist/processors/implementations/codex-compliance-processor.d.ts +0 -7
  1050. package/dist/processors/implementations/codex-compliance-processor.js.map +0 -1
  1051. package/dist/processors/implementations/commit-batcher-processor.d.ts +0 -13
  1052. package/dist/processors/implementations/commit-batcher-processor.js.map +0 -1
  1053. package/dist/processors/implementations/console-log-guard-processor.d.ts +0 -33
  1054. package/dist/processors/implementations/console-log-guard-processor.js.map +0 -1
  1055. package/dist/processors/implementations/coverage-analysis-processor.d.ts +0 -20
  1056. package/dist/processors/implementations/coverage-analysis-processor.js.map +0 -1
  1057. package/dist/processors/implementations/error-boundary-processor.d.ts +0 -7
  1058. package/dist/processors/implementations/error-boundary-processor.js.map +0 -1
  1059. package/dist/processors/implementations/inference-improvement-processor.d.ts +0 -36
  1060. package/dist/processors/implementations/inference-improvement-processor.js.map +0 -1
  1061. package/dist/processors/implementations/log-protection-processor.d.ts +0 -30
  1062. package/dist/processors/implementations/log-protection-processor.js.map +0 -1
  1063. package/dist/processors/implementations/nudge-processor.d.ts +0 -22
  1064. package/dist/processors/implementations/nudge-processor.js.map +0 -1
  1065. package/dist/processors/implementations/performance-budget-processor.d.ts +0 -50
  1066. package/dist/processors/implementations/performance-budget-processor.js.map +0 -1
  1067. package/dist/processors/implementations/postprocessor-chain-validator.d.ts +0 -46
  1068. package/dist/processors/implementations/postprocessor-chain-validator.js.map +0 -1
  1069. package/dist/processors/implementations/pre-validate-processor.d.ts +0 -7
  1070. package/dist/processors/implementations/pre-validate-processor.js.map +0 -1
  1071. package/dist/processors/implementations/publish-preflight-processor.d.ts +0 -38
  1072. package/dist/processors/implementations/publish-preflight-processor.js.map +0 -1
  1073. package/dist/processors/implementations/refactoring-logging-processor-wrapper.d.ts +0 -39
  1074. package/dist/processors/implementations/refactoring-logging-processor-wrapper.js.map +0 -1
  1075. package/dist/processors/implementations/regression-testing-processor.d.ts +0 -20
  1076. package/dist/processors/implementations/regression-testing-processor.js.map +0 -1
  1077. package/dist/processors/implementations/session-summary-processor.d.ts +0 -27
  1078. package/dist/processors/implementations/session-summary-processor.js.map +0 -1
  1079. package/dist/processors/implementations/spawn-governance-processor.d.ts +0 -58
  1080. package/dist/processors/implementations/spawn-governance-processor.js.map +0 -1
  1081. package/dist/processors/implementations/state-validation-processor.d.ts +0 -11
  1082. package/dist/processors/implementations/state-validation-processor.js.map +0 -1
  1083. package/dist/processors/implementations/storytelling-trigger-processor.d.ts +0 -42
  1084. package/dist/processors/implementations/storytelling-trigger-processor.js.map +0 -1
  1085. package/dist/processors/implementations/test-auto-creation-processor.d.ts +0 -17
  1086. package/dist/processors/implementations/test-auto-creation-processor.js.map +0 -1
  1087. package/dist/processors/implementations/test-execution-processor.d.ts +0 -11
  1088. package/dist/processors/implementations/test-execution-processor.js.map +0 -1
  1089. package/dist/processors/implementations/typescript-compilation-processor.d.ts +0 -38
  1090. package/dist/processors/implementations/typescript-compilation-processor.js.map +0 -1
  1091. package/dist/processors/implementations/version-compliance-processor.d.ts +0 -112
  1092. package/dist/processors/implementations/version-compliance-processor.js.map +0 -1
  1093. package/dist/processors/processor-interfaces.d.ts +0 -127
  1094. package/dist/processors/processor-interfaces.js.map +0 -1
  1095. package/dist/processors/processor-manager.d.ts +0 -80
  1096. package/dist/processors/processor-manager.js.map +0 -1
  1097. package/dist/processors/processor-types.d.ts +0 -190
  1098. package/dist/processors/processor-types.js.map +0 -1
  1099. package/dist/public/XrayService.d.ts +0 -17
  1100. package/dist/public/XrayService.js.map +0 -1
  1101. package/dist/public/index.d.ts +0 -4
  1102. package/dist/public/index.js.map +0 -1
  1103. package/dist/reporting/framework-reporting-system.d.ts +0 -19
  1104. package/dist/reporting/framework-reporting-system.js.map +0 -1
  1105. package/dist/reporting/log-parser.d.ts +0 -10
  1106. package/dist/reporting/log-parser.js.map +0 -1
  1107. package/dist/reporting/metrics.d.ts +0 -15
  1108. package/dist/reporting/metrics.js.map +0 -1
  1109. package/dist/reporting/report-formatter.d.ts +0 -5
  1110. package/dist/reporting/report-formatter.js.map +0 -1
  1111. package/dist/reporting/types.d.ts +0 -102
  1112. package/dist/reporting/types.js.map +0 -1
  1113. package/dist/scripts/integration.d.ts +0 -37
  1114. package/dist/scripts/integration.js.map +0 -1
  1115. package/dist/security/comprehensive-security-audit.d.ts +0 -158
  1116. package/dist/security/comprehensive-security-audit.js.map +0 -1
  1117. package/dist/security/security-hardener.d.ts +0 -129
  1118. package/dist/security/security-hardener.js.map +0 -1
  1119. package/dist/security/security-headers.d.ts +0 -64
  1120. package/dist/security/security-headers.js.map +0 -1
  1121. package/dist/services/inference-tuner.d.ts +0 -77
  1122. package/dist/services/inference-tuner.js.map +0 -1
  1123. package/dist/session/index.d.ts +0 -3
  1124. package/dist/session/index.js.map +0 -1
  1125. package/dist/session/session-cleanup-manager.d.ts +0 -118
  1126. package/dist/session/session-cleanup-manager.js.map +0 -1
  1127. package/dist/session/session-monitor.d.ts +0 -133
  1128. package/dist/session/session-monitor.js.map +0 -1
  1129. package/dist/session/session-state-manager.d.ts +0 -145
  1130. package/dist/session/session-state-manager.js.map +0 -1
  1131. package/dist/skills/xray-orchestrator/index.d.ts +0 -13
  1132. package/dist/skills/xray-orchestrator/index.js.map +0 -1
  1133. package/dist/state/index.d.ts +0 -1
  1134. package/dist/state/index.js.map +0 -1
  1135. package/dist/state/state-manager.d.ts +0 -42
  1136. package/dist/state/state-manager.js.map +0 -1
  1137. package/dist/tools/assess-complexity-tool.d.ts +0 -28
  1138. package/dist/tools/assess-complexity-tool.js.map +0 -1
  1139. package/dist/tools/query-routing-tool.d.ts +0 -17
  1140. package/dist/tools/query-routing-tool.js.map +0 -1
  1141. package/dist/types/metamorphosis.d.ts +0 -21
  1142. package/dist/types/metamorphosis.js.map +0 -1
  1143. package/dist/utils/codex-parser.d.ts +0 -61
  1144. package/dist/utils/codex-parser.js.map +0 -1
  1145. package/dist/utils/command-runner.d.ts +0 -32
  1146. package/dist/utils/command-runner.js.map +0 -1
  1147. package/dist/utils/import-resolver.d.ts +0 -54
  1148. package/dist/utils/import-resolver.js.map +0 -1
  1149. package/dist/utils/language-detector.d.ts +0 -44
  1150. package/dist/utils/language-detector.js.map +0 -1
  1151. package/dist/utils/path-resolver.d.ts +0 -48
  1152. package/dist/utils/path-resolver.js.map +0 -1
  1153. package/dist/utils/shutdown-handler.d.ts +0 -27
  1154. package/dist/utils/shutdown-handler.js.map +0 -1
  1155. package/dist/utils/task-graph.d.ts +0 -29
  1156. package/dist/utils/task-graph.js.map +0 -1
  1157. package/dist/validation/estimation-validator.d.ts +0 -61
  1158. package/dist/validation/estimation-validator.js.map +0 -1
  1159. package/dist/validation/report-content-validator.d.ts +0 -42
  1160. package/dist/validation/report-content-validator.js.map +0 -1
  1161. package/xray/agents_template.md +0 -49
  1162. package/xray/codex.json +0 -598
  1163. package/xray/config.json +0 -26
  1164. package/xray/features.json +0 -148
  1165. package/xray/integrations.json +0 -23
  1166. package/xray/routing-mappings.json +0 -752
  1167. package/xray/workflow_state.json +0 -28
@@ -2,17 +2,31 @@ import * as fs from "fs";
2
2
  import * as path from "path";
3
3
  import { shouldTriggerCycle, accumulateCorpus } from "./inference-accumulator.js";
4
4
  import { DeployVerifier } from "./deploy-verifier.js";
5
- import { XrayStateManager } from "../state/state-manager.js";
5
+ import { VotingCoordinator } from "../delegation/voting-coordinator.js";
6
+ import { StringRayStateManager } from "../state/state-manager.js";
6
7
  import { frameworkLogger } from "../core/framework-logger.js";
8
+ import { getGovernanceIntegration } from "../integrations/governance/index.js";
9
+ import { featuresConfigLoader } from "../core/features-config.js";
10
+ import { mcpClientManager } from "../mcps/mcp-client.js";
11
+ import { getConfigDir } from "../core/config-paths.js";
7
12
  import { invokeViaOpencode as invokeOpencodeFromEngine } from "../execution/opencode-cli-invoker.js";
8
13
  import { ProposalApplier } from "../execution/proposal-applier.js";
9
- import { handleGovernRequest } from "../nucleus/govern-http.js";
10
- const CONSOLIDATED_STATE_FILE = "inference-state.json";
14
+ const CYCLE_STATE_FILE = "inference-cycle-state.json";
15
+ const CYCLE_HISTORY_FILE = "inference-cycle-history.json";
16
+ const GOVERNANCE_AGENTS = {
17
+ // Real individual knowledge-skill MCP servers (have analyze_proposal handlers)
18
+ fix: ["code-review", "security-audit", "researcher"],
19
+ refactor: ["code-review", "security-audit", "researcher"],
20
+ guard: ["code-review", "security-audit", "researcher"],
21
+ automate: ["code-review", "security-audit", "researcher"],
22
+ codify: ["code-review", "security-audit", "researcher"],
23
+ };
11
24
  export class InferenceCycle {
12
25
  // Singleton registry + state management to prevent recursive agent spawning
13
26
  static instances = new Map();
14
27
  static reEntryLock = false;
15
28
  static governedProposalIds = new Set();
29
+ static votingCoordinator = null;
16
30
  static getInstance(projectRoot, options) {
17
31
  const root = path.resolve(projectRoot || process.cwd());
18
32
  if (!InferenceCycle.instances.has(root)) {
@@ -24,6 +38,7 @@ export class InferenceCycle {
24
38
  InferenceCycle.instances.clear();
25
39
  InferenceCycle.reEntryLock = false;
26
40
  InferenceCycle.governedProposalIds.clear();
41
+ InferenceCycle.votingCoordinator = null;
27
42
  }
28
43
  inferenceDir;
29
44
  stateDir;
@@ -35,7 +50,7 @@ export class InferenceCycle {
35
50
  constructor(projectRoot, agentInvoker, options) {
36
51
  this.projectRoot = projectRoot || process.cwd();
37
52
  this.inferenceDir = path.join(this.projectRoot, "docs", "inference");
38
- this.stateDir = path.join(this.projectRoot, ".xray", "inference");
53
+ this.stateDir = path.join(this.projectRoot, ".strray", "inference");
39
54
  this.agentInvoker = agentInvoker ?? null;
40
55
  this.options = options ?? {};
41
56
  }
@@ -83,6 +98,7 @@ export class InferenceCycle {
83
98
  InferenceCycle.governedProposalIds.add(p.id);
84
99
  this.setPhase("complete");
85
100
  this.saveCycleState(cycleId);
101
+ this.saveGovernanceState(this.getCoordinator());
86
102
  const result = this.buildResult(cycleId, true, "external proposals", startTime, undefined, proposals, votes);
87
103
  this.appendHistory(result);
88
104
  frameworkLogger.log("inference-cycle", "external-governance-complete", "info", {
@@ -108,7 +124,7 @@ export class InferenceCycle {
108
124
  const cycleId = `cycle-${Date.now()}`;
109
125
  try {
110
126
  this.setPhase("collecting");
111
- const lastCycleFile = path.join(this.stateDir, CONSOLIDATED_STATE_FILE);
127
+ const lastCycleFile = path.join(this.stateDir, CYCLE_STATE_FILE);
112
128
  const threshold = this.options.force ? { trigger: true, reason: "force flag set" } : shouldTriggerCycle(this.inferenceDir, lastCycleFile);
113
129
  if (!threshold.trigger) {
114
130
  this.setPhase("idle");
@@ -120,7 +136,7 @@ export class InferenceCycle {
120
136
  });
121
137
  const corpus = accumulateCorpus(this.inferenceDir);
122
138
  this.setPhase("proposing");
123
- const proposals = await this.generateProposals(corpus);
139
+ const proposals = this.generateProposals(corpus);
124
140
  this.adjustFromHistory(proposals);
125
141
  if (proposals.length === 0) {
126
142
  this.setPhase("complete");
@@ -172,6 +188,7 @@ export class InferenceCycle {
172
188
  }
173
189
  this.setPhase("complete");
174
190
  this.saveCycleState(cycleId);
191
+ this.saveGovernanceState(this.getCoordinator());
175
192
  this.appendHistory(this.buildResult(cycleId, true, threshold.reason, startTime, corpus, proposals, votes, deployResult));
176
193
  return this.buildResult(cycleId, true, threshold.reason, startTime, corpus, proposals, votes, deployResult);
177
194
  }
@@ -184,7 +201,7 @@ export class InferenceCycle {
184
201
  InferenceCycle.reEntryLock = false;
185
202
  }
186
203
  }
187
- async generateProposals(corpus) {
204
+ generateProposals(corpus) {
188
205
  const proposals = [];
189
206
  for (const problem of corpus.recurringProblems) {
190
207
  proposals.push({
@@ -247,61 +264,25 @@ export class InferenceCycle {
247
264
  status: "pending",
248
265
  });
249
266
  }
250
- // Validate proposals against codex terms 1/3/5 (ai-reasoning terms made auditable)
251
- // Adjusts confidence down when validators flag concerns, making the inference
252
- // pipeline explicit about architecture/product quality validation.
253
- try {
254
- const { globalValidatorRegistry } = await import("../enforcement/validators/validator-registry.js");
255
- const noOverEngineer = globalValidatorRegistry.getValidator("no-over-engineering");
256
- const singleResponsibility = globalValidatorRegistry.getValidator("single-responsibility");
257
- for (const p of proposals) {
258
- // Term 1/3 validation: flag over-engineered proposals
259
- if (noOverEngineer) {
260
- const res = await noOverEngineer.validate({
261
- operation: "inference",
262
- files: [],
263
- newCode: p.description,
264
- });
265
- if (!res.passed) {
266
- p.confidence *= 0.85;
267
- p.evidence.push(`Term 1/3: NoOverEngineeringValidator flagged: ${res.message}`);
268
- }
269
- }
270
- // Term 5 validation: flag proposals violating single responsibility
271
- if (singleResponsibility) {
272
- const res = await singleResponsibility.validate({
273
- operation: "inference",
274
- files: [],
275
- newCode: p.description,
276
- });
277
- if (!res.passed) {
278
- p.confidence *= 0.85;
279
- p.evidence.push(`Term 5: SingleResponsibilityValidator flagged: ${res.message}`);
280
- }
281
- }
282
- // Block proposals that fail both validators severely (confidence <= 0.3 after adjustments)
283
- if (p.confidence <= 0.3) {
284
- await frameworkLogger.log("inference-cycle", "proposal-blocked", "warning", {
285
- proposalId: p.id,
286
- title: p.title,
287
- confidence: p.confidence,
288
- reason: "Confidence below 0.3 threshold after validator adjustments",
289
- });
290
- }
291
- }
292
- }
293
- catch {
294
- // Validator check is non-blocking for inference — log and continue
295
- }
296
- const actionable = proposals.filter(p => p.confidence > 0.3);
297
- return actionable.sort((a, b) => b.confidence - a.confidence).slice(0, 3);
267
+ return proposals.sort((a, b) => b.confidence - a.confidence).slice(0, 3);
298
268
  }
299
269
  adjustFromHistory(proposals) {
300
270
  this.adjustConfidenceFromHistory(proposals);
301
271
  proposals.sort((a, b) => b.confidence - a.confidence);
302
272
  }
273
+ getCoordinator() {
274
+ if (!InferenceCycle.votingCoordinator) {
275
+ const stateManager = this.getGovernanceStateManager();
276
+ InferenceCycle.votingCoordinator = new VotingCoordinator(stateManager);
277
+ }
278
+ return InferenceCycle.votingCoordinator;
279
+ }
303
280
  async applyProposals(proposals) {
304
- const applier = new ProposalApplier(this.projectRoot);
281
+ const applier = new ProposalApplier(this.projectRoot, async (p) => this.applyProposalWork(p), async (p, prUrl) => {
282
+ if (this.options.skipResearcherReview)
283
+ return "go";
284
+ return this.researcherReview(p, prUrl);
285
+ });
305
286
  const results = await applier.applyProposals(proposals);
306
287
  for (const r of results) {
307
288
  const p = proposals.find(pr => pr.id === r.proposalId);
@@ -345,8 +326,12 @@ export class InferenceCycle {
345
326
  targetFiles,
346
327
  });
347
328
  try {
348
- const agentName = p.type === "refactor" ? "refactorer" : "code-reviewer";
349
- await invokeOpencodeFromEngine(agentName, prompt, this.projectRoot);
329
+ let agentName = p.type === "refactor" ? "refactorer" : "code-reviewer";
330
+ // In pure MCP mode, use real skill server names so the orchestrator dispatches to actual MCP tools
331
+ if (process.env.STRRAY_FORCE_MCP_GOVERNANCE === 'true') {
332
+ agentName = p.type === "refactor" ? "refactoring-strategies" : "code-review";
333
+ }
334
+ await this.invokeAgentInternal(agentName, prompt);
350
335
  return true;
351
336
  }
352
337
  catch (err) {
@@ -368,11 +353,14 @@ export class InferenceCycle {
368
353
  ``,
369
354
  `1. Read the relevant source files`,
370
355
  `2. Add the missing guard, validation, or edge case handling`,
371
- `3. If this is a codex rule, add the term to xray/codex.json`,
356
+ `3. If this is a codex rule, add the term to .opencode/strray/codex.json`,
372
357
  `4. Make minimal, surgical changes`,
373
358
  ].join("\n");
374
359
  try {
375
- await invokeOpencodeFromEngine("code-reviewer", prompt, this.projectRoot);
360
+ const agentName = process.env.STRRAY_FORCE_MCP_GOVERNANCE === 'true'
361
+ ? "code-review"
362
+ : "code-reviewer";
363
+ await this.invokeAgentInternal(agentName, prompt);
376
364
  return true;
377
365
  }
378
366
  catch (err) {
@@ -400,7 +388,10 @@ export class InferenceCycle {
400
388
  `3. Implement it if straightforward, otherwise describe the design`,
401
389
  ].join("\n");
402
390
  try {
403
- await invokeOpencodeFromEngine("architect", prompt, this.projectRoot);
391
+ const agentName = process.env.STRRAY_FORCE_MCP_GOVERNANCE === 'true'
392
+ ? "architecture-patterns"
393
+ : "architect";
394
+ await this.invokeAgentInternal(agentName, prompt);
404
395
  return true;
405
396
  }
406
397
  catch (err) {
@@ -448,7 +439,7 @@ Respond with EXACTLY one of:
448
439
  - NO-GO (proposal is invalid, reject)
449
440
  - MODIFY: <specific changes needed>`;
450
441
  try {
451
- const result = await invokeOpencodeFromEngine("researcher", prompt, this.projectRoot);
442
+ const result = await this.invokeAgentInternal("researcher", prompt);
452
443
  const output = result.toLowerCase();
453
444
  if (output.includes("no-go"))
454
445
  return "no-go";
@@ -462,99 +453,481 @@ Respond with EXACTLY one of:
462
453
  }
463
454
  }
464
455
  async governProposals(proposals) {
465
- const governanceResponse = await this.governViaNucleus(proposals);
466
- frameworkLogger.log("inference-cycle", "governance-nucleus-success", "info", {
467
- proposalCount: proposals.length,
468
- overall: governanceResponse.overallDecision,
469
- });
470
- return this.convertNucleusResponse(governanceResponse, proposals);
456
+ // Primary path: Use the first-class Governance MCP (real skill servers + required Dynamo)
457
+ // This is the clean, centralized path (governance.server.ts + GovernanceService)
458
+ const useGovernanceMcp = process.env.STRRAY_FORCE_MCP_GOVERNANCE === 'true' ||
459
+ this.isGovernanceMcpPreferred();
460
+ if (useGovernanceMcp) {
461
+ try {
462
+ const result = await Promise.race([
463
+ mcpClientManager.callServerTool("governance", "govern_proposals", {
464
+ proposals: proposals.map(p => ({
465
+ id: p.id,
466
+ type: p.type,
467
+ title: p.title,
468
+ description: p.description,
469
+ evidence: p.evidence || [],
470
+ source: p.source || "inference",
471
+ confidence: p.confidence || 0.8,
472
+ })),
473
+ context: { source: "inference-cycle" },
474
+ options: { require_external: true },
475
+ }),
476
+ new Promise((_, reject) => setTimeout(() => reject(new Error("Governance MCP timed out after 8s")), 8000)),
477
+ ]);
478
+ const text = result?.content?.[0]?.text || "";
479
+ const parsed = this.parseGovernanceMcpResponse(text, proposals);
480
+ frameworkLogger.log("inference-cycle", "governance-mcp-primary-path", "info", {
481
+ proposalCount: proposals.length,
482
+ overall: parsed.overallDecision,
483
+ });
484
+ return parsed.votes;
485
+ }
486
+ catch (err) {
487
+ frameworkLogger.log("inference-cycle", "governance-mcp-failed", "error", {
488
+ error: err instanceof Error ? err.message : String(err),
489
+ });
490
+ // In forced pure MCP mode we must not silently fall back
491
+ if (process.env.STRRAY_FORCE_MCP_GOVERNANCE === 'true') {
492
+ throw err;
493
+ }
494
+ // In normal mode, fall back to legacy path with deprecation warning.
495
+ // The legacy path will be removed once all consumers have migrated to the Governance MCP + Dynamo Solar SSOT model.
496
+ frameworkLogger.log("inference-cycle", "governance-legacy-fallback", "warning", {
497
+ message: "Falling back to legacy governance path. This path is deprecated and will be removed in a future version.",
498
+ });
499
+ }
500
+ }
501
+ // Legacy internal path (deprecated)
502
+ const internalVotes = await this.governProposalsInternal(proposals);
503
+ const governanceIntegration = getGovernanceIntegration();
504
+ if (governanceIntegration?.isAvailable()) {
505
+ const externalVotes = await this.governProposalsExternal(proposals);
506
+ return this.mergeGovernanceVotes(internalVotes, externalVotes, proposals);
507
+ }
508
+ return internalVotes;
509
+ }
510
+ isGovernanceMcpPreferred() {
511
+ try {
512
+ const config = featuresConfigLoader.loadConfig();
513
+ const inferenceGov = config.inference_governance;
514
+ return inferenceGov?.enabled ?? true;
515
+ }
516
+ catch {
517
+ return true;
518
+ }
519
+ }
520
+ parseGovernanceMcpResponse(text, proposals) {
521
+ // The governance MCP returns a GovernanceResponse JSON
522
+ try {
523
+ const data = JSON.parse(text);
524
+ const results = data.results || [];
525
+ const votes = proposals.map((p, i) => {
526
+ const r = results[i] || {};
527
+ return {
528
+ proposalId: p.id,
529
+ decision: (r.finalDecision === 'approve' ? 'approve' : r.finalDecision === 'reject' ? 'reject' : 'needs_revision'),
530
+ confidence: r.averageConfidence || 0.75,
531
+ details: (r.votes || []).map((v) => `${v.server}: ${v.decision} (${v.confidence})`),
532
+ };
533
+ });
534
+ return { votes, overallDecision: data.overallDecision || "needs_revision" };
535
+ }
536
+ catch {
537
+ frameworkLogger.log('inference-cycle', 'governance-mcp-parse-failed', 'warning', {
538
+ textPreview: text.substring(0, 200),
539
+ proposalCount: proposals.length,
540
+ });
541
+ const votes = proposals.map(p => ({
542
+ proposalId: p.id,
543
+ decision: "abstain",
544
+ confidence: 0.5,
545
+ details: ["governance-mcp: parse-failed"],
546
+ }));
547
+ return { votes, overallDecision: "needs_revision" };
548
+ }
471
549
  }
472
550
  /**
473
- * Map InferenceProposal.source to GovernanceProposal.source.
474
- * Inference-specific sources (recurring_problem, recurring_pattern, wrong_turn)
475
- * all normalize to 'inference'. Future tuning/mod-specific sources can be added here.
476
- */
477
- static SOURCE_MAP = {
478
- 'recurring_problem': 'inference',
479
- 'recurring_pattern': 'inference',
480
- 'wrong_turn': 'inference',
481
- };
482
- /**
483
- * Convert InferenceProposal[] to GovernanceRequest and route through
484
- * the nucleus kernel (handleGovernRequest). This is the v3 uniform path.
551
+ * Oscillator 1: Internal VotingCoordinator-based governance
485
552
  */
486
- async governViaNucleus(proposals) {
487
- // Auto-detect project identity from package.json for tagging
488
- let projectName = 'unknown';
489
- let projectTags = [];
553
+ async governProposalsInternal(proposals) {
554
+ // Defensive: if pure MCP mode is forced, use individual skill servers only
555
+ if (process.env.STRRAY_FORCE_MCP_GOVERNANCE === 'true') {
556
+ return this.governProposalsWithIndividualSkills(proposals);
557
+ }
558
+ const coordinator = this.getCoordinator();
559
+ const sessionId = `inference-governance-${Date.now()}`;
560
+ const results = [];
561
+ const todoPrompt = [
562
+ `Vote on ${proposals.length} inference proposals. Output EXACTLY one PROPOSAL block per proposal.`,
563
+ ``,
564
+ `FORMAT (exact, no extra text, no markdown):`,
565
+ `PROPOSAL: <number>`,
566
+ ` AGENT: architect`,
567
+ ` DECISION: approve|reject|abstain`,
568
+ ` CONFIDENCE: 0.XX`,
569
+ ` REASONING: <brief reason>`,
570
+ ``,
571
+ `Example:`,
572
+ `PROPOSAL: 1`,
573
+ ` AGENT: architect`,
574
+ ` DECISION: approve`,
575
+ ` CONFIDENCE: 0.85`,
576
+ ` REASONING: Cleanup reduces maintenance burden`,
577
+ ``,
578
+ `PROPOSALS:`,
579
+ ];
580
+ for (let i = 0; i < proposals.length; i++) {
581
+ const p = proposals[i];
582
+ todoPrompt.push(`${i + 1}. [${p.type}] "${p.title}"`);
583
+ }
490
584
  try {
491
- const pkg = JSON.parse(fs.readFileSync(path.join(process.cwd(), 'package.json'), 'utf-8'));
492
- projectName = pkg.name || 'unknown';
493
- projectTags = projectName === '0xray' ? ['0xray'] : [projectName];
585
+ const jsonOutput = await this.invokeAgentInternal("architect", todoPrompt.join("\n"));
586
+ const allVotes = this.parseSubagentVotes(jsonOutput, proposals);
587
+ for (const proposal of proposals) {
588
+ const agents = GOVERNANCE_AGENTS[proposal.type] ?? ["code-reviewer"];
589
+ const participants = ["architect", ...agents];
590
+ const voteId = await coordinator.initiateVoting(sessionId, proposal.title, proposal.description, participants, {
591
+ complexity: Math.min(50, 10 + proposal.evidence.length * 5 + (proposal.confidence > 0.8 ? 10 : 0)),
592
+ riskLevel: proposal.type === "fix" ? "low" : proposal.type === "guard" ? "high" : "medium",
593
+ hasSecurityConcerns: proposal.type === "guard" || proposal.type === "fix",
594
+ hasArchitecturalImpact: proposal.type === "codify" || proposal.type === "automate",
595
+ participantCount: participants.length,
596
+ });
597
+ const proposalVotes = allVotes.filter((v) => v.proposalId === proposal.id);
598
+ for (const v of proposalVotes) {
599
+ coordinator.submitVote(voteId, v.agentName, v.decision, v.confidence, v.reasoning);
600
+ }
601
+ const resolved = coordinator.resolveVoting(voteId);
602
+ if (resolved) {
603
+ results.push({
604
+ proposalId: proposal.id,
605
+ decision: resolved.decision === "approve" ? "approve" : "reject",
606
+ confidence: resolved.confidence,
607
+ details: resolved.details?.map((d) => `${d.agentName}: vote=${d.vote}, weight=${d.weight.toFixed(2)}`) || [],
608
+ });
609
+ if (resolved.details) {
610
+ for (const detail of resolved.details) {
611
+ this.getCoordinator().getAggregator().updateAgentPerformance(detail.agentName, resolved.decision, detail.vote, detail.vote === resolved.decision, proposal.confidence);
612
+ }
613
+ }
614
+ }
615
+ else {
616
+ results.push(this.rejectNoQuorum(proposal, "agents did not vote (no quorum)"));
617
+ }
618
+ }
494
619
  }
495
- catch {
496
- projectTags = [];
497
- }
498
- const governanceRequest = {
499
- proposals: proposals.map(p => ({
500
- id: p.id,
501
- type: p.type,
502
- title: p.title,
503
- description: p.description,
504
- evidence: p.evidence,
505
- source: InferenceCycle.SOURCE_MAP[p.source] || 'inference',
506
- confidence: p.confidence,
507
- tags: projectTags,
508
- })),
509
- context: {
510
- project: projectName,
511
- phase: 'inference-cycle',
512
- source: 'inference-cycle',
513
- tags: projectTags,
514
- },
515
- options: {
516
- requireExternalDynamo: !process.env.XRAY_LOCAL_MODE,
517
- },
620
+ catch (error) {
621
+ frameworkLogger.log("inference-cycle", "architect-governance-failed", "error", { error: String(error) });
622
+ for (const proposal of proposals) {
623
+ results.push(this.rejectNoQuorum(proposal, `agent invocation failed: ${error instanceof Error ? error.message : String(error)}`));
624
+ }
625
+ }
626
+ const metrics = coordinator.getMetrics();
627
+ frameworkLogger.log("inference-cycle", "governance-metrics", "info", {
628
+ totalVotes: metrics.totalVotes,
629
+ avgConfidence: metrics.averageConfidence.toFixed(2),
630
+ strategyUsage: metrics.strategyUsage,
631
+ });
632
+ return results;
633
+ }
634
+ /**
635
+ * Pure individual knowledge-skill MCP path for governance.
636
+ * Used when STRRAY_FORCE_MCP_GOVERNANCE=true.
637
+ * Each proposal is evaluated directly by the relevant skill servers using analyze_proposal.
638
+ */
639
+ async governProposalsWithIndividualSkills(proposals) {
640
+ const results = [];
641
+ const GOVERNANCE_AGENTS = {
642
+ fix: ["code-review", "security-audit", "researcher"],
643
+ refactor: ["code-review", "security-audit", "researcher"],
644
+ guard: ["code-review", "security-audit", "researcher"],
645
+ automate: ["code-review", "security-audit", "researcher"],
646
+ codify: ["code-review", "security-audit", "researcher"],
518
647
  };
519
- return handleGovernRequest(governanceRequest);
648
+ for (const proposal of proposals) {
649
+ const agents = GOVERNANCE_AGENTS[proposal.type] ?? ["code-review", "security-audit"];
650
+ const skillVotes = [];
651
+ for (const agent of agents) {
652
+ try {
653
+ const skillResult = await mcpClientManager.callServerTool(agent, "analyze_proposal", {
654
+ proposalTitle: proposal.title,
655
+ proposalDescription: proposal.description,
656
+ evidence: proposal.evidence,
657
+ proposalType: proposal.type,
658
+ });
659
+ let structured = "";
660
+ const contents = skillResult?.content || [];
661
+ for (const c of contents) {
662
+ if (c?.text && c.text.includes("DECISION:")) {
663
+ structured = c.text.trim();
664
+ break;
665
+ }
666
+ }
667
+ if (!structured) {
668
+ const full = JSON.stringify(skillResult);
669
+ const m = full.match(/DECISION:\s*(approve|reject|abstain)[\s\S]{0,300}?REASONING:[^\n"]*/i);
670
+ if (m)
671
+ structured = m[0].trim();
672
+ }
673
+ skillVotes.push({
674
+ agent,
675
+ toolUsed: "analyze_proposal",
676
+ rawResponse: structured || JSON.stringify(skillResult),
677
+ structuredVote: structured || null,
678
+ });
679
+ }
680
+ catch (err) {
681
+ skillVotes.push({
682
+ agent,
683
+ toolUsed: "analyze_proposal",
684
+ rawResponse: `error: ${err}`,
685
+ structuredVote: null,
686
+ });
687
+ }
688
+ }
689
+ const approves = skillVotes.filter((v) => v.structuredVote && v.structuredVote.includes("DECISION: approve")).length;
690
+ const rejects = skillVotes.filter((v) => v.structuredVote && v.structuredVote.includes("DECISION: reject")).length;
691
+ const decision = approves > rejects ? "approve" : (rejects > approves ? "reject" : "abstain");
692
+ let avgConf = 0.75;
693
+ const confMatches = skillVotes.map((v) => {
694
+ if (!v.structuredVote)
695
+ return 0.75;
696
+ const m = v.structuredVote.match(/CONFIDENCE:\s*([0-9.]+)/);
697
+ return m ? parseFloat(m[1]) : 0.75;
698
+ });
699
+ if (confMatches.length > 0)
700
+ avgConf = confMatches.reduce((a, b) => a + b, 0) / confMatches.length;
701
+ results.push({
702
+ proposalId: proposal.id,
703
+ decision: decision,
704
+ confidence: Math.round(avgConf * 100) / 100,
705
+ details: skillVotes.map((v) => `${v.agent}: ${v.structuredVote?.split('\n')[0] || 'no structured vote'}`),
706
+ });
707
+ }
708
+ return results;
520
709
  }
521
710
  /**
522
- * Convert a GovernanceResponse (nucleus kernel format) back to the
523
- * InferenceCycleResult["votes"] format that the rest of the cycle expects.
711
+ * Merge internal and external governance votes.
712
+ * A proposal passes both oscillators — must be approved by internal AND external.
524
713
  */
525
- convertNucleusResponse(response, proposals) {
526
- return proposals.map((p, i) => {
527
- const result = response.results[i];
528
- if (!result) {
529
- return {
530
- proposalId: p.id,
531
- decision: 'reject',
532
- confidence: 0,
533
- details: ['nucleus: no result returned'],
534
- };
714
+ mergeGovernanceVotes(internalVotes, externalVotes, proposals) {
715
+ const merged = [];
716
+ for (const proposal of proposals) {
717
+ const internal = internalVotes.find((v) => v.proposalId === proposal.id);
718
+ const external = externalVotes.find((v) => v.proposalId === proposal.id);
719
+ if (!internal) {
720
+ merged.push(this.rejectNoQuorum(proposal, "internal governance vote missing"));
721
+ continue;
535
722
  }
536
- const decision = result.finalDecision === 'approve' ? 'approve' : result.finalDecision === 'reject' ? 'reject' : 'abstain';
537
- return {
538
- proposalId: p.id,
539
- decision,
540
- confidence: result.averageConfidence,
541
- details: result.votes?.map((v) => `${v.server || v.agentName || 'agent'}: ${v.decision} (${v.confidence})`) || [result.reasoningSummary],
542
- };
723
+ const internalApproved = internal.decision === "approve";
724
+ const externalApproved = external?.decision === "approve";
725
+ const bothApproved = internalApproved && (!external || externalApproved);
726
+ merged.push({
727
+ proposalId: proposal.id,
728
+ decision: bothApproved ? "approve" : "reject",
729
+ confidence: internal.confidence * (external ? external.confidence : 1.0),
730
+ details: [
731
+ ...internal.details,
732
+ ...(external ? [`External governance: ${external.decision} (conf: ${external.confidence.toFixed(2)})`, ...external.details] : []),
733
+ ],
734
+ });
735
+ }
736
+ return merged;
737
+ }
738
+ // Removed: buildOrchestratorGovernancePrompt (replaced by inline TODO prompt in governProposals)
739
+ /**
740
+ * Govern proposals using external chrono-warp-drive Dynamo endpoint
741
+ */
742
+ async governProposalsExternal(proposals) {
743
+ const governanceIntegration = getGovernanceIntegration();
744
+ if (!governanceIntegration) {
745
+ throw new Error("Governance integration not available");
746
+ }
747
+ // Build agent reviews from proposal evidence
748
+ const agentReviews = proposals.flatMap((p) => p.evidence.slice(0, 2).map((e) => `[${p.type}] ${e}`));
749
+ try {
750
+ const batchResult = await governanceIntegration.checkProposals(proposals, agentReviews, []);
751
+ const votes = batchResult.results.map((result) => ({
752
+ proposalId: result.governanceResponse.proposalId,
753
+ decision: result.vote.toLowerCase() === "yes" ? "approve" : "reject",
754
+ confidence: result.governanceResponse.confidence,
755
+ details: [
756
+ `Governance: ${result.governanceResponse.recommendation}`,
757
+ `Isotope: ${result.governanceResponse.governanceIsotopeId}`,
758
+ ...result.governanceResponse.reasons.slice(0, 2),
759
+ ],
760
+ }));
761
+ frameworkLogger.log("inference-cycle", "external-governance-complete", "info", {
762
+ proposalCount: proposals.length,
763
+ passedCount: batchResult.results.filter((r) => r.passed).length,
764
+ });
765
+ return votes;
766
+ }
767
+ catch (error) {
768
+ frameworkLogger.log("inference-cycle", "external-governance-failed", "error", {
769
+ error: error instanceof Error ? error.message : String(error),
770
+ });
771
+ return proposals.map((p) => this.rejectNoQuorum(p, "external governance endpoint failed"));
772
+ }
773
+ }
774
+ async invokeAgentInternal(agentName, prompt) {
775
+ frameworkLogger.log("inference-cycle", "invoke-agent-internal", "info", {
776
+ agentName,
777
+ promptLength: prompt.length,
543
778
  });
779
+ try {
780
+ const { mcpClientManager } = await import("../mcps/mcp-client.js");
781
+ const MCP_TIMEOUT_MS = 8000;
782
+ const result = await Promise.race([
783
+ mcpClientManager.callServerTool("orchestrator", "orchestrate-task", {
784
+ description: prompt,
785
+ tasks: [{
786
+ id: `task-${Date.now()}`,
787
+ description: prompt,
788
+ type: agentName,
789
+ priority: "high",
790
+ }],
791
+ executionMode: "sequential",
792
+ }),
793
+ new Promise((_, reject) => setTimeout(() => reject(new Error(`Orchestrator MCP timed out after ${MCP_TIMEOUT_MS}ms`)), MCP_TIMEOUT_MS)),
794
+ ]);
795
+ const content = result.content;
796
+ let responseText = "";
797
+ if (content && Array.isArray(content)) {
798
+ responseText = content.map((c) => c.text ?? "").join("");
799
+ }
800
+ else {
801
+ responseText = JSON.stringify(result);
802
+ }
803
+ // In pure MCP governance mode, trust the orchestrator response (it now does real work)
804
+ const isPureMcp = process.env.STRRAY_FORCE_MCP_GOVERNANCE === 'true';
805
+ const hasRealContent = /PROPOSAL:\s*\d+/i.test(responseText) ||
806
+ /DECISION:\s*(approve|reject|abstain)/i.test(responseText) ||
807
+ /Agent Outputs \(real MCP responses\):/i.test(responseText);
808
+ if (hasRealContent || isPureMcp) {
809
+ if (isPureMcp && !hasRealContent) {
810
+ frameworkLogger.log("inference-cycle", "pure-mcp-orchestrator-response", "info", {
811
+ agentName,
812
+ responsePreview: responseText.substring(0, 300),
813
+ });
814
+ }
815
+ return responseText;
816
+ }
817
+ frameworkLogger.log("inference-cycle", "mcp-no-useful-content", "info", {
818
+ agentName,
819
+ responsePreview: responseText.substring(0, 200),
820
+ });
821
+ }
822
+ catch (mcpError) {
823
+ frameworkLogger.log("inference-cycle", "mcp-invocation-failed", "info", {
824
+ agentName,
825
+ error: String(mcpError),
826
+ });
827
+ }
828
+ if (this.agentInvoker) {
829
+ frameworkLogger.log("inference-cycle", "invoke-via-callback", "info", { agentName });
830
+ return this.agentInvoker(agentName, prompt);
831
+ }
832
+ // Only fall back to OpenCode if not in forced pure MCP mode
833
+ if (process.env.STRRAY_FORCE_MCP_GOVERNANCE === 'true') {
834
+ throw new Error(`[PURE MCP] Orchestrator returned no usable response for agent "${agentName}" and OpenCode fallback is disabled`);
835
+ }
836
+ return this.invokeViaOpencode(agentName, prompt);
837
+ }
838
+ async invokeViaOpencode(agentName, prompt) {
839
+ return invokeOpencodeFromEngine(agentName, prompt, this.projectRoot);
840
+ }
841
+ parseSubagentVotes(jsonOutput, proposals) {
842
+ const votes = [];
843
+ const lines = jsonOutput.split("\n").filter((l) => l.trim());
844
+ for (const line of lines) {
845
+ try {
846
+ const obj = JSON.parse(line);
847
+ if (obj.type === "tool_use" && obj.part?.type === "tool" && obj.part.tool === "task") {
848
+ const agentName = obj.part.state?.input?.subagent_type || "";
849
+ const output = obj.part.state?.output || "";
850
+ // Each task output may contain multiple PROPOSAL blocks
851
+ const blocks = output.split(/PROPOSAL:\s*/).filter((b) => b.trim().length > 0);
852
+ for (const block of blocks) {
853
+ const numMatch = block.match(/^(\d+)/);
854
+ if (!numMatch)
855
+ continue;
856
+ const proposalIdx = parseInt(numMatch[1], 10) - 1;
857
+ if (proposalIdx < 0 || proposalIdx >= proposals.length)
858
+ continue;
859
+ const decisionMatch = block.match(/DECISION:\s*(\w+)/i);
860
+ const confMatch = block.match(/CONFIDENCE:\s*(0?\.\d+|1\.0|1|0)/i);
861
+ const reasonMatch = block.match(/REASONING:\s*(.+)/i);
862
+ if (decisionMatch) {
863
+ const proposal = proposals[proposalIdx];
864
+ if (proposal) {
865
+ votes.push({
866
+ proposalId: proposal.id,
867
+ agentName,
868
+ decision: decisionMatch[1].toLowerCase(),
869
+ confidence: confMatch ? Math.min(1, Math.max(0, parseFloat(confMatch[1]))) : 0.5,
870
+ reasoning: reasonMatch ? reasonMatch[1].trim() : "",
871
+ });
872
+ }
873
+ }
874
+ }
875
+ }
876
+ }
877
+ catch {
878
+ // Not JSON, skip
879
+ }
880
+ }
881
+ // Fallback: if no votes found from JSON format, try parsing plain-text
882
+ // PROPOSAL/DECISION blocks directly (e.g. from opencode CLI fallback path)
883
+ if (votes.length === 0 && /PROPOSAL:\s*\d+/i.test(jsonOutput)) {
884
+ const blocks = jsonOutput.split(/PROPOSAL:\s*/).filter((b) => b.trim().length > 0);
885
+ for (const block of blocks) {
886
+ const numMatch = block.match(/^(\d+)/);
887
+ if (!numMatch)
888
+ continue;
889
+ const numStr = numMatch[1];
890
+ if (!numStr)
891
+ continue;
892
+ const proposalIdx = parseInt(numStr, 10) - 1;
893
+ if (proposalIdx < 0 || proposalIdx >= proposals.length)
894
+ continue;
895
+ const agentMatch = block.match(/AGENT:\s*(\w[\w-]*)/i);
896
+ const decisionMatch = block.match(/DECISION:\s*(\w+)/i);
897
+ const confMatch = block.match(/CONFIDENCE:\s*(0?\.\d+|1\.0|1|0)/i);
898
+ const reasonMatch = block.match(/REASONING:\s*(.+)/i);
899
+ if (decisionMatch) {
900
+ const proposal = proposals[proposalIdx];
901
+ if (proposal) {
902
+ let decision = decisionMatch[1].toLowerCase();
903
+ if (decision === "yes")
904
+ decision = "approve";
905
+ if (decision === "no")
906
+ decision = "reject";
907
+ votes.push({
908
+ proposalId: proposal.id,
909
+ agentName: agentMatch?.[1] ?? "architect",
910
+ decision,
911
+ confidence: confMatch ? Math.min(1, Math.max(0, parseFloat(confMatch[1]))) : 0.5,
912
+ reasoning: reasonMatch ? reasonMatch[1].trim() : "",
913
+ });
914
+ }
915
+ }
916
+ }
917
+ }
918
+ return votes;
544
919
  }
545
920
  getGovernanceStateManager() {
546
921
  if (!fs.existsSync(this.stateDir)) {
547
922
  fs.mkdirSync(this.stateDir, { recursive: true });
548
923
  }
549
- const statePath = path.join(this.stateDir, CONSOLIDATED_STATE_FILE);
550
- const stateManager = new XrayStateManager();
551
- if (fs.existsSync(statePath)) {
924
+ const stateFile = path.join(this.stateDir, "governance-state.json");
925
+ const stateManager = new StringRayStateManager();
926
+ if (fs.existsSync(stateFile)) {
552
927
  try {
553
- const data = JSON.parse(fs.readFileSync(statePath, "utf-8"));
554
- if (data.governanceState) {
555
- for (const [key, value] of Object.entries(data.governanceState)) {
556
- stateManager.set(key, value);
557
- }
928
+ const data = JSON.parse(fs.readFileSync(stateFile, "utf-8"));
929
+ for (const [key, value] of Object.entries(data)) {
930
+ stateManager.set(key, value);
558
931
  }
559
932
  }
560
933
  catch {
@@ -563,6 +936,26 @@ Respond with EXACTLY one of:
563
936
  }
564
937
  return stateManager;
565
938
  }
939
+ saveGovernanceState(coordinator) {
940
+ const stateFile = path.join(this.stateDir, "governance-state.json");
941
+ try {
942
+ // Export the coordinator's internal state (voting history, metrics, etc.)
943
+ const history = coordinator.getVotingHistory();
944
+ const metrics = coordinator.getMetrics();
945
+ const exportData = {
946
+ votingHistory: history,
947
+ metrics,
948
+ exportedAt: new Date().toISOString(),
949
+ };
950
+ if (!fs.existsSync(this.stateDir)) {
951
+ fs.mkdirSync(this.stateDir, { recursive: true });
952
+ }
953
+ fs.writeFileSync(stateFile, JSON.stringify(exportData, null, 2));
954
+ }
955
+ catch (error) {
956
+ frameworkLogger.log("inference-cycle", "governance-state-save-failed", "warning", { error: String(error) });
957
+ }
958
+ }
566
959
  extractTextFromNdjson(output) {
567
960
  const texts = [];
568
961
  for (const line of output.split("\n")) {
@@ -581,6 +974,28 @@ Respond with EXACTLY one of:
581
974
  }
582
975
  return texts.join("\n").trim();
583
976
  }
977
+ resolveOpencodeRoot() {
978
+ // Use the provider-agnostic config path resolver (prefers .strray/, falls back to .opencode/strray/)
979
+ const configDir = getConfigDir(this.projectRoot);
980
+ // If we resolved to a .strray or custom dir, use its parent as the "root"
981
+ if (configDir.includes(".strray") || configDir.includes("strray")) {
982
+ return path.dirname(configDir);
983
+ }
984
+ // Legacy fallback
985
+ let dir = this.projectRoot;
986
+ for (let i = 0; i < 10; i++) {
987
+ if (fs.existsSync(path.join(dir, ".opencode")))
988
+ return dir;
989
+ const parent = path.dirname(dir);
990
+ if (parent === dir)
991
+ break;
992
+ dir = parent;
993
+ }
994
+ const cwd = process.cwd();
995
+ if (fs.existsSync(path.join(cwd, ".opencode")))
996
+ return cwd;
997
+ return this.projectRoot;
998
+ }
584
999
  rejectNoQuorum(proposal, reason) {
585
1000
  return {
586
1001
  proposalId: proposal.id,
@@ -647,35 +1062,37 @@ Respond with EXACTLY one of:
647
1062
  if (!fs.existsSync(this.stateDir)) {
648
1063
  fs.mkdirSync(this.stateDir, { recursive: true });
649
1064
  }
650
- const statePath = path.join(this.stateDir, CONSOLIDATED_STATE_FILE);
651
- const existing = fs.existsSync(statePath) ? JSON.parse(fs.readFileSync(statePath, "utf-8")) : {};
652
- existing.cycleState = {
1065
+ fs.writeFileSync(path.join(this.stateDir, CYCLE_STATE_FILE), JSON.stringify({
653
1066
  cycleId,
654
1067
  completedAt: new Date().toISOString(),
655
1068
  phase: this.phase,
656
- };
657
- fs.writeFileSync(statePath, JSON.stringify(existing, null, 2));
1069
+ }));
658
1070
  }
659
1071
  appendHistory(result) {
660
1072
  if (!fs.existsSync(this.stateDir)) {
661
1073
  fs.mkdirSync(this.stateDir, { recursive: true });
662
1074
  }
663
- const statePath = path.join(this.stateDir, CONSOLIDATED_STATE_FILE);
664
- const existing = fs.existsSync(statePath) ? JSON.parse(fs.readFileSync(statePath, "utf-8")) : {};
665
- let history = existing.history || [];
1075
+ const historyPath = path.join(this.stateDir, CYCLE_HISTORY_FILE);
1076
+ let history = [];
1077
+ if (fs.existsSync(historyPath)) {
1078
+ try {
1079
+ history = JSON.parse(fs.readFileSync(historyPath, "utf-8"));
1080
+ }
1081
+ catch {
1082
+ history = [];
1083
+ }
1084
+ }
666
1085
  history.push(result);
667
1086
  if (history.length > 50)
668
1087
  history = history.slice(-50);
669
- existing.history = history;
670
- fs.writeFileSync(statePath, JSON.stringify(existing, null, 2));
1088
+ fs.writeFileSync(historyPath, JSON.stringify(history, null, 2));
671
1089
  }
672
1090
  loadHistory() {
673
- const statePath = path.join(this.stateDir, CONSOLIDATED_STATE_FILE);
674
- if (!fs.existsSync(statePath))
1091
+ const historyPath = path.join(this.stateDir, CYCLE_HISTORY_FILE);
1092
+ if (!fs.existsSync(historyPath))
675
1093
  return [];
676
1094
  try {
677
- const data = JSON.parse(fs.readFileSync(statePath, "utf-8"));
678
- return data.history || [];
1095
+ return JSON.parse(fs.readFileSync(historyPath, "utf-8"));
679
1096
  }
680
1097
  catch {
681
1098
  return [];
@@ -749,4 +1166,3 @@ Respond with EXACTLY one of:
749
1166
  };
750
1167
  }
751
1168
  }
752
- //# sourceMappingURL=inference-cycle.js.map