monomind 1.7.0 → 1.9.0

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 (562) hide show
  1. package/.claude/agents/design/design-monodesign.md +121 -0
  2. package/.claude/agents/github/issue-tracker.md +12 -12
  3. package/.claude/agents/github/pr-manager.md +10 -10
  4. package/.claude/agents/github/release-manager.md +49 -105
  5. package/.claude/agents/github/repo-architect.md +73 -92
  6. package/.claude/agents/github/sync-coordinator.md +55 -123
  7. package/.claude/agents/marketing/marketing-competitive-content.md +155 -0
  8. package/.claude/agents/marketing/marketing-content-creator.md +13 -0
  9. package/.claude/agents/marketing/marketing-cro-specialist.md +147 -0
  10. package/.claude/agents/marketing/marketing-email-specialist.md +90 -0
  11. package/.claude/agents/marketing/marketing-launch-strategist.md +129 -0
  12. package/.claude/agents/marketing/marketing-pricing-strategist.md +127 -0
  13. package/.claude/agents/specialists/integration-architect.md +94 -0
  14. package/.claude/commands/agents/README.md +4 -0
  15. package/.claude/commands/agents/agent-capabilities.md +6 -2
  16. package/.claude/commands/agents/agent-coordination.md +4 -0
  17. package/.claude/commands/agents/agent-spawning.md +4 -0
  18. package/.claude/commands/agents/agent-types.md +6 -2
  19. package/.claude/commands/analysis/README.md +14 -5
  20. package/.claude/commands/analysis/bottleneck-detect.md +30 -123
  21. package/.claude/commands/analysis/performance-bottlenecks.md +14 -14
  22. package/.claude/commands/analysis/performance-report.md +38 -11
  23. package/.claude/commands/analysis/token-efficiency.md +13 -16
  24. package/.claude/commands/analysis/token-usage.md +34 -12
  25. package/.claude/commands/automation/README.md +15 -5
  26. package/.claude/commands/automation/auto-agent.md +49 -85
  27. package/.claude/commands/automation/self-healing.md +20 -18
  28. package/.claude/commands/automation/session-memory.md +28 -29
  29. package/.claude/commands/automation/smart-agents.md +17 -9
  30. package/.claude/commands/automation/smart-spawn.md +52 -11
  31. package/.claude/commands/automation/workflow-select.md +46 -11
  32. package/.claude/commands/browse.md +5 -0
  33. package/.claude/commands/coordination/README.md +9 -5
  34. package/.claude/commands/coordination/agent-spawn.md +53 -9
  35. package/.claude/commands/coordination/swarm-init.md +39 -42
  36. package/.claude/commands/coordination/task-orchestrate.md +65 -11
  37. package/.claude/commands/github/README.md +21 -8
  38. package/.claude/commands/github/github-modes.md +9 -5
  39. package/.claude/commands/github/issue-tracker.md +34 -33
  40. package/.claude/commands/github/pr-manager.md +20 -17
  41. package/.claude/commands/github/release-manager.md +37 -49
  42. package/.claude/commands/github/repo-architect.md +39 -41
  43. package/.claude/commands/github/sync-coordinator.md +45 -49
  44. package/.claude/commands/hive-mind/README.md +42 -17
  45. package/.claude/commands/hive-mind/hive-mind-consensus.md +68 -4
  46. package/.claude/commands/hive-mind/hive-mind-init.md +55 -5
  47. package/.claude/commands/hive-mind/hive-mind-memory.md +69 -4
  48. package/.claude/commands/hive-mind/hive-mind-spawn.md +71 -10
  49. package/.claude/commands/hive-mind/hive-mind-status.md +52 -4
  50. package/.claude/commands/hive-mind/hive-mind-stop.md +51 -4
  51. package/.claude/commands/hive-mind/hive-mind.md +74 -14
  52. package/.claude/commands/hooks/README.md +62 -7
  53. package/.claude/commands/hooks/overview.md +94 -35
  54. package/.claude/commands/hooks/post-edit.md +48 -87
  55. package/.claude/commands/hooks/post-task.md +37 -87
  56. package/.claude/commands/hooks/pre-edit.md +52 -84
  57. package/.claude/commands/hooks/pre-task.md +46 -81
  58. package/.claude/commands/hooks/session-end.md +49 -85
  59. package/.claude/commands/hooks/setup.md +87 -58
  60. package/.claude/commands/mastermind/_repeat.md +308 -0
  61. package/.claude/commands/mastermind/architect.md +49 -0
  62. package/.claude/commands/mastermind/brain.md +98 -0
  63. package/.claude/commands/mastermind/build.md +22 -0
  64. package/.claude/commands/mastermind/content.md +22 -0
  65. package/.claude/commands/mastermind/createorg.md +94 -0
  66. package/.claude/commands/mastermind/finance.md +22 -0
  67. package/.claude/commands/mastermind/idea.md +22 -0
  68. package/.claude/commands/mastermind/marketing.md +22 -0
  69. package/.claude/commands/mastermind/master.md +379 -0
  70. package/.claude/commands/mastermind/ops.md +22 -0
  71. package/.claude/commands/mastermind/release.md +22 -0
  72. package/.claude/commands/mastermind/research.md +22 -0
  73. package/.claude/commands/mastermind/review.md +22 -0
  74. package/.claude/commands/mastermind/runorg.md +106 -0
  75. package/.claude/commands/mastermind/sales.md +22 -0
  76. package/.claude/commands/mastermind/techport.md +17 -0
  77. package/.claude/commands/memory/README.md +75 -5
  78. package/.claude/commands/memory/memory-search.md +63 -11
  79. package/.claude/commands/monitoring/README.md +64 -4
  80. package/.claude/commands/monitoring/agent-metrics.md +50 -10
  81. package/.claude/commands/monitoring/agents.md +59 -32
  82. package/.claude/commands/monitoring/status.md +96 -34
  83. package/.claude/commands/monograph/README.md +102 -0
  84. package/.claude/commands/monograph/monograph-build.md +79 -0
  85. package/.claude/commands/monograph/monograph-search.md +96 -0
  86. package/.claude/commands/monograph/monograph-stats.md +53 -0
  87. package/.claude/commands/monograph/monograph-watch.md +63 -0
  88. package/.claude/commands/monograph/monograph-wiki.md +91 -0
  89. package/.claude/commands/monomind/createtask.md +277 -0
  90. package/.claude/commands/{monomind-do.md → monomind/do.md} +22 -9
  91. package/.claude/commands/monomind/help.md +118 -0
  92. package/.claude/commands/{monomind-idea.md → monomind/idea.md} +23 -29
  93. package/.claude/commands/{monomind-improve.md → monomind/improve.md} +24 -30
  94. package/.claude/commands/monomind/memory.md +230 -0
  95. package/.claude/commands/monomind/repeat.md +201 -0
  96. package/.claude/commands/monomind/review.md +313 -0
  97. package/.claude/commands/monomind/specialagents.md +125 -0
  98. package/.claude/commands/monomind/swarm.md +161 -0
  99. package/.claude/commands/monomind/understand.md +148 -0
  100. package/.claude/commands/optimization/README.md +69 -5
  101. package/.claude/commands/optimization/auto-topology.md +66 -43
  102. package/.claude/commands/optimization/parallel-execution.md +65 -39
  103. package/.claude/commands/optimization/performance-optimize.md +79 -0
  104. package/.claude/commands/pair/README.md +48 -230
  105. package/.claude/commands/pair/examples.md +85 -441
  106. package/.claude/commands/pair/modes.md +77 -303
  107. package/.claude/commands/pair/session.md +76 -359
  108. package/.claude/commands/sparc/analyzer.md +9 -26
  109. package/.claude/commands/sparc/architect.md +8 -25
  110. package/.claude/commands/sparc/ask.md +27 -68
  111. package/.claude/commands/sparc/batch-executor.md +8 -25
  112. package/.claude/commands/sparc/code.md +12 -53
  113. package/.claude/commands/sparc/coder.md +8 -25
  114. package/.claude/commands/sparc/debug.md +12 -53
  115. package/.claude/commands/sparc/debugger.md +8 -25
  116. package/.claude/commands/sparc/designer.md +8 -25
  117. package/.claude/commands/sparc/devops.md +16 -57
  118. package/.claude/commands/sparc/docs-writer.md +12 -53
  119. package/.claude/commands/sparc/documenter.md +8 -25
  120. package/.claude/commands/sparc/innovator.md +8 -25
  121. package/.claude/commands/sparc/integration.md +12 -53
  122. package/.claude/commands/sparc/mcp.md +12 -53
  123. package/.claude/commands/sparc/memory-manager.md +28 -25
  124. package/.claude/commands/sparc/optimizer.md +8 -25
  125. package/.claude/commands/sparc/orchestrator.md +35 -97
  126. package/.claude/commands/sparc/post-deployment-monitoring-mode.md +13 -54
  127. package/.claude/commands/sparc/refinement-optimization-mode.md +13 -54
  128. package/.claude/commands/sparc/researcher.md +8 -25
  129. package/.claude/commands/sparc/reviewer.md +8 -25
  130. package/.claude/commands/sparc/security-review.md +13 -54
  131. package/.claude/commands/sparc/sparc-modes.md +97 -151
  132. package/.claude/commands/sparc/sparc.md +16 -56
  133. package/.claude/commands/sparc/spec-pseudocode.md +13 -54
  134. package/.claude/commands/sparc/supabase-admin.md +19 -66
  135. package/.claude/commands/sparc/swarm-coordinator.md +21 -25
  136. package/.claude/commands/sparc/tdd.md +8 -25
  137. package/.claude/commands/sparc/tester.md +8 -25
  138. package/.claude/commands/sparc/tutorial.md +12 -53
  139. package/.claude/commands/sparc/workflow-manager.md +8 -25
  140. package/.claude/commands/sparc.md +76 -130
  141. package/.claude/commands/stream-chain/pipeline.md +72 -77
  142. package/.claude/commands/stream-chain/run.md +133 -47
  143. package/.claude/commands/swarm/README.md +37 -12
  144. package/.claude/commands/swarm/analysis.md +47 -69
  145. package/.claude/commands/swarm/development.md +45 -69
  146. package/.claude/commands/swarm/examples.md +77 -142
  147. package/.claude/commands/swarm/maintenance.md +47 -74
  148. package/.claude/commands/swarm/optimization.md +54 -87
  149. package/.claude/commands/swarm/research.md +47 -107
  150. package/.claude/commands/swarm/swarm-analysis.md +58 -4
  151. package/.claude/commands/swarm/swarm-background.md +61 -4
  152. package/.claude/commands/swarm/swarm-modes.md +63 -4
  153. package/.claude/commands/swarm/swarm-monitor.md +50 -4
  154. package/.claude/commands/swarm/swarm-status.md +40 -4
  155. package/.claude/commands/swarm/swarm-strategies.md +73 -5
  156. package/.claude/commands/swarm/swarm.md +70 -18
  157. package/.claude/commands/swarm/testing.md +51 -102
  158. package/.claude/commands/tokens.md +6 -1
  159. package/.claude/commands/training/README.md +36 -6
  160. package/.claude/commands/training/model-update.md +68 -15
  161. package/.claude/commands/training/neural-patterns.md +54 -55
  162. package/.claude/commands/training/neural-train.md +70 -16
  163. package/.claude/commands/training/pattern-learn.md +60 -16
  164. package/.claude/commands/training/specialization.md +78 -49
  165. package/.claude/commands/truth/start.md +87 -109
  166. package/.claude/commands/ts.md +7 -2
  167. package/.claude/commands/verify/check.md +90 -34
  168. package/.claude/commands/verify/start.md +71 -94
  169. package/.claude/commands/workflows/README.md +62 -6
  170. package/.claude/commands/workflows/development.md +69 -61
  171. package/.claude/commands/workflows/research.md +73 -47
  172. package/.claude/commands/workflows/workflow-create.md +75 -16
  173. package/.claude/commands/workflows/workflow-execute.md +94 -16
  174. package/.claude/commands/workflows/workflow-export.md +81 -16
  175. package/.claude/helpers/control-start.cjs +91 -0
  176. package/.claude/helpers/extras-registry.json +4104 -1991
  177. package/.claude/helpers/graphify-freshen.cjs +44 -13
  178. package/.claude/helpers/hook-handler.cjs +256 -1
  179. package/.claude/helpers/loop-tracker.cjs +107 -0
  180. package/.claude/helpers/router.cjs +48 -68
  181. package/.claude/helpers/skill-registry.json +89 -104
  182. package/.claude/helpers/statusline.cjs +33 -2
  183. package/.claude/scheduled_tasks.lock +1 -0
  184. package/.claude/settings.json +15 -0
  185. package/.claude/skills/.monomind/data/ranked-context.json +5 -0
  186. package/.claude/skills/.monomind/sessions/current.json +13 -0
  187. package/.claude/skills/.monomind/sessions/session-1777829336455.json +15 -0
  188. package/.claude/skills/.monomind/sessions/session-1777831614725.json +15 -0
  189. package/.claude/skills/.monomind/sessions/session-1777832095857.json +15 -0
  190. package/.claude/skills/.monomind/sessions/session-1777839814183.json +15 -0
  191. package/.claude/skills/.monomind/sessions/session-1777841847131.json +15 -0
  192. package/.claude/skills/.monomind/sessions/session-1777843309463.json +15 -0
  193. package/.claude/skills/.monomind/sessions/session-1777880867159.json +15 -0
  194. package/.claude/skills/.monomind/sessions/session-1777881884593.json +15 -0
  195. package/.claude/skills/.monomind/sessions/session-1777884090471.json +15 -0
  196. package/.claude/skills/.monomind/sessions/session-1777884808221.json +15 -0
  197. package/.claude/skills/.monomind/sessions/session-1777885672155.json +15 -0
  198. package/.claude/skills/.monomind/sessions/session-1777886852818.json +15 -0
  199. package/.claude/skills/.monomind/sessions/session-1777896532690.json +15 -0
  200. package/.claude/skills/agentdb-advanced/SKILL.md +11 -12
  201. package/.claude/skills/agentdb-learning/SKILL.md +20 -21
  202. package/.claude/skills/agentdb-memory-patterns/SKILL.md +28 -30
  203. package/.claude/skills/agentdb-optimization/SKILL.md +11 -12
  204. package/.claude/skills/agentdb-vector-search/SKILL.md +37 -41
  205. package/.claude/skills/{v3-integration-deep → agentic-integration}/SKILL.md +20 -13
  206. package/.claude/skills/agentic-jujutsu/SKILL.md +22 -22
  207. package/.claude/skills/{v3-cli-modernization → cli-modernization}/SKILL.md +17 -8
  208. package/.claude/skills/{v3-core-implementation → core-implementation}/SKILL.md +33 -8
  209. package/.claude/skills/{v3-ddd-architecture → ddd-architecture}/SKILL.md +18 -25
  210. package/.claude/skills/github-code-review/SKILL.md +82 -83
  211. package/.claude/skills/github-multi-repo/SKILL.md +42 -46
  212. package/.claude/skills/github-project-management/SKILL.md +83 -88
  213. package/.claude/skills/github-release-management/SKILL.md +12 -18
  214. package/.claude/skills/github-workflow-automation/SKILL.md +70 -74
  215. package/.claude/skills/hooks-automation/SKILL.md +9 -13
  216. package/.claude/skills/mastermind/_intake.md +83 -0
  217. package/.claude/skills/mastermind/_protocol.md +275 -0
  218. package/.claude/skills/mastermind/architect.md +847 -0
  219. package/.claude/skills/mastermind/build.md +158 -0
  220. package/.claude/skills/mastermind/content.md +185 -0
  221. package/.claude/skills/mastermind/createorg.md +318 -0
  222. package/.claude/skills/mastermind/finance.md +154 -0
  223. package/.claude/skills/mastermind/idea.md +158 -0
  224. package/.claude/skills/mastermind/marketing.md +216 -0
  225. package/.claude/skills/mastermind/monotask.md +350 -0
  226. package/.claude/skills/mastermind/ops.md +156 -0
  227. package/.claude/skills/mastermind/references/copywriting-frameworks.md +181 -0
  228. package/.claude/skills/mastermind/references/persuasion-psychology.md +158 -0
  229. package/.claude/skills/mastermind/release.md +156 -0
  230. package/.claude/skills/mastermind/research.md +156 -0
  231. package/.claude/skills/mastermind/review.md +157 -0
  232. package/.claude/skills/mastermind/runorg.md +308 -0
  233. package/.claude/skills/mastermind/sales.md +158 -0
  234. package/.claude/skills/mastermind/techport.md +743 -0
  235. package/.claude/skills/{v3-mcp-optimization → mcp-optimization}/SKILL.md +35 -14
  236. package/.claude/skills/{v3-memory-unification → memory-unification}/SKILL.md +20 -4
  237. package/.claude/skills/monodesign/SKILL.md +302 -0
  238. package/.claude/skills/monodesign/reference/adapt.md +190 -0
  239. package/.claude/skills/monodesign/reference/animate.md +175 -0
  240. package/.claude/skills/monodesign/reference/antipatterns-catalog.md +187 -0
  241. package/.claude/skills/monodesign/reference/audit.md +133 -0
  242. package/.claude/skills/monodesign/reference/bolder.md +113 -0
  243. package/.claude/skills/monodesign/reference/brand-workflow.md +180 -0
  244. package/.claude/skills/monodesign/reference/brand.md +114 -0
  245. package/.claude/skills/monodesign/reference/clarify.md +174 -0
  246. package/.claude/skills/monodesign/reference/cognitive-load.md +106 -0
  247. package/.claude/skills/monodesign/reference/color-and-contrast.md +105 -0
  248. package/.claude/skills/monodesign/reference/colorize.md +154 -0
  249. package/.claude/skills/monodesign/reference/component-specs.md +260 -0
  250. package/.claude/skills/monodesign/reference/component-states.md +274 -0
  251. package/.claude/skills/monodesign/reference/component-system.md +358 -0
  252. package/.claude/skills/monodesign/reference/copy-formulas.md +160 -0
  253. package/.claude/skills/monodesign/reference/craft.md +193 -0
  254. package/.claude/skills/monodesign/reference/critique.md +213 -0
  255. package/.claude/skills/monodesign/reference/delight.md +302 -0
  256. package/.claude/skills/monodesign/reference/design-principles.md +246 -0
  257. package/.claude/skills/monodesign/reference/distill.md +111 -0
  258. package/.claude/skills/monodesign/reference/document.md +427 -0
  259. package/.claude/skills/monodesign/reference/extract.md +69 -0
  260. package/.claude/skills/monodesign/reference/harden.md +347 -0
  261. package/.claude/skills/monodesign/reference/heuristics-scoring.md +234 -0
  262. package/.claude/skills/monodesign/reference/image-prompts.md +118 -0
  263. package/.claude/skills/monodesign/reference/interaction-design.md +195 -0
  264. package/.claude/skills/monodesign/reference/layout.md +141 -0
  265. package/.claude/skills/monodesign/reference/live.md +622 -0
  266. package/.claude/skills/monodesign/reference/motion-design.md +109 -0
  267. package/.claude/skills/monodesign/reference/onboard.md +234 -0
  268. package/.claude/skills/monodesign/reference/optimize.md +258 -0
  269. package/.claude/skills/monodesign/reference/overdrive.md +130 -0
  270. package/.claude/skills/monodesign/reference/personas.md +179 -0
  271. package/.claude/skills/monodesign/reference/polish.md +233 -0
  272. package/.claude/skills/monodesign/reference/pre-delivery-checklist.md +108 -0
  273. package/.claude/skills/monodesign/reference/product.md +62 -0
  274. package/.claude/skills/monodesign/reference/quieter.md +99 -0
  275. package/.claude/skills/monodesign/reference/responsive-design.md +114 -0
  276. package/.claude/skills/monodesign/reference/shape.md +151 -0
  277. package/.claude/skills/monodesign/reference/spatial-design.md +100 -0
  278. package/.claude/skills/monodesign/reference/teach.md +156 -0
  279. package/.claude/skills/monodesign/reference/token-architecture.md +222 -0
  280. package/.claude/skills/monodesign/reference/typeset.md +124 -0
  281. package/.claude/skills/monodesign/reference/typography.md +159 -0
  282. package/.claude/skills/monodesign/reference/ux-research.md +143 -0
  283. package/.claude/skills/monodesign/reference/ux-rules.md +211 -0
  284. package/.claude/skills/monodesign/reference/ux-writing.md +107 -0
  285. package/.claude/skills/monomotion/SKILL.md +145 -0
  286. package/.claude/skills/monomotion/rules/api-control.md +139 -0
  287. package/.claude/skills/monomotion/rules/effects.md +109 -0
  288. package/.claude/skills/monomotion/rules/integration.md +140 -0
  289. package/.claude/skills/monomotion/rules/scroll.md +131 -0
  290. package/.claude/skills/monomotion/rules/sequencing.md +105 -0
  291. package/.claude/skills/monomotion/rules/svg.md +101 -0
  292. package/.claude/skills/monomotion/rules/text.md +119 -0
  293. package/.claude/skills/pair-programming/SKILL.md +1 -1
  294. package/.claude/skills/performance-analysis/SKILL.md +3 -3
  295. package/.claude/skills/{v3-performance-optimization → performance-optimization}/SKILL.md +16 -8
  296. package/.claude/skills/reasoningbank-agentdb/SKILL.md +17 -19
  297. package/.claude/skills/reasoningbank-intelligence/SKILL.md +4 -6
  298. package/.claude/skills/{v3-security-overhaul → security-hardening}/SKILL.md +13 -3
  299. package/.claude/skills/skill-builder/SKILL.md +19 -19
  300. package/.claude/skills/sparc-methodology/SKILL.md +55 -211
  301. package/.claude/skills/stop-slop/SKILL.md +67 -0
  302. package/.claude/skills/stop-slop/references/examples.md +61 -0
  303. package/.claude/skills/stop-slop/references/phrases.md +130 -0
  304. package/.claude/skills/stop-slop/references/structures.md +136 -0
  305. package/.claude/skills/swarm-advanced/SKILL.md +13 -43
  306. package/.claude/skills/{v3-swarm-coordination → swarm-coordination}/SKILL.md +39 -21
  307. package/.claude/skills/swarm-orchestration/SKILL.md +12 -12
  308. package/.claude/skills/verification-quality/SKILL.md +5 -5
  309. package/README.md +5 -5
  310. package/package.json +1 -1
  311. package/packages/@monomind/cli/README.md +5 -5
  312. package/packages/@monomind/cli/bin/cli.js +78 -13
  313. package/packages/@monomind/cli/dist/src/agents/halt-signal.js +33 -7
  314. package/packages/@monomind/cli/dist/src/agents/managed-agent.js +5 -2
  315. package/packages/@monomind/cli/dist/src/agents/prompt-experiment.d.ts +3 -2
  316. package/packages/@monomind/cli/dist/src/agents/prompt-experiment.js +1 -1
  317. package/packages/@monomind/cli/dist/src/agents/prompt-version-manager.d.ts +5 -2
  318. package/packages/@monomind/cli/dist/src/agents/prompt-version-manager.js +26 -4
  319. package/packages/@monomind/cli/dist/src/agents/specialization-scorer.js +17 -9
  320. package/packages/@monomind/cli/dist/src/agents/trigger-scanner.d.ts +5 -3
  321. package/packages/@monomind/cli/dist/src/agents/trigger-scanner.js +58 -10
  322. package/packages/@monomind/cli/dist/src/agents/version-store.d.ts +0 -1
  323. package/packages/@monomind/cli/dist/src/agents/version-store.js +44 -21
  324. package/packages/@monomind/cli/dist/src/autopilot-state.js +79 -28
  325. package/packages/@monomind/cli/dist/src/benchmarks/benchmark-runner.d.ts +7 -2
  326. package/packages/@monomind/cli/dist/src/benchmarks/benchmark-runner.js +20 -8
  327. package/packages/@monomind/cli/dist/src/benchmarks/metric-evaluators.d.ts +2 -1
  328. package/packages/@monomind/cli/dist/src/benchmarks/metric-evaluators.js +25 -2
  329. package/packages/@monomind/cli/dist/src/commands/agent.js +6 -4
  330. package/packages/@monomind/cli/dist/src/commands/appliance-advanced.js +23 -0
  331. package/packages/@monomind/cli/dist/src/commands/autopilot.js +3 -3
  332. package/packages/@monomind/cli/dist/src/commands/benchmark.js +119 -8
  333. package/packages/@monomind/cli/dist/src/commands/claims.js +22 -14
  334. package/packages/@monomind/cli/dist/src/commands/config.js +32 -0
  335. package/packages/@monomind/cli/dist/src/commands/daemon.js +13 -11
  336. package/packages/@monomind/cli/dist/src/commands/deployment.js +21 -2
  337. package/packages/@monomind/cli/dist/src/commands/doctor.js +28 -62
  338. package/packages/@monomind/cli/dist/src/commands/embeddings.js +124 -48
  339. package/packages/@monomind/cli/dist/src/commands/hive-mind.js +15 -14
  340. package/packages/@monomind/cli/dist/src/commands/hooks.js +45 -41
  341. package/packages/@monomind/cli/dist/src/commands/index.d.ts +2 -0
  342. package/packages/@monomind/cli/dist/src/commands/index.js +20 -7
  343. package/packages/@monomind/cli/dist/src/commands/init.js +53 -19
  344. package/packages/@monomind/cli/dist/src/commands/mcp.js +31 -44
  345. package/packages/@monomind/cli/dist/src/commands/memory.js +47 -15
  346. package/packages/@monomind/cli/dist/src/commands/migrate.js +156 -108
  347. package/packages/@monomind/cli/dist/src/commands/monograph.d.ts +8 -0
  348. package/packages/@monomind/cli/dist/src/commands/monograph.js +526 -0
  349. package/packages/@monomind/cli/dist/src/commands/neural.js +96 -56
  350. package/packages/@monomind/cli/dist/src/commands/performance.js +30 -8
  351. package/packages/@monomind/cli/dist/src/commands/plugins.js +13 -37
  352. package/packages/@monomind/cli/dist/src/commands/process.js +25 -2
  353. package/packages/@monomind/cli/dist/src/commands/providers.js +37 -5
  354. package/packages/@monomind/cli/dist/src/commands/replay.js +4 -4
  355. package/packages/@monomind/cli/dist/src/commands/route.js +37 -5
  356. package/packages/@monomind/cli/dist/src/commands/ruvector/import.js +12 -2
  357. package/packages/@monomind/cli/dist/src/commands/ruvector/init.js +15 -0
  358. package/packages/@monomind/cli/dist/src/commands/ruvector/status.js +16 -3
  359. package/packages/@monomind/cli/dist/src/commands/security.js +342 -193
  360. package/packages/@monomind/cli/dist/src/commands/session.js +51 -8
  361. package/packages/@monomind/cli/dist/src/commands/start.js +18 -4
  362. package/packages/@monomind/cli/dist/src/commands/swarm.js +47 -36
  363. package/packages/@monomind/cli/dist/src/commands/tokens.js +11 -11
  364. package/packages/@monomind/cli/dist/src/commands/transfer-store.js +1 -1
  365. package/packages/@monomind/cli/dist/src/commands/workflow.js +31 -4
  366. package/packages/@monomind/cli/dist/src/config-adapter.d.ts +2 -1
  367. package/packages/@monomind/cli/dist/src/consensus/audit-writer.js +46 -13
  368. package/packages/@monomind/cli/dist/src/consensus/vote-signer.d.ts +0 -3
  369. package/packages/@monomind/cli/dist/src/consensus/vote-signer.js +9 -1
  370. package/packages/@monomind/cli/dist/src/dlq/dlq-reader.d.ts +4 -2
  371. package/packages/@monomind/cli/dist/src/dlq/dlq-reader.js +25 -8
  372. package/packages/@monomind/cli/dist/src/dlq/dlq-replayer.d.ts +10 -3
  373. package/packages/@monomind/cli/dist/src/dlq/dlq-replayer.js +50 -16
  374. package/packages/@monomind/cli/dist/src/dlq/dlq-writer.js +27 -5
  375. package/packages/@monomind/cli/dist/src/eval/dataset-manager.d.ts +2 -2
  376. package/packages/@monomind/cli/dist/src/eval/dataset-manager.js +26 -16
  377. package/packages/@monomind/cli/dist/src/eval/trace-collector.js +23 -3
  378. package/packages/@monomind/cli/dist/src/index.js +12 -10
  379. package/packages/@monomind/cli/dist/src/init/claudemd-generator.js +8 -8
  380. package/packages/@monomind/cli/dist/src/init/executor.js +163 -137
  381. package/packages/@monomind/cli/dist/src/init/helpers-generator.js +49 -36
  382. package/packages/@monomind/cli/dist/src/init/mcp-generator.js +3 -3
  383. package/packages/@monomind/cli/dist/src/init/settings-generator.js +10 -3
  384. package/packages/@monomind/cli/dist/src/init/shared-instructions-generator.js +18 -3
  385. package/packages/@monomind/cli/dist/src/init/statusline-generator.js +3 -1
  386. package/packages/@monomind/cli/dist/src/init/types.d.ts +35 -11
  387. package/packages/@monomind/cli/dist/src/init/types.js +5 -9
  388. package/packages/@monomind/cli/dist/src/interactive/interrupt.js +8 -3
  389. package/packages/@monomind/cli/dist/src/mcp/tool-registry.js +38 -4
  390. package/packages/@monomind/cli/dist/src/mcp-client.js +15 -6
  391. package/packages/@monomind/cli/dist/src/mcp-server.d.ts +9 -2
  392. package/packages/@monomind/cli/dist/src/mcp-server.js +182 -35
  393. package/packages/@monomind/cli/dist/src/mcp-tools/agent-tools.js +66 -34
  394. package/packages/@monomind/cli/dist/src/mcp-tools/agentdb-tools.js +34 -7
  395. package/packages/@monomind/cli/dist/src/mcp-tools/analyze-tools.js +25 -16
  396. package/packages/@monomind/cli/dist/src/mcp-tools/auto-install.js +4 -6
  397. package/packages/@monomind/cli/dist/src/mcp-tools/autopilot-tools.js +12 -2
  398. package/packages/@monomind/cli/dist/src/mcp-tools/browser-tools.js +199 -20
  399. package/packages/@monomind/cli/dist/src/mcp-tools/claims-tools.js +68 -18
  400. package/packages/@monomind/cli/dist/src/mcp-tools/config-tools.js +33 -5
  401. package/packages/@monomind/cli/dist/src/mcp-tools/coordination-tools.js +59 -4
  402. package/packages/@monomind/cli/dist/src/mcp-tools/daa-tools.js +46 -10
  403. package/packages/@monomind/cli/dist/src/mcp-tools/embeddings-tools.js +46 -5
  404. package/packages/@monomind/cli/dist/src/mcp-tools/github-tools.js +29 -16
  405. package/packages/@monomind/cli/dist/src/mcp-tools/graphify-tools.d.ts +4 -67
  406. package/packages/@monomind/cli/dist/src/mcp-tools/graphify-tools.js +40 -1250
  407. package/packages/@monomind/cli/dist/src/mcp-tools/guidance-tools.js +38 -10
  408. package/packages/@monomind/cli/dist/src/mcp-tools/hive-mind-tools.js +96 -33
  409. package/packages/@monomind/cli/dist/src/mcp-tools/hooks-tools.js +70 -37
  410. package/packages/@monomind/cli/dist/src/mcp-tools/index.d.ts +1 -0
  411. package/packages/@monomind/cli/dist/src/mcp-tools/index.js +1 -0
  412. package/packages/@monomind/cli/dist/src/mcp-tools/memory-tools.js +29 -13
  413. package/packages/@monomind/cli/dist/src/mcp-tools/monograph-tools.d.ts +9 -0
  414. package/packages/@monomind/cli/dist/src/mcp-tools/monograph-tools.js +6306 -0
  415. package/packages/@monomind/cli/dist/src/mcp-tools/neural-tools.js +121 -37
  416. package/packages/@monomind/cli/dist/src/mcp-tools/performance-tools.js +21 -8
  417. package/packages/@monomind/cli/dist/src/mcp-tools/progress-tools.js +10 -8
  418. package/packages/@monomind/cli/dist/src/mcp-tools/request-tracker.js +4 -1
  419. package/packages/@monomind/cli/dist/src/mcp-tools/ruvllm-tools.js +19 -8
  420. package/packages/@monomind/cli/dist/src/mcp-tools/session-tools.js +57 -17
  421. package/packages/@monomind/cli/dist/src/mcp-tools/swarm-tools.js +35 -17
  422. package/packages/@monomind/cli/dist/src/mcp-tools/system-tools.js +4 -3
  423. package/packages/@monomind/cli/dist/src/mcp-tools/task-tools.js +53 -13
  424. package/packages/@monomind/cli/dist/src/mcp-tools/terminal-tools.js +63 -14
  425. package/packages/@monomind/cli/dist/src/mcp-tools/transfer-tools.js +21 -16
  426. package/packages/@monomind/cli/dist/src/mcp-tools/workflow-tools.js +92 -23
  427. package/packages/@monomind/cli/dist/src/memory/ewc-consolidation.js +41 -10
  428. package/packages/@monomind/cli/dist/src/memory/intelligence.d.ts +2 -2
  429. package/packages/@monomind/cli/dist/src/memory/intelligence.js +39 -13
  430. package/packages/@monomind/cli/dist/src/memory/memory-bridge.d.ts +1 -0
  431. package/packages/@monomind/cli/dist/src/memory/memory-bridge.js +149 -56
  432. package/packages/@monomind/cli/dist/src/memory/memory-initializer.js +107 -45
  433. package/packages/@monomind/cli/dist/src/memory/sona-optimizer.d.ts +8 -1
  434. package/packages/@monomind/cli/dist/src/memory/sona-optimizer.js +25 -8
  435. package/packages/@monomind/cli/dist/src/observability/replay-reader.d.ts +40 -0
  436. package/packages/@monomind/cli/dist/src/observability/replay-reader.js +138 -0
  437. package/packages/@monomind/cli/dist/src/orchestration/routing-modes.js +35 -5
  438. package/packages/@monomind/cli/dist/src/parser.d.ts +8 -0
  439. package/packages/@monomind/cli/dist/src/parser.js +48 -14
  440. package/packages/@monomind/cli/dist/src/plugins/manager.js +112 -19
  441. package/packages/@monomind/cli/dist/src/plugins/store/discovery.d.ts +1 -1
  442. package/packages/@monomind/cli/dist/src/plugins/store/discovery.js +80 -62
  443. package/packages/@monomind/cli/dist/src/production/circuit-breaker.js +8 -1
  444. package/packages/@monomind/cli/dist/src/production/error-handler.d.ts +4 -2
  445. package/packages/@monomind/cli/dist/src/production/error-handler.js +27 -5
  446. package/packages/@monomind/cli/dist/src/production/monitoring.js +8 -4
  447. package/packages/@monomind/cli/dist/src/production/rate-limiter.js +30 -22
  448. package/packages/@monomind/cli/dist/src/ruvector/agent-wasm.js +2 -2
  449. package/packages/@monomind/cli/dist/src/ruvector/coverage-router.js +19 -9
  450. package/packages/@monomind/cli/dist/src/ruvector/diff-classifier.d.ts +1 -0
  451. package/packages/@monomind/cli/dist/src/ruvector/diff-classifier.js +26 -6
  452. package/packages/@monomind/cli/dist/src/ruvector/enhanced-model-router.js +24 -2
  453. package/packages/@monomind/cli/dist/src/ruvector/index.d.ts +1 -2
  454. package/packages/@monomind/cli/dist/src/ruvector/index.js +2 -2
  455. package/packages/@monomind/cli/dist/src/ruvector/model-router.d.ts +4 -2
  456. package/packages/@monomind/cli/dist/src/ruvector/model-router.js +30 -6
  457. package/packages/@monomind/cli/dist/src/ruvector/moe-router.d.ts +7 -0
  458. package/packages/@monomind/cli/dist/src/ruvector/moe-router.js +35 -12
  459. package/packages/@monomind/cli/dist/src/ruvector/q-learning-router.d.ts +7 -1
  460. package/packages/@monomind/cli/dist/src/ruvector/q-learning-router.js +40 -9
  461. package/packages/@monomind/cli/dist/src/services/claim-service.d.ts +3 -1
  462. package/packages/@monomind/cli/dist/src/services/claim-service.js +33 -2
  463. package/packages/@monomind/cli/dist/src/services/config-file-manager.d.ts +16 -2
  464. package/packages/@monomind/cli/dist/src/services/config-file-manager.js +105 -17
  465. package/packages/@monomind/cli/dist/src/services/container-worker-pool.js +51 -11
  466. package/packages/@monomind/cli/dist/src/services/headless-worker-executor.d.ts +7 -0
  467. package/packages/@monomind/cli/dist/src/services/headless-worker-executor.js +188 -45
  468. package/packages/@monomind/cli/dist/src/services/registry-api.js +62 -9
  469. package/packages/@monomind/cli/dist/src/services/ruvector-training.js +8 -0
  470. package/packages/@monomind/cli/dist/src/services/worker-daemon.d.ts +4 -1
  471. package/packages/@monomind/cli/dist/src/services/worker-daemon.js +112 -28
  472. package/packages/@monomind/cli/dist/src/services/worker-queue.d.ts +9 -2
  473. package/packages/@monomind/cli/dist/src/services/worker-queue.js +86 -5
  474. package/packages/@monomind/cli/dist/src/suggest.js +9 -0
  475. package/packages/@monomind/cli/dist/src/swarm/flow-enforcer.d.ts +5 -3
  476. package/packages/@monomind/cli/dist/src/swarm/flow-enforcer.js +17 -5
  477. package/packages/@monomind/cli/dist/src/swarm/flow-visualizer.d.ts +3 -0
  478. package/packages/@monomind/cli/dist/src/swarm/flow-visualizer.js +30 -6
  479. package/packages/@monomind/cli/dist/src/transfer/anonymization/index.js +5 -3
  480. package/packages/@monomind/cli/dist/src/transfer/export.js +5 -3
  481. package/packages/@monomind/cli/dist/src/transfer/ipfs/client.js +84 -7
  482. package/packages/@monomind/cli/dist/src/transfer/ipfs/upload.js +13 -4
  483. package/packages/@monomind/cli/dist/src/transfer/storage/gcs.js +19 -10
  484. package/packages/@monomind/cli/dist/src/transfer/store/discovery.d.ts +9 -2
  485. package/packages/@monomind/cli/dist/src/transfer/store/discovery.js +68 -13
  486. package/packages/@monomind/cli/dist/src/transfer/store/download.d.ts +15 -6
  487. package/packages/@monomind/cli/dist/src/transfer/store/download.js +113 -24
  488. package/packages/@monomind/cli/dist/src/transfer/store/publish.d.ts +1 -1
  489. package/packages/@monomind/cli/dist/src/transfer/store/publish.js +13 -14
  490. package/packages/@monomind/cli/dist/src/transfer/store/registry.d.ts +3 -3
  491. package/packages/@monomind/cli/dist/src/transfer/store/registry.js +32 -16
  492. package/packages/@monomind/cli/dist/src/update/checker.js +17 -4
  493. package/packages/@monomind/cli/dist/src/update/executor.js +25 -20
  494. package/packages/@monomind/cli/dist/src/update/rate-limiter.d.ts +11 -0
  495. package/packages/@monomind/cli/dist/src/update/rate-limiter.js +23 -3
  496. package/packages/@monomind/cli/dist/src/utils/parse-jsonl.d.ts +6 -0
  497. package/packages/@monomind/cli/dist/src/utils/parse-jsonl.js +22 -0
  498. package/packages/@monomind/cli/dist/src/workflow/condition-evaluator.js +37 -3
  499. package/packages/@monomind/cli/dist/src/workflow/dag-builder.js +27 -11
  500. package/packages/@monomind/cli/dist/src/workflow/dag-executor.js +51 -13
  501. package/packages/@monomind/cli/dist/src/workflow/dsl-schema.d.ts +3 -0
  502. package/packages/@monomind/cli/dist/src/workflow/dsl-schema.js +6 -2
  503. package/packages/@monomind/cli/dist/src/workflow/template-engine.js +7 -0
  504. package/packages/@monomind/cli/dist/src/workflow/workflow-executor.js +95 -14
  505. package/packages/@monomind/cli/package.json +5 -2
  506. package/packages/@monomind/guidance/README.md +0 -3
  507. package/packages/@monomind/shared/README.md +0 -1
  508. package/packages/@monomind/shared/dist/types/consensus-audit.d.ts +3 -1
  509. package/packages/README.md +15 -16
  510. package/.claude/agents/design/design-brand-guardian.md +0 -323
  511. package/.claude/agents/design/design-image-prompt-engineer.md +0 -237
  512. package/.claude/agents/design/design-inclusive-visuals-specialist.md +0 -72
  513. package/.claude/agents/design/design-ui-designer.md +0 -384
  514. package/.claude/agents/design/design-ux-architect.md +0 -470
  515. package/.claude/agents/design/design-ux-researcher.md +0 -330
  516. package/.claude/agents/design/design-visual-storyteller.md +0 -150
  517. package/.claude/agents/design/design-whimsy-injector.md +0 -439
  518. package/.claude/agents/v3/integration-architect.md +0 -338
  519. package/.claude/commands/analysis/COMMAND_COMPLIANCE_REPORT.md +0 -54
  520. package/.claude/commands/coordination/init.md +0 -44
  521. package/.claude/commands/coordination/orchestrate.md +0 -43
  522. package/.claude/commands/coordination/spawn.md +0 -45
  523. package/.claude/commands/github/code-review-swarm.md +0 -550
  524. package/.claude/commands/github/code-review.md +0 -25
  525. package/.claude/commands/github/github-swarm.md +0 -121
  526. package/.claude/commands/github/issue-triage.md +0 -25
  527. package/.claude/commands/github/multi-repo-swarm.md +0 -519
  528. package/.claude/commands/github/pr-enhance.md +0 -26
  529. package/.claude/commands/github/project-board-sync.md +0 -471
  530. package/.claude/commands/github/release-swarm.md +0 -590
  531. package/.claude/commands/github/repo-analyze.md +0 -25
  532. package/.claude/commands/github/swarm-issue.md +0 -482
  533. package/.claude/commands/github/swarm-pr.md +0 -310
  534. package/.claude/commands/github/workflow-automation.md +0 -468
  535. package/.claude/commands/hive-mind/hive-mind-metrics.md +0 -8
  536. package/.claude/commands/hive-mind/hive-mind-resume.md +0 -8
  537. package/.claude/commands/hive-mind/hive-mind-sessions.md +0 -8
  538. package/.claude/commands/hive-mind/hive-mind-wizard.md +0 -8
  539. package/.claude/commands/list-agents.md +0 -17
  540. package/.claude/commands/memory/memory-persist.md +0 -25
  541. package/.claude/commands/memory/memory-usage.md +0 -25
  542. package/.claude/commands/memory/neural.md +0 -47
  543. package/.claude/commands/metrics.md +0 -11
  544. package/.claude/commands/monitoring/real-time-view.md +0 -25
  545. package/.claude/commands/monitoring/swarm-monitor.md +0 -25
  546. package/.claude/commands/monomind-createtask.md +0 -302
  547. package/.claude/commands/monomind-help.md +0 -103
  548. package/.claude/commands/monomind-memory.md +0 -107
  549. package/.claude/commands/monomind-repeat.md +0 -149
  550. package/.claude/commands/monomind-swarm.md +0 -205
  551. package/.claude/commands/optimization/cache-manage.md +0 -25
  552. package/.claude/commands/optimization/topology-optimize.md +0 -25
  553. package/.claude/commands/pair/commands.md +0 -546
  554. package/.claude/commands/pair/config.md +0 -510
  555. package/.claude/commands/pair/start.md +0 -209
  556. package/.claude/commands/use-agent.md +0 -67
  557. package/.claude/skills/monomind-createtask/SKILL.md +0 -269
  558. package/.claude/skills/monomind-task-engine/SKILL.md +0 -358
  559. /package/.claude/agents/{v3 → specialists}/memory-specialist.md +0 -0
  560. /package/.claude/agents/{v3 → specialists}/performance-engineer.md +0 -0
  561. /package/.claude/agents/{v3 → specialists}/queen-coordinator.md +0 -0
  562. /package/.claude/agents/{v3 → specialists}/security-architect.md +0 -0
