claude-flow 3.7.0-alpha.11 → 3.7.0-alpha.13

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 (430) hide show
  1. package/.claude/agents/MIGRATION_SUMMARY.md +221 -221
  2. package/.claude/agents/analysis/analyze-code-quality.md +57 -57
  3. package/.claude/agents/analysis/code-analyzer.md +188 -188
  4. package/.claude/agents/analysis/code-review/analyze-code-quality.md +57 -57
  5. package/.claude/agents/architecture/system-design/arch-system-design.md +35 -35
  6. package/.claude/agents/base-template-generator.md +41 -41
  7. package/.claude/agents/consensus/byzantine-coordinator.md +42 -42
  8. package/.claude/agents/consensus/crdt-synchronizer.md +976 -976
  9. package/.claude/agents/consensus/gossip-coordinator.md +42 -42
  10. package/.claude/agents/consensus/performance-benchmarker.md +830 -830
  11. package/.claude/agents/consensus/quorum-manager.md +802 -802
  12. package/.claude/agents/consensus/raft-manager.md +42 -42
  13. package/.claude/agents/consensus/security-manager.md +601 -601
  14. package/.claude/agents/core/coder.md +254 -254
  15. package/.claude/agents/core/planner.md +151 -151
  16. package/.claude/agents/core/researcher.md +173 -173
  17. package/.claude/agents/core/reviewer.md +308 -308
  18. package/.claude/agents/core/tester.md +299 -299
  19. package/.claude/agents/custom/test-long-runner.md +43 -43
  20. package/.claude/agents/data/ml/data-ml-model.md +75 -75
  21. package/.claude/agents/database-specialist.md +9 -9
  22. package/.claude/agents/development/backend/dev-backend-api.md +28 -28
  23. package/.claude/agents/development/dev-backend-api.md +177 -177
  24. package/.claude/agents/devops/ci-cd/ops-cicd-github.md +51 -51
  25. package/.claude/agents/documentation/api-docs/docs-api-openapi.md +62 -62
  26. package/.claude/agents/dual-mode/codex-coordinator.md +201 -201
  27. package/.claude/agents/dual-mode/codex-worker.md +183 -183
  28. package/.claude/agents/dual-mode/dual-orchestrator.md +253 -253
  29. package/.claude/agents/flow-nexus/app-store.md +87 -87
  30. package/.claude/agents/flow-nexus/authentication.md +68 -68
  31. package/.claude/agents/flow-nexus/challenges.md +80 -80
  32. package/.claude/agents/flow-nexus/neural-network.md +87 -87
  33. package/.claude/agents/flow-nexus/payments.md +82 -82
  34. package/.claude/agents/flow-nexus/sandbox.md +75 -75
  35. package/.claude/agents/flow-nexus/swarm.md +75 -75
  36. package/.claude/agents/flow-nexus/user-tools.md +95 -95
  37. package/.claude/agents/flow-nexus/workflow.md +83 -83
  38. package/.claude/agents/github/code-review-swarm.md +520 -520
  39. package/.claude/agents/github/github-modes.md +153 -153
  40. package/.claude/agents/github/issue-tracker.md +298 -298
  41. package/.claude/agents/github/multi-repo-swarm.md +524 -524
  42. package/.claude/agents/github/pr-manager.md +162 -162
  43. package/.claude/agents/github/project-board-sync.md +477 -477
  44. package/.claude/agents/github/release-manager.md +335 -335
  45. package/.claude/agents/github/release-swarm.md +550 -550
  46. package/.claude/agents/github/repo-architect.md +364 -364
  47. package/.claude/agents/github/swarm-issue.md +547 -547
  48. package/.claude/agents/github/swarm-pr.md +398 -398
  49. package/.claude/agents/github/sync-coordinator.md +422 -422
  50. package/.claude/agents/github/workflow-automation.md +604 -604
  51. package/.claude/agents/goal/agent.md +816 -816
  52. package/.claude/agents/goal/code-goal-planner.md +444 -444
  53. package/.claude/agents/goal/goal-planner.md +167 -167
  54. package/.claude/agents/hive-mind/collective-intelligence-coordinator.md +128 -128
  55. package/.claude/agents/hive-mind/queen-coordinator.md +201 -201
  56. package/.claude/agents/hive-mind/scout-explorer.md +240 -240
  57. package/.claude/agents/hive-mind/swarm-memory-manager.md +191 -191
  58. package/.claude/agents/hive-mind/worker-specialist.md +215 -215
  59. package/.claude/agents/neural/safla-neural.md +73 -73
  60. package/.claude/agents/optimization/benchmark-suite.md +662 -662
  61. package/.claude/agents/optimization/load-balancer.md +428 -428
  62. package/.claude/agents/optimization/performance-monitor.md +669 -669
  63. package/.claude/agents/optimization/resource-allocator.md +671 -671
  64. package/.claude/agents/optimization/topology-optimizer.md +805 -805
  65. package/.claude/agents/payments/agentic-payments.md +126 -126
  66. package/.claude/agents/project-coordinator.md +8 -8
  67. package/.claude/agents/python-specialist.md +9 -9
  68. package/.claude/agents/reasoning/agent.md +816 -816
  69. package/.claude/agents/reasoning/goal-planner.md +72 -72
  70. package/.claude/agents/security-auditor.md +9 -9
  71. package/.claude/agents/sona/sona-learning-optimizer.md +65 -65
  72. package/.claude/agents/sparc/architecture.md +452 -452
  73. package/.claude/agents/sparc/pseudocode.md +298 -298
  74. package/.claude/agents/sparc/refinement.md +503 -503
  75. package/.claude/agents/sparc/specification.md +257 -257
  76. package/.claude/agents/specialized/mobile/spec-mobile-react-native.md +87 -87
  77. package/.claude/agents/sublinear/consensus-coordinator.md +337 -337
  78. package/.claude/agents/sublinear/matrix-optimizer.md +184 -184
  79. package/.claude/agents/sublinear/pagerank-analyzer.md +298 -298
  80. package/.claude/agents/sublinear/performance-optimizer.md +367 -367
  81. package/.claude/agents/sublinear/trading-predictor.md +245 -245
  82. package/.claude/agents/swarm/adaptive-coordinator.md +363 -363
  83. package/.claude/agents/swarm/hierarchical-coordinator.md +299 -299
  84. package/.claude/agents/swarm/mesh-coordinator.md +362 -362
  85. package/.claude/agents/templates/automation-smart-agent.md +184 -184
  86. package/.claude/agents/templates/coordinator-swarm-init.md +82 -82
  87. package/.claude/agents/templates/github-pr-manager.md +154 -154
  88. package/.claude/agents/templates/implementer-sparc-coder.md +242 -242
  89. package/.claude/agents/templates/memory-coordinator.md +162 -162
  90. package/.claude/agents/templates/migration-plan.md +723 -723
  91. package/.claude/agents/templates/orchestrator-task.md +119 -119
  92. package/.claude/agents/templates/performance-analyzer.md +178 -178
  93. package/.claude/agents/templates/sparc-coordinator.md +162 -162
  94. package/.claude/agents/testing/production-validator.md +372 -372
  95. package/.claude/agents/testing/tdd-london-swarm.md +221 -221
  96. package/.claude/agents/testing/unit/tdd-london-swarm.md +221 -221
  97. package/.claude/agents/testing/validation/production-validator.md +372 -372
  98. package/.claude/agents/typescript-specialist.md +9 -9
  99. package/.claude/agents/v3/database-specialist.md +9 -9
  100. package/.claude/agents/v3/project-coordinator.md +8 -8
  101. package/.claude/agents/v3/python-specialist.md +9 -9
  102. package/.claude/agents/v3/test-architect.md +9 -9
  103. package/.claude/agents/v3/typescript-specialist.md +9 -9
  104. package/.claude/agents/v3/v3-integration-architect.md +311 -311
  105. package/.claude/agents/v3/v3-memory-specialist.md +280 -280
  106. package/.claude/agents/v3/v3-performance-engineer.md +362 -362
  107. package/.claude/agents/v3/v3-queen-coordinator.md +62 -62
  108. package/.claude/agents/v3/v3-security-architect.md +139 -139
  109. package/.claude/checkpoints/1767754460.json +8 -8
  110. package/.claude/commands/agents/README.md +10 -10
  111. package/.claude/commands/agents/agent-capabilities.md +21 -21
  112. package/.claude/commands/agents/agent-coordination.md +28 -28
  113. package/.claude/commands/agents/agent-spawning.md +28 -28
  114. package/.claude/commands/agents/agent-types.md +26 -26
  115. package/.claude/commands/analysis/COMMAND_COMPLIANCE_REPORT.md +53 -53
  116. package/.claude/commands/analysis/README.md +9 -9
  117. package/.claude/commands/analysis/bottleneck-detect.md +162 -162
  118. package/.claude/commands/analysis/performance-bottlenecks.md +58 -58
  119. package/.claude/commands/analysis/performance-report.md +25 -25
  120. package/.claude/commands/analysis/token-efficiency.md +44 -44
  121. package/.claude/commands/analysis/token-usage.md +25 -25
  122. package/.claude/commands/automation/README.md +9 -9
  123. package/.claude/commands/automation/auto-agent.md +122 -122
  124. package/.claude/commands/automation/self-healing.md +105 -105
  125. package/.claude/commands/automation/session-memory.md +89 -89
  126. package/.claude/commands/automation/smart-agents.md +72 -72
  127. package/.claude/commands/automation/smart-spawn.md +25 -25
  128. package/.claude/commands/automation/workflow-select.md +25 -25
  129. package/.claude/commands/claude-flow-help.md +103 -103
  130. package/.claude/commands/claude-flow-memory.md +107 -107
  131. package/.claude/commands/claude-flow-swarm.md +205 -205
  132. package/.claude/commands/coordination/README.md +9 -9
  133. package/.claude/commands/coordination/agent-spawn.md +25 -25
  134. package/.claude/commands/coordination/init.md +44 -44
  135. package/.claude/commands/coordination/orchestrate.md +43 -43
  136. package/.claude/commands/coordination/spawn.md +45 -45
  137. package/.claude/commands/coordination/swarm-init.md +85 -85
  138. package/.claude/commands/coordination/task-orchestrate.md +25 -25
  139. package/.claude/commands/flow-nexus/app-store.md +123 -123
  140. package/.claude/commands/flow-nexus/challenges.md +119 -119
  141. package/.claude/commands/flow-nexus/login-registration.md +64 -64
  142. package/.claude/commands/flow-nexus/neural-network.md +133 -133
  143. package/.claude/commands/flow-nexus/payments.md +115 -115
  144. package/.claude/commands/flow-nexus/sandbox.md +82 -82
  145. package/.claude/commands/flow-nexus/swarm.md +86 -86
  146. package/.claude/commands/flow-nexus/user-tools.md +151 -151
  147. package/.claude/commands/flow-nexus/workflow.md +114 -114
  148. package/.claude/commands/github/README.md +11 -11
  149. package/.claude/commands/github/code-review-swarm.md +513 -513
  150. package/.claude/commands/github/code-review.md +25 -25
  151. package/.claude/commands/github/github-modes.md +146 -146
  152. package/.claude/commands/github/github-swarm.md +121 -121
  153. package/.claude/commands/github/issue-tracker.md +291 -291
  154. package/.claude/commands/github/issue-triage.md +25 -25
  155. package/.claude/commands/github/multi-repo-swarm.md +518 -518
  156. package/.claude/commands/github/pr-enhance.md +26 -26
  157. package/.claude/commands/github/pr-manager.md +169 -169
  158. package/.claude/commands/github/project-board-sync.md +470 -470
  159. package/.claude/commands/github/release-manager.md +337 -337
  160. package/.claude/commands/github/release-swarm.md +543 -543
  161. package/.claude/commands/github/repo-analyze.md +25 -25
  162. package/.claude/commands/github/repo-architect.md +366 -366
  163. package/.claude/commands/github/swarm-issue.md +481 -481
  164. package/.claude/commands/github/swarm-pr.md +284 -284
  165. package/.claude/commands/github/sync-coordinator.md +300 -300
  166. package/.claude/commands/github/workflow-automation.md +441 -441
  167. package/.claude/commands/hive-mind/README.md +17 -17
  168. package/.claude/commands/hive-mind/hive-mind-consensus.md +8 -8
  169. package/.claude/commands/hive-mind/hive-mind-init.md +18 -18
  170. package/.claude/commands/hive-mind/hive-mind-memory.md +8 -8
  171. package/.claude/commands/hive-mind/hive-mind-metrics.md +8 -8
  172. package/.claude/commands/hive-mind/hive-mind-resume.md +8 -8
  173. package/.claude/commands/hive-mind/hive-mind-sessions.md +8 -8
  174. package/.claude/commands/hive-mind/hive-mind-spawn.md +21 -21
  175. package/.claude/commands/hive-mind/hive-mind-status.md +8 -8
  176. package/.claude/commands/hive-mind/hive-mind-stop.md +8 -8
  177. package/.claude/commands/hive-mind/hive-mind-wizard.md +8 -8
  178. package/.claude/commands/hive-mind/hive-mind.md +27 -27
  179. package/.claude/commands/hooks/README.md +11 -11
  180. package/.claude/commands/hooks/overview.md +57 -57
  181. package/.claude/commands/hooks/post-edit.md +117 -117
  182. package/.claude/commands/hooks/post-task.md +112 -112
  183. package/.claude/commands/hooks/pre-edit.md +113 -113
  184. package/.claude/commands/hooks/pre-task.md +111 -111
  185. package/.claude/commands/hooks/session-end.md +118 -118
  186. package/.claude/commands/hooks/setup.md +102 -102
  187. package/.claude/commands/memory/README.md +9 -9
  188. package/.claude/commands/memory/memory-persist.md +25 -25
  189. package/.claude/commands/memory/memory-search.md +25 -25
  190. package/.claude/commands/memory/memory-usage.md +25 -25
  191. package/.claude/commands/memory/neural.md +47 -47
  192. package/.claude/commands/monitoring/README.md +9 -9
  193. package/.claude/commands/monitoring/agent-metrics.md +25 -25
  194. package/.claude/commands/monitoring/agents.md +44 -44
  195. package/.claude/commands/monitoring/real-time-view.md +25 -25
  196. package/.claude/commands/monitoring/status.md +46 -46
  197. package/.claude/commands/monitoring/swarm-monitor.md +25 -25
  198. package/.claude/commands/optimization/README.md +9 -9
  199. package/.claude/commands/optimization/auto-topology.md +61 -61
  200. package/.claude/commands/optimization/cache-manage.md +25 -25
  201. package/.claude/commands/optimization/parallel-execute.md +25 -25
  202. package/.claude/commands/optimization/parallel-execution.md +49 -49
  203. package/.claude/commands/optimization/topology-optimize.md +25 -25
  204. package/.claude/commands/pair/README.md +260 -260
  205. package/.claude/commands/pair/commands.md +545 -545
  206. package/.claude/commands/pair/config.md +509 -509
  207. package/.claude/commands/pair/examples.md +511 -511
  208. package/.claude/commands/pair/modes.md +347 -347
  209. package/.claude/commands/pair/session.md +406 -406
  210. package/.claude/commands/pair/start.md +208 -208
  211. package/.claude/commands/sparc/analyzer.md +51 -51
  212. package/.claude/commands/sparc/architect.md +53 -53
  213. package/.claude/commands/sparc/ask.md +97 -97
  214. package/.claude/commands/sparc/batch-executor.md +54 -54
  215. package/.claude/commands/sparc/code.md +89 -89
  216. package/.claude/commands/sparc/coder.md +54 -54
  217. package/.claude/commands/sparc/debug.md +83 -83
  218. package/.claude/commands/sparc/debugger.md +54 -54
  219. package/.claude/commands/sparc/designer.md +53 -53
  220. package/.claude/commands/sparc/devops.md +109 -109
  221. package/.claude/commands/sparc/docs-writer.md +80 -80
  222. package/.claude/commands/sparc/documenter.md +54 -54
  223. package/.claude/commands/sparc/innovator.md +54 -54
  224. package/.claude/commands/sparc/integration.md +83 -83
  225. package/.claude/commands/sparc/mcp.md +117 -117
  226. package/.claude/commands/sparc/memory-manager.md +54 -54
  227. package/.claude/commands/sparc/optimizer.md +54 -54
  228. package/.claude/commands/sparc/orchestrator.md +131 -131
  229. package/.claude/commands/sparc/post-deployment-monitoring-mode.md +83 -83
  230. package/.claude/commands/sparc/refinement-optimization-mode.md +83 -83
  231. package/.claude/commands/sparc/researcher.md +54 -54
  232. package/.claude/commands/sparc/reviewer.md +54 -54
  233. package/.claude/commands/sparc/security-review.md +80 -80
  234. package/.claude/commands/sparc/sparc-modes.md +174 -174
  235. package/.claude/commands/sparc/sparc.md +111 -111
  236. package/.claude/commands/sparc/spec-pseudocode.md +80 -80
  237. package/.claude/commands/sparc/supabase-admin.md +348 -348
  238. package/.claude/commands/sparc/swarm-coordinator.md +54 -54
  239. package/.claude/commands/sparc/tdd.md +54 -54
  240. package/.claude/commands/sparc/tester.md +54 -54
  241. package/.claude/commands/sparc/tutorial.md +79 -79
  242. package/.claude/commands/sparc/workflow-manager.md +54 -54
  243. package/.claude/commands/sparc.md +166 -166
  244. package/.claude/commands/stream-chain/pipeline.md +120 -120
  245. package/.claude/commands/stream-chain/run.md +69 -69
  246. package/.claude/commands/swarm/README.md +15 -15
  247. package/.claude/commands/swarm/analysis.md +95 -95
  248. package/.claude/commands/swarm/development.md +96 -96
  249. package/.claude/commands/swarm/examples.md +168 -168
  250. package/.claude/commands/swarm/maintenance.md +102 -102
  251. package/.claude/commands/swarm/optimization.md +117 -117
  252. package/.claude/commands/swarm/research.md +136 -136
  253. package/.claude/commands/swarm/swarm-analysis.md +8 -8
  254. package/.claude/commands/swarm/swarm-background.md +8 -8
  255. package/.claude/commands/swarm/swarm-init.md +19 -19
  256. package/.claude/commands/swarm/swarm-modes.md +8 -8
  257. package/.claude/commands/swarm/swarm-monitor.md +8 -8
  258. package/.claude/commands/swarm/swarm-spawn.md +19 -19
  259. package/.claude/commands/swarm/swarm-status.md +8 -8
  260. package/.claude/commands/swarm/swarm-strategies.md +8 -8
  261. package/.claude/commands/swarm/swarm.md +27 -27
  262. package/.claude/commands/swarm/testing.md +131 -131
  263. package/.claude/commands/training/README.md +9 -9
  264. package/.claude/commands/training/model-update.md +25 -25
  265. package/.claude/commands/training/neural-patterns.md +73 -73
  266. package/.claude/commands/training/neural-train.md +25 -25
  267. package/.claude/commands/training/pattern-learn.md +25 -25
  268. package/.claude/commands/training/specialization.md +62 -62
  269. package/.claude/commands/truth/start.md +142 -142
  270. package/.claude/commands/verify/check.md +49 -49
  271. package/.claude/commands/verify/start.md +127 -127
  272. package/.claude/commands/workflows/README.md +9 -9
  273. package/.claude/commands/workflows/development.md +77 -77
  274. package/.claude/commands/workflows/research.md +62 -62
  275. package/.claude/commands/workflows/workflow-create.md +25 -25
  276. package/.claude/commands/workflows/workflow-execute.md +25 -25
  277. package/.claude/commands/workflows/workflow-export.md +25 -25
  278. package/.claude/config/v3-dependency-optimization.json +265 -265
  279. package/.claude/config/v3-performance-targets.json +250 -250
  280. package/.claude/helpers/README.md +96 -96
  281. package/.claude/helpers/adr-compliance.sh +186 -186
  282. package/.claude/helpers/aggressive-microcompact.mjs +36 -36
  283. package/.claude/helpers/auto-commit.sh +178 -178
  284. package/.claude/helpers/auto-memory-hook.mjs +564 -564
  285. package/.claude/helpers/checkpoint-manager.sh +251 -251
  286. package/.claude/helpers/context-persistence-hook.mjs +1979 -1979
  287. package/.claude/helpers/daemon-manager.sh +252 -252
  288. package/.claude/helpers/ddd-tracker.sh +144 -144
  289. package/.claude/helpers/github-safe.js +106 -106
  290. package/.claude/helpers/github-setup.sh +28 -28
  291. package/.claude/helpers/guidance-hook.sh +13 -13
  292. package/.claude/helpers/guidance-hooks.sh +102 -102
  293. package/.claude/helpers/health-monitor.sh +108 -108
  294. package/.claude/helpers/hook-handler.cjs +263 -263
  295. package/.claude/helpers/intelligence.cjs +230 -230
  296. package/.claude/helpers/learning-hooks.sh +329 -329
  297. package/.claude/helpers/learning-optimizer.sh +127 -127
  298. package/.claude/helpers/learning-service.mjs +1144 -1144
  299. package/.claude/helpers/memory.cjs +84 -84
  300. package/.claude/helpers/metrics-db.mjs +488 -488
  301. package/.claude/helpers/patch-aggressive-prune.mjs +184 -184
  302. package/.claude/helpers/pattern-consolidator.sh +86 -86
  303. package/.claude/helpers/perf-worker.sh +160 -160
  304. package/.claude/helpers/quick-start.sh +19 -19
  305. package/.claude/helpers/router.cjs +62 -62
  306. package/.claude/helpers/security-scanner.sh +127 -127
  307. package/.claude/helpers/session.cjs +125 -125
  308. package/.claude/helpers/setup-mcp.sh +18 -18
  309. package/.claude/helpers/standard-checkpoint-hooks.sh +189 -189
  310. package/.claude/helpers/statusline.cjs +819 -819
  311. package/.claude/helpers/swarm-comms.sh +353 -353
  312. package/.claude/helpers/swarm-hooks.sh +761 -761
  313. package/.claude/helpers/swarm-monitor.sh +210 -210
  314. package/.claude/helpers/sync-v3-metrics.sh +245 -245
  315. package/.claude/helpers/update-v3-progress.sh +165 -165
  316. package/.claude/helpers/v3-quick-status.sh +57 -57
  317. package/.claude/helpers/v3.sh +110 -110
  318. package/.claude/helpers/validate-v3-config.sh +215 -215
  319. package/.claude/helpers/worker-manager.sh +170 -170
  320. package/.claude/mcp.json +12 -12
  321. package/.claude/scheduled_tasks.lock +1 -1
  322. package/.claude/settings.json +285 -283
  323. package/.claude/settings.json.bak +526 -526
  324. package/.claude/settings.local.json +1 -0
  325. package/.claude/skills/agentdb-advanced/SKILL.md +550 -550
  326. package/.claude/skills/agentdb-learning/SKILL.md +545 -545
  327. package/.claude/skills/agentdb-memory-patterns/SKILL.md +339 -339
  328. package/.claude/skills/agentdb-optimization/SKILL.md +509 -509
  329. package/.claude/skills/agentdb-vector-search/SKILL.md +339 -339
  330. package/.claude/skills/agentic-jujutsu/SKILL.md +645 -645
  331. package/.claude/skills/browser/SKILL.md +204 -0
  332. package/.claude/skills/dual-mode/README.md +71 -71
  333. package/.claude/skills/dual-mode/dual-collect.md +103 -103
  334. package/.claude/skills/dual-mode/dual-coordinate.md +85 -85
  335. package/.claude/skills/dual-mode/dual-spawn.md +81 -81
  336. package/.claude/skills/flow-nexus-neural/SKILL.md +727 -727
  337. package/.claude/skills/flow-nexus-platform/SKILL.md +1154 -1154
  338. package/.claude/skills/flow-nexus-swarm/SKILL.md +604 -604
  339. package/.claude/skills/github-code-review/SKILL.md +1125 -1125
  340. package/.claude/skills/github-multi-repo/SKILL.md +862 -862
  341. package/.claude/skills/github-project-management/SKILL.md +1263 -1263
  342. package/.claude/skills/github-release-management/SKILL.md +1064 -1064
  343. package/.claude/skills/github-workflow-automation/SKILL.md +1047 -1047
  344. package/.claude/skills/hive-mind-advanced/SKILL.md +709 -709
  345. package/.claude/skills/hooks-automation/SKILL.md +1201 -1201
  346. package/.claude/skills/pair-programming/SKILL.md +1202 -1202
  347. package/.claude/skills/performance-analysis/SKILL.md +560 -560
  348. package/.claude/skills/reasoningbank-agentdb/SKILL.md +446 -446
  349. package/.claude/skills/reasoningbank-intelligence/SKILL.md +201 -201
  350. package/.claude/skills/skill-builder/SKILL.md +910 -910
  351. package/.claude/skills/sparc-methodology/SKILL.md +1106 -1106
  352. package/.claude/skills/stream-chain/SKILL.md +560 -560
  353. package/.claude/skills/swarm-advanced/SKILL.md +970 -970
  354. package/.claude/skills/swarm-orchestration/SKILL.md +179 -179
  355. package/.claude/skills/v3-cli-modernization/SKILL.md +871 -871
  356. package/.claude/skills/v3-core-implementation/SKILL.md +796 -796
  357. package/.claude/skills/v3-ddd-architecture/SKILL.md +441 -441
  358. package/.claude/skills/v3-integration-deep/SKILL.md +240 -240
  359. package/.claude/skills/v3-mcp-optimization/SKILL.md +776 -776
  360. package/.claude/skills/v3-memory-unification/SKILL.md +173 -173
  361. package/.claude/skills/v3-performance-optimization/SKILL.md +389 -389
  362. package/.claude/skills/v3-security-overhaul/SKILL.md +81 -81
  363. package/.claude/skills/v3-swarm-coordination/SKILL.md +339 -339
  364. package/.claude/skills/verification-quality/SKILL.md +647 -647
  365. package/.claude/skills/worker-benchmarks/SKILL.md +129 -129
  366. package/.claude/skills/worker-integration/SKILL.md +147 -147
  367. package/.claude/statusline-command.sh +176 -176
  368. package/.claude/statusline.mjs +109 -109
  369. package/.claude/statusline.sh +431 -431
  370. package/.claude-plugin/README.md +720 -720
  371. package/.claude-plugin/docs/INSTALLATION.md +261 -261
  372. package/.claude-plugin/docs/PLUGIN_SUMMARY.md +361 -361
  373. package/.claude-plugin/docs/QUICKSTART.md +361 -361
  374. package/.claude-plugin/docs/STRUCTURE.md +128 -128
  375. package/.claude-plugin/hooks/hooks.json +74 -74
  376. package/.claude-plugin/marketplace.json +170 -170
  377. package/.claude-plugin/plugin.json +71 -71
  378. package/.claude-plugin/scripts/install.sh +234 -234
  379. package/.claude-plugin/scripts/uninstall.sh +36 -36
  380. package/.claude-plugin/scripts/verify.sh +108 -108
  381. package/LICENSE +21 -21
  382. package/README.md +393 -393
  383. package/bin/cli.js +11 -11
  384. package/bin/npx-repair.js +7 -7
  385. package/bin/npx-safe-launch.js +9 -9
  386. package/package.json +1 -1
  387. package/v3/@claude-flow/cli/README.md +393 -393
  388. package/v3/@claude-flow/cli/bin/cli.js +220 -220
  389. package/v3/@claude-flow/cli/bin/mcp-server.js +224 -224
  390. package/v3/@claude-flow/cli/bin/preinstall.cjs +2 -2
  391. package/v3/@claude-flow/cli/dist/src/commands/completions.js +409 -409
  392. package/v3/@claude-flow/cli/dist/src/commands/doctor.js +57 -17
  393. package/v3/@claude-flow/cli/dist/src/commands/embeddings.js +26 -26
  394. package/v3/@claude-flow/cli/dist/src/commands/hive-mind.js +97 -97
  395. package/v3/@claude-flow/cli/dist/src/commands/hooks.js +9 -9
  396. package/v3/@claude-flow/cli/dist/src/commands/memory.js +22 -3
  397. package/v3/@claude-flow/cli/dist/src/commands/ruvector/backup.js +23 -23
  398. package/v3/@claude-flow/cli/dist/src/commands/ruvector/benchmark.js +31 -31
  399. package/v3/@claude-flow/cli/dist/src/commands/ruvector/import.js +14 -14
  400. package/v3/@claude-flow/cli/dist/src/commands/ruvector/init.js +115 -115
  401. package/v3/@claude-flow/cli/dist/src/commands/ruvector/migrate.js +99 -99
  402. package/v3/@claude-flow/cli/dist/src/commands/ruvector/optimize.js +51 -51
  403. package/v3/@claude-flow/cli/dist/src/commands/ruvector/setup.js +624 -624
  404. package/v3/@claude-flow/cli/dist/src/commands/ruvector/status.js +38 -38
  405. package/v3/@claude-flow/cli/dist/src/config-adapter.js +1 -1
  406. package/v3/@claude-flow/cli/dist/src/index.js +14 -12
  407. package/v3/@claude-flow/cli/dist/src/init/claudemd-generator.js +226 -226
  408. package/v3/@claude-flow/cli/dist/src/init/executor.js +490 -456
  409. package/v3/@claude-flow/cli/dist/src/init/helpers-generator.js +645 -645
  410. package/v3/@claude-flow/cli/dist/src/init/mcp-generator.js +4 -4
  411. package/v3/@claude-flow/cli/dist/src/init/statusline-generator.js +858 -858
  412. package/v3/@claude-flow/cli/dist/src/mcp-tools/hooks-tools.js +44 -5
  413. package/v3/@claude-flow/cli/dist/src/mcp-tools/memory-tools.js +71 -46
  414. package/v3/@claude-flow/cli/dist/src/mcp-tools/system-tools.js +36 -11
  415. package/v3/@claude-flow/cli/dist/src/memory/memory-bridge.js +84 -84
  416. package/v3/@claude-flow/cli/dist/src/memory/memory-initializer.js +360 -360
  417. package/v3/@claude-flow/cli/dist/src/memory/rabitq-index.js +5 -5
  418. package/v3/@claude-flow/cli/dist/src/memory/sona-optimizer.js +0 -1
  419. package/v3/@claude-flow/cli/dist/src/runtime/headless.js +28 -28
  420. package/v3/@claude-flow/cli/dist/src/services/headless-worker-executor.js +84 -84
  421. package/v3/@claude-flow/cli/dist/src/services/worker-daemon.d.ts +25 -2
  422. package/v3/@claude-flow/cli/dist/src/services/worker-daemon.js +186 -10
  423. package/v3/@claude-flow/cli/dist/src/transfer/deploy-seraphine.js +23 -23
  424. package/v3/@claude-flow/cli/package.json +3 -2
  425. package/v3/@claude-flow/guidance/README.md +1195 -1195
  426. package/v3/@claude-flow/guidance/dist/analyzer.js +9 -0
  427. package/v3/@claude-flow/guidance/package.json +198 -198
  428. package/v3/@claude-flow/shared/README.md +323 -323
  429. package/v3/@claude-flow/shared/package.json +43 -43
  430. package/v3/README.md +493 -493
