odd-flow 1.0.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 (730) hide show
  1. package/.claude/agents/MIGRATION_SUMMARY.md +222 -0
  2. package/.claude/agents/analysis/analyze-code-quality.md +58 -0
  3. package/.claude/agents/analysis/code-analyzer.md +189 -0
  4. package/.claude/agents/analysis/code-review/analyze-code-quality.md +58 -0
  5. package/.claude/agents/architecture/system-design/arch-system-design.md +36 -0
  6. package/.claude/agents/base-template-generator.md +41 -0
  7. package/.claude/agents/consensus/byzantine-coordinator.md +43 -0
  8. package/.claude/agents/consensus/crdt-synchronizer.md +977 -0
  9. package/.claude/agents/consensus/gossip-coordinator.md +43 -0
  10. package/.claude/agents/consensus/performance-benchmarker.md +831 -0
  11. package/.claude/agents/consensus/quorum-manager.md +803 -0
  12. package/.claude/agents/consensus/raft-manager.md +43 -0
  13. package/.claude/agents/consensus/security-manager.md +602 -0
  14. package/.claude/agents/core/coder.md +244 -0
  15. package/.claude/agents/core/planner.md +152 -0
  16. package/.claude/agents/core/researcher.md +174 -0
  17. package/.claude/agents/core/reviewer.md +309 -0
  18. package/.claude/agents/core/tester.md +300 -0
  19. package/.claude/agents/custom/test-long-runner.md +43 -0
  20. package/.claude/agents/data/ml/data-ml-model.md +76 -0
  21. package/.claude/agents/database-specialist.md +9 -0
  22. package/.claude/agents/development/backend/dev-backend-api.md +29 -0
  23. package/.claude/agents/development/dev-backend-api.md +178 -0
  24. package/.claude/agents/devops/ci-cd/ops-cicd-github.md +52 -0
  25. package/.claude/agents/documentation/api-docs/docs-api-openapi.md +63 -0
  26. package/.claude/agents/dual-mode/codex-coordinator.md +201 -0
  27. package/.claude/agents/dual-mode/codex-worker.md +183 -0
  28. package/.claude/agents/dual-mode/dual-orchestrator.md +253 -0
  29. package/.claude/agents/flow-nexus/app-store.md +88 -0
  30. package/.claude/agents/flow-nexus/authentication.md +69 -0
  31. package/.claude/agents/flow-nexus/challenges.md +81 -0
  32. package/.claude/agents/flow-nexus/neural-network.md +88 -0
  33. package/.claude/agents/flow-nexus/payments.md +83 -0
  34. package/.claude/agents/flow-nexus/sandbox.md +76 -0
  35. package/.claude/agents/flow-nexus/swarm.md +76 -0
  36. package/.claude/agents/flow-nexus/user-tools.md +96 -0
  37. package/.claude/agents/flow-nexus/workflow.md +84 -0
  38. package/.claude/agents/github/code-review-swarm.md +521 -0
  39. package/.claude/agents/github/github-modes.md +154 -0
  40. package/.claude/agents/github/issue-tracker.md +299 -0
  41. package/.claude/agents/github/multi-repo-swarm.md +525 -0
  42. package/.claude/agents/github/pr-manager.md +163 -0
  43. package/.claude/agents/github/project-board-sync.md +478 -0
  44. package/.claude/agents/github/release-manager.md +336 -0
  45. package/.claude/agents/github/release-swarm.md +551 -0
  46. package/.claude/agents/github/repo-architect.md +365 -0
  47. package/.claude/agents/github/swarm-issue.md +548 -0
  48. package/.claude/agents/github/swarm-pr.md +399 -0
  49. package/.claude/agents/github/sync-coordinator.md +423 -0
  50. package/.claude/agents/github/workflow-automation.md +605 -0
  51. package/.claude/agents/goal/agent.md +817 -0
  52. package/.claude/agents/goal/code-goal-planner.md +445 -0
  53. package/.claude/agents/goal/goal-planner.md +168 -0
  54. package/.claude/agents/hive-mind/collective-intelligence-coordinator.md +129 -0
  55. package/.claude/agents/hive-mind/queen-coordinator.md +202 -0
  56. package/.claude/agents/hive-mind/scout-explorer.md +241 -0
  57. package/.claude/agents/hive-mind/swarm-memory-manager.md +192 -0
  58. package/.claude/agents/hive-mind/worker-specialist.md +216 -0
  59. package/.claude/agents/neural/safla-neural.md +74 -0
  60. package/.claude/agents/optimization/benchmark-suite.md +663 -0
  61. package/.claude/agents/optimization/load-balancer.md +429 -0
  62. package/.claude/agents/optimization/performance-monitor.md +670 -0
  63. package/.claude/agents/optimization/resource-allocator.md +672 -0
  64. package/.claude/agents/optimization/topology-optimizer.md +806 -0
  65. package/.claude/agents/payments/agentic-payments.md +126 -0
  66. package/.claude/agents/project-coordinator.md +8 -0
  67. package/.claude/agents/python-specialist.md +9 -0
  68. package/.claude/agents/reasoning/agent.md +817 -0
  69. package/.claude/agents/reasoning/goal-planner.md +73 -0
  70. package/.claude/agents/security-auditor.md +9 -0
  71. package/.claude/agents/sona/sona-learning-optimizer.md +65 -0
  72. package/.claude/agents/sparc/architecture.md +453 -0
  73. package/.claude/agents/sparc/pseudocode.md +299 -0
  74. package/.claude/agents/sparc/refinement.md +504 -0
  75. package/.claude/agents/sparc/specification.md +258 -0
  76. package/.claude/agents/specialized/mobile/spec-mobile-react-native.md +88 -0
  77. package/.claude/agents/sublinear/consensus-coordinator.md +338 -0
  78. package/.claude/agents/sublinear/matrix-optimizer.md +185 -0
  79. package/.claude/agents/sublinear/pagerank-analyzer.md +299 -0
  80. package/.claude/agents/sublinear/performance-optimizer.md +368 -0
  81. package/.claude/agents/sublinear/trading-predictor.md +246 -0
  82. package/.claude/agents/swarm/adaptive-coordinator.md +364 -0
  83. package/.claude/agents/swarm/hierarchical-coordinator.md +300 -0
  84. package/.claude/agents/swarm/mesh-coordinator.md +363 -0
  85. package/.claude/agents/templates/automation-smart-agent.md +185 -0
  86. package/.claude/agents/templates/coordinator-swarm-init.md +83 -0
  87. package/.claude/agents/templates/github-pr-manager.md +155 -0
  88. package/.claude/agents/templates/implementer-sparc-coder.md +231 -0
  89. package/.claude/agents/templates/memory-coordinator.md +163 -0
  90. package/.claude/agents/templates/migration-plan.md +724 -0
  91. package/.claude/agents/templates/orchestrator-task.md +120 -0
  92. package/.claude/agents/templates/performance-analyzer.md +179 -0
  93. package/.claude/agents/templates/sparc-coordinator.md +163 -0
  94. package/.claude/agents/testing/production-validator.md +373 -0
  95. package/.claude/agents/testing/tdd-london-swarm.md +222 -0
  96. package/.claude/agents/testing/unit/tdd-london-swarm.md +222 -0
  97. package/.claude/agents/testing/validation/production-validator.md +373 -0
  98. package/.claude/agents/typescript-specialist.md +9 -0
  99. package/.claude/agents/v3/database-specialist.md +9 -0
  100. package/.claude/agents/v3/project-coordinator.md +8 -0
  101. package/.claude/agents/v3/python-specialist.md +9 -0
  102. package/.claude/agents/v3/test-architect.md +9 -0
  103. package/.claude/agents/v3/typescript-specialist.md +9 -0
  104. package/.claude/agents/v3/v3-integration-architect.md +312 -0
  105. package/.claude/agents/v3/v3-memory-specialist.md +281 -0
  106. package/.claude/agents/v3/v3-performance-engineer.md +363 -0
  107. package/.claude/agents/v3/v3-queen-coordinator.md +63 -0
  108. package/.claude/agents/v3/v3-security-architect.md +140 -0
  109. package/.claude/checkpoints/1767754460.json +8 -0
  110. package/.claude/commands/agents/README.md +10 -0
  111. package/.claude/commands/agents/agent-capabilities.md +21 -0
  112. package/.claude/commands/agents/agent-coordination.md +28 -0
  113. package/.claude/commands/agents/agent-spawning.md +28 -0
  114. package/.claude/commands/agents/agent-types.md +26 -0
  115. package/.claude/commands/analysis/COMMAND_COMPLIANCE_REPORT.md +54 -0
  116. package/.claude/commands/analysis/README.md +9 -0
  117. package/.claude/commands/analysis/bottleneck-detect.md +162 -0
  118. package/.claude/commands/analysis/performance-bottlenecks.md +59 -0
  119. package/.claude/commands/analysis/performance-report.md +25 -0
  120. package/.claude/commands/analysis/token-efficiency.md +45 -0
  121. package/.claude/commands/analysis/token-usage.md +25 -0
  122. package/.claude/commands/automation/README.md +9 -0
  123. package/.claude/commands/automation/auto-agent.md +122 -0
  124. package/.claude/commands/automation/self-healing.md +106 -0
  125. package/.claude/commands/automation/session-memory.md +90 -0
  126. package/.claude/commands/automation/smart-agents.md +73 -0
  127. package/.claude/commands/automation/smart-spawn.md +25 -0
  128. package/.claude/commands/automation/workflow-select.md +25 -0
  129. package/.claude/commands/claude-flow-help.md +103 -0
  130. package/.claude/commands/claude-flow-memory.md +107 -0
  131. package/.claude/commands/claude-flow-swarm.md +205 -0
  132. package/.claude/commands/coordination/README.md +9 -0
  133. package/.claude/commands/coordination/agent-spawn.md +25 -0
  134. package/.claude/commands/coordination/init.md +44 -0
  135. package/.claude/commands/coordination/orchestrate.md +43 -0
  136. package/.claude/commands/coordination/spawn.md +45 -0
  137. package/.claude/commands/coordination/swarm-init.md +85 -0
  138. package/.claude/commands/coordination/task-orchestrate.md +25 -0
  139. package/.claude/commands/flow-nexus/app-store.md +124 -0
  140. package/.claude/commands/flow-nexus/challenges.md +120 -0
  141. package/.claude/commands/flow-nexus/login-registration.md +65 -0
  142. package/.claude/commands/flow-nexus/neural-network.md +134 -0
  143. package/.claude/commands/flow-nexus/payments.md +116 -0
  144. package/.claude/commands/flow-nexus/sandbox.md +83 -0
  145. package/.claude/commands/flow-nexus/swarm.md +87 -0
  146. package/.claude/commands/flow-nexus/user-tools.md +152 -0
  147. package/.claude/commands/flow-nexus/workflow.md +115 -0
  148. package/.claude/commands/github/README.md +11 -0
  149. package/.claude/commands/github/code-review-swarm.md +514 -0
  150. package/.claude/commands/github/code-review.md +25 -0
  151. package/.claude/commands/github/github-modes.md +147 -0
  152. package/.claude/commands/github/github-swarm.md +121 -0
  153. package/.claude/commands/github/issue-tracker.md +292 -0
  154. package/.claude/commands/github/issue-triage.md +25 -0
  155. package/.claude/commands/github/multi-repo-swarm.md +519 -0
  156. package/.claude/commands/github/pr-enhance.md +26 -0
  157. package/.claude/commands/github/pr-manager.md +170 -0
  158. package/.claude/commands/github/project-board-sync.md +471 -0
  159. package/.claude/commands/github/release-manager.md +338 -0
  160. package/.claude/commands/github/release-swarm.md +544 -0
  161. package/.claude/commands/github/repo-analyze.md +25 -0
  162. package/.claude/commands/github/repo-architect.md +367 -0
  163. package/.claude/commands/github/swarm-issue.md +482 -0
  164. package/.claude/commands/github/swarm-pr.md +285 -0
  165. package/.claude/commands/github/sync-coordinator.md +301 -0
  166. package/.claude/commands/github/workflow-automation.md +442 -0
  167. package/.claude/commands/hive-mind/README.md +17 -0
  168. package/.claude/commands/hive-mind/hive-mind-consensus.md +8 -0
  169. package/.claude/commands/hive-mind/hive-mind-init.md +18 -0
  170. package/.claude/commands/hive-mind/hive-mind-memory.md +8 -0
  171. package/.claude/commands/hive-mind/hive-mind-metrics.md +8 -0
  172. package/.claude/commands/hive-mind/hive-mind-resume.md +8 -0
  173. package/.claude/commands/hive-mind/hive-mind-sessions.md +8 -0
  174. package/.claude/commands/hive-mind/hive-mind-spawn.md +21 -0
  175. package/.claude/commands/hive-mind/hive-mind-status.md +8 -0
  176. package/.claude/commands/hive-mind/hive-mind-stop.md +8 -0
  177. package/.claude/commands/hive-mind/hive-mind-wizard.md +8 -0
  178. package/.claude/commands/hive-mind/hive-mind.md +27 -0
  179. package/.claude/commands/hooks/README.md +11 -0
  180. package/.claude/commands/hooks/overview.md +58 -0
  181. package/.claude/commands/hooks/post-edit.md +117 -0
  182. package/.claude/commands/hooks/post-task.md +112 -0
  183. package/.claude/commands/hooks/pre-edit.md +113 -0
  184. package/.claude/commands/hooks/pre-task.md +111 -0
  185. package/.claude/commands/hooks/session-end.md +118 -0
  186. package/.claude/commands/hooks/setup.md +103 -0
  187. package/.claude/commands/memory/README.md +9 -0
  188. package/.claude/commands/memory/memory-persist.md +25 -0
  189. package/.claude/commands/memory/memory-search.md +25 -0
  190. package/.claude/commands/memory/memory-usage.md +25 -0
  191. package/.claude/commands/memory/neural.md +47 -0
  192. package/.claude/commands/monitoring/README.md +9 -0
  193. package/.claude/commands/monitoring/agent-metrics.md +25 -0
  194. package/.claude/commands/monitoring/agents.md +44 -0
  195. package/.claude/commands/monitoring/real-time-view.md +25 -0
  196. package/.claude/commands/monitoring/status.md +46 -0
  197. package/.claude/commands/monitoring/swarm-monitor.md +25 -0
  198. package/.claude/commands/optimization/README.md +9 -0
  199. package/.claude/commands/optimization/auto-topology.md +62 -0
  200. package/.claude/commands/optimization/cache-manage.md +25 -0
  201. package/.claude/commands/optimization/parallel-execute.md +25 -0
  202. package/.claude/commands/optimization/parallel-execution.md +50 -0
  203. package/.claude/commands/optimization/topology-optimize.md +25 -0
  204. package/.claude/commands/pair/README.md +261 -0
  205. package/.claude/commands/pair/commands.md +546 -0
  206. package/.claude/commands/pair/config.md +510 -0
  207. package/.claude/commands/pair/examples.md +512 -0
  208. package/.claude/commands/pair/modes.md +348 -0
  209. package/.claude/commands/pair/session.md +407 -0
  210. package/.claude/commands/pair/start.md +209 -0
  211. package/.claude/commands/sparc/analyzer.md +52 -0
  212. package/.claude/commands/sparc/architect.md +53 -0
  213. package/.claude/commands/sparc/ask.md +97 -0
  214. package/.claude/commands/sparc/batch-executor.md +54 -0
  215. package/.claude/commands/sparc/code.md +89 -0
  216. package/.claude/commands/sparc/coder.md +54 -0
  217. package/.claude/commands/sparc/debug.md +83 -0
  218. package/.claude/commands/sparc/debugger.md +54 -0
  219. package/.claude/commands/sparc/designer.md +53 -0
  220. package/.claude/commands/sparc/devops.md +109 -0
  221. package/.claude/commands/sparc/docs-writer.md +80 -0
  222. package/.claude/commands/sparc/documenter.md +54 -0
  223. package/.claude/commands/sparc/innovator.md +54 -0
  224. package/.claude/commands/sparc/integration.md +83 -0
  225. package/.claude/commands/sparc/mcp.md +117 -0
  226. package/.claude/commands/sparc/memory-manager.md +54 -0
  227. package/.claude/commands/sparc/optimizer.md +54 -0
  228. package/.claude/commands/sparc/orchestrator.md +132 -0
  229. package/.claude/commands/sparc/post-deployment-monitoring-mode.md +83 -0
  230. package/.claude/commands/sparc/refinement-optimization-mode.md +83 -0
  231. package/.claude/commands/sparc/researcher.md +54 -0
  232. package/.claude/commands/sparc/reviewer.md +54 -0
  233. package/.claude/commands/sparc/security-review.md +80 -0
  234. package/.claude/commands/sparc/sparc-modes.md +174 -0
  235. package/.claude/commands/sparc/sparc.md +111 -0
  236. package/.claude/commands/sparc/spec-pseudocode.md +80 -0
  237. package/.claude/commands/sparc/supabase-admin.md +348 -0
  238. package/.claude/commands/sparc/swarm-coordinator.md +54 -0
  239. package/.claude/commands/sparc/tdd.md +54 -0
  240. package/.claude/commands/sparc/tester.md +54 -0
  241. package/.claude/commands/sparc/tutorial.md +79 -0
  242. package/.claude/commands/sparc/workflow-manager.md +54 -0
  243. package/.claude/commands/sparc.md +166 -0
  244. package/.claude/commands/stream-chain/pipeline.md +121 -0
  245. package/.claude/commands/stream-chain/run.md +70 -0
  246. package/.claude/commands/swarm/README.md +15 -0
  247. package/.claude/commands/swarm/analysis.md +95 -0
  248. package/.claude/commands/swarm/development.md +96 -0
  249. package/.claude/commands/swarm/examples.md +168 -0
  250. package/.claude/commands/swarm/maintenance.md +102 -0
  251. package/.claude/commands/swarm/optimization.md +117 -0
  252. package/.claude/commands/swarm/research.md +136 -0
  253. package/.claude/commands/swarm/swarm-analysis.md +8 -0
  254. package/.claude/commands/swarm/swarm-background.md +8 -0
  255. package/.claude/commands/swarm/swarm-init.md +19 -0
  256. package/.claude/commands/swarm/swarm-modes.md +8 -0
  257. package/.claude/commands/swarm/swarm-monitor.md +8 -0
  258. package/.claude/commands/swarm/swarm-spawn.md +19 -0
  259. package/.claude/commands/swarm/swarm-status.md +8 -0
  260. package/.claude/commands/swarm/swarm-strategies.md +8 -0
  261. package/.claude/commands/swarm/swarm.md +27 -0
  262. package/.claude/commands/swarm/testing.md +131 -0
  263. package/.claude/commands/training/README.md +9 -0
  264. package/.claude/commands/training/model-update.md +25 -0
  265. package/.claude/commands/training/neural-patterns.md +74 -0
  266. package/.claude/commands/training/neural-train.md +25 -0
  267. package/.claude/commands/training/pattern-learn.md +25 -0
  268. package/.claude/commands/training/specialization.md +63 -0
  269. package/.claude/commands/truth/start.md +143 -0
  270. package/.claude/commands/verify/check.md +50 -0
  271. package/.claude/commands/verify/start.md +128 -0
  272. package/.claude/commands/workflows/README.md +9 -0
  273. package/.claude/commands/workflows/development.md +78 -0
  274. package/.claude/commands/workflows/research.md +63 -0
  275. package/.claude/commands/workflows/workflow-create.md +25 -0
  276. package/.claude/commands/workflows/workflow-execute.md +25 -0
  277. package/.claude/commands/workflows/workflow-export.md +25 -0
  278. package/.claude/config/v3-dependency-optimization.json +266 -0
  279. package/.claude/config/v3-performance-targets.json +251 -0
  280. package/.claude/helpers/README.md +97 -0
  281. package/.claude/helpers/adr-compliance.sh +186 -0
  282. package/.claude/helpers/aggressive-microcompact.mjs +36 -0
  283. package/.claude/helpers/auto-commit.sh +178 -0
  284. package/.claude/helpers/auto-memory-hook.mjs +369 -0
  285. package/.claude/helpers/checkpoint-manager.sh +251 -0
  286. package/.claude/helpers/context-persistence-hook.mjs +1979 -0
  287. package/.claude/helpers/daemon-manager.sh +252 -0
  288. package/.claude/helpers/ddd-tracker.sh +144 -0
  289. package/.claude/helpers/github-safe.js +106 -0
  290. package/.claude/helpers/github-setup.sh +28 -0
  291. package/.claude/helpers/guidance-hook.sh +13 -0
  292. package/.claude/helpers/guidance-hooks.sh +102 -0
  293. package/.claude/helpers/health-monitor.sh +108 -0
  294. package/.claude/helpers/hook-handler.cjs +234 -0
  295. package/.claude/helpers/intelligence.cjs +207 -0
  296. package/.claude/helpers/learning-hooks.sh +329 -0
  297. package/.claude/helpers/learning-optimizer.sh +127 -0
  298. package/.claude/helpers/learning-service.mjs +1144 -0
  299. package/.claude/helpers/memory.cjs +84 -0
  300. package/.claude/helpers/metrics-db.mjs +488 -0
  301. package/.claude/helpers/pattern-consolidator.sh +86 -0
  302. package/.claude/helpers/perf-worker.sh +160 -0
  303. package/.claude/helpers/quick-start.sh +19 -0
  304. package/.claude/helpers/router.cjs +62 -0
  305. package/.claude/helpers/security-scanner.sh +127 -0
  306. package/.claude/helpers/session.cjs +125 -0
  307. package/.claude/helpers/setup-mcp.sh +18 -0
  308. package/.claude/helpers/standard-checkpoint-hooks.sh +189 -0
  309. package/.claude/helpers/statusline.cjs +770 -0
  310. package/.claude/helpers/swarm-comms.sh +353 -0
  311. package/.claude/helpers/swarm-hooks.sh +761 -0
  312. package/.claude/helpers/swarm-monitor.sh +211 -0
  313. package/.claude/helpers/sync-v3-metrics.sh +245 -0
  314. package/.claude/helpers/update-v3-progress.sh +166 -0
  315. package/.claude/helpers/v3-quick-status.sh +58 -0
  316. package/.claude/helpers/v3.sh +111 -0
  317. package/.claude/helpers/validate-v3-config.sh +216 -0
  318. package/.claude/helpers/worker-manager.sh +170 -0
  319. package/.claude/mcp.json +13 -0
  320. package/.claude/settings copy.json +526 -0
  321. package/.claude/settings.json +305 -0
  322. package/.claude/skills/agentdb-advanced/SKILL.md +550 -0
  323. package/.claude/skills/agentdb-learning/SKILL.md +545 -0
  324. package/.claude/skills/agentdb-memory-patterns/SKILL.md +339 -0
  325. package/.claude/skills/agentdb-optimization/SKILL.md +509 -0
  326. package/.claude/skills/agentdb-vector-search/SKILL.md +339 -0
  327. package/.claude/skills/agentic-jujutsu/SKILL.md +645 -0
  328. package/.claude/skills/dual-mode/README.md +71 -0
  329. package/.claude/skills/dual-mode/dual-collect.md +103 -0
  330. package/.claude/skills/dual-mode/dual-coordinate.md +85 -0
  331. package/.claude/skills/dual-mode/dual-spawn.md +81 -0
  332. package/.claude/skills/flow-nexus-neural/SKILL.md +727 -0
  333. package/.claude/skills/flow-nexus-platform/SKILL.md +1154 -0
  334. package/.claude/skills/flow-nexus-swarm/SKILL.md +604 -0
  335. package/.claude/skills/github-code-review/SKILL.md +1125 -0
  336. package/.claude/skills/github-multi-repo/SKILL.md +862 -0
  337. package/.claude/skills/github-project-management/SKILL.md +1250 -0
  338. package/.claude/skills/github-release-management/SKILL.md +1064 -0
  339. package/.claude/skills/github-workflow-automation/SKILL.md +1047 -0
  340. package/.claude/skills/hive-mind-advanced/SKILL.md +709 -0
  341. package/.claude/skills/hooks-automation/SKILL.md +1201 -0
  342. package/.claude/skills/pair-programming/SKILL.md +1202 -0
  343. package/.claude/skills/performance-analysis/SKILL.md +560 -0
  344. package/.claude/skills/reasoningbank-agentdb/SKILL.md +446 -0
  345. package/.claude/skills/reasoningbank-intelligence/SKILL.md +201 -0
  346. package/.claude/skills/skill-builder/SKILL.md +910 -0
  347. package/.claude/skills/sparc-methodology/SKILL.md +1106 -0
  348. package/.claude/skills/stream-chain/SKILL.md +560 -0
  349. package/.claude/skills/swarm-advanced/SKILL.md +970 -0
  350. package/.claude/skills/swarm-orchestration/SKILL.md +179 -0
  351. package/.claude/skills/v3-cli-modernization/SKILL.md +872 -0
  352. package/.claude/skills/v3-core-implementation/SKILL.md +797 -0
  353. package/.claude/skills/v3-ddd-architecture/SKILL.md +442 -0
  354. package/.claude/skills/v3-integration-deep/SKILL.md +241 -0
  355. package/.claude/skills/v3-mcp-optimization/SKILL.md +777 -0
  356. package/.claude/skills/v3-memory-unification/SKILL.md +174 -0
  357. package/.claude/skills/v3-performance-optimization/SKILL.md +390 -0
  358. package/.claude/skills/v3-security-overhaul/SKILL.md +82 -0
  359. package/.claude/skills/v3-swarm-coordination/SKILL.md +340 -0
  360. package/.claude/skills/verification-quality/SKILL.md +647 -0
  361. package/.claude/skills/worker-benchmarks/SKILL.md +129 -0
  362. package/.claude/skills/worker-integration/SKILL.md +147 -0
  363. package/.claude/statusline-command.sh +176 -0
  364. package/.claude/statusline.mjs +109 -0
  365. package/.claude/statusline.sh +431 -0
  366. package/.claude-plugin/README.md +720 -0
  367. package/.claude-plugin/docs/INSTALLATION.md +261 -0
  368. package/.claude-plugin/docs/PLUGIN_SUMMARY.md +361 -0
  369. package/.claude-plugin/docs/QUICKSTART.md +361 -0
  370. package/.claude-plugin/docs/STRUCTURE.md +128 -0
  371. package/.claude-plugin/hooks/hooks.json +74 -0
  372. package/.claude-plugin/marketplace.json +96 -0
  373. package/.claude-plugin/plugin.json +71 -0
  374. package/.claude-plugin/scripts/install.sh +234 -0
  375. package/.claude-plugin/scripts/uninstall.sh +36 -0
  376. package/.claude-plugin/scripts/verify.sh +108 -0
  377. package/LICENSE +21 -0
  378. package/README.md +7541 -0
  379. package/bin/cli.js +11 -0
  380. package/bin/npx-repair.js +7 -0
  381. package/bin/npx-safe-launch.js +9 -0
  382. package/package.json +84 -0
  383. package/v3/@claude-flow/cli/README.md +192 -0
  384. package/v3/@claude-flow/cli/bin/cli.js +156 -0
  385. package/v3/@claude-flow/cli/bin/mcp-server.js +189 -0
  386. package/v3/@claude-flow/cli/bin/preinstall.cjs +2 -0
  387. package/v3/@claude-flow/cli/dist/src/appliance/gguf-engine.d.ts +91 -0
  388. package/v3/@claude-flow/cli/dist/src/appliance/gguf-engine.js +425 -0
  389. package/v3/@claude-flow/cli/dist/src/appliance/ruvllm-bridge.d.ts +102 -0
  390. package/v3/@claude-flow/cli/dist/src/appliance/ruvllm-bridge.js +292 -0
  391. package/v3/@claude-flow/cli/dist/src/appliance/rvfa-builder.d.ts +44 -0
  392. package/v3/@claude-flow/cli/dist/src/appliance/rvfa-builder.js +329 -0
  393. package/v3/@claude-flow/cli/dist/src/appliance/rvfa-distribution.d.ts +97 -0
  394. package/v3/@claude-flow/cli/dist/src/appliance/rvfa-distribution.js +370 -0
  395. package/v3/@claude-flow/cli/dist/src/appliance/rvfa-format.d.ts +111 -0
  396. package/v3/@claude-flow/cli/dist/src/appliance/rvfa-format.js +393 -0
  397. package/v3/@claude-flow/cli/dist/src/appliance/rvfa-runner.d.ts +69 -0
  398. package/v3/@claude-flow/cli/dist/src/appliance/rvfa-runner.js +237 -0
  399. package/v3/@claude-flow/cli/dist/src/appliance/rvfa-signing.d.ts +123 -0
  400. package/v3/@claude-flow/cli/dist/src/appliance/rvfa-signing.js +347 -0
  401. package/v3/@claude-flow/cli/dist/src/autopilot-state.d.ts +77 -0
  402. package/v3/@claude-flow/cli/dist/src/autopilot-state.js +279 -0
  403. package/v3/@claude-flow/cli/dist/src/benchmarks/pretrain/index.d.ts +58 -0
  404. package/v3/@claude-flow/cli/dist/src/benchmarks/pretrain/index.js +404 -0
  405. package/v3/@claude-flow/cli/dist/src/commands/agent-wasm.d.ts +14 -0
  406. package/v3/@claude-flow/cli/dist/src/commands/agent-wasm.js +333 -0
  407. package/v3/@claude-flow/cli/dist/src/commands/agent.d.ts +8 -0
  408. package/v3/@claude-flow/cli/dist/src/commands/agent.js +927 -0
  409. package/v3/@claude-flow/cli/dist/src/commands/analyze.d.ts +17 -0
  410. package/v3/@claude-flow/cli/dist/src/commands/analyze.js +1821 -0
  411. package/v3/@claude-flow/cli/dist/src/commands/appliance-advanced.d.ts +9 -0
  412. package/v3/@claude-flow/cli/dist/src/commands/appliance-advanced.js +215 -0
  413. package/v3/@claude-flow/cli/dist/src/commands/appliance.d.ts +8 -0
  414. package/v3/@claude-flow/cli/dist/src/commands/appliance.js +406 -0
  415. package/v3/@claude-flow/cli/dist/src/commands/autopilot.d.ts +15 -0
  416. package/v3/@claude-flow/cli/dist/src/commands/autopilot.js +362 -0
  417. package/v3/@claude-flow/cli/dist/src/commands/benchmark.d.ts +10 -0
  418. package/v3/@claude-flow/cli/dist/src/commands/benchmark.js +459 -0
  419. package/v3/@claude-flow/cli/dist/src/commands/claims.d.ts +8 -0
  420. package/v3/@claude-flow/cli/dist/src/commands/claims.js +621 -0
  421. package/v3/@claude-flow/cli/dist/src/commands/cleanup.d.ts +11 -0
  422. package/v3/@claude-flow/cli/dist/src/commands/cleanup.js +216 -0
  423. package/v3/@claude-flow/cli/dist/src/commands/completions.d.ts +8 -0
  424. package/v3/@claude-flow/cli/dist/src/commands/completions.js +537 -0
  425. package/v3/@claude-flow/cli/dist/src/commands/config.d.ts +8 -0
  426. package/v3/@claude-flow/cli/dist/src/commands/config.js +356 -0
  427. package/v3/@claude-flow/cli/dist/src/commands/daemon.d.ts +8 -0
  428. package/v3/@claude-flow/cli/dist/src/commands/daemon.js +669 -0
  429. package/v3/@claude-flow/cli/dist/src/commands/deployment.d.ts +8 -0
  430. package/v3/@claude-flow/cli/dist/src/commands/deployment.js +669 -0
  431. package/v3/@claude-flow/cli/dist/src/commands/doctor.d.ts +8 -0
  432. package/v3/@claude-flow/cli/dist/src/commands/doctor.js +617 -0
  433. package/v3/@claude-flow/cli/dist/src/commands/embeddings.d.ts +16 -0
  434. package/v3/@claude-flow/cli/dist/src/commands/embeddings.js +1573 -0
  435. package/v3/@claude-flow/cli/dist/src/commands/guidance.d.ts +8 -0
  436. package/v3/@claude-flow/cli/dist/src/commands/guidance.js +560 -0
  437. package/v3/@claude-flow/cli/dist/src/commands/hive-mind.d.ts +11 -0
  438. package/v3/@claude-flow/cli/dist/src/commands/hive-mind.js +1237 -0
  439. package/v3/@claude-flow/cli/dist/src/commands/hooks.d.ts +8 -0
  440. package/v3/@claude-flow/cli/dist/src/commands/hooks.js +4441 -0
  441. package/v3/@claude-flow/cli/dist/src/commands/index.d.ts +117 -0
  442. package/v3/@claude-flow/cli/dist/src/commands/index.js +384 -0
  443. package/v3/@claude-flow/cli/dist/src/commands/init.d.ts +8 -0
  444. package/v3/@claude-flow/cli/dist/src/commands/init.js +969 -0
  445. package/v3/@claude-flow/cli/dist/src/commands/issues.d.ts +21 -0
  446. package/v3/@claude-flow/cli/dist/src/commands/issues.js +567 -0
  447. package/v3/@claude-flow/cli/dist/src/commands/mcp.d.ts +11 -0
  448. package/v3/@claude-flow/cli/dist/src/commands/mcp.js +718 -0
  449. package/v3/@claude-flow/cli/dist/src/commands/memory.d.ts +8 -0
  450. package/v3/@claude-flow/cli/dist/src/commands/memory.js +1299 -0
  451. package/v3/@claude-flow/cli/dist/src/commands/migrate.d.ts +8 -0
  452. package/v3/@claude-flow/cli/dist/src/commands/migrate.js +742 -0
  453. package/v3/@claude-flow/cli/dist/src/commands/neural.d.ts +8 -0
  454. package/v3/@claude-flow/cli/dist/src/commands/neural.js +1451 -0
  455. package/v3/@claude-flow/cli/dist/src/commands/performance.d.ts +8 -0
  456. package/v3/@claude-flow/cli/dist/src/commands/performance.js +576 -0
  457. package/v3/@claude-flow/cli/dist/src/commands/plugins.d.ts +9 -0
  458. package/v3/@claude-flow/cli/dist/src/commands/plugins.js +817 -0
  459. package/v3/@claude-flow/cli/dist/src/commands/process.d.ts +10 -0
  460. package/v3/@claude-flow/cli/dist/src/commands/process.js +641 -0
  461. package/v3/@claude-flow/cli/dist/src/commands/progress.d.ts +11 -0
  462. package/v3/@claude-flow/cli/dist/src/commands/progress.js +259 -0
  463. package/v3/@claude-flow/cli/dist/src/commands/providers.d.ts +8 -0
  464. package/v3/@claude-flow/cli/dist/src/commands/providers.js +355 -0
  465. package/v3/@claude-flow/cli/dist/src/commands/route.d.ts +14 -0
  466. package/v3/@claude-flow/cli/dist/src/commands/route.js +811 -0
  467. package/v3/@claude-flow/cli/dist/src/commands/ruvector/backup.d.ts +11 -0
  468. package/v3/@claude-flow/cli/dist/src/commands/ruvector/backup.js +746 -0
  469. package/v3/@claude-flow/cli/dist/src/commands/ruvector/benchmark.d.ts +11 -0
  470. package/v3/@claude-flow/cli/dist/src/commands/ruvector/benchmark.js +480 -0
  471. package/v3/@claude-flow/cli/dist/src/commands/ruvector/import.d.ts +16 -0
  472. package/v3/@claude-flow/cli/dist/src/commands/ruvector/import.js +347 -0
  473. package/v3/@claude-flow/cli/dist/src/commands/ruvector/index.d.ts +27 -0
  474. package/v3/@claude-flow/cli/dist/src/commands/ruvector/index.js +127 -0
  475. package/v3/@claude-flow/cli/dist/src/commands/ruvector/init.d.ts +11 -0
  476. package/v3/@claude-flow/cli/dist/src/commands/ruvector/init.js +431 -0
  477. package/v3/@claude-flow/cli/dist/src/commands/ruvector/migrate.d.ts +11 -0
  478. package/v3/@claude-flow/cli/dist/src/commands/ruvector/migrate.js +481 -0
  479. package/v3/@claude-flow/cli/dist/src/commands/ruvector/optimize.d.ts +11 -0
  480. package/v3/@claude-flow/cli/dist/src/commands/ruvector/optimize.js +503 -0
  481. package/v3/@claude-flow/cli/dist/src/commands/ruvector/setup.d.ts +16 -0
  482. package/v3/@claude-flow/cli/dist/src/commands/ruvector/setup.js +763 -0
  483. package/v3/@claude-flow/cli/dist/src/commands/ruvector/status.d.ts +11 -0
  484. package/v3/@claude-flow/cli/dist/src/commands/ruvector/status.js +456 -0
  485. package/v3/@claude-flow/cli/dist/src/commands/security.d.ts +8 -0
  486. package/v3/@claude-flow/cli/dist/src/commands/security.js +614 -0
  487. package/v3/@claude-flow/cli/dist/src/commands/session.d.ts +8 -0
  488. package/v3/@claude-flow/cli/dist/src/commands/session.js +750 -0
  489. package/v3/@claude-flow/cli/dist/src/commands/start.d.ts +8 -0
  490. package/v3/@claude-flow/cli/dist/src/commands/start.js +418 -0
  491. package/v3/@claude-flow/cli/dist/src/commands/status.d.ts +8 -0
  492. package/v3/@claude-flow/cli/dist/src/commands/status.js +591 -0
  493. package/v3/@claude-flow/cli/dist/src/commands/swarm.d.ts +8 -0
  494. package/v3/@claude-flow/cli/dist/src/commands/swarm.js +802 -0
  495. package/v3/@claude-flow/cli/dist/src/commands/task.d.ts +8 -0
  496. package/v3/@claude-flow/cli/dist/src/commands/task.js +671 -0
  497. package/v3/@claude-flow/cli/dist/src/commands/transfer-store.d.ts +13 -0
  498. package/v3/@claude-flow/cli/dist/src/commands/transfer-store.js +428 -0
  499. package/v3/@claude-flow/cli/dist/src/commands/update.d.ts +8 -0
  500. package/v3/@claude-flow/cli/dist/src/commands/update.js +276 -0
  501. package/v3/@claude-flow/cli/dist/src/commands/workflow.d.ts +8 -0
  502. package/v3/@claude-flow/cli/dist/src/commands/workflow.js +617 -0
  503. package/v3/@claude-flow/cli/dist/src/config-adapter.d.ts +15 -0
  504. package/v3/@claude-flow/cli/dist/src/config-adapter.js +186 -0
  505. package/v3/@claude-flow/cli/dist/src/index.d.ts +74 -0
  506. package/v3/@claude-flow/cli/dist/src/index.js +469 -0
  507. package/v3/@claude-flow/cli/dist/src/infrastructure/in-memory-repositories.d.ts +68 -0
  508. package/v3/@claude-flow/cli/dist/src/infrastructure/in-memory-repositories.js +264 -0
  509. package/v3/@claude-flow/cli/dist/src/init/claudemd-generator.d.ts +25 -0
  510. package/v3/@claude-flow/cli/dist/src/init/claudemd-generator.js +486 -0
  511. package/v3/@claude-flow/cli/dist/src/init/executor.d.ts +41 -0
  512. package/v3/@claude-flow/cli/dist/src/init/executor.js +1776 -0
  513. package/v3/@claude-flow/cli/dist/src/init/helpers-generator.d.ts +60 -0
  514. package/v3/@claude-flow/cli/dist/src/init/helpers-generator.js +1181 -0
  515. package/v3/@claude-flow/cli/dist/src/init/index.d.ts +13 -0
  516. package/v3/@claude-flow/cli/dist/src/init/index.js +15 -0
  517. package/v3/@claude-flow/cli/dist/src/init/mcp-generator.d.ts +26 -0
  518. package/v3/@claude-flow/cli/dist/src/init/mcp-generator.js +101 -0
  519. package/v3/@claude-flow/cli/dist/src/init/settings-generator.d.ts +14 -0
  520. package/v3/@claude-flow/cli/dist/src/init/settings-generator.js +392 -0
  521. package/v3/@claude-flow/cli/dist/src/init/statusline-generator.d.ts +28 -0
  522. package/v3/@claude-flow/cli/dist/src/init/statusline-generator.js +833 -0
  523. package/v3/@claude-flow/cli/dist/src/init/types.d.ts +295 -0
  524. package/v3/@claude-flow/cli/dist/src/init/types.js +263 -0
  525. package/v3/@claude-flow/cli/dist/src/mcp-client.d.ts +92 -0
  526. package/v3/@claude-flow/cli/dist/src/mcp-client.js +227 -0
  527. package/v3/@claude-flow/cli/dist/src/mcp-server.d.ts +163 -0
  528. package/v3/@claude-flow/cli/dist/src/mcp-server.js +654 -0
  529. package/v3/@claude-flow/cli/dist/src/mcp-tools/agent-tools.d.ts +9 -0
  530. package/v3/@claude-flow/cli/dist/src/mcp-tools/agent-tools.js +550 -0
  531. package/v3/@claude-flow/cli/dist/src/mcp-tools/agentdb-tools.d.ts +30 -0
  532. package/v3/@claude-flow/cli/dist/src/mcp-tools/agentdb-tools.js +557 -0
  533. package/v3/@claude-flow/cli/dist/src/mcp-tools/analyze-tools.d.ts +38 -0
  534. package/v3/@claude-flow/cli/dist/src/mcp-tools/analyze-tools.js +317 -0
  535. package/v3/@claude-flow/cli/dist/src/mcp-tools/claims-tools.d.ts +12 -0
  536. package/v3/@claude-flow/cli/dist/src/mcp-tools/claims-tools.js +732 -0
  537. package/v3/@claude-flow/cli/dist/src/mcp-tools/config-tools.d.ts +8 -0
  538. package/v3/@claude-flow/cli/dist/src/mcp-tools/config-tools.js +357 -0
  539. package/v3/@claude-flow/cli/dist/src/mcp-tools/coordination-tools.d.ts +13 -0
  540. package/v3/@claude-flow/cli/dist/src/mcp-tools/coordination-tools.js +665 -0
  541. package/v3/@claude-flow/cli/dist/src/mcp-tools/embeddings-tools.d.ts +9 -0
  542. package/v3/@claude-flow/cli/dist/src/mcp-tools/embeddings-tools.js +782 -0
  543. package/v3/@claude-flow/cli/dist/src/mcp-tools/hive-mind-tools.d.ts +8 -0
  544. package/v3/@claude-flow/cli/dist/src/mcp-tools/hive-mind-tools.js +811 -0
  545. package/v3/@claude-flow/cli/dist/src/mcp-tools/hooks-tools.d.ts +44 -0
  546. package/v3/@claude-flow/cli/dist/src/mcp-tools/hooks-tools.js +3120 -0
  547. package/v3/@claude-flow/cli/dist/src/mcp-tools/index.d.ts +22 -0
  548. package/v3/@claude-flow/cli/dist/src/mcp-tools/index.js +21 -0
  549. package/v3/@claude-flow/cli/dist/src/mcp-tools/memory-tools.d.ts +14 -0
  550. package/v3/@claude-flow/cli/dist/src/mcp-tools/memory-tools.js +512 -0
  551. package/v3/@claude-flow/cli/dist/src/mcp-tools/neural-tools.d.ts +16 -0
  552. package/v3/@claude-flow/cli/dist/src/mcp-tools/neural-tools.js +461 -0
  553. package/v3/@claude-flow/cli/dist/src/mcp-tools/performance-tools.d.ts +16 -0
  554. package/v3/@claude-flow/cli/dist/src/mcp-tools/performance-tools.js +534 -0
  555. package/v3/@claude-flow/cli/dist/src/mcp-tools/progress-tools.d.ts +14 -0
  556. package/v3/@claude-flow/cli/dist/src/mcp-tools/progress-tools.js +348 -0
  557. package/v3/@claude-flow/cli/dist/src/mcp-tools/security-tools.d.ts +16 -0
  558. package/v3/@claude-flow/cli/dist/src/mcp-tools/security-tools.js +404 -0
  559. package/v3/@claude-flow/cli/dist/src/mcp-tools/session-tools.d.ts +8 -0
  560. package/v3/@claude-flow/cli/dist/src/mcp-tools/session-tools.js +315 -0
  561. package/v3/@claude-flow/cli/dist/src/mcp-tools/swarm-tools.d.ts +9 -0
  562. package/v3/@claude-flow/cli/dist/src/mcp-tools/swarm-tools.js +288 -0
  563. package/v3/@claude-flow/cli/dist/src/mcp-tools/system-tools.d.ts +13 -0
  564. package/v3/@claude-flow/cli/dist/src/mcp-tools/system-tools.js +408 -0
  565. package/v3/@claude-flow/cli/dist/src/mcp-tools/task-tools.d.ts +8 -0
  566. package/v3/@claude-flow/cli/dist/src/mcp-tools/task-tools.js +405 -0
  567. package/v3/@claude-flow/cli/dist/src/mcp-tools/types.d.ts +31 -0
  568. package/v3/@claude-flow/cli/dist/src/mcp-tools/types.js +7 -0
  569. package/v3/@claude-flow/cli/dist/src/mcp-tools/workflow-tools.d.ts +8 -0
  570. package/v3/@claude-flow/cli/dist/src/mcp-tools/workflow-tools.js +572 -0
  571. package/v3/@claude-flow/cli/dist/src/memory/ewc-consolidation.d.ts +295 -0
  572. package/v3/@claude-flow/cli/dist/src/memory/ewc-consolidation.js +601 -0
  573. package/v3/@claude-flow/cli/dist/src/memory/intelligence.d.ts +338 -0
  574. package/v3/@claude-flow/cli/dist/src/memory/intelligence.js +1023 -0
  575. package/v3/@claude-flow/cli/dist/src/memory/memory-bridge.d.ts +407 -0
  576. package/v3/@claude-flow/cli/dist/src/memory/memory-bridge.js +1499 -0
  577. package/v3/@claude-flow/cli/dist/src/memory/memory-initializer.d.ts +412 -0
  578. package/v3/@claude-flow/cli/dist/src/memory/memory-initializer.js +2222 -0
  579. package/v3/@claude-flow/cli/dist/src/memory/sona-optimizer.d.ts +227 -0
  580. package/v3/@claude-flow/cli/dist/src/memory/sona-optimizer.js +633 -0
  581. package/v3/@claude-flow/cli/dist/src/output.d.ts +133 -0
  582. package/v3/@claude-flow/cli/dist/src/output.js +514 -0
  583. package/v3/@claude-flow/cli/dist/src/parser.d.ts +51 -0
  584. package/v3/@claude-flow/cli/dist/src/parser.js +425 -0
  585. package/v3/@claude-flow/cli/dist/src/plugins/manager.d.ts +133 -0
  586. package/v3/@claude-flow/cli/dist/src/plugins/manager.js +400 -0
  587. package/v3/@claude-flow/cli/dist/src/plugins/store/discovery.d.ts +88 -0
  588. package/v3/@claude-flow/cli/dist/src/plugins/store/discovery.js +1147 -0
  589. package/v3/@claude-flow/cli/dist/src/plugins/store/index.d.ts +76 -0
  590. package/v3/@claude-flow/cli/dist/src/plugins/store/index.js +141 -0
  591. package/v3/@claude-flow/cli/dist/src/plugins/store/search.d.ts +46 -0
  592. package/v3/@claude-flow/cli/dist/src/plugins/store/search.js +230 -0
  593. package/v3/@claude-flow/cli/dist/src/plugins/store/types.d.ts +274 -0
  594. package/v3/@claude-flow/cli/dist/src/plugins/store/types.js +7 -0
  595. package/v3/@claude-flow/cli/dist/src/plugins/tests/demo-plugin-store.d.ts +7 -0
  596. package/v3/@claude-flow/cli/dist/src/plugins/tests/demo-plugin-store.js +126 -0
  597. package/v3/@claude-flow/cli/dist/src/plugins/tests/standalone-test.d.ts +12 -0
  598. package/v3/@claude-flow/cli/dist/src/plugins/tests/standalone-test.js +188 -0
  599. package/v3/@claude-flow/cli/dist/src/plugins/tests/test-plugin-store.d.ts +7 -0
  600. package/v3/@claude-flow/cli/dist/src/plugins/tests/test-plugin-store.js +206 -0
  601. package/v3/@claude-flow/cli/dist/src/production/circuit-breaker.d.ts +101 -0
  602. package/v3/@claude-flow/cli/dist/src/production/circuit-breaker.js +241 -0
  603. package/v3/@claude-flow/cli/dist/src/production/error-handler.d.ts +92 -0
  604. package/v3/@claude-flow/cli/dist/src/production/error-handler.js +299 -0
  605. package/v3/@claude-flow/cli/dist/src/production/index.d.ts +23 -0
  606. package/v3/@claude-flow/cli/dist/src/production/index.js +18 -0
  607. package/v3/@claude-flow/cli/dist/src/production/monitoring.d.ts +161 -0
  608. package/v3/@claude-flow/cli/dist/src/production/monitoring.js +356 -0
  609. package/v3/@claude-flow/cli/dist/src/production/rate-limiter.d.ts +80 -0
  610. package/v3/@claude-flow/cli/dist/src/production/rate-limiter.js +201 -0
  611. package/v3/@claude-flow/cli/dist/src/production/retry.d.ts +48 -0
  612. package/v3/@claude-flow/cli/dist/src/production/retry.js +179 -0
  613. package/v3/@claude-flow/cli/dist/src/prompt.d.ts +44 -0
  614. package/v3/@claude-flow/cli/dist/src/prompt.js +501 -0
  615. package/v3/@claude-flow/cli/dist/src/runtime/headless.d.ts +60 -0
  616. package/v3/@claude-flow/cli/dist/src/runtime/headless.js +284 -0
  617. package/v3/@claude-flow/cli/dist/src/ruvector/agent-wasm.d.ts +182 -0
  618. package/v3/@claude-flow/cli/dist/src/ruvector/agent-wasm.js +316 -0
  619. package/v3/@claude-flow/cli/dist/src/ruvector/ast-analyzer.d.ts +67 -0
  620. package/v3/@claude-flow/cli/dist/src/ruvector/ast-analyzer.js +277 -0
  621. package/v3/@claude-flow/cli/dist/src/ruvector/coverage-router.d.ts +160 -0
  622. package/v3/@claude-flow/cli/dist/src/ruvector/coverage-router.js +529 -0
  623. package/v3/@claude-flow/cli/dist/src/ruvector/coverage-tools.d.ts +33 -0
  624. package/v3/@claude-flow/cli/dist/src/ruvector/coverage-tools.js +157 -0
  625. package/v3/@claude-flow/cli/dist/src/ruvector/diff-classifier.d.ts +175 -0
  626. package/v3/@claude-flow/cli/dist/src/ruvector/diff-classifier.js +698 -0
  627. package/v3/@claude-flow/cli/dist/src/ruvector/enhanced-model-router.d.ts +146 -0
  628. package/v3/@claude-flow/cli/dist/src/ruvector/enhanced-model-router.js +513 -0
  629. package/v3/@claude-flow/cli/dist/src/ruvector/flash-attention.d.ts +193 -0
  630. package/v3/@claude-flow/cli/dist/src/ruvector/flash-attention.js +641 -0
  631. package/v3/@claude-flow/cli/dist/src/ruvector/graph-analyzer.d.ts +187 -0
  632. package/v3/@claude-flow/cli/dist/src/ruvector/graph-analyzer.js +929 -0
  633. package/v3/@claude-flow/cli/dist/src/ruvector/index.d.ts +40 -0
  634. package/v3/@claude-flow/cli/dist/src/ruvector/index.js +76 -0
  635. package/v3/@claude-flow/cli/dist/src/ruvector/lora-adapter.d.ts +218 -0
  636. package/v3/@claude-flow/cli/dist/src/ruvector/lora-adapter.js +455 -0
  637. package/v3/@claude-flow/cli/dist/src/ruvector/model-router.d.ts +220 -0
  638. package/v3/@claude-flow/cli/dist/src/ruvector/model-router.js +488 -0
  639. package/v3/@claude-flow/cli/dist/src/ruvector/moe-router.d.ts +206 -0
  640. package/v3/@claude-flow/cli/dist/src/ruvector/moe-router.js +626 -0
  641. package/v3/@claude-flow/cli/dist/src/ruvector/q-learning-router.d.ts +211 -0
  642. package/v3/@claude-flow/cli/dist/src/ruvector/q-learning-router.js +681 -0
  643. package/v3/@claude-flow/cli/dist/src/ruvector/ruvllm-wasm.d.ts +179 -0
  644. package/v3/@claude-flow/cli/dist/src/ruvector/ruvllm-wasm.js +363 -0
  645. package/v3/@claude-flow/cli/dist/src/ruvector/semantic-router.d.ts +77 -0
  646. package/v3/@claude-flow/cli/dist/src/ruvector/semantic-router.js +178 -0
  647. package/v3/@claude-flow/cli/dist/src/ruvector/vector-db.d.ts +67 -0
  648. package/v3/@claude-flow/cli/dist/src/ruvector/vector-db.js +241 -0
  649. package/v3/@claude-flow/cli/dist/src/services/agentic-flow-bridge.d.ts +50 -0
  650. package/v3/@claude-flow/cli/dist/src/services/agentic-flow-bridge.js +95 -0
  651. package/v3/@claude-flow/cli/dist/src/services/claim-service.d.ts +204 -0
  652. package/v3/@claude-flow/cli/dist/src/services/claim-service.js +818 -0
  653. package/v3/@claude-flow/cli/dist/src/services/config-file-manager.d.ts +37 -0
  654. package/v3/@claude-flow/cli/dist/src/services/config-file-manager.js +224 -0
  655. package/v3/@claude-flow/cli/dist/src/services/container-worker-pool.d.ts +197 -0
  656. package/v3/@claude-flow/cli/dist/src/services/container-worker-pool.js +583 -0
  657. package/v3/@claude-flow/cli/dist/src/services/headless-worker-executor.d.ts +304 -0
  658. package/v3/@claude-flow/cli/dist/src/services/headless-worker-executor.js +1024 -0
  659. package/v3/@claude-flow/cli/dist/src/services/index.d.ts +13 -0
  660. package/v3/@claude-flow/cli/dist/src/services/index.js +11 -0
  661. package/v3/@claude-flow/cli/dist/src/services/registry-api.d.ts +58 -0
  662. package/v3/@claude-flow/cli/dist/src/services/registry-api.js +146 -0
  663. package/v3/@claude-flow/cli/dist/src/services/ruvector-training.d.ts +220 -0
  664. package/v3/@claude-flow/cli/dist/src/services/ruvector-training.js +686 -0
  665. package/v3/@claude-flow/cli/dist/src/services/worker-daemon.d.ts +245 -0
  666. package/v3/@claude-flow/cli/dist/src/services/worker-daemon.js +960 -0
  667. package/v3/@claude-flow/cli/dist/src/services/worker-queue.d.ts +194 -0
  668. package/v3/@claude-flow/cli/dist/src/services/worker-queue.js +513 -0
  669. package/v3/@claude-flow/cli/dist/src/suggest.d.ts +51 -0
  670. package/v3/@claude-flow/cli/dist/src/suggest.js +198 -0
  671. package/v3/@claude-flow/cli/dist/src/transfer/anonymization/index.d.ts +25 -0
  672. package/v3/@claude-flow/cli/dist/src/transfer/anonymization/index.js +175 -0
  673. package/v3/@claude-flow/cli/dist/src/transfer/deploy-seraphine.d.ts +13 -0
  674. package/v3/@claude-flow/cli/dist/src/transfer/deploy-seraphine.js +205 -0
  675. package/v3/@claude-flow/cli/dist/src/transfer/export.d.ts +25 -0
  676. package/v3/@claude-flow/cli/dist/src/transfer/export.js +113 -0
  677. package/v3/@claude-flow/cli/dist/src/transfer/index.d.ts +12 -0
  678. package/v3/@claude-flow/cli/dist/src/transfer/index.js +31 -0
  679. package/v3/@claude-flow/cli/dist/src/transfer/ipfs/client.d.ts +109 -0
  680. package/v3/@claude-flow/cli/dist/src/transfer/ipfs/client.js +307 -0
  681. package/v3/@claude-flow/cli/dist/src/transfer/ipfs/upload.d.ts +95 -0
  682. package/v3/@claude-flow/cli/dist/src/transfer/ipfs/upload.js +411 -0
  683. package/v3/@claude-flow/cli/dist/src/transfer/models/seraphine.d.ts +72 -0
  684. package/v3/@claude-flow/cli/dist/src/transfer/models/seraphine.js +373 -0
  685. package/v3/@claude-flow/cli/dist/src/transfer/serialization/cfp.d.ts +49 -0
  686. package/v3/@claude-flow/cli/dist/src/transfer/serialization/cfp.js +183 -0
  687. package/v3/@claude-flow/cli/dist/src/transfer/storage/gcs.d.ts +82 -0
  688. package/v3/@claude-flow/cli/dist/src/transfer/storage/gcs.js +272 -0
  689. package/v3/@claude-flow/cli/dist/src/transfer/storage/index.d.ts +6 -0
  690. package/v3/@claude-flow/cli/dist/src/transfer/storage/index.js +6 -0
  691. package/v3/@claude-flow/cli/dist/src/transfer/store/discovery.d.ts +84 -0
  692. package/v3/@claude-flow/cli/dist/src/transfer/store/discovery.js +382 -0
  693. package/v3/@claude-flow/cli/dist/src/transfer/store/download.d.ts +70 -0
  694. package/v3/@claude-flow/cli/dist/src/transfer/store/download.js +334 -0
  695. package/v3/@claude-flow/cli/dist/src/transfer/store/index.d.ts +84 -0
  696. package/v3/@claude-flow/cli/dist/src/transfer/store/index.js +153 -0
  697. package/v3/@claude-flow/cli/dist/src/transfer/store/publish.d.ts +76 -0
  698. package/v3/@claude-flow/cli/dist/src/transfer/store/publish.js +294 -0
  699. package/v3/@claude-flow/cli/dist/src/transfer/store/registry.d.ts +58 -0
  700. package/v3/@claude-flow/cli/dist/src/transfer/store/registry.js +285 -0
  701. package/v3/@claude-flow/cli/dist/src/transfer/store/search.d.ts +54 -0
  702. package/v3/@claude-flow/cli/dist/src/transfer/store/search.js +232 -0
  703. package/v3/@claude-flow/cli/dist/src/transfer/store/tests/standalone-test.d.ts +12 -0
  704. package/v3/@claude-flow/cli/dist/src/transfer/store/tests/standalone-test.js +190 -0
  705. package/v3/@claude-flow/cli/dist/src/transfer/store/types.d.ts +193 -0
  706. package/v3/@claude-flow/cli/dist/src/transfer/store/types.js +6 -0
  707. package/v3/@claude-flow/cli/dist/src/transfer/test-seraphine.d.ts +6 -0
  708. package/v3/@claude-flow/cli/dist/src/transfer/test-seraphine.js +105 -0
  709. package/v3/@claude-flow/cli/dist/src/transfer/tests/test-store.d.ts +7 -0
  710. package/v3/@claude-flow/cli/dist/src/transfer/tests/test-store.js +214 -0
  711. package/v3/@claude-flow/cli/dist/src/transfer/types.d.ts +245 -0
  712. package/v3/@claude-flow/cli/dist/src/transfer/types.js +6 -0
  713. package/v3/@claude-flow/cli/dist/src/types.d.ts +198 -0
  714. package/v3/@claude-flow/cli/dist/src/types.js +38 -0
  715. package/v3/@claude-flow/cli/dist/src/update/checker.d.ts +34 -0
  716. package/v3/@claude-flow/cli/dist/src/update/checker.js +190 -0
  717. package/v3/@claude-flow/cli/dist/src/update/executor.d.ts +32 -0
  718. package/v3/@claude-flow/cli/dist/src/update/executor.js +181 -0
  719. package/v3/@claude-flow/cli/dist/src/update/index.d.ts +33 -0
  720. package/v3/@claude-flow/cli/dist/src/update/index.js +64 -0
  721. package/v3/@claude-flow/cli/dist/src/update/rate-limiter.d.ts +20 -0
  722. package/v3/@claude-flow/cli/dist/src/update/rate-limiter.js +96 -0
  723. package/v3/@claude-flow/cli/dist/src/update/validator.d.ts +17 -0
  724. package/v3/@claude-flow/cli/dist/src/update/validator.js +123 -0
  725. package/v3/@claude-flow/cli/dist/src/utils/path-validation.d.ts +20 -0
  726. package/v3/@claude-flow/cli/dist/src/utils/path-validation.js +80 -0
  727. package/v3/@claude-flow/cli/package.json +75 -0
  728. package/v3/@claude-flow/shared/README.md +323 -0
  729. package/v3/@claude-flow/shared/package.json +42 -0
  730. package/v3/README.md +493 -0