@@ -1,4 +1,31 @@
1
- import { substitute } from './template-engine.js';
1
+ /**
2
+ * Substitute context values into a condition expression, JSON-encoding string
3
+ * values to prevent quote injection via user-controlled context data.
4
+ */
5
+ function substituteCondition(expression, context) {
6
+ return expression.replace(/\{\{([\w./-]+)\}\}/g, (_match, path) => {
7
+ const segments = path.split('.');
8
+ let current = context;
9
+ for (const seg of segments) {
10
+ if (current === null || current === undefined || typeof current !== 'object') {
11
+ current = undefined;
12
+ break;
13
+ }
14
+ if (seg === '__proto__' || seg === 'constructor' || seg === 'prototype') {
15
+ current = undefined;
16
+ break;
17
+ }
18
+ current = current[seg];
19
+ }
20
+ if (current === undefined)
21
+ return `{{${path}}}`;
22
+ if (typeof current === 'string')
23
+ return JSON.stringify(current);
24
+ if (typeof current === 'number' || typeof current === 'boolean')
25
+ return String(current);
26
+ return JSON.stringify(current);
27
+ });
28
+ }
2
29
  /**
3
30
  * Dangerous patterns that must never appear in condition expressions.
4
31
  */
@@ -28,8 +55,15 @@ const SAFE_TOKEN = /^(\s*('([^']*)'|"([^"]*)"|-?\d+(\.\d+)?|true|false|null|unde
28
55
  * 4. Evaluate using `new Function` with strict mode.