@@ -15,638 +15,638 @@ import * as path from 'path';
15
15
  /**
16
16
  * Docker Compose template for RuVector PostgreSQL
17
17
  */
18
- const DOCKER_COMPOSE_TEMPLATE = `# RuVector PostgreSQL Testing Environment
19
- # Official RuVector extension from ruvnet/ruvector-postgres
20
- #
21
- # Features:
22
- # - 77+ SQL functions for vector operations
23
- # - HNSW/IVFFlat indexing with SIMD acceleration
24
- # - Hyperbolic embeddings (Poincaré ball)
25
- # - Graph operations and GNN support
26
- # - Agent routing and learning
27
- #
28
- # Performance: ~61µs latency, 16,400 QPS with HNSW
29
-
30
- services:
31
- postgres:
32
- image: ruvnet/ruvector-postgres:latest
33
- container_name: ruvector-postgres
34
- environment:
35
- POSTGRES_USER: claude
36
- POSTGRES_PASSWORD: claude-flow-test
37
- POSTGRES_DB: claude_flow
38
- ports:
39
- - "5432:5432"
40
- volumes:
41
- - postgres_data:/var/lib/postgresql/data
42
- - ./scripts/init-db.sql:/docker-entrypoint-initdb.d/01-init.sql
43
- healthcheck:
44
- test: ["CMD-SHELL", "pg_isready -U claude -d claude_flow"]
45
- interval: 5s
46
- timeout: 5s
47
- retries: 10
48
- command: >
49
- postgres
50
- -c work_mem=256MB
51
- -c maintenance_work_mem=512MB
52
-
53
- # Optional: pgAdmin for visual database management
54
- pgadmin:
55
- image: dpage/pgadmin4:latest
56
- container_name: ruvector-pgadmin
57
- environment:
58
- PGADMIN_DEFAULT_EMAIL: admin@claude-flow.local
59
- PGADMIN_DEFAULT_PASSWORD: admin
60
- PGADMIN_CONFIG_SERVER_MODE: 'False'
61
- ports:
62
- - "5050:80"
63
- depends_on:
64
- postgres:
65
- condition: service_healthy
66
- profiles:
67
- - gui
68
-
69
- volumes:
70
- postgres_data:
18
+ const DOCKER_COMPOSE_TEMPLATE = `# RuVector PostgreSQL Testing Environment
19
+ # Official RuVector extension from ruvnet/ruvector-postgres
20
+ #
21
+ # Features:
22
+ # - 77+ SQL functions for vector operations
23
+ # - HNSW/IVFFlat indexing with SIMD acceleration
24
+ # - Hyperbolic embeddings (Poincaré ball)
25
+ # - Graph operations and GNN support
26
+ # - Agent routing and learning
27
+ #
28
+ # Performance: ~61µs latency, 16,400 QPS with HNSW
29
+
30
+ services:
31
+ postgres:
32
+ image: ruvnet/ruvector-postgres:latest
33
+ container_name: ruvector-postgres
34
+ environment:
35
+ POSTGRES_USER: claude
36
+ POSTGRES_PASSWORD: claude-flow-test
37
+ POSTGRES_DB: claude_flow
38
+ ports:
39
+ - "5432:5432"
40
+ volumes:
41
+ - postgres_data:/var/lib/postgresql/data
42
+ - ./scripts/init-db.sql:/docker-entrypoint-initdb.d/01-init.sql
43
+ healthcheck:
44
+ test: ["CMD-SHELL", "pg_isready -U claude -d claude_flow"]
45
+ interval: 5s
46
+ timeout: 5s
47
+ retries: 10
48
+ command: >
49
+ postgres
50
+ -c work_mem=256MB
51
+ -c maintenance_work_mem=512MB
52
+
53
+ # Optional: pgAdmin for visual database management
54
+ pgadmin:
55
+ image: dpage/pgadmin4:latest
56
+ container_name: ruvector-pgadmin
57
+ environment:
58
+ PGADMIN_DEFAULT_EMAIL: admin@claude-flow.local
59
+ PGADMIN_DEFAULT_PASSWORD: admin
60
+ PGADMIN_CONFIG_SERVER_MODE: 'False'
61
+ ports:
62
+ - "5050:80"
63
+ depends_on:
64
+ postgres:
65
+ condition: service_healthy
66
+ profiles:
67
+ - gui
68
+
69
+ volumes:
70
+ postgres_data:
71
71
  `;
72
72
  /**
73
73
  * Init SQL template for RuVector PostgreSQL
74
74
  */
75
- const INIT_SQL_TEMPLATE = `-- ============================================
76
- -- RUVECTOR POSTGRESQL INITIALIZATION SCRIPT
77
- -- ============================================
78
- --
79
- -- This script initializes RuVector PostgreSQL extension
80
- -- from ruvnet/ruvector-postgres with Claude-Flow V3 integration.
81
- --
82
- -- RuVector provides 77+ SQL functions including:
83
- -- - Vector similarity search (HNSW with SIMD)
84
- -- - Hyperbolic embeddings (Poincaré/Lorentz)
85
- -- - Graph operations (Cypher queries)
86
- -- - Agent routing and learning
87
- --
88
- -- Performance: ~61µs latency, 16,400 QPS
89
-
90
- -- ============================================
91
- -- PART 1: EXTENSION AND SCHEMA SETUP
92
- -- ============================================
93
-
94
- -- IMPORTANT: RuVector requires explicit VERSION
95
- -- The control file says 2.0.0 but only 0.1.0 SQL exists
96
- CREATE EXTENSION IF NOT EXISTS ruvector VERSION '0.1.0';
97
-
98
- -- Enable additional required extensions
99
- CREATE EXTENSION IF NOT EXISTS pgcrypto;
100
-
101
- -- Create the claude_flow schema
102
- CREATE SCHEMA IF NOT EXISTS claude_flow;
103
-
104
- -- Grant permissions
105
- GRANT ALL ON SCHEMA claude_flow TO claude;
106
-
107
- -- Set search path
108
- SET search_path TO claude_flow, public;
109
-
110
- -- ============================================
111
- -- PART 2: CORE TABLES
112
- -- ============================================
113
-
114
- -- Embeddings table with RuVector vector type (384-dim for all-MiniLM-L6-v2)
115
- CREATE TABLE IF NOT EXISTS claude_flow.embeddings (
116
- id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
117
- content TEXT NOT NULL,
118
- embedding ruvector(384),
119
- metadata JSONB DEFAULT '{}',
120
- namespace VARCHAR(100) DEFAULT 'default',
121
- created_at TIMESTAMPTZ DEFAULT NOW(),
122
- updated_at TIMESTAMPTZ DEFAULT NOW()
123
- );
124
-
125
- -- Patterns table for learned patterns (ReasoningBank)
126
- CREATE TABLE IF NOT EXISTS claude_flow.patterns (
127
- id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
128
- name VARCHAR(255) NOT NULL,
129
- description TEXT,
130
- embedding ruvector(384),
131
- pattern_type VARCHAR(50),
132
- confidence FLOAT DEFAULT 0.5,
133
- success_count INT DEFAULT 0,
134
- failure_count INT DEFAULT 0,
135
- ewc_importance FLOAT DEFAULT 1.0,
136
- metadata JSONB DEFAULT '{}',
137
- created_at TIMESTAMPTZ DEFAULT NOW()
138
- );
139
-
140
- -- Agents table for multi-agent memory coordination
141
- CREATE TABLE IF NOT EXISTS claude_flow.agents (
142
- id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
143
- agent_id VARCHAR(255) NOT NULL UNIQUE,
144
- agent_type VARCHAR(50),
145
- state JSONB DEFAULT '{}',
146
- memory_embedding ruvector(384),
147
- last_active TIMESTAMPTZ DEFAULT NOW(),
148
- created_at TIMESTAMPTZ DEFAULT NOW()
149
- );
150
-
151
- -- Trajectories table for SONA reinforcement learning
152
- CREATE TABLE IF NOT EXISTS claude_flow.trajectories (
153
- id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
154
- trajectory_id VARCHAR(255) NOT NULL UNIQUE,
155
- agent_type VARCHAR(50),
156
- task_description TEXT,
157
- status VARCHAR(20) DEFAULT 'in_progress',
158
- steps JSONB DEFAULT '[]',
159
- outcome VARCHAR(20),
160
- quality_score FLOAT,
161
- started_at TIMESTAMPTZ DEFAULT NOW(),
162
- ended_at TIMESTAMPTZ
163
- );
164
-
165
- -- Memory entries table (main storage for Claude-Flow memory)
166
- CREATE TABLE IF NOT EXISTS claude_flow.memory_entries (
167
- id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
168
- key VARCHAR(255) NOT NULL,
169
- value TEXT NOT NULL,
170
- embedding ruvector(384),
171
- namespace VARCHAR(100) DEFAULT 'default',
172
- metadata JSONB DEFAULT '{}',
173
- ttl TIMESTAMPTZ,
174
- created_at TIMESTAMPTZ DEFAULT NOW(),
175
- updated_at TIMESTAMPTZ DEFAULT NOW(),
176
- UNIQUE(key, namespace)
177
- );
178
-
179
- -- Hyperbolic embeddings for hierarchical data
180
- CREATE TABLE IF NOT EXISTS claude_flow.hyperbolic_embeddings (
181
- id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
182
- content TEXT NOT NULL,
183
- euclidean_embedding ruvector(384),
184
- poincare_embedding real[], -- Array for hyperbolic operations
185
- curvature FLOAT DEFAULT -1.0,
186
- hierarchy_level INT DEFAULT 0,
187
- parent_id UUID REFERENCES claude_flow.hyperbolic_embeddings(id),
188
- metadata JSONB DEFAULT '{}',
189
- created_at TIMESTAMPTZ DEFAULT NOW()
190
- );
191
-
192
- -- Graph nodes for GNN operations
193
- CREATE TABLE IF NOT EXISTS claude_flow.graph_nodes (
194
- id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
195
- node_id VARCHAR(255) NOT NULL UNIQUE,
196
- node_type VARCHAR(50),
197
- embedding ruvector(384),
198
- features JSONB DEFAULT '{}',
199
- created_at TIMESTAMPTZ DEFAULT NOW()
200
- );
201
-
202
- -- Graph edges for message passing
203
- CREATE TABLE IF NOT EXISTS claude_flow.graph_edges (
204
- id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
205
- source_id UUID REFERENCES claude_flow.graph_nodes(id),
206
- target_id UUID REFERENCES claude_flow.graph_nodes(id),
207
- edge_type VARCHAR(50),
208
- weight FLOAT DEFAULT 1.0,
209
- metadata JSONB DEFAULT '{}',
210
- created_at TIMESTAMPTZ DEFAULT NOW()
211
- );
212
-
213
- -- ============================================
214
- -- PART 3: HNSW INDICES (150x-12,500x faster)
215
- -- ============================================
216
-
217
- -- HNSW index for embeddings (cosine distance)
218
- CREATE INDEX IF NOT EXISTS idx_embeddings_hnsw
219
- ON claude_flow.embeddings
220
- USING hnsw (embedding ruvector_cosine_ops)
221
- WITH (m = 16, ef_construction = 100);
222
-
223
- -- HNSW index for patterns
224
- CREATE INDEX IF NOT EXISTS idx_patterns_hnsw
225
- ON claude_flow.patterns
226
- USING hnsw (embedding ruvector_cosine_ops)
227
- WITH (m = 16, ef_construction = 100);
228
-
229
- -- HNSW index for agent memory
230
- CREATE INDEX IF NOT EXISTS idx_agents_hnsw
231
- ON claude_flow.agents
232
- USING hnsw (memory_embedding ruvector_cosine_ops)
233
- WITH (m = 16, ef_construction = 64);
234
-
235
- -- HNSW index for memory entries
236
- CREATE INDEX IF NOT EXISTS idx_memory_entries_hnsw
237
- ON claude_flow.memory_entries
238
- USING hnsw (embedding ruvector_cosine_ops)
239
- WITH (m = 16, ef_construction = 100);
240
-
241
- -- HNSW index for hyperbolic embeddings
242
- CREATE INDEX IF NOT EXISTS idx_hyperbolic_hnsw
243
- ON claude_flow.hyperbolic_embeddings
244
- USING hnsw (euclidean_embedding ruvector_cosine_ops)
245
- WITH (m = 16, ef_construction = 100);
246
-
247
- -- HNSW index for graph nodes
248
- CREATE INDEX IF NOT EXISTS idx_graph_nodes_hnsw
249
- ON claude_flow.graph_nodes
250
- USING hnsw (embedding ruvector_cosine_ops)
251
- WITH (m = 16, ef_construction = 64);
252
-
253
- -- Additional indices for common queries
254
- CREATE INDEX IF NOT EXISTS idx_embeddings_namespace ON claude_flow.embeddings(namespace);
255
- CREATE INDEX IF NOT EXISTS idx_memory_entries_namespace ON claude_flow.memory_entries(namespace);
256
- CREATE INDEX IF NOT EXISTS idx_memory_entries_key ON claude_flow.memory_entries(key);
257
-
258
- -- ============================================
259
- -- PART 4: CORE SEARCH FUNCTIONS
260
- -- ============================================
261
-
262
- -- Semantic similarity search using RuVector HNSW
263
- CREATE OR REPLACE FUNCTION claude_flow.search_similar(
264
- query_embedding ruvector(384),
265
- limit_count INT DEFAULT 10,
266
- min_similarity FLOAT DEFAULT 0.5
267
- )
268
- RETURNS TABLE (
269
- id UUID,
270
- content TEXT,
271
- similarity FLOAT,
272
- metadata JSONB
273
- ) AS $$
274
- BEGIN
275
- RETURN QUERY
276
- SELECT
277
- e.id,
278
- e.content,
279
- (1 - (e.embedding <=> query_embedding))::FLOAT AS similarity,
280
- e.metadata
281
- FROM claude_flow.embeddings e
282
- WHERE e.embedding IS NOT NULL
283
- AND (1 - (e.embedding <=> query_embedding)) >= min_similarity
284
- ORDER BY e.embedding <=> query_embedding
285
- LIMIT limit_count;
286
- END;
287
- $$ LANGUAGE plpgsql STABLE;
288
-
289
- -- Memory search with namespace filtering
290
- CREATE OR REPLACE FUNCTION claude_flow.search_memory(
291
- query_embedding ruvector(384),
292
- namespace_filter VARCHAR(100) DEFAULT NULL,
293
- limit_count INT DEFAULT 10,
294
- min_similarity FLOAT DEFAULT 0.5
295
- )
296
- RETURNS TABLE (
297
- id UUID,
298
- key VARCHAR(255),
299
- value TEXT,
300
- namespace VARCHAR(100),
301
- similarity FLOAT,
302
- metadata JSONB
303
- ) AS $$
304
- BEGIN
305
- RETURN QUERY
306
- SELECT
307
- m.id,
308
- m.key,
309
- m.value,
310
- m.namespace,
311
- (1 - (m.embedding <=> query_embedding))::FLOAT AS similarity,
312
- m.metadata
313
- FROM claude_flow.memory_entries m
314
- WHERE m.embedding IS NOT NULL
315
- AND (1 - (m.embedding <=> query_embedding)) >= min_similarity
316
- AND (namespace_filter IS NULL OR m.namespace = namespace_filter)
317
- AND (m.ttl IS NULL OR m.ttl > NOW())
318
- ORDER BY m.embedding <=> query_embedding
319
- LIMIT limit_count;
320
- END;
321
- $$ LANGUAGE plpgsql STABLE;
322
-
323
- -- Pattern search with type filtering
324
- CREATE OR REPLACE FUNCTION claude_flow.search_patterns(
325
- query_embedding ruvector(384),
326
- pattern_type_filter VARCHAR(50) DEFAULT NULL,
327
- limit_count INT DEFAULT 10,
328
- min_confidence FLOAT DEFAULT 0.5
329
- )
330
- RETURNS TABLE (
331
- id UUID,
332
- name VARCHAR(255),
333
- description TEXT,
334
- similarity FLOAT,
335
- confidence FLOAT,
336
- metadata JSONB
337
- ) AS $$
338
- BEGIN
339
- RETURN QUERY
340
- SELECT
341
- p.id,
342
- p.name,
343
- p.description,
344
- (1 - (p.embedding <=> query_embedding))::FLOAT AS similarity,
345
- p.confidence,
346
- p.metadata
347
- FROM claude_flow.patterns p
348
- WHERE p.embedding IS NOT NULL
349
- AND p.confidence >= min_confidence
350
- AND (pattern_type_filter IS NULL OR p.pattern_type = pattern_type_filter)
351
- ORDER BY p.embedding <=> query_embedding
352
- LIMIT limit_count;
353
- END;
354
- $$ LANGUAGE plpgsql STABLE;
355
-
356
- -- Agent routing by expertise similarity
357
- CREATE OR REPLACE FUNCTION claude_flow.find_agents(
358
- query_embedding ruvector(384),
359
- agent_type_filter VARCHAR(50) DEFAULT NULL,
360
- limit_count INT DEFAULT 5
361
- )
362
- RETURNS TABLE (
363
- agent_id VARCHAR(255),
364
- agent_type VARCHAR(50),
365
- similarity FLOAT,
366
- state JSONB
367
- ) AS $$
368
- BEGIN
369
- RETURN QUERY
370
- SELECT
371
- a.agent_id,
372
- a.agent_type,
373
- (1 - (a.memory_embedding <=> query_embedding))::FLOAT AS similarity,
374
- a.state
375
- FROM claude_flow.agents a
376
- WHERE a.memory_embedding IS NOT NULL
377
- AND (agent_type_filter IS NULL OR a.agent_type = agent_type_filter)
378
- ORDER BY a.memory_embedding <=> query_embedding
379
- LIMIT limit_count;
380
- END;
381
- $$ LANGUAGE plpgsql STABLE;
382
-
383
- -- ============================================
384
- -- PART 5: HYPERBOLIC OPERATIONS
385
- -- ============================================
386
-
387
- -- Convert Euclidean to Poincaré embedding
388
- CREATE OR REPLACE FUNCTION claude_flow.to_poincare(
389
- euclidean real[],
390
- curvature FLOAT DEFAULT -1.0
391
- )
392
- RETURNS real[] AS $$
393
- BEGIN
394
- RETURN ruvector_exp_map(ARRAY_FILL(0.0::real, ARRAY[array_length(euclidean, 1)]), euclidean, curvature);
395
- END;
396
- $$ LANGUAGE plpgsql IMMUTABLE;
397
-
398
- -- Poincaré distance (geodesic)
399
- CREATE OR REPLACE FUNCTION claude_flow.poincare_distance(
400
- x real[],
401
- y real[],
402
- curvature FLOAT DEFAULT -1.0
403
- )
404
- RETURNS FLOAT AS $$
405
- BEGIN
406
- RETURN ruvector_poincare_distance(x, y, curvature);
407
- END;
408
- $$ LANGUAGE plpgsql IMMUTABLE;
409
-
410
- -- Hyperbolic search in Poincaré ball
411
- CREATE OR REPLACE FUNCTION claude_flow.hyperbolic_search(
412
- query ruvector(384),
413
- limit_count INT DEFAULT 10,
414
- curvature FLOAT DEFAULT -1.0
415
- )
416
- RETURNS TABLE (
417
- id UUID,
418
- content TEXT,
419
- euclidean_dist FLOAT,
420
- hyperbolic_dist FLOAT,
421
- hierarchy_level INT,
422
- metadata JSONB
423
- ) AS $$
424
- DECLARE
425
- query_arr real[];
426
- query_poincare real[];
427
- BEGIN
428
- -- Convert query to array and then to Poincaré
429
- SELECT array_agg(x::real ORDER BY ordinality) INTO query_arr
430
- FROM unnest(string_to_array(trim(both '[]' from query::text), ',')) WITH ORDINALITY AS t(x, ordinality);
431
-
432
- query_poincare := claude_flow.to_poincare(query_arr, curvature);
433
-
434
- RETURN QUERY
435
- SELECT
436
- he.id,
437
- he.content,
438
- (he.euclidean_embedding <-> query)::FLOAT AS euc_dist,
439
- COALESCE(ruvector_poincare_distance(he.poincare_embedding, query_poincare, curvature), 999.0)::FLOAT AS hyp_dist,
440
- he.hierarchy_level,
441
- he.metadata
442
- FROM claude_flow.hyperbolic_embeddings he
443
- WHERE he.euclidean_embedding IS NOT NULL
444
- ORDER BY he.euclidean_embedding <-> query
445
- LIMIT limit_count;
446
- END;
447
- $$ LANGUAGE plpgsql STABLE;
448
-
449
- -- ============================================
450
- -- PART 6: UTILITY FUNCTIONS
451
- -- ============================================
452
-
453
- -- Get RuVector version info
454
- CREATE OR REPLACE FUNCTION claude_flow.ruvector_info()
455
- RETURNS TABLE (
456
- version TEXT,
457
- simd_info TEXT
458
- ) AS $$
459
- BEGIN
460
- RETURN QUERY
461
- SELECT ruvector_version(), ruvector_simd_info();
462
- END;
463
- $$ LANGUAGE plpgsql STABLE;
464
-
465
- -- Cosine similarity helper (converts cosine distance to similarity)
466
- CREATE OR REPLACE FUNCTION claude_flow.cosine_similarity(
467
- a ruvector,
468
- b ruvector
469
- )
470
- RETURNS FLOAT AS $$
471
- BEGIN
472
- RETURN (1 - (a <=> b))::FLOAT;
473
- END;
474
- $$ LANGUAGE plpgsql IMMUTABLE;
475
-
476
- -- L2 distance helper
477
- CREATE OR REPLACE FUNCTION claude_flow.l2_distance(
478
- a ruvector,
479
- b ruvector
480
- )
481
- RETURNS FLOAT AS $$
482
- BEGIN
483
- RETURN (a <-> b)::FLOAT;
484
- END;
485
- $$ LANGUAGE plpgsql IMMUTABLE;
486
-
487
- -- Upsert memory entry
488
- CREATE OR REPLACE FUNCTION claude_flow.upsert_memory(
489
- p_key VARCHAR(255),
490
- p_value TEXT,
491
- p_embedding ruvector(384) DEFAULT NULL,
492
- p_namespace VARCHAR(100) DEFAULT 'default',
493
- p_metadata JSONB DEFAULT '{}',
494
- p_ttl TIMESTAMPTZ DEFAULT NULL
495
- )
496
- RETURNS UUID AS $$
497
- DECLARE
498
- v_id UUID;
499
- BEGIN
500
- INSERT INTO claude_flow.memory_entries (key, value, embedding, namespace, metadata, ttl, updated_at)
501
- VALUES (p_key, p_value, p_embedding, p_namespace, p_metadata, p_ttl, NOW())
502
- ON CONFLICT (key, namespace) DO UPDATE SET
503
- value = EXCLUDED.value,
504
- embedding = COALESCE(EXCLUDED.embedding, claude_flow.memory_entries.embedding),
505
- metadata = EXCLUDED.metadata,
506
- ttl = EXCLUDED.ttl,
507
- updated_at = NOW()
508
- RETURNING id INTO v_id;
509
-
510
- RETURN v_id;
511
- END;
512
- $$ LANGUAGE plpgsql;
513
-
514
- -- ============================================
515
- -- COMPLETION
516
- -- ============================================
517
-
518
- DO $$
519
- DECLARE
520
- v_version TEXT;
521
- v_simd TEXT;
522
- BEGIN
523
- SELECT ruvector_version() INTO v_version;
524
- SELECT ruvector_simd_info() INTO v_simd;
525
-
526
- RAISE NOTICE '';
527
- RAISE NOTICE '============================================';
528
- RAISE NOTICE 'RuVector PostgreSQL Initialization Complete!';
529
- RAISE NOTICE '============================================';
530
- RAISE NOTICE '';
531
- RAISE NOTICE 'RuVector Version: %', v_version;
532
- RAISE NOTICE 'SIMD: %', v_simd;
533
- RAISE NOTICE '';
534
- RAISE NOTICE 'Schema: claude_flow';
535
- RAISE NOTICE 'Tables: embeddings, patterns, agents, trajectories,';
536
- RAISE NOTICE ' memory_entries, hyperbolic_embeddings,';
537
- RAISE NOTICE ' graph_nodes, graph_edges';
538
- RAISE NOTICE 'Indices: 6 HNSW indices + 3 B-tree indices';
539
- RAISE NOTICE '';
540
- RAISE NOTICE 'Key Functions:';
541
- RAISE NOTICE ' - claude_flow.search_similar(embedding, limit, min_sim)';
542
- RAISE NOTICE ' - claude_flow.search_memory(embedding, namespace, limit)';
543
- RAISE NOTICE ' - claude_flow.search_patterns(embedding, type, limit)';
544
- RAISE NOTICE ' - claude_flow.find_agents(embedding, type, limit)';
545
- RAISE NOTICE ' - claude_flow.hyperbolic_search(embedding, limit, curvature)';
546
- RAISE NOTICE ' - claude_flow.upsert_memory(key, value, embedding, namespace)';
547
- RAISE NOTICE '';
548
- RAISE NOTICE 'Operators: <=> (cosine), <-> (L2), <#> (neg inner product)';
549
- RAISE NOTICE '';
550
- END $$;
75
+ const INIT_SQL_TEMPLATE = `-- ============================================
76
+ -- RUVECTOR POSTGRESQL INITIALIZATION SCRIPT
77
+ -- ============================================
78
+ --
79
+ -- This script initializes RuVector PostgreSQL extension
80
+ -- from ruvnet/ruvector-postgres with Claude-Flow V3 integration.
81
+ --
82
+ -- RuVector provides 77+ SQL functions including:
83
+ -- - Vector similarity search (HNSW with SIMD)
84
+ -- - Hyperbolic embeddings (Poincaré/Lorentz)
85
+ -- - Graph operations (Cypher queries)
86
+ -- - Agent routing and learning
87
+ --
88
+ -- Performance: ~61µs latency, 16,400 QPS
89
+
90
+ -- ============================================
91
+ -- PART 1: EXTENSION AND SCHEMA SETUP
92
+ -- ============================================
93
+
94
+ -- IMPORTANT: RuVector requires explicit VERSION
95
+ -- The control file says 2.0.0 but only 0.1.0 SQL exists
96
+ CREATE EXTENSION IF NOT EXISTS ruvector VERSION '0.1.0';
97
+
98
+ -- Enable additional required extensions
99
+ CREATE EXTENSION IF NOT EXISTS pgcrypto;
100
+
101
+ -- Create the claude_flow schema
102
+ CREATE SCHEMA IF NOT EXISTS claude_flow;
103
+
104
+ -- Grant permissions
105
+ GRANT ALL ON SCHEMA claude_flow TO claude;
106
+
107
+ -- Set search path
108
+ SET search_path TO claude_flow, public;
109
+
110
+ -- ============================================
111
+ -- PART 2: CORE TABLES
112
+ -- ============================================
113
+
114
+ -- Embeddings table with RuVector vector type (384-dim for all-MiniLM-L6-v2)
115
+ CREATE TABLE IF NOT EXISTS claude_flow.embeddings (
116
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
117
+ content TEXT NOT NULL,
118
+ embedding ruvector(384),
119
+ metadata JSONB DEFAULT '{}',
120
+ namespace VARCHAR(100) DEFAULT 'default',
121
+ created_at TIMESTAMPTZ DEFAULT NOW(),
122
+ updated_at TIMESTAMPTZ DEFAULT NOW()
123
+ );
124
+
125
+ -- Patterns table for learned patterns (ReasoningBank)
126
+ CREATE TABLE IF NOT EXISTS claude_flow.patterns (
127
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
128
+ name VARCHAR(255) NOT NULL,
129
+ description TEXT,
130
+ embedding ruvector(384),
131
+ pattern_type VARCHAR(50),
132
+ confidence FLOAT DEFAULT 0.5,
133
+ success_count INT DEFAULT 0,
134
+ failure_count INT DEFAULT 0,
135
+ ewc_importance FLOAT DEFAULT 1.0,
136
+ metadata JSONB DEFAULT '{}',
137
+ created_at TIMESTAMPTZ DEFAULT NOW()
138
+ );
139
+
140
+ -- Agents table for multi-agent memory coordination
141
+ CREATE TABLE IF NOT EXISTS claude_flow.agents (
142
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
143
+ agent_id VARCHAR(255) NOT NULL UNIQUE,
144
+ agent_type VARCHAR(50),
145
+ state JSONB DEFAULT '{}',
146
+ memory_embedding ruvector(384),
147
+ last_active TIMESTAMPTZ DEFAULT NOW(),
148
+ created_at TIMESTAMPTZ DEFAULT NOW()
149
+ );
150
+
151
+ -- Trajectories table for SONA reinforcement learning
152
+ CREATE TABLE IF NOT EXISTS claude_flow.trajectories (
153
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
154
+ trajectory_id VARCHAR(255) NOT NULL UNIQUE,
155
+ agent_type VARCHAR(50),
156
+ task_description TEXT,
157
+ status VARCHAR(20) DEFAULT 'in_progress',
158
+ steps JSONB DEFAULT '[]',
159
+ outcome VARCHAR(20),
160
+ quality_score FLOAT,
161
+ started_at TIMESTAMPTZ DEFAULT NOW(),
162
+ ended_at TIMESTAMPTZ
163
+ );
164
+
165
+ -- Memory entries table (main storage for Claude-Flow memory)
166
+ CREATE TABLE IF NOT EXISTS claude_flow.memory_entries (
167
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
168
+ key VARCHAR(255) NOT NULL,
169
+ value TEXT NOT NULL,
170
+ embedding ruvector(384),
171
+ namespace VARCHAR(100) DEFAULT 'default',
172
+ metadata JSONB DEFAULT '{}',
173
+ ttl TIMESTAMPTZ,
174
+ created_at TIMESTAMPTZ DEFAULT NOW(),
175
+ updated_at TIMESTAMPTZ DEFAULT NOW(),
176
+ UNIQUE(key, namespace)
177
+ );
178
+
179
+ -- Hyperbolic embeddings for hierarchical data
180
+ CREATE TABLE IF NOT EXISTS claude_flow.hyperbolic_embeddings (
181
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
182
+ content TEXT NOT NULL,
183
+ euclidean_embedding ruvector(384),
184
+ poincare_embedding real[], -- Array for hyperbolic operations
185
+ curvature FLOAT DEFAULT -1.0,
186
+ hierarchy_level INT DEFAULT 0,
187
+ parent_id UUID REFERENCES claude_flow.hyperbolic_embeddings(id),
188
+ metadata JSONB DEFAULT '{}',
189
+ created_at TIMESTAMPTZ DEFAULT NOW()
190
+ );
191
+
192
+ -- Graph nodes for GNN operations
193
+ CREATE TABLE IF NOT EXISTS claude_flow.graph_nodes (
194
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
195
+ node_id VARCHAR(255) NOT NULL UNIQUE,
196
+ node_type VARCHAR(50),
197
+ embedding ruvector(384),
198
+ features JSONB DEFAULT '{}',
199
+ created_at TIMESTAMPTZ DEFAULT NOW()
200
+ );
201
+
202
+ -- Graph edges for message passing
203
+ CREATE TABLE IF NOT EXISTS claude_flow.graph_edges (
204
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
205
+ source_id UUID REFERENCES claude_flow.graph_nodes(id),
206
+ target_id UUID REFERENCES claude_flow.graph_nodes(id),
207
+ edge_type VARCHAR(50),
208
+ weight FLOAT DEFAULT 1.0,
209
+ metadata JSONB DEFAULT '{}',
210
+ created_at TIMESTAMPTZ DEFAULT NOW()
211
+ );
212
+
213
+ -- ============================================
214
+ -- PART 3: HNSW INDICES (150x-12,500x faster)
215
+ -- ============================================
216
+
217
+ -- HNSW index for embeddings (cosine distance)
218
+ CREATE INDEX IF NOT EXISTS idx_embeddings_hnsw
219
+ ON claude_flow.embeddings
220
+ USING hnsw (embedding ruvector_cosine_ops)
221
+ WITH (m = 16, ef_construction = 100);
222
+
223
+ -- HNSW index for patterns
224
+ CREATE INDEX IF NOT EXISTS idx_patterns_hnsw
225
+ ON claude_flow.patterns
226
+ USING hnsw (embedding ruvector_cosine_ops)
227
+ WITH (m = 16, ef_construction = 100);
228
+
229
+ -- HNSW index for agent memory
230
+ CREATE INDEX IF NOT EXISTS idx_agents_hnsw
231
+ ON claude_flow.agents
232
+ USING hnsw (memory_embedding ruvector_cosine_ops)
233
+ WITH (m = 16, ef_construction = 64);
234
+
235
+ -- HNSW index for memory entries
236
+ CREATE INDEX IF NOT EXISTS idx_memory_entries_hnsw
237
+ ON claude_flow.memory_entries
238
+ USING hnsw (embedding ruvector_cosine_ops)
239
+ WITH (m = 16, ef_construction = 100);
240
+
241
+ -- HNSW index for hyperbolic embeddings
242
+ CREATE INDEX IF NOT EXISTS idx_hyperbolic_hnsw
243
+ ON claude_flow.hyperbolic_embeddings
244
+ USING hnsw (euclidean_embedding ruvector_cosine_ops)
245
+ WITH (m = 16, ef_construction = 100);
246
+
247
+ -- HNSW index for graph nodes
248
+ CREATE INDEX IF NOT EXISTS idx_graph_nodes_hnsw
249
+ ON claude_flow.graph_nodes
250
+ USING hnsw (embedding ruvector_cosine_ops)
251
+ WITH (m = 16, ef_construction = 64);
252
+
253
+ -- Additional indices for common queries
254
+ CREATE INDEX IF NOT EXISTS idx_embeddings_namespace ON claude_flow.embeddings(namespace);
255
+ CREATE INDEX IF NOT EXISTS idx_memory_entries_namespace ON claude_flow.memory_entries(namespace);
256
+ CREATE INDEX IF NOT EXISTS idx_memory_entries_key ON claude_flow.memory_entries(key);
257
+
258
+ -- ============================================
259
+ -- PART 4: CORE SEARCH FUNCTIONS
260
+ -- ============================================
261
+
262
+ -- Semantic similarity search using RuVector HNSW
263
+ CREATE OR REPLACE FUNCTION claude_flow.search_similar(
264
+ query_embedding ruvector(384),
265
+ limit_count INT DEFAULT 10,
266
+ min_similarity FLOAT DEFAULT 0.5
267
+ )
268
+ RETURNS TABLE (
269
+ id UUID,
270
+ content TEXT,
271
+ similarity FLOAT,
272
+ metadata JSONB
273
+ ) AS $$
274
+ BEGIN
275
+ RETURN QUERY
276
+ SELECT
277
+ e.id,
278
+ e.content,
279
+ (1 - (e.embedding <=> query_embedding))::FLOAT AS similarity,
280
+ e.metadata
281
+ FROM claude_flow.embeddings e
282
+ WHERE e.embedding IS NOT NULL
283
+ AND (1 - (e.embedding <=> query_embedding)) >= min_similarity
284
+ ORDER BY e.embedding <=> query_embedding
285
+ LIMIT limit_count;
286
+ END;
287
+ $$ LANGUAGE plpgsql STABLE;
288
+
289
+ -- Memory search with namespace filtering
290
+ CREATE OR REPLACE FUNCTION claude_flow.search_memory(
291
+ query_embedding ruvector(384),
292
+ namespace_filter VARCHAR(100) DEFAULT NULL,
293
+ limit_count INT DEFAULT 10,
294
+ min_similarity FLOAT DEFAULT 0.5
295
+ )
296
+ RETURNS TABLE (
297
+ id UUID,
298
+ key VARCHAR(255),
299
+ value TEXT,
300
+ namespace VARCHAR(100),
301
+ similarity FLOAT,
302
+ metadata JSONB
303
+ ) AS $$
304
+ BEGIN
305
+ RETURN QUERY
306
+ SELECT
307
+ m.id,
308
+ m.key,
309
+ m.value,
310
+ m.namespace,
311
+ (1 - (m.embedding <=> query_embedding))::FLOAT AS similarity,
312
+ m.metadata
313
+ FROM claude_flow.memory_entries m
314
+ WHERE m.embedding IS NOT NULL
315
+ AND (1 - (m.embedding <=> query_embedding)) >= min_similarity
316
+ AND (namespace_filter IS NULL OR m.namespace = namespace_filter)
317
+ AND (m.ttl IS NULL OR m.ttl > NOW())
318
+ ORDER BY m.embedding <=> query_embedding
319
+ LIMIT limit_count;
320
+ END;
321
+ $$ LANGUAGE plpgsql STABLE;
322
+
323
+ -- Pattern search with type filtering
324
+ CREATE OR REPLACE FUNCTION claude_flow.search_patterns(
325
+ query_embedding ruvector(384),
326
+ pattern_type_filter VARCHAR(50) DEFAULT NULL,
327
+ limit_count INT DEFAULT 10,
328
+ min_confidence FLOAT DEFAULT 0.5
329
+ )
330
+ RETURNS TABLE (
331
+ id UUID,
332
+ name VARCHAR(255),
333
+ description TEXT,
334
+ similarity FLOAT,
335
+ confidence FLOAT,
336
+ metadata JSONB
337
+ ) AS $$
338
+ BEGIN
339
+ RETURN QUERY
340
+ SELECT
341
+ p.id,
342
+ p.name,
343
+ p.description,
344
+ (1 - (p.embedding <=> query_embedding))::FLOAT AS similarity,
345
+ p.confidence,
346
+ p.metadata
347
+ FROM claude_flow.patterns p
348
+ WHERE p.embedding IS NOT NULL
349
+ AND p.confidence >= min_confidence
350
+ AND (pattern_type_filter IS NULL OR p.pattern_type = pattern_type_filter)
351
+ ORDER BY p.embedding <=> query_embedding
352
+ LIMIT limit_count;
353
+ END;
354
+ $$ LANGUAGE plpgsql STABLE;
355
+
356
+ -- Agent routing by expertise similarity
357
+ CREATE OR REPLACE FUNCTION claude_flow.find_agents(
358
+ query_embedding ruvector(384),
359
+ agent_type_filter VARCHAR(50) DEFAULT NULL,
360
+ limit_count INT DEFAULT 5
361
+ )
362
+ RETURNS TABLE (
363
+ agent_id VARCHAR(255),
364
+ agent_type VARCHAR(50),
365
+ similarity FLOAT,
366
+ state JSONB
367
+ ) AS $$
368
+ BEGIN
369
+ RETURN QUERY
370
+ SELECT
371
+ a.agent_id,
372
+ a.agent_type,
373
+ (1 - (a.memory_embedding <=> query_embedding))::FLOAT AS similarity,
374
+ a.state
375
+ FROM claude_flow.agents a
376
+ WHERE a.memory_embedding IS NOT NULL
377
+ AND (agent_type_filter IS NULL OR a.agent_type = agent_type_filter)
378
+ ORDER BY a.memory_embedding <=> query_embedding
379
+ LIMIT limit_count;
380
+ END;
381
+ $$ LANGUAGE plpgsql STABLE;
382
+
383
+ -- ============================================
384
+ -- PART 5: HYPERBOLIC OPERATIONS
385
+ -- ============================================
386
+
387
+ -- Convert Euclidean to Poincaré embedding
388
+ CREATE OR REPLACE FUNCTION claude_flow.to_poincare(
389
+ euclidean real[],
390
+ curvature FLOAT DEFAULT -1.0
391
+ )
392
+ RETURNS real[] AS $$
393
+ BEGIN
394
+ RETURN ruvector_exp_map(ARRAY_FILL(0.0::real, ARRAY[array_length(euclidean, 1)]), euclidean, curvature);
395
+ END;
396
+ $$ LANGUAGE plpgsql IMMUTABLE;
397
+
398
+ -- Poincaré distance (geodesic)
399
+ CREATE OR REPLACE FUNCTION claude_flow.poincare_distance(
400
+ x real[],
401
+ y real[],
402
+ curvature FLOAT DEFAULT -1.0
403
+ )
404
+ RETURNS FLOAT AS $$
405
+ BEGIN
406
+ RETURN ruvector_poincare_distance(x, y, curvature);
407
+ END;
408
+ $$ LANGUAGE plpgsql IMMUTABLE;
409
+
410
+ -- Hyperbolic search in Poincaré ball
411
+ CREATE OR REPLACE FUNCTION claude_flow.hyperbolic_search(
412
+ query ruvector(384),
413
+ limit_count INT DEFAULT 10,
414
+ curvature FLOAT DEFAULT -1.0
415
+ )
416
+ RETURNS TABLE (
417
+ id UUID,
418
+ content TEXT,
419
+ euclidean_dist FLOAT,
420
+ hyperbolic_dist FLOAT,
421
+ hierarchy_level INT,
422
+ metadata JSONB
423
+ ) AS $$
424
+ DECLARE
425
+ query_arr real[];
426
+ query_poincare real[];
427
+ BEGIN
428
+ -- Convert query to array and then to Poincaré
429
+ SELECT array_agg(x::real ORDER BY ordinality) INTO query_arr
430
+ FROM unnest(string_to_array(trim(both '[]' from query::text), ',')) WITH ORDINALITY AS t(x, ordinality);
431
+
432
+ query_poincare := claude_flow.to_poincare(query_arr, curvature);
433
+
434
+ RETURN QUERY
435
+ SELECT
436
+ he.id,
437
+ he.content,
438
+ (he.euclidean_embedding <-> query)::FLOAT AS euc_dist,
439
+ COALESCE(ruvector_poincare_distance(he.poincare_embedding, query_poincare, curvature), 999.0)::FLOAT AS hyp_dist,
440
+ he.hierarchy_level,
441
+ he.metadata
442
+ FROM claude_flow.hyperbolic_embeddings he
443
+ WHERE he.euclidean_embedding IS NOT NULL
444
+ ORDER BY he.euclidean_embedding <-> query
445
+ LIMIT limit_count;
446
+ END;
447
+ $$ LANGUAGE plpgsql STABLE;
448
+
449
+ -- ============================================
450
+ -- PART 6: UTILITY FUNCTIONS
451
+ -- ============================================
452
+
453
+ -- Get RuVector version info
454
+ CREATE OR REPLACE FUNCTION claude_flow.ruvector_info()
455
+ RETURNS TABLE (
456
+ version TEXT,
457
+ simd_info TEXT
458
+ ) AS $$
459
+ BEGIN
460
+ RETURN QUERY
461
+ SELECT ruvector_version(), ruvector_simd_info();
462
+ END;
463
+ $$ LANGUAGE plpgsql STABLE;
464
+
465
+ -- Cosine similarity helper (converts cosine distance to similarity)
466
+ CREATE OR REPLACE FUNCTION claude_flow.cosine_similarity(
467
+ a ruvector,
468
+ b ruvector
469
+ )
470
+ RETURNS FLOAT AS $$
471
+ BEGIN
472
+ RETURN (1 - (a <=> b))::FLOAT;
473
+ END;
474
+ $$ LANGUAGE plpgsql IMMUTABLE;
475
+
476
+ -- L2 distance helper
477
+ CREATE OR REPLACE FUNCTION claude_flow.l2_distance(
478
+ a ruvector,
479
+ b ruvector
480
+ )
481
+ RETURNS FLOAT AS $$
482
+ BEGIN
483
+ RETURN (a <-> b)::FLOAT;
484
+ END;
485
+ $$ LANGUAGE plpgsql IMMUTABLE;
486
+
487
+ -- Upsert memory entry
488
+ CREATE OR REPLACE FUNCTION claude_flow.upsert_memory(
489
+ p_key VARCHAR(255),
490
+ p_value TEXT,
491
+ p_embedding ruvector(384) DEFAULT NULL,
492
+ p_namespace VARCHAR(100) DEFAULT 'default',
493
+ p_metadata JSONB DEFAULT '{}',
494
+ p_ttl TIMESTAMPTZ DEFAULT NULL
495
+ )
496
+ RETURNS UUID AS $$
497
+ DECLARE
498
+ v_id UUID;
499
+ BEGIN
500
+ INSERT INTO claude_flow.memory_entries (key, value, embedding, namespace, metadata, ttl, updated_at)
501
+ VALUES (p_key, p_value, p_embedding, p_namespace, p_metadata, p_ttl, NOW())
502
+ ON CONFLICT (key, namespace) DO UPDATE SET
503
+ value = EXCLUDED.value,
504
+ embedding = COALESCE(EXCLUDED.embedding, claude_flow.memory_entries.embedding),
505
+ metadata = EXCLUDED.metadata,
506
+ ttl = EXCLUDED.ttl,
507
+ updated_at = NOW()
508
+ RETURNING id INTO v_id;
509
+
510
+ RETURN v_id;
511
+ END;
512
+ $$ LANGUAGE plpgsql;
513
+
514
+ -- ============================================
515
+ -- COMPLETION
516
+ -- ============================================
517
+
518
+ DO $$
519
+ DECLARE
520
+ v_version TEXT;
521
+ v_simd TEXT;
522
+ BEGIN
523
+ SELECT ruvector_version() INTO v_version;
524
+ SELECT ruvector_simd_info() INTO v_simd;
525
+
526
+ RAISE NOTICE '';
527
+ RAISE NOTICE '============================================';
528
+ RAISE NOTICE 'RuVector PostgreSQL Initialization Complete!';
529
+ RAISE NOTICE '============================================';
530
+ RAISE NOTICE '';
531
+ RAISE NOTICE 'RuVector Version: %', v_version;
532
+ RAISE NOTICE 'SIMD: %', v_simd;
533
+ RAISE NOTICE '';
534
+ RAISE NOTICE 'Schema: claude_flow';
535
+ RAISE NOTICE 'Tables: embeddings, patterns, agents, trajectories,';
536
+ RAISE NOTICE ' memory_entries, hyperbolic_embeddings,';
537
+ RAISE NOTICE ' graph_nodes, graph_edges';
538
+ RAISE NOTICE 'Indices: 6 HNSW indices + 3 B-tree indices';
539
+ RAISE NOTICE '';
540
+ RAISE NOTICE 'Key Functions:';
541
+ RAISE NOTICE ' - claude_flow.search_similar(embedding, limit, min_sim)';
542
+ RAISE NOTICE ' - claude_flow.search_memory(embedding, namespace, limit)';
543
+ RAISE NOTICE ' - claude_flow.search_patterns(embedding, type, limit)';
544
+ RAISE NOTICE ' - claude_flow.find_agents(embedding, type, limit)';
545
+ RAISE NOTICE ' - claude_flow.hyperbolic_search(embedding, limit, curvature)';
546
+ RAISE NOTICE ' - claude_flow.upsert_memory(key, value, embedding, namespace)';
547
+ RAISE NOTICE '';
548
+ RAISE NOTICE 'Operators: <=> (cosine), <-> (L2), <#> (neg inner product)';
549
+ RAISE NOTICE '';
550
+ END $$;
551
551
  `;