@@ -0,0 +1,803 @@
1
+ ---
2
+ name: quorum-manager
3
+ description: Implements dynamic quorum adjustment and intelligent membership management
4
+ ---
5
+
6
+ # Quorum Manager
7
+
8
+ Implements dynamic quorum adjustment and intelligent membership management for distributed consensus protocols.
9
+
10
+ ## Core Responsibilities
11
+
12
+ 1. **Dynamic Quorum Calculation**: Adapt quorum requirements based on real-time network conditions
13
+ 2. **Membership Management**: Handle seamless node addition, removal, and failure scenarios
14
+ 3. **Network Monitoring**: Assess connectivity, latency, and partition detection
15
+ 4. **Weighted Voting**: Implement capability-based voting weight assignments
16
+ 5. **Fault Tolerance Optimization**: Balance availability and consistency guarantees
17
+
18
+ ## Technical Implementation
19
+
20
+ ### Core Quorum Management System
21
+ ```javascript
22
+ class QuorumManager {
23
+ constructor(nodeId, consensusProtocol) {
24
+ this.nodeId = nodeId;
25
+ this.protocol = consensusProtocol;
26
+ this.currentQuorum = new Map(); // nodeId -> QuorumNode
27
+ this.quorumHistory = [];
28
+ this.networkMonitor = new NetworkConditionMonitor();
29
+ this.membershipTracker = new MembershipTracker();
30
+ this.faultToleranceCalculator = new FaultToleranceCalculator();
31
+ this.adjustmentStrategies = new Map();
32
+
33
+ this.initializeStrategies();
34
+ }
35
+
36
+ // Initialize quorum adjustment strategies
37
+ initializeStrategies() {
38
+ this.adjustmentStrategies.set('NETWORK_BASED', new NetworkBasedStrategy());
39
+ this.adjustmentStrategies.set('PERFORMANCE_BASED', new PerformanceBasedStrategy());
40
+ this.adjustmentStrategies.set('FAULT_TOLERANCE_BASED', new FaultToleranceStrategy());
41
+ this.adjustmentStrategies.set('HYBRID', new HybridStrategy());
42
+ }
43
+
44
+ // Calculate optimal quorum size based on current conditions
45
+ async calculateOptimalQuorum(context = {}) {
46
+ const networkConditions = await this.networkMonitor.getCurrentConditions();
47
+ const membershipStatus = await this.membershipTracker.getMembershipStatus();
48
+ const performanceMetrics = context.performanceMetrics || await this.getPerformanceMetrics();
49
+
50
+ const analysisInput = {
51
+ networkConditions: networkConditions,
52
+ membershipStatus: membershipStatus,
53
+ performanceMetrics: performanceMetrics,
54
+ currentQuorum: this.currentQuorum,
55
+ protocol: this.protocol,
56
+ faultToleranceRequirements: context.faultToleranceRequirements || this.getDefaultFaultTolerance()
57
+ };
58
+
59
+ // Apply multiple strategies and select optimal result
60
+ const strategyResults = new Map();
61
+
62
+ for (const [strategyName, strategy] of this.adjustmentStrategies) {
63
+ try {
64
+ const result = await strategy.calculateQuorum(analysisInput);
65
+ strategyResults.set(strategyName, result);
66
+ } catch (error) {
67
+ console.warn(`Strategy ${strategyName} failed:`, error);
68
+ }
69
+ }
70
+
71
+ // Select best strategy result
72
+ const optimalResult = this.selectOptimalStrategy(strategyResults, analysisInput);
73
+
74
+ return {
75
+ recommendedQuorum: optimalResult.quorum,
76
+ strategy: optimalResult.strategy,
77
+ confidence: optimalResult.confidence,
78
+ reasoning: optimalResult.reasoning,
79
+ expectedImpact: optimalResult.expectedImpact
80
+ };
81
+ }
82
+
83
+ // Apply quorum changes with validation and rollback capability
84
+ async adjustQuorum(newQuorumConfig, options = {}) {
85
+ const adjustmentId = `adjustment_${Date.now()}`;
86
+
87
+ try {
88
+ // Validate new quorum configuration
89
+ await this.validateQuorumConfiguration(newQuorumConfig);
90
+
91
+ // Create adjustment plan
92
+ const adjustmentPlan = await this.createAdjustmentPlan(
93
+ this.currentQuorum, newQuorumConfig
94
+ );
95
+
96
+ // Execute adjustment with monitoring
97
+ const adjustmentResult = await this.executeQuorumAdjustment(
98
+ adjustmentPlan, adjustmentId, options
99
+ );
100
+
101
+ // Verify adjustment success
102
+ await this.verifyQuorumAdjustment(adjustmentResult);
103
+
104
+ // Update current quorum
105
+ this.currentQuorum = newQuorumConfig.quorum;
106
+
107
+ // Record successful adjustment
108
+ this.recordQuorumChange(adjustmentId, adjustmentResult);
109
+
110
+ return {
111
+ success: true,
112
+ adjustmentId: adjustmentId,
113
+ previousQuorum: adjustmentPlan.previousQuorum,
114
+ newQuorum: this.currentQuorum,
115
+ impact: adjustmentResult.impact
116
+ };
117
+
118
+ } catch (error) {
119
+ console.error(`Quorum adjustment failed:`, error);
120
+
121
+ // Attempt rollback
122
+ await this.rollbackQuorumAdjustment(adjustmentId);
123
+
124
+ throw error;
125
+ }
126
+ }
127
+
128
+ async executeQuorumAdjustment(adjustmentPlan, adjustmentId, options) {
129
+ const startTime = Date.now();
130
+
131
+ // Phase 1: Prepare nodes for quorum change
132
+ await this.prepareNodesForAdjustment(adjustmentPlan.affectedNodes);
133
+
134
+ // Phase 2: Execute membership changes
135
+ const membershipChanges = await this.executeMembershipChanges(
136
+ adjustmentPlan.membershipChanges
137
+ );
138
+
139
+ // Phase 3: Update voting weights if needed
140
+ if (adjustmentPlan.weightChanges.length > 0) {
141
+ await this.updateVotingWeights(adjustmentPlan.weightChanges);
142
+ }
143
+
144
+ // Phase 4: Reconfigure consensus protocol
145
+ await this.reconfigureConsensusProtocol(adjustmentPlan.protocolChanges);
146
+
147
+ // Phase 5: Verify new quorum is operational
148
+ const verificationResult = await this.verifyQuorumOperational(adjustmentPlan.newQuorum);
149
+
150
+ const endTime = Date.now();
151
+
152
+ return {
153
+ adjustmentId: adjustmentId,
154
+ duration: endTime - startTime,
155
+ membershipChanges: membershipChanges,
156
+ verificationResult: verificationResult,
157
+ impact: await this.measureAdjustmentImpact(startTime, endTime)
158
+ };
159
+ }
160
+ }
161
+ ```
162
+
163
+ ### Network-Based Quorum Strategy
164
+ ```javascript
165
+ class NetworkBasedStrategy {
166
+ constructor() {
167
+ this.networkAnalyzer = new NetworkAnalyzer();
168
+ this.connectivityMatrix = new ConnectivityMatrix();
169
+ this.partitionPredictor = new PartitionPredictor();
170
+ }
171
+
172
+ async calculateQuorum(analysisInput) {
173
+ const { networkConditions, membershipStatus, currentQuorum } = analysisInput;
174
+
175
+ // Analyze network topology and connectivity
176
+ const topologyAnalysis = await this.analyzeNetworkTopology(membershipStatus.activeNodes);
177
+
178
+ // Predict potential network partitions
179
+ const partitionRisk = await this.assessPartitionRisk(networkConditions, topologyAnalysis);
180
+
181
+ // Calculate minimum quorum for fault tolerance
182
+ const minQuorum = this.calculateMinimumQuorum(
183
+ membershipStatus.activeNodes.length,
184
+ partitionRisk.maxPartitionSize
185
+ );
186
+
187
+ // Optimize for network conditions
188
+ const optimizedQuorum = await this.optimizeForNetworkConditions(
189
+ minQuorum,
190
+ networkConditions,
191
+ topologyAnalysis
192
+ );
193
+
194
+ return {
195
+ quorum: optimizedQuorum,
196
+ strategy: 'NETWORK_BASED',
197
+ confidence: this.calculateConfidence(networkConditions, topologyAnalysis),
198
+ reasoning: this.generateReasoning(optimizedQuorum, partitionRisk, networkConditions),
199
+ expectedImpact: {
200
+ availability: this.estimateAvailabilityImpact(optimizedQuorum),
201
+ performance: this.estimatePerformanceImpact(optimizedQuorum, networkConditions)
202
+ }
203
+ };
204
+ }
205
+
206
+ async analyzeNetworkTopology(activeNodes) {
207
+ const topology = {
208
+ nodes: activeNodes.length,
209
+ edges: 0,
210
+ clusters: [],
211
+ diameter: 0,
212
+ connectivity: new Map()
213
+ };
214
+
215
+ // Build connectivity matrix
216
+ for (const node of activeNodes) {
217
+ const connections = await this.getNodeConnections(node);
218
+ topology.connectivity.set(node.id, connections);
219
+ topology.edges += connections.length;
220
+ }
221
+
222
+ // Identify network clusters
223
+ topology.clusters = await this.identifyNetworkClusters(topology.connectivity);
224
+
225
+ // Calculate network diameter
226
+ topology.diameter = await this.calculateNetworkDiameter(topology.connectivity);
227
+
228
+ return topology;
229
+ }
230
+
231
+ async assessPartitionRisk(networkConditions, topologyAnalysis) {
232
+ const riskFactors = {
233
+ connectivityReliability: this.assessConnectivityReliability(networkConditions),
234
+ geographicDistribution: this.assessGeographicRisk(topologyAnalysis),
235
+ networkLatency: this.assessLatencyRisk(networkConditions),
236
+ historicalPartitions: await this.getHistoricalPartitionData()
237
+ };
238
+
239
+ // Calculate overall partition risk
240
+ const overallRisk = this.calculateOverallPartitionRisk(riskFactors);
241
+
242
+ // Estimate maximum partition size
243
+ const maxPartitionSize = this.estimateMaxPartitionSize(
244
+ topologyAnalysis,
245
+ riskFactors
246
+ );
247
+
248
+ return {
249
+ overallRisk: overallRisk,
250
+ maxPartitionSize: maxPartitionSize,
251
+ riskFactors: riskFactors,
252
+ mitigationStrategies: this.suggestMitigationStrategies(riskFactors)
253
+ };
254
+ }
255
+
256
+ calculateMinimumQuorum(totalNodes, maxPartitionSize) {
257
+ // For Byzantine fault tolerance: need > 2/3 of total nodes
258
+ const byzantineMinimum = Math.floor(2 * totalNodes / 3) + 1;
259
+
260
+ // For network partition tolerance: need > 1/2 of largest connected component
261
+ const partitionMinimum = Math.floor((totalNodes - maxPartitionSize) / 2) + 1;
262
+
263
+ // Use the more restrictive requirement
264
+ return Math.max(byzantineMinimum, partitionMinimum);
265
+ }
266
+
267
+ async optimizeForNetworkConditions(minQuorum, networkConditions, topologyAnalysis) {
268
+ const optimization = {
269
+ baseQuorum: minQuorum,
270
+ nodes: new Map(),
271
+ totalWeight: 0
272
+ };
273
+
274
+ // Select nodes for quorum based on network position and reliability
275
+ const nodeScores = await this.scoreNodesForQuorum(networkConditions, topologyAnalysis);
276
+
277
+ // Sort nodes by score (higher is better)
278
+ const sortedNodes = Array.from(nodeScores.entries())
279
+ .sort(([,scoreA], [,scoreB]) => scoreB - scoreA);
280
+
281
+ // Select top nodes for quorum
282
+ let selectedCount = 0;
283
+ for (const [nodeId, score] of sortedNodes) {
284
+ if (selectedCount < minQuorum) {
285
+ const weight = this.calculateNodeWeight(nodeId, score, networkConditions);
286
+ optimization.nodes.set(nodeId, {
287
+ weight: weight,
288
+ score: score,
289
+ role: selectedCount === 0 ? 'primary' : 'secondary'
290
+ });
291
+ optimization.totalWeight += weight;
292
+ selectedCount++;
293
+ }
294
+ }
295
+
296
+ return optimization;
297
+ }
298
+
299
+ async scoreNodesForQuorum(networkConditions, topologyAnalysis) {
300
+ const scores = new Map();
301
+
302
+ for (const [nodeId, connections] of topologyAnalysis.connectivity) {
303
+ let score = 0;
304
+
305
+ // Connectivity score (more connections = higher score)
306
+ score += (connections.length / topologyAnalysis.nodes) * 30;
307
+
308
+ // Network position score (central nodes get higher scores)
309
+ const centrality = this.calculateCentrality(nodeId, topologyAnalysis);
310
+ score += centrality * 25;
311
+
312
+ // Reliability score based on network conditions
313
+ const reliability = await this.getNodeReliability(nodeId, networkConditions);
314
+ score += reliability * 25;
315
+
316
+ // Geographic diversity score
317
+ const geoScore = await this.getGeographicDiversityScore(nodeId, topologyAnalysis);
318
+ score += geoScore * 20;
319
+
320
+ scores.set(nodeId, score);
321
+ }
322
+
323
+ return scores;
324
+ }
325
+
326
+ calculateNodeWeight(nodeId, score, networkConditions) {
327
+ // Base weight of 1, adjusted by score and conditions
328
+ let weight = 1.0;
329
+
330
+ // Adjust based on normalized score (0-1)
331
+ const normalizedScore = score / 100;
332
+ weight *= (0.5 + normalizedScore);
333
+
334
+ // Adjust based on network latency
335
+ const nodeLatency = networkConditions.nodeLatencies.get(nodeId) || 100;
336
+ const latencyFactor = Math.max(0.1, 1.0 - (nodeLatency / 1000)); // Lower latency = higher weight
337
+ weight *= latencyFactor;
338
+
339
+ // Ensure minimum weight
340
+ return Math.max(0.1, Math.min(2.0, weight));
341
+ }
342
+ }
343
+ ```
344
+
345
+ ### Performance-Based Quorum Strategy
346
+ ```javascript
347
+ class PerformanceBasedStrategy {
348
+ constructor() {
349
+ this.performanceAnalyzer = new PerformanceAnalyzer();
350
+ this.throughputOptimizer = new ThroughputOptimizer();
351
+ this.latencyOptimizer = new LatencyOptimizer();
352
+ }
353
+
354
+ async calculateQuorum(analysisInput) {
355
+ const { performanceMetrics, membershipStatus, protocol } = analysisInput;
356
+
357
+ // Analyze current performance bottlenecks
358
+ const bottlenecks = await this.identifyPerformanceBottlenecks(performanceMetrics);
359
+
360
+ // Calculate throughput-optimal quorum size
361
+ const throughputOptimal = await this.calculateThroughputOptimalQuorum(
362
+ performanceMetrics, membershipStatus.activeNodes
363
+ );
364
+
365
+ // Calculate latency-optimal quorum size
366
+ const latencyOptimal = await this.calculateLatencyOptimalQuorum(
367
+ performanceMetrics, membershipStatus.activeNodes
368
+ );
369
+
370
+ // Balance throughput and latency requirements
371
+ const balancedQuorum = await this.balanceThroughputAndLatency(
372
+ throughputOptimal, latencyOptimal, performanceMetrics.requirements
373
+ );
374
+
375
+ return {
376
+ quorum: balancedQuorum,
377
+ strategy: 'PERFORMANCE_BASED',
378
+ confidence: this.calculatePerformanceConfidence(performanceMetrics),
379
+ reasoning: this.generatePerformanceReasoning(
380
+ balancedQuorum, throughputOptimal, latencyOptimal, bottlenecks
381
+ ),
382
+ expectedImpact: {
383
+ throughputImprovement: this.estimateThroughputImpact(balancedQuorum),
384
+ latencyImprovement: this.estimateLatencyImpact(balancedQuorum)
385
+ }
386
+ };
387
+ }
388
+
389
+ async calculateThroughputOptimalQuorum(performanceMetrics, activeNodes) {
390
+ const currentThroughput = performanceMetrics.throughput;
391
+ const targetThroughput = performanceMetrics.requirements.targetThroughput;
392
+
393
+ // Analyze relationship between quorum size and throughput
394
+ const throughputCurve = await this.analyzeThroughputCurve(activeNodes);
395
+
396
+ // Find quorum size that maximizes throughput while meeting requirements
397
+ let optimalSize = Math.ceil(activeNodes.length / 2) + 1; // Minimum viable quorum
398
+ let maxThroughput = 0;
399
+
400
+ for (let size = optimalSize; size <= activeNodes.length; size++) {
401
+ const projectedThroughput = this.projectThroughput(size, throughputCurve);
402
+
403
+ if (projectedThroughput > maxThroughput && projectedThroughput >= targetThroughput) {
404
+ maxThroughput = projectedThroughput;
405
+ optimalSize = size;
406
+ } else if (projectedThroughput < maxThroughput * 0.9) {
407
+ // Stop if throughput starts decreasing significantly
408
+ break;
409
+ }
410
+ }
411
+
412
+ return await this.selectOptimalNodes(activeNodes, optimalSize, 'THROUGHPUT');
413
+ }
414
+
415
+ async calculateLatencyOptimalQuorum(performanceMetrics, activeNodes) {
416
+ const currentLatency = performanceMetrics.latency;
417
+ const targetLatency = performanceMetrics.requirements.maxLatency;
418
+
419
+ // Analyze relationship between quorum size and latency
420
+ const latencyCurve = await this.analyzeLatencyCurve(activeNodes);
421
+
422
+ // Find minimum quorum size that meets latency requirements
423
+ const minViableQuorum = Math.ceil(activeNodes.length / 2) + 1;
424
+
425
+ for (let size = minViableQuorum; size <= activeNodes.length; size++) {
426
+ const projectedLatency = this.projectLatency(size, latencyCurve);
427
+
428
+ if (projectedLatency <= targetLatency) {
429
+ return await this.selectOptimalNodes(activeNodes, size, 'LATENCY');
430
+ }
431
+ }
432
+
433
+ // If no size meets requirements, return minimum viable with warning
434
+ console.warn('No quorum size meets latency requirements');
435
+ return await this.selectOptimalNodes(activeNodes, minViableQuorum, 'LATENCY');
436
+ }
437
+
438
+ async selectOptimalNodes(availableNodes, targetSize, optimizationTarget) {
439
+ const nodeScores = new Map();
440
+
441
+ // Score nodes based on optimization target
442
+ for (const node of availableNodes) {
443
+ let score = 0;
444
+
445
+ if (optimizationTarget === 'THROUGHPUT') {
446
+ score = await this.scoreThroughputCapability(node);
447
+ } else if (optimizationTarget === 'LATENCY') {
448
+ score = await this.scoreLatencyPerformance(node);
449
+ }
450
+
451
+ nodeScores.set(node.id, score);
452
+ }
453
+
454
+ // Select top-scoring nodes
455
+ const sortedNodes = availableNodes.sort((a, b) =>
456
+ nodeScores.get(b.id) - nodeScores.get(a.id)
457
+ );
458
+
459
+ const selectedNodes = new Map();
460
+
461
+ for (let i = 0; i < Math.min(targetSize, sortedNodes.length); i++) {
462
+ const node = sortedNodes[i];
463
+ selectedNodes.set(node.id, {
464
+ weight: this.calculatePerformanceWeight(node, nodeScores.get(node.id)),
465
+ score: nodeScores.get(node.id),
466
+ role: i === 0 ? 'primary' : 'secondary',
467
+ optimizationTarget: optimizationTarget
468
+ });
469
+ }
470
+
471
+ return {
472
+ nodes: selectedNodes,
473
+ totalWeight: Array.from(selectedNodes.values())
474
+ .reduce((sum, node) => sum + node.weight, 0),
475
+ optimizationTarget: optimizationTarget
476
+ };
477
+ }
478
+
479
+ async scoreThroughputCapability(node) {
480
+ let score = 0;
481
+
482
+ // CPU capacity score
483
+ const cpuCapacity = await this.getNodeCPUCapacity(node);
484
+ score += (cpuCapacity / 100) * 30; // 30% weight for CPU
485
+
486
+ // Network bandwidth score
487
+ const bandwidth = await this.getNodeBandwidth(node);
488
+ score += (bandwidth / 1000) * 25; // 25% weight for bandwidth (Mbps)
489
+
490
+ // Memory capacity score
491
+ const memory = await this.getNodeMemory(node);
492
+ score += (memory / 8192) * 20; // 20% weight for memory (MB)
493
+
494
+ // Historical throughput performance
495
+ const historicalPerformance = await this.getHistoricalThroughput(node);
496
+ score += (historicalPerformance / 1000) * 25; // 25% weight for historical performance
497
+
498
+ return Math.min(100, score); // Normalize to 0-100
499
+ }
500
+
501
+ async scoreLatencyPerformance(node) {
502
+ let score = 100; // Start with perfect score, subtract penalties
503
+
504
+ // Network latency penalty
505
+ const avgLatency = await this.getAverageNodeLatency(node);
506
+ score -= (avgLatency / 10); // Subtract 1 point per 10ms latency
507
+
508
+ // CPU load penalty
509
+ const cpuLoad = await this.getNodeCPULoad(node);
510
+ score -= (cpuLoad / 2); // Subtract 0.5 points per 1% CPU load
511
+
512
+ // Geographic distance penalty (for distributed networks)
513
+ const geoLatency = await this.getGeographicLatency(node);
514
+ score -= (geoLatency / 20); // Subtract 1 point per 20ms geo latency
515
+
516
+ // Consistency penalty (nodes with inconsistent performance)
517
+ const consistencyScore = await this.getPerformanceConsistency(node);
518
+ score *= consistencyScore; // Multiply by consistency factor (0-1)
519
+
520
+ return Math.max(0, score);
521
+ }
522
+ }
523
+ ```
524
+
525
+ ### Fault Tolerance Strategy
526
+ ```javascript
527
+ class FaultToleranceStrategy {
528
+ constructor() {
529
+ this.faultAnalyzer = new FaultAnalyzer();
530
+ this.reliabilityCalculator = new ReliabilityCalculator();
531
+ this.redundancyOptimizer = new RedundancyOptimizer();
532
+ }
533
+
534
+ async calculateQuorum(analysisInput) {
535
+ const { membershipStatus, faultToleranceRequirements, networkConditions } = analysisInput;
536
+
537
+ // Analyze fault scenarios
538
+ const faultScenarios = await this.analyzeFaultScenarios(
539
+ membershipStatus.activeNodes, networkConditions
540
+ );
541
+
542
+ // Calculate minimum quorum for fault tolerance requirements
543
+ const minQuorum = this.calculateFaultTolerantQuorum(
544
+ faultScenarios, faultToleranceRequirements
545
+ );
546
+
547
+ // Optimize node selection for maximum fault tolerance
548
+ const faultTolerantQuorum = await this.optimizeForFaultTolerance(
549
+ membershipStatus.activeNodes, minQuorum, faultScenarios
550
+ );
551
+
552
+ return {
553
+ quorum: faultTolerantQuorum,
554
+ strategy: 'FAULT_TOLERANCE_BASED',
555
+ confidence: this.calculateFaultConfidence(faultScenarios),
556
+ reasoning: this.generateFaultToleranceReasoning(
557
+ faultTolerantQuorum, faultScenarios, faultToleranceRequirements
558
+ ),
559
+ expectedImpact: {
560
+ availability: this.estimateAvailabilityImprovement(faultTolerantQuorum),
561
+ resilience: this.estimateResilienceImprovement(faultTolerantQuorum)
562
+ }
563
+ };
564
+ }
565
+
566
+ async analyzeFaultScenarios(activeNodes, networkConditions) {
567
+ const scenarios = [];
568
+
569
+ // Single node failure scenarios
570
+ for (const node of activeNodes) {
571
+ const scenario = await this.analyzeSingleNodeFailure(node, activeNodes, networkConditions);
572
+ scenarios.push(scenario);
573
+ }
574
+
575
+ // Multiple node failure scenarios
576
+ const multiFailureScenarios = await this.analyzeMultipleNodeFailures(
577
+ activeNodes, networkConditions
578
+ );
579
+ scenarios.push(...multiFailureScenarios);
580
+
581
+ // Network partition scenarios
582
+ const partitionScenarios = await this.analyzeNetworkPartitionScenarios(
583
+ activeNodes, networkConditions
584
+ );
585
+ scenarios.push(...partitionScenarios);
586
+
587
+ // Correlated failure scenarios
588
+ const correlatedFailureScenarios = await this.analyzeCorrelatedFailures(
589
+ activeNodes, networkConditions
590
+ );
591
+ scenarios.push(...correlatedFailureScenarios);
592
+
593
+ return this.prioritizeScenariosByLikelihood(scenarios);
594
+ }
595
+
596
+ calculateFaultTolerantQuorum(faultScenarios, requirements) {
597
+ let maxRequiredQuorum = 0;
598
+
599
+ for (const scenario of faultScenarios) {
600
+ if (scenario.likelihood >= requirements.minLikelihoodToConsider) {
601
+ const requiredQuorum = this.calculateQuorumForScenario(scenario, requirements);
602
+ maxRequiredQuorum = Math.max(maxRequiredQuorum, requiredQuorum);
603
+ }
604
+ }
605
+
606
+ return maxRequiredQuorum;
607
+ }
608
+
609
+ calculateQuorumForScenario(scenario, requirements) {
610
+ const totalNodes = scenario.totalNodes;
611
+ const failedNodes = scenario.failedNodes;
612
+ const availableNodes = totalNodes - failedNodes;
613
+
614
+ // For Byzantine fault tolerance
615
+ if (requirements.byzantineFaultTolerance) {
616
+ const maxByzantineNodes = Math.floor((totalNodes - 1) / 3);
617
+ return Math.floor(2 * totalNodes / 3) + 1;
618
+ }
619
+
620
+ // For crash fault tolerance
621
+ return Math.floor(availableNodes / 2) + 1;
622
+ }
623
+
624
+ async optimizeForFaultTolerance(activeNodes, minQuorum, faultScenarios) {
625
+ const optimizedQuorum = {
626
+ nodes: new Map(),
627
+ totalWeight: 0,
628
+ faultTolerance: {
629
+ singleNodeFailures: 0,
630
+ multipleNodeFailures: 0,
631
+ networkPartitions: 0
632
+ }
633
+ };
634
+
635
+ // Score nodes based on fault tolerance contribution
636
+ const nodeScores = await this.scoreFaultToleranceContribution(
637
+ activeNodes, faultScenarios
638
+ );
639
+
640
+ // Select nodes to maximize fault tolerance coverage
641
+ const selectedNodes = this.selectFaultTolerantNodes(
642
+ activeNodes, minQuorum, nodeScores, faultScenarios
643
+ );
644
+
645
+ for (const [nodeId, nodeData] of selectedNodes) {
646
+ optimizedQuorum.nodes.set(nodeId, {
647
+ weight: nodeData.weight,
648
+ score: nodeData.score,
649
+ role: nodeData.role,
650
+ faultToleranceContribution: nodeData.faultToleranceContribution
651
+ });
652
+ optimizedQuorum.totalWeight += nodeData.weight;
653
+ }
654
+
655
+ // Calculate fault tolerance metrics for selected quorum
656
+ optimizedQuorum.faultTolerance = await this.calculateFaultToleranceMetrics(
657
+ selectedNodes, faultScenarios
658
+ );
659
+
660
+ return optimizedQuorum;
661
+ }
662
+
663
+ async scoreFaultToleranceContribution(activeNodes, faultScenarios) {
664
+ const scores = new Map();
665
+
666
+ for (const node of activeNodes) {
667
+ let score = 0;
668
+
669
+ // Independence score (nodes in different failure domains get higher scores)
670
+ const independenceScore = await this.calculateIndependenceScore(node, activeNodes);
671
+ score += independenceScore * 40;
672
+
673
+ // Reliability score (historical uptime and performance)
674
+ const reliabilityScore = await this.calculateReliabilityScore(node);
675
+ score += reliabilityScore * 30;
676
+
677
+ // Geographic diversity score
678
+ const diversityScore = await this.calculateDiversityScore(node, activeNodes);
679
+ score += diversityScore * 20;
680
+
681
+ // Recovery capability score
682
+ const recoveryScore = await this.calculateRecoveryScore(node);
683
+ score += recoveryScore * 10;
684
+
685
+ scores.set(node.id, score);
686
+ }
687
+
688
+ return scores;
689
+ }
690
+
691
+ selectFaultTolerantNodes(activeNodes, minQuorum, nodeScores, faultScenarios) {
692
+ const selectedNodes = new Map();
693
+ const remainingNodes = [...activeNodes];
694
+
695
+ // Greedy selection to maximize fault tolerance coverage
696
+ while (selectedNodes.size < minQuorum && remainingNodes.length > 0) {
697
+ let bestNode = null;
698
+ let bestScore = -1;
699
+ let bestIndex = -1;
700
+
701
+ for (let i = 0; i < remainingNodes.length; i++) {
702
+ const node = remainingNodes[i];
703
+ const additionalCoverage = this.calculateAdditionalFaultCoverage(
704
+ node, selectedNodes, faultScenarios
705
+ );
706
+
707
+ const combinedScore = nodeScores.get(node.id) + (additionalCoverage * 50);
708
+
709
+ if (combinedScore > bestScore) {
710
+ bestScore = combinedScore;
711
+ bestNode = node;
712
+ bestIndex = i;
713
+ }
714
+ }
715
+
716
+ if (bestNode) {
717
+ selectedNodes.set(bestNode.id, {
718
+ weight: this.calculateFaultToleranceWeight(bestNode, nodeScores.get(bestNode.id)),
719
+ score: nodeScores.get(bestNode.id),
720
+ role: selectedNodes.size === 0 ? 'primary' : 'secondary',
721
+ faultToleranceContribution: this.calculateFaultToleranceContribution(bestNode)
722
+ });
723
+
724
+ remainingNodes.splice(bestIndex, 1);
725
+ } else {
726
+ break; // No more beneficial nodes
727
+ }
728
+ }
729
+
730
+ return selectedNodes;
731
+ }
732
+ }
733
+ ```
734
+
735
+ ## MCP Integration Hooks
736
+
737
+ ### Quorum State Management
738
+ ```javascript
739
+ // Store quorum configuration and history
740
+ await this.mcpTools.memory_usage({
741
+ action: 'store',
742
+ key: `quorum_config_${this.nodeId}`,
743
+ value: JSON.stringify({
744
+ currentQuorum: Array.from(this.currentQuorum.entries()),
745
+ strategy: this.activeStrategy,
746
+ networkConditions: this.lastNetworkAnalysis,
747
+ adjustmentHistory: this.quorumHistory.slice(-10)
748
+ }),
749
+ namespace: 'quorum_management',
750
+ ttl: 3600000 // 1 hour
751
+ });
752
+
753
+ // Coordinate with swarm for membership changes
754
+ const swarmStatus = await this.mcpTools.swarm_status({
755
+ swarmId: this.swarmId
756
+ });
757
+
758
+ await this.mcpTools.coordination_sync({
759
+ swarmId: this.swarmId
760
+ });
761
+ ```
762
+
763
+ ### Performance Monitoring Integration
764
+ ```javascript
765
+ // Track quorum adjustment performance
766
+ await this.mcpTools.metrics_collect({
767
+ components: [
768
+ 'quorum_adjustment_latency',
769
+ 'consensus_availability',
770
+ 'fault_tolerance_coverage',
771
+ 'network_partition_recovery_time'
772
+ ]
773
+ });
774
+
775
+ // Neural learning for quorum optimization
776
+ await this.mcpTools.neural_patterns({
777
+ action: 'learn',
778
+ operation: 'quorum_optimization',
779
+ outcome: JSON.stringify({
780
+ adjustmentType: adjustment.strategy,
781
+ performanceImpact: measurementResults,
782
+ networkConditions: currentNetworkState,
783
+ faultToleranceImprovement: faultToleranceMetrics
784
+ })
785
+ });
786
+ ```
787
+
788
+ ### Task Orchestration for Quorum Changes
789
+ ```javascript
790
+ // Orchestrate complex quorum adjustments
791
+ await this.mcpTools.task_orchestrate({
792
+ task: 'quorum_adjustment',
793
+ strategy: 'sequential',
794
+ priority: 'high',
795
+ dependencies: [
796
+ 'network_analysis',
797
+ 'membership_validation',
798
+ 'performance_assessment'
799
+ ]
800
+ });
801
+ ```
802
+
803
+ This Quorum Manager provides intelligent, adaptive quorum management that optimizes for network conditions, performance requirements, and fault tolerance needs while maintaining the safety and liveness properties of distributed consensus protocols.