29
56
  */
30
57
  export function evaluateCondition(expression, context) {
31
- // Step 1: substitute variables
32
- const resolved = substitute(expression, context);
58
+ if (expression.length > 500) {
59
+ throw new Error('Condition expression too long (max 500 characters)');
60
+ }
61
+ // Step 1: substitute variables (string values JSON-encoded to prevent quote injection)
62
+ const resolved = substituteCondition(expression, context);
63
+ // Re-check length after substitution — injected values can expand the expression
64
+ if (resolved.length > 500) {
65
+ throw new Error('Condition expression too long after variable substitution (max 500 characters)');
66
+ }
33
67
  // Step 2: reject dangerous patterns
34
68
  for (const pattern of DANGEROUS_PATTERNS) {
35
69
  if (pattern.test(resolved)) {
@@ -41,28 +41,44 @@ export function detectCycles(dag) {
41
41
  color.set(id, WHITE);
42
42
  parent.set(id, null);
43
43
  }
44
- function dfs(u) {
45
- color.set(u, GRAY);
46
- const neighbors = dag.edges.get(u) ?? new Set();
47
- for (const v of neighbors) {
48
- if (color.get(v) === GRAY) {
44
+ // Iterative DFS to avoid call-stack overflow on deep linear DAGs
45
+ function dfs(start) {
46
+ const stack = [
47
+ { u: start, neighbors: (dag.edges.get(start) ?? new Set()).values(), entered: false },
48
+ ];
49
+ while (stack.length > 0) {
50
+ const frame = stack[stack.length - 1];
51
+ if (!frame.entered) {
52
+ frame.entered = true;
53
+ color.set(frame.u, GRAY);
54
+ }
55
+ const { value: v, done } = frame.neighbors.next();
56
+ if (done) {
57
+ color.set(frame.u, BLACK);
58
+ stack.pop();
59
+ continue;
60
+ }
61
+ const vColor = color.get(v);
62
+ if (vColor === GRAY) {
49
63
  // Found a cycle — reconstruct it
50
64
  const cycle = [v];
51
- let curr = u;
65
+ let curr = frame.u;
52
66
  while (curr !== v) {
53
67
  cycle.push(curr);
54
- curr = parent.get(curr);
68
+ const next = parent.get(curr);
69
+ if (next == null)
70
+ break;
71
+ curr = next;
55
72
  }
56
73
  cycle.push(v);
57
74
  cycle.reverse();
58
75
  cycles.push(cycle);
59
76
  }
60
- else if (color.get(v) === WHITE) {
61
- parent.set(v, u);
62
- dfs(v);
77
+ else if (vColor === WHITE) {
78
+ parent.set(v, frame.u);
79
+ stack.push({ u: v, neighbors: (dag.edges.get(v) ?? new Set()).values(), entered: false });
63
80
  }
64
81
  }
65
- color.set(u, BLACK);
66
82
  }
67
83
  for (const id of dag.tasks.keys()) {
68
84
  if (color.get(id) === WHITE) {
@@ -1,5 +1,16 @@
1
1
  import { buildDAG, detectCycles, topologicalSort } from './dag-builder.js';
2
2
  import { resolveContext } from './context-resolver.js';
3
+ import { getMonitor } from '../production/monitoring.js';
4
+ function classifyError(err) {
5
+ const msg = err.message.toLowerCase();
6
+ if (msg.includes('rate limit') || msg.includes('429') || msg.includes('too many requests'))
7
+ return 'RATE_LIMIT';
8
+ if (msg.includes('timed out') || msg.includes('timeout'))
9
+ return 'TIMEOUT';
10
+ if (msg.includes('validation') || msg.includes('invalid') || msg.includes('schema'))
11
+ return 'VALIDATION';
12
+ return 'UNKNOWN';
13
+ }
3
14
  export class DAGExecutor {
4
15
  runner;
5
16
  constructor(runner) {
@@ -17,20 +28,37 @@ export class DAGExecutor {
17
28
  const levelResults = await Promise.all(level.map(async (task) => {
18
29
  const context = resolveContext(task, results);
19
30
  const timeoutMs = task.timeoutMs ?? 300_000;
31
+ let timeoutHandle;
32
+ const timeoutPromise = new Promise((_, reject) => {
33
+ timeoutHandle = setTimeout(() => reject(new Error(`Task "${task.id}" timed out after ${timeoutMs}ms`)), timeoutMs);
34
+ });
20
35
  const result = await Promise.race([
21
36
  this.runWithRetry(task, context),
22
- new Promise((_, reject) => setTimeout(() => reject(new Error(`Task "${task.id}" timed out after ${timeoutMs}ms`)), timeoutMs)),
23
- ]).catch((err) => ({
24
- taskId: task.id,
25
- agentSlug: task.agentSlug,
26
- output: null,
27
- outputRaw: '',
28
- latencyMs: 0,
29
- retryCount: 0,
30
- completedAt: Date.now(),
31
- status: String(err).includes('timed out') ? 'timeout' : 'error',
32
- error: String(err),
33
- }));
37
+ timeoutPromise,
38
+ ]).finally(() => {
39
+ if (timeoutHandle)
40
+ clearTimeout(timeoutHandle);
41
+ }).catch((err) => {
42
+ const isTimeout = String(err).includes('timed out');
43
+ if (isTimeout) {
44
+ // Visible in monomind control — leaked task still running in background
45
+ getMonitor().counter('dag.task.timeout_leak', 1, {
46
+ taskId: task.id,
47
+ agentSlug: task.agentSlug,
48
+ });
49
+ }
50
+ return {
51
+ taskId: task.id,
52
+ agentSlug: task.agentSlug,
53
+ output: null,
54
+ outputRaw: '',
55
+ latencyMs: 0,
56
+ retryCount: 0,
57
+ completedAt: Date.now(),
58
+ status: isTimeout ? 'timeout' : 'error',
59
+ error: String(err),
60
+ };
61
+ });
34
62
  return result;
35
63
  }));
36
64
  for (const result of levelResults) {
@@ -48,12 +76,22 @@ export class DAGExecutor {
48
76
  retryOn: [],
49
77
  };
50
78
  let lastError;
79
+ let actualAttempts = 0;
51
80
  for (let attempt = 0; attempt < policy.maxAttempts; attempt++) {
81
+ actualAttempts = attempt + 1;
52
82
  try {
53
83
  return await this.runner(task, context);
54
84
  }
55
85
  catch (err) {
56
86
  lastError = err;
87
+ // If retryOn is non-empty, check whether this error category matches.
88
+ // Unmatched errors consume the attempt but do not get retried further.
89
+ if (policy.retryOn.length > 0) {
90
+ const category = classifyError(lastError);
91
+ if (!policy.retryOn.includes(category)) {
92
+ break;
93
+ }
94
+ }
57
95
  if (attempt < policy.maxAttempts - 1) {
58
96
  const delay = policy.initialDelayMs *
59
97
  Math.pow(policy.backoffMultiplier, attempt) +
@@ -68,7 +106,7 @@ export class DAGExecutor {
68
106
  output: null,
69
107
  outputRaw: '',
70
108
  latencyMs: 0,
71
- retryCount: policy.maxAttempts,
109
+ retryCount: actualAttempts,
72
110
  completedAt: Date.now(),
73
111
  status: 'error',
74
112
  error: lastError?.message ?? 'Unknown error',
@@ -45,6 +45,7 @@ export declare const mapReduceStepSchema: z.ZodObject<{
45
45
  map_task: z.ZodString;
46
46
  reduce_agent: z.ZodString;
47
47
  reduce_task: z.ZodString;
48
+ concurrent: z.ZodOptional<z.ZodNumber>;
48
49
  }, z.core.$strip>;
49
50
  export declare const loopStepSchema: z.ZodObject<{
50
51
  id: z.ZodString;
@@ -95,6 +96,7 @@ export declare const workflowStepSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
95
96
  map_task: z.ZodString;
96
97
  reduce_agent: z.ZodString;
97
98
  reduce_task: z.ZodString;
99
+ concurrent: z.ZodOptional<z.ZodNumber>;
98
100
  }, z.core.$strip>, z.ZodObject<{
99
101
  id: z.ZodString;
100
102
  type: z.ZodLiteral<"loop">;
@@ -150,6 +152,7 @@ export declare const workflowDefinitionSchema: z.ZodObject<{
150
152
  map_task: z.ZodString;
151
153
  reduce_agent: z.ZodString;
152
154
  reduce_task: z.ZodString;
155
+ concurrent: z.ZodOptional<z.ZodNumber>;
153
156
  }, z.core.$strip>, z.ZodObject<{
154
157
  id: z.ZodString;
155
158
  type: z.ZodLiteral<"loop">;
@@ -26,7 +26,7 @@ export const agentStepSchema = z.object({
26
26
  export const parallelStepSchema = z.object({
27
27
  id: z.string().min(1),
28
28
  type: z.literal('parallel'),
29
- steps: z.array(lazyStep).min(2),
29
+ steps: z.array(lazyStep).min(2).max(50),
30
30
  });
31
31
  export const sequenceStepSchema = z.object({
32
32
  id: z.string().min(1),
@@ -48,6 +48,7 @@ export const mapReduceStepSchema = z.object({
48
48
  map_task: z.string().min(1),
49
49
  reduce_agent: z.string().min(1),
50
50
  reduce_task: z.string().min(1),
51
+ concurrent: z.number().int().min(1).max(500).optional(),
51
52
  });
52
53
  export const loopStepSchema = z.object({
53
54
  id: z.string().min(1),
@@ -74,5 +75,8 @@ export const workflowDefinitionSchema = z.object({
74
75
  description: z.string().optional(),
75
76
  variables: z.record(z.string(), z.unknown()).optional(),
76
77
  steps: z.array(workflowStepSchema).min(1),
77
- });
78
+ }).refine((def) => {
79
+ const ids = def.steps.map((s) => s.id);
80
+ return ids.length === new Set(ids).size;
81
+ }, { message: 'Workflow step IDs must be unique', path: ['steps'] });
78
82
  //# sourceMappingURL=dsl-schema.js.map
@@ -16,6 +16,7 @@ export function substitute(template, context) {
16
16
  return String(value);
17
17
  });
18
18
  }
19
+ const BLOCKED_KEYS = new Set(['__proto__', 'constructor', 'prototype']);
19
20
  function resolvePath(obj, path) {
20
21
  const segments = path.split('.');
21
22
  let current = obj;
@@ -26,6 +27,12 @@ function resolvePath(obj, path) {
26
27
  if (typeof current !== 'object') {
27
28
  return undefined;
28
29
  }
30
+ if (BLOCKED_KEYS.has(segment)) {
31
+ return undefined;
32
+ }
33
+ if (!Object.prototype.hasOwnProperty.call(current, segment)) {
34
+ return undefined;
35
+ }
29
36
  current = current[segment];
30
37
  }
31
38
  return current;
@@ -1,5 +1,45 @@
1
1
  import { substitute } from './template-engine.js';
2
2
  import { evaluateCondition } from './condition-evaluator.js';
3
+ const DEFAULT_MAP_CONCURRENCY = 10;
4
+ function classifyWorkflowError(err) {
5
+ const msg = err.message.toLowerCase();
6
+ if (msg.includes('rate limit') || msg.includes('429') || msg.includes('too many requests'))
7
+ return 'RATE_LIMIT';
8
+ if (msg.includes('timed out') || msg.includes('timeout'))
9
+ return 'TIMEOUT';
10
+ if (msg.includes('validation') || msg.includes('invalid') || msg.includes('schema'))
11
+ return 'VALIDATION';
12
+ return 'UNKNOWN';
13
+ }
14
+ async function mapWithConcurrency(items, concurrency, fn) {
15
+ const results = new Array(items.length);
16
+ const controller = new AbortController();
17
+ let next = 0;
18
+ async function worker() {
19
+ while (next < items.length) {
20
+ if (controller.signal.aborted)
21
+ return;
22
+ const idx = next++;
23
+ results[idx] = await fn(items[idx], idx, controller.signal);
24
+ }
25
+ }
26
+ try {
27
+ await Promise.all(Array.from({ length: Math.min(concurrency, items.length) }, worker));
28
+ }
29
+ catch (err) {
30
+ controller.abort();
31
+ throw err;
32
+ }
33
+ return results;
34
+ }
35
+ const BLOCKED_CONTEXT_KEYS = new Set(['__proto__', 'constructor', 'prototype']);
36
+ const SAFE_KEY_RE = /^[a-zA-Z_$][a-zA-Z0-9_$.\-]*$/;
37
+ function safeContextWrite(context, key, value) {
38
+ if (!SAFE_KEY_RE.test(key) || BLOCKED_CONTEXT_KEYS.has(key)) {
39
+ throw new Error(`Unsafe workflow context key rejected: "${key}"`);
40
+ }
41
+ context[key] = value;
42
+ }
3
43
  // ---------- Executor ----------
4
44
  export class WorkflowExecutor {
5
45
  dispatcher;
@@ -59,14 +99,45 @@ export class WorkflowExecutor {
59
99
  // ---- Handlers ----
60
100
  async executeAgent(step, context) {
61
101
  const resolvedTask = substitute(step.task, context);
62
- const output = await this.dispatcher.dispatch(step.agent, resolvedTask, context);
63
- // Store output in context if output_key is set
64
- if (step.output_key) {
65
- context[step.output_key] = output;
102
+ const maxAttempts = step.retry_policy?.maxAttempts ?? 1;
103
+ const initialDelayMs = step.retry_policy?.initialDelayMs ?? 500;
104
+ const backoffMultiplier = step.retry_policy?.backoffMultiplier ?? 2;
105
+ const jitterMs = step.retry_policy?.jitterMs ?? 0;
106
+ const retryOn = step.retry_policy?.retryOn;
107
+ let lastError;
108
+ let delayMs = initialDelayMs;
109
+ for (let attempt = 1; attempt <= maxAttempts; attempt++) {
110
+ try {
111
+ let dispatchPromise = this.dispatcher.dispatch(step.agent, resolvedTask, context);
112
+ if (step.timeout_ms) {
113
+ dispatchPromise = Promise.race([
114
+ dispatchPromise,
115
+ new Promise((_, reject) => setTimeout(() => reject(new Error(`Agent step "${step.id}" timed out after ${step.timeout_ms}ms`)), step.timeout_ms)),
116
+ ]);
117
+ }
118
+ const output = await dispatchPromise;
119
+ if (step.output_key) {
120
+ safeContextWrite(context, step.output_key, output);
121
+ }
122
+ safeContextWrite(context, step.id, output);
123
+ return { stepId: step.id, output, status: 'success' };
124
+ }
125
+ catch (err) {
126
+ lastError = err;
127
+ if (attempt >= maxAttempts)
128
+ break;
129
+ // Only retry for configured error categories (default: retry all)
130
+ if (retryOn && retryOn.length > 0) {
131
+ const category = classifyWorkflowError(err instanceof Error ? err : new Error(String(err)));
132
+ if (!retryOn.includes(category))
133
+ break;
134
+ }
135
+ const jitter = jitterMs > 0 ? Math.random() * jitterMs : 0;
136
+ await new Promise((r) => setTimeout(r, delayMs + jitter));
137
+ delayMs = Math.round(delayMs * backoffMultiplier);
138
+ }
66
139
  }
67
- // Always store by step id
68
- context[step.id] = output;
69
- return { stepId: step.id, output, status: 'success' };
140
+ throw lastError;
70
141
  }
71
142
  async executeParallel(step, context) {
72
143
  const results = await Promise.all(step.steps.map((sub) => this.executeStep(sub, context)));
@@ -93,6 +164,9 @@ export class WorkflowExecutor {
93
164
  async executeMapReduce(step, context) {
94
165
  // Resolve items from context
95
166
  const resolvedItems = substitute(step.items, context);
167
+ if (resolvedItems.length > 1_000_000) {
168
+ throw new Error(`map_reduce step "${step.id}": items string exceeds 1MB size limit`);
169
+ }
96
170
  let items;
97
171
  try {
98
172
  items = JSON.parse(resolvedItems);
@@ -100,27 +174,34 @@ export class WorkflowExecutor {
100
174
  throw new Error('not an array');
101
175
  }
102
176
  catch {
103
- throw new Error(`map_reduce step "${step.id}": items must resolve to a JSON array, got: ${resolvedItems}`);
177
+ throw new Error(`map_reduce step "${step.id}": items must resolve to a JSON array, got: ${resolvedItems.slice(0, 200)}`);
178
+ }
179
+ const MAX_MAP_ITEMS = 500;
180
+ if (items.length > MAX_MAP_ITEMS) {
181
+ throw new Error(`map_reduce step "${step.id}": ${items.length} items exceeds limit of ${MAX_MAP_ITEMS}`);
104
182
  }
105
- // Map phase: fan-out to map_agent
106
- const mapResults = await Promise.all(items.map(async (item, idx) => {
183
+ // Map phase: fan-out to map_agent with concurrency cap (default 10, override via --concurrent)
184
+ const concurrency = step.concurrent ?? DEFAULT_MAP_CONCURRENCY;
185
+ const mapResults = await mapWithConcurrency(items, concurrency, async (item, idx, signal) => {
186
+ if (signal.aborted)
187
+ throw new Error('Map phase aborted');
107
188
  const taskStr = substitute(step.map_task, { ...context, item });
108
189
  const output = await this.dispatcher.dispatch(step.map_agent, taskStr, {
109
190
  ...context,
110
191
  item,
111
192
  });
112
193
  return { stepId: `${step.id}.map[${idx}]`, output, status: 'success' };
113
- }));
194
+ });
114
195
  // Store mapped outputs for reduce
115
196
  const mapOutputs = mapResults.map((r) => r.output);
116
- context[`${step.id}_map_results`] = mapOutputs;
197
+ safeContextWrite(context, `${step.id}_map_results`, mapOutputs);
117
198
  // Reduce phase
118
199
  const reduceTask = substitute(step.reduce_task, {
119
200
  ...context,
120
201
  map_results: mapOutputs,
121
202
  });
122
203
  const reduceOutput = await this.dispatcher.dispatch(step.reduce_agent, reduceTask, { ...context, map_results: mapOutputs });
123
- context[step.id] = reduceOutput;
204
+ safeContextWrite(context, step.id, reduceOutput);
124
205
  return [
125
206
  ...mapResults,
126
207
  { stepId: `${step.id}.reduce`, output: reduceOutput, status: 'success' },
@@ -139,7 +220,7 @@ export class WorkflowExecutor {
139
220
  }
140
221
  iteration++;
141
222
  }
142
- context[`${step.id}_iterations`] = iteration;
223
+ safeContextWrite(context, `${step.id}_iterations`, iteration);
143
224
  return results;
144
225
  }
145
226
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@monoes/monomindcli",
3
- "version": "1.7.0",
3
+ "version": "1.9.0",
4
4
  "type": "module",
5
5
  "description": "Monomind CLI - Enterprise AI agent orchestration with 60+ specialized agents, swarm coordination, MCP server, self-learning hooks, and vector memory for Claude Code",
6
6
  "main": "dist/src/index.js",
@@ -86,6 +86,8 @@
86
86
  },
87
87
  "dependencies": {
88
88
  "@noble/ed25519": "^2.1.0",
89
+ "@monoes/monograph": "workspace:*",
90
+ "@monomind/routing": "workspace:*",
89
91
  "graphology": "^0.25.4",
90
92
  "graphology-communities-louvain": "^2.0.1",
91
93
  "graphology-metrics": "^2.4.0",
@@ -103,7 +105,8 @@
103
105
  "@ruvector/router": "^0.1.27",
104
106
  "@ruvector/rvagent-wasm": "^0.1.0",
105
107
  "@ruvector/ruvllm-wasm": "^2.0.2",
106
- "@ruvector/sona": "^0.1.5"
108
+ "@ruvector/sona": "^0.1.5",
109
+ "@anthropic-ai/sdk": "*"
107
110
  },
108
111
  "publishConfig": {
109
112
  "access": "public",
@@ -8,7 +8,6 @@
8
8
  [![TypeScript](https://img.shields.io/badge/TypeScript-5.3+-3178C6?style=flat-square&logo=typescript&logoColor=white)](https://www.typescriptlang.org/)
9
9
  [![GitHub stars](https://img.shields.io/github/stars/nokhodian/monomind?style=flat-square&logo=github)](https://github.com/nokhodian/monomind)
10
10
  [![monomind](https://img.shields.io/npm/v/monomind.svg?style=flat-square&label=monomind&color=blueviolet)](https://www.npmjs.com/package/monomind)
11
- [![ruvbot](https://img.shields.io/npm/v/ruvbot.svg?style=flat-square&label=ruvbot&color=orange)](https://www.npmjs.com/package/ruvbot)
12
11
 
13
12
  **Long-horizon governance for Claude Code agents.**
14
13
 
@@ -1184,8 +1183,6 @@ Take 20 real Monomind tasks from repo history. Run A without control plane, run
1184
1183
  | **GitHub** | [github.com/nokhodian/monomind](https://github.com/nokhodian/monomind) |
1185
1184
  | **npm: @monomind/guidance** | [npmjs.com/package/@monomind/guidance](https://www.npmjs.com/package/@monomind/guidance) |
1186
1185
  | **npm: monomind** | [npmjs.com/package/monomind](https://www.npmjs.com/package/monomind) |
1187
- | **npm: ruvbot** | [npmjs.com/package/ruvbot](https://www.npmjs.com/package/ruvbot) |
1188
- | **GitHub** | [nokhodian/monomind](https://github.com/nokhodian/monomind) |
1189
1186
  | **Issues** | [github.com/nokhodian/monomind/issues](https://github.com/nokhodian/monomind/issues) |
1190
1187
  | **API Reference** | [docs/reference/api-quick-reference.md](docs/reference/api-quick-reference.md) |
1191
1188
  | **ADR Index** | [docs/adrs/](docs/adrs/) |
@@ -312,7 +312,6 @@ This package is a dependency of all other @monomind modules:
312
312
  - [@monomind/neural](../neural) - SONA learning & RL algorithms
313
313
  - [@monomind/performance](../performance) - Benchmarking & optimization
314
314
  - [@monomind/swarm](../swarm) - 15-agent coordination
315
- - [@monomind/integration](../integration) - agentic-flow@alpha bridge
316
315
  - [@monomind/testing](../testing) - TDD framework & fixtures
317
316
  - [@monomind/deployment](../deployment) - Release management
318
317
  - [@monomind/embeddings](../embeddings) - Embedding service
@@ -33,6 +33,8 @@ export interface ConsensusAuditRecord {
33
33
  round: number;
34
34
  startedAt: string;
35
35
  completedAt: string;
36
- durationMs: number;
36
+ durationMs: number | null;
37
+ /** HMAC-SHA256 over the full record (all fields above), keyed by the session secret */
38
+ recordSignature?: string;
37
39
  }
38
40
  //# sourceMappingURL=consensus-audit.d.ts.map
@@ -53,7 +53,7 @@ V1 represents a complete architectural overhaul:
53
53
 
54
54
  | ADR | Decision |
55
55
  | ------- | ---------------------------------------------------- |
56
- | ADR-001 | Adopt agentic-flow as core foundation |
56
+ | ADR-001 | Adopt Monomind as core foundation |
57
57
  | ADR-002 | Domain-Driven Design structure |
58
58
  | ADR-003 | Single coordination engine (UnifiedSwarmCoordinator) |
59
59
  | ADR-004 | Plugin-based architecture (microkernel) |
@@ -68,7 +68,7 @@ V1 represents a complete architectural overhaul:
68
68
 
69
69
  ```
70
70
  ┌─────────────────────────────────────────────────────────────────┐
71
- @monomind/v1-monorepo
71
+ monomind-monorepo
72
72
  ├─────────────────────────────────────────────────────────────────┤
73
73
  │ │
74
74
  │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
@@ -79,8 +79,8 @@ V1 represents a complete architectural overhaul:
79
79
  │ │
80
80
  │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
81
81
  │ │ integration │ │ performance │ │ neural │ │
82
- │ │ agentic-flow │ │ Flash Attn │ │ SONA │ │
83
- │ │ bridge │ │ benchmarks │ │ learning │ │
82
+ │ │ monomind │ │ Flash Attn │ │ SONA │ │
83
+ │ │ bridge │ │ benchmarks │ │ learning │ │
84
84
  │ └──────────────┘ └──────────────┘ └──────────────┘ │
85
85
  │ │
86
86
  │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
@@ -125,9 +125,9 @@ v1/
125
125
  │ │ ├── consensus/ # Consensus protocols
126
126
  │ │ └── domain/ # DDD entities
127
127
  │ │
128
- │ ├── integration/ # agentic-flow integration
128
+ │ ├── integration/ # monomind integration
129
129
  │ │ └── src/
130
- │ │ ├── agentic-flow-bridge.ts # Core bridge
130
+ │ │ ├── monomind-bridge.ts # Core bridge
131
131
  │ │ ├── agent-adapter.ts # Agent adaptation
132
132
  │ │ └── sona-adapter.ts # SONA learning
133
133
  │ │
@@ -258,12 +258,12 @@ await coordinator.spawnAgent({ type: "queen-coordinator" });
258
258
 
259
259
  ### @monomind/integration
260
260
 
261
- Deep integration with agentic-flow@alpha per ADR-001.
261
+ Deep integration with the Monomind core per ADR-001.
262
262
 
263
263
  ```typescript
264
- import { AgenticFlowBridge } from "@monomind/integration";
264
+ import { MonomindBridge } from "@monomind/integration";
265
265
 
266
- const bridge = new AgenticFlowBridge();
266
+ const bridge = new MonomindBridge();
267
267
  await bridge.initialize();
268
268
  const agent = await bridge.createAgent({ type: "coder" });
269
269
  ```
@@ -299,9 +299,9 @@ const prediction = await sona.predict(context);
299
299
  Modern CLI with interactive prompts and formatted output.
300
300
 
301
301
  ```bash
302
- npx @monomind/cli swarm init --topology hierarchical-mesh
303
- npx @monomind/cli agent spawn --type queen-coordinator
304
- npx @monomind/cli memory search "knowledge"
302
+ npx monomind swarm init --topology hierarchical-mesh
303
+ npx monomind agent spawn --type queen-coordinator
304
+ npx monomind memory search "knowledge"
305
305
  ```
306
306
 
307
307
  ### @monomind/testing
@@ -340,7 +340,7 @@ await release.prepare({ version: "3.0.0", changelog: "..." });
340
340
  ### Quick Start
341
341
 
342
342
  ```typescript
343
- import { initializeSwarm } from "@monomind/v1";
343
+ import { initializeSwarm } from "monomind";
344
344
 
345
345
  // Initialize the swarm
346
346
  const swarm = await initializeSwarm();
@@ -366,7 +366,7 @@ const result = await swarm.waitForTask(task.id);
366
366
 
367
367
  ```typescript
368
368
  // Import everything
369
- import * as monomind from "@monomind/v1";
369
+ import * as monomind from "monomind";
370
370
 
371
371
  // Or import specific modules for tree-shaking
372
372
  import { UnifiedSwarmCoordinator } from "@monomind/swarm";
@@ -377,7 +377,7 @@ import { HNSWIndex } from "@monomind/memory";
377
377
  ### MCP Server
378
378
 
379
379
  ```typescript
380
- import { createMCPServer } from "@monomind/v1/mcp";
380
+ import { createMCPServer } from "@monomind/mcp";
381
381
 
382
382
  const server = createMCPServer({
383
383
  transport: "stdio",
@@ -496,7 +496,6 @@ pnpm test:coverage
496
496
  ### External
497
497
 
498
498
  - [GitHub Repository](https://github.com/nokhodian/monomind)
499
- - [agentic-flow Integration](https://github.com/nokhodian/agentic-flow)
500
499
  - [AgentDB](https://github.com/nokhodian/agentdb)
501
500
 
502
501
  ## Requirements