552
552
  /**
553
553
  * README template
554
554
  */
555
- const README_TEMPLATE = `# RuVector PostgreSQL Setup
556
-
557
- This directory contains the Docker configuration for RuVector PostgreSQL with Claude-Flow V3.
558
-
559
- ## Quick Start
560
-
561
- \`\`\`bash
562
- # Start the container
563
- docker-compose up -d
564
-
565
- # Verify it's running
566
- docker-compose ps
567
-
568
- # Check RuVector version
569
- docker exec ruvector-postgres psql -U claude -d claude_flow -c "SELECT ruvector_version();"
570
- \`\`\`
571
-
572
- ## Connection Details
573
-
574
- | Setting | Value |
575
- |---------|-------|
576
- | Host | localhost |
577
- | Port | 5432 |
578
- | Database | claude_flow |
579
- | Username | claude |
580
- | Password | claude-flow-test |
581
- | Schema | claude_flow |
582
-
583
- ## RuVector Syntax
584
-
585
- ### Extension Installation
586
- \`\`\`sql
587
- -- IMPORTANT: Requires explicit version
588
- CREATE EXTENSION IF NOT EXISTS ruvector VERSION '0.1.0';
589
- \`\`\`
590
-
591
- ### Vector Type
592
- \`\`\`sql
593
- -- Use ruvector(384), NOT vector(384)
594
- CREATE TABLE embeddings (
595
- id UUID PRIMARY KEY,
596
- embedding ruvector(384)
597
- );
598
- \`\`\`
599
-
600
- ### Distance Operators
601
- | Operator | Description |
602
- |----------|-------------|
603
- | \`<=>\` | Cosine distance |
604
- | \`<->\` | L2 (Euclidean) distance |
605
- | \`<#>\` | Negative inner product |
606
-
607
- ### HNSW Index
608
- \`\`\`sql
609
- CREATE INDEX idx_embeddings_hnsw
610
- ON embeddings
611
- USING hnsw (embedding ruvector_cosine_ops)
612
- WITH (m = 16, ef_construction = 100);
613
- \`\`\`
614
-
615
- ## Import from sql.js/JSON
616
-
617
- \`\`\`bash
618
- # Export current Claude-Flow memory
619
- npx claude-flow memory list --format json > memory-export.json
620
-
621
- # Import to RuVector PostgreSQL
622
- npx claude-flow ruvector import --input memory-export.json
623
- \`\`\`
624
-
625
- ## pgAdmin (Optional)
626
-
627
- \`\`\`bash
628
- docker-compose --profile gui up -d
629
- \`\`\`
630
-
631
- Access at: http://localhost:5050
632
- - Email: admin@claude-flow.local
633
- - Password: admin
634
-
635
- ## Troubleshooting
636
-
637
- ### Extension creation fails
638
- Use explicit version: \`CREATE EXTENSION ruvector VERSION '0.1.0';\`
639
-
640
- ### Container won't start
641
- \`\`\`bash
642
- docker-compose logs postgres
643
- docker-compose down -v
644
- docker-compose up -d
645
- \`\`\`
646
-
647
- ## Learn More
648
- - [RuVector Docker Hub](https://hub.docker.com/r/ruvnet/ruvector-postgres)
649
- - [Claude-Flow Documentation](https://github.com/ruvnet/claude-flow)
555
+ const README_TEMPLATE = `# RuVector PostgreSQL Setup
556
+
557
+ This directory contains the Docker configuration for RuVector PostgreSQL with Claude-Flow V3.
558
+
559
+ ## Quick Start
560
+
561
+ \`\`\`bash
562
+ # Start the container
563
+ docker-compose up -d
564
+
565
+ # Verify it's running
566
+ docker-compose ps
567
+
568
+ # Check RuVector version
569
+ docker exec ruvector-postgres psql -U claude -d claude_flow -c "SELECT ruvector_version();"
570
+ \`\`\`
571
+
572
+ ## Connection Details
573
+
574
+ | Setting | Value |
575
+ |---------|-------|
576
+ | Host | localhost |
577
+ | Port | 5432 |
578
+ | Database | claude_flow |
579
+ | Username | claude |
580
+ | Password | claude-flow-test |
581
+ | Schema | claude_flow |
582
+
583
+ ## RuVector Syntax
584
+
585
+ ### Extension Installation
586
+ \`\`\`sql
587
+ -- IMPORTANT: Requires explicit version
588
+ CREATE EXTENSION IF NOT EXISTS ruvector VERSION '0.1.0';
589
+ \`\`\`
590
+
591
+ ### Vector Type
592
+ \`\`\`sql
593
+ -- Use ruvector(384), NOT vector(384)
594
+ CREATE TABLE embeddings (
595
+ id UUID PRIMARY KEY,
596
+ embedding ruvector(384)
597
+ );
598
+ \`\`\`
599
+
600
+ ### Distance Operators
601
+ | Operator | Description |
602
+ |----------|-------------|
603
+ | \`<=>\` | Cosine distance |
604
+ | \`<->\` | L2 (Euclidean) distance |
605
+ | \`<#>\` | Negative inner product |
606
+
607
+ ### HNSW Index
608
+ \`\`\`sql
609
+ CREATE INDEX idx_embeddings_hnsw
610
+ ON embeddings
611
+ USING hnsw (embedding ruvector_cosine_ops)
612
+ WITH (m = 16, ef_construction = 100);
613
+ \`\`\`
614
+
615
+ ## Import from sql.js/JSON
616
+
617
+ \`\`\`bash
618
+ # Export current Claude-Flow memory
619
+ npx claude-flow memory list --format json > memory-export.json
620
+
621
+ # Import to RuVector PostgreSQL
622
+ npx claude-flow ruvector import --input memory-export.json
623
+ \`\`\`
624
+
625
+ ## pgAdmin (Optional)
626
+
627
+ \`\`\`bash
628
+ docker-compose --profile gui up -d
629
+ \`\`\`
630
+
631
+ Access at: http://localhost:5050
632
+ - Email: admin@claude-flow.local
633
+ - Password: admin
634
+
635
+ ## Troubleshooting
636
+
637
+ ### Extension creation fails
638
+ Use explicit version: \`CREATE EXTENSION ruvector VERSION '0.1.0';\`
639
+
640
+ ### Container won't start
641
+ \`\`\`bash
642
+ docker-compose logs postgres
643
+ docker-compose down -v
644
+ docker-compose up -d
645
+ \`\`\`
646
+
647
+ ## Learn More
648
+ - [RuVector Docker Hub](https://hub.docker.com/r/ruvnet/ruvector-postgres)
649
+ - [Claude-Flow Documentation](https://github.com/ruvnet/claude-flow)
650
650
  `;
651
651
  /**
652
652
  * RuVector Setup command - outputs Docker files and SQL