claude-flow 3.28.0 → 3.29.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 (679) 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 +206 -206
  27. package/.claude/agents/dual-mode/codex-worker.md +190 -190
  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 +337 -337
  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 +550 -550
  48. package/.claude/agents/github/swarm-pr.md +401 -401
  49. package/.claude/agents/github/sync-coordinator.md +424 -424
  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/.helpers-version +1 -1
  281. package/.claude/helpers/README.md +96 -96
  282. package/.claude/helpers/adr-compliance.sh +186 -186
  283. package/.claude/helpers/aggressive-microcompact.mjs +36 -36
  284. package/.claude/helpers/auto-commit.sh +178 -178
  285. package/.claude/helpers/auto-memory-hook.mjs +430 -430
  286. package/.claude/helpers/checkpoint-manager.sh +251 -251
  287. package/.claude/helpers/context-persistence-hook.mjs +2001 -2001
  288. package/.claude/helpers/daemon-manager.sh +252 -252
  289. package/.claude/helpers/ddd-tracker.sh +144 -144
  290. package/.claude/helpers/github-safe.js +156 -156
  291. package/.claude/helpers/github-setup.sh +45 -45
  292. package/.claude/helpers/guidance-hook.sh +13 -13
  293. package/.claude/helpers/guidance-hooks.sh +102 -102
  294. package/.claude/helpers/health-monitor.sh +108 -108
  295. package/.claude/helpers/helpers.manifest.json +6 -5
  296. package/.claude/helpers/hook-handler.cjs +460 -460
  297. package/.claude/helpers/intelligence.cjs +1058 -1058
  298. package/.claude/helpers/learning-hooks.sh +329 -329
  299. package/.claude/helpers/learning-optimizer.sh +127 -127
  300. package/.claude/helpers/learning-service.mjs +1144 -1144
  301. package/.claude/helpers/memory.cjs +84 -84
  302. package/.claude/helpers/metrics-db.mjs +503 -503
  303. package/.claude/helpers/patch-aggressive-prune.mjs +184 -184
  304. package/.claude/helpers/pattern-consolidator.sh +86 -86
  305. package/.claude/helpers/perf-worker.sh +160 -160
  306. package/.claude/helpers/quick-start.sh +19 -19
  307. package/.claude/helpers/router.cjs +62 -62
  308. package/.claude/helpers/security-scanner.sh +127 -127
  309. package/.claude/helpers/session.cjs +125 -125
  310. package/.claude/helpers/setup-mcp.sh +18 -18
  311. package/.claude/helpers/standard-checkpoint-hooks.sh +189 -189
  312. package/.claude/helpers/statusline.cjs +925 -925
  313. package/.claude/helpers/swarm-comms.sh +353 -353
  314. package/.claude/helpers/swarm-hooks.sh +761 -761
  315. package/.claude/helpers/swarm-monitor.sh +210 -210
  316. package/.claude/helpers/sync-v3-metrics.sh +245 -245
  317. package/.claude/helpers/update-v3-progress.sh +165 -165
  318. package/.claude/helpers/v3-quick-status.sh +57 -57
  319. package/.claude/helpers/v3.sh +110 -110
  320. package/.claude/helpers/validate-v3-config.sh +215 -215
  321. package/.claude/helpers/worker-manager.sh +170 -170
  322. package/.claude/mcp.json +12 -12
  323. package/.claude/proven-config.json +1 -1
  324. package/.claude/settings.json +285 -285
  325. package/.claude/settings.json.bak +526 -526
  326. package/.claude/skills/agentdb-advanced/SKILL.md +550 -550
  327. package/.claude/skills/agentdb-learning/SKILL.md +545 -545
  328. package/.claude/skills/agentdb-memory-patterns/SKILL.md +339 -339
  329. package/.claude/skills/agentdb-optimization/SKILL.md +509 -509
  330. package/.claude/skills/agentdb-vector-search/SKILL.md +339 -339
  331. package/.claude/skills/agentic-jujutsu/SKILL.md +645 -645
  332. package/.claude/skills/browser/SKILL.md +204 -204
  333. package/.claude/skills/dual-mode/README.md +71 -71
  334. package/.claude/skills/dual-mode/dual-collect.md +103 -103
  335. package/.claude/skills/dual-mode/dual-coordinate.md +85 -85
  336. package/.claude/skills/dual-mode/dual-spawn.md +81 -81
  337. package/.claude/skills/flow-nexus-neural/SKILL.md +727 -727
  338. package/.claude/skills/flow-nexus-platform/SKILL.md +1154 -1154
  339. package/.claude/skills/flow-nexus-swarm/SKILL.md +604 -604
  340. package/.claude/skills/github-code-review/SKILL.md +1125 -1125
  341. package/.claude/skills/github-multi-repo/SKILL.md +862 -862
  342. package/.claude/skills/github-project-management/SKILL.md +1262 -1262
  343. package/.claude/skills/github-release-management/SKILL.md +1064 -1064
  344. package/.claude/skills/github-workflow-automation/SKILL.md +1047 -1047
  345. package/.claude/skills/hive-mind-advanced/SKILL.md +709 -709
  346. package/.claude/skills/hooks-automation/SKILL.md +1201 -1201
  347. package/.claude/skills/pair-programming/SKILL.md +1202 -1202
  348. package/.claude/skills/performance-analysis/SKILL.md +560 -560
  349. package/.claude/skills/reasoningbank-agentdb/SKILL.md +446 -446
  350. package/.claude/skills/reasoningbank-intelligence/SKILL.md +201 -201
  351. package/.claude/skills/skill-builder/SKILL.md +910 -910
  352. package/.claude/skills/sparc-methodology/SKILL.md +1106 -1106
  353. package/.claude/skills/stream-chain/SKILL.md +560 -560
  354. package/.claude/skills/swarm-advanced/SKILL.md +970 -970
  355. package/.claude/skills/swarm-orchestration/SKILL.md +179 -179
  356. package/.claude/skills/v3-cli-modernization/SKILL.md +871 -871
  357. package/.claude/skills/v3-core-implementation/SKILL.md +796 -796
  358. package/.claude/skills/v3-ddd-architecture/SKILL.md +441 -441
  359. package/.claude/skills/v3-integration-deep/SKILL.md +240 -240
  360. package/.claude/skills/v3-mcp-optimization/SKILL.md +776 -776
  361. package/.claude/skills/v3-memory-unification/SKILL.md +173 -173
  362. package/.claude/skills/v3-performance-optimization/SKILL.md +389 -389
  363. package/.claude/skills/v3-security-overhaul/SKILL.md +81 -81
  364. package/.claude/skills/v3-swarm-coordination/SKILL.md +339 -339
  365. package/.claude/skills/verification-quality/SKILL.md +691 -691
  366. package/.claude/skills/worker-benchmarks/SKILL.md +129 -129
  367. package/.claude/skills/worker-integration/SKILL.md +147 -147
  368. package/.claude/statusline-command.sh +176 -176
  369. package/.claude/statusline.mjs +109 -109
  370. package/.claude/statusline.sh +431 -431
  371. package/.claude/workflows/full-system-test.js +65 -65
  372. package/.claude/workflows/intelligence-system-hardening.js +120 -120
  373. package/.claude/workflows/plugin-contract-audit.js +91 -91
  374. package/.claude-plugin/README.md +720 -720
  375. package/.claude-plugin/docs/INSTALLATION.md +261 -261
  376. package/.claude-plugin/docs/PLUGIN_SUMMARY.md +361 -361
  377. package/.claude-plugin/docs/QUICKSTART.md +361 -361
  378. package/.claude-plugin/docs/STRUCTURE.md +128 -128
  379. package/.claude-plugin/hooks/hooks.json +77 -77
  380. package/.claude-plugin/marketplace.json +185 -185
  381. package/.claude-plugin/plugin.json +71 -71
  382. package/.claude-plugin/scripts/install.sh +234 -234
  383. package/.claude-plugin/scripts/ruflo-hook.cjs +166 -166
  384. package/.claude-plugin/scripts/ruflo-hook.sh +37 -37
  385. package/.claude-plugin/scripts/uninstall.sh +36 -36
  386. package/.claude-plugin/scripts/verify.sh +108 -108
  387. package/LICENSE +21 -21
  388. package/README.md +419 -419
  389. package/bin/cli.js +11 -11
  390. package/bin/npx-repair.js +7 -7
  391. package/bin/npx-safe-launch.js +9 -9
  392. package/package.json +185 -185
  393. package/v3/@claude-flow/cli/README.md +419 -419
  394. package/v3/@claude-flow/cli/bin/cli.js +314 -314
  395. package/v3/@claude-flow/cli/bin/mcp-server.js +224 -224
  396. package/v3/@claude-flow/cli/bin/preinstall.cjs +2 -2
  397. package/v3/@claude-flow/cli/catalog-manifest.json +2 -2
  398. package/v3/@claude-flow/cli/dist/src/benchmarks/gaia-critic.js +24 -24
  399. package/v3/@claude-flow/cli/dist/src/business-pods/bbs-budget-tracker.js +53 -53
  400. package/v3/@claude-flow/cli/dist/src/commands/completions.js +409 -409
  401. package/v3/@claude-flow/cli/dist/src/commands/daemon.js +44 -44
  402. package/v3/@claude-flow/cli/dist/src/commands/embeddings.js +26 -26
  403. package/v3/@claude-flow/cli/dist/src/commands/funnel.d.ts +2 -0
  404. package/v3/@claude-flow/cli/dist/src/commands/funnel.js +110 -2
  405. package/v3/@claude-flow/cli/dist/src/commands/hive-mind.js +97 -97
  406. package/v3/@claude-flow/cli/dist/src/commands/hooks.js +9 -9
  407. package/v3/@claude-flow/cli/dist/src/commands/init.js +94 -38
  408. package/v3/@claude-flow/cli/dist/src/commands/memory.js +85 -1
  409. package/v3/@claude-flow/cli/dist/src/commands/ruvector/backup.js +23 -23
  410. package/v3/@claude-flow/cli/dist/src/commands/ruvector/benchmark.js +31 -31
  411. package/v3/@claude-flow/cli/dist/src/commands/ruvector/import.js +14 -14
  412. package/v3/@claude-flow/cli/dist/src/commands/ruvector/init.js +115 -115
  413. package/v3/@claude-flow/cli/dist/src/commands/ruvector/migrate.js +99 -99
  414. package/v3/@claude-flow/cli/dist/src/commands/ruvector/optimize.js +51 -51
  415. package/v3/@claude-flow/cli/dist/src/commands/ruvector/setup.js +624 -624
  416. package/v3/@claude-flow/cli/dist/src/commands/ruvector/status.js +38 -38
  417. package/v3/@claude-flow/cli/dist/src/config/proven-config.js +2 -2
  418. package/v3/@claude-flow/cli/dist/src/funnel/disclosure.d.ts +1 -0
  419. package/v3/@claude-flow/cli/dist/src/funnel/disclosure.js +12 -0
  420. package/v3/@claude-flow/cli/dist/src/funnel/index.d.ts +1 -1
  421. package/v3/@claude-flow/cli/dist/src/funnel/index.js +1 -1
  422. package/v3/@claude-flow/cli/dist/src/init/claudemd-generator.js +231 -231
  423. package/v3/@claude-flow/cli/dist/src/init/executor.js +453 -453
  424. package/v3/@claude-flow/cli/dist/src/init/helper-signing.d.ts +8 -1
  425. package/v3/@claude-flow/cli/dist/src/init/helper-signing.js +9 -2
  426. package/v3/@claude-flow/cli/dist/src/init/helpers-generator.js +751 -751
  427. package/v3/@claude-flow/cli/dist/src/init/statusline-generator.js +949 -949
  428. package/v3/@claude-flow/cli/dist/src/mcp-tools/agentdb-tools.js +15 -15
  429. package/v3/@claude-flow/cli/dist/src/mcp-tools/browser-intent-tools.js +19 -19
  430. package/v3/@claude-flow/cli/dist/src/memory/graph-edge-writer.js +22 -22
  431. package/v3/@claude-flow/cli/dist/src/memory/memory-bridge.d.ts +10 -0
  432. package/v3/@claude-flow/cli/dist/src/memory/memory-bridge.js +139 -88
  433. package/v3/@claude-flow/cli/dist/src/memory/memory-initializer.d.ts +18 -0
  434. package/v3/@claude-flow/cli/dist/src/memory/memory-initializer.js +539 -407
  435. package/v3/@claude-flow/cli/dist/src/memory/rabitq-index.js +5 -5
  436. package/v3/@claude-flow/cli/dist/src/runtime/headless.js +28 -28
  437. package/v3/@claude-flow/cli/dist/src/ruvector/flash-attention.d.ts +195 -0
  438. package/v3/@claude-flow/cli/dist/src/ruvector/flash-attention.js +643 -0
  439. package/v3/@claude-flow/cli/dist/src/ruvector/moe-router.d.ts +206 -0
  440. package/v3/@claude-flow/cli/dist/src/ruvector/moe-router.js +626 -0
  441. package/v3/@claude-flow/cli/dist/src/services/distill-tuning.js +7 -7
  442. package/v3/@claude-flow/cli/dist/src/services/event-stream.d.ts +25 -0
  443. package/v3/@claude-flow/cli/dist/src/services/event-stream.js +27 -0
  444. package/v3/@claude-flow/cli/dist/src/services/headless-worker-executor.js +84 -84
  445. package/v3/@claude-flow/cli/dist/src/services/loop-worker-runner.d.ts +16 -0
  446. package/v3/@claude-flow/cli/dist/src/services/loop-worker-runner.js +34 -0
  447. package/v3/@claude-flow/cli/dist/src/services/memory-distillation.js +4 -4
  448. package/v3/@claude-flow/cli/dist/src/services/runtime-capabilities.d.ts +22 -0
  449. package/v3/@claude-flow/cli/dist/src/services/runtime-capabilities.js +45 -0
  450. package/v3/@claude-flow/cli/dist/src/transfer/deploy-seraphine.js +23 -23
  451. package/v3/@claude-flow/cli/package.json +134 -133
  452. package/v3/@claude-flow/guidance/README.md +1195 -1195
  453. package/v3/@claude-flow/guidance/dist/adversarial.d.ts +284 -0
  454. package/v3/@claude-flow/guidance/dist/adversarial.js +572 -0
  455. package/v3/@claude-flow/guidance/dist/analyzer.d.ts +530 -0
  456. package/v3/@claude-flow/guidance/dist/analyzer.js +2587 -0
  457. package/v3/@claude-flow/guidance/dist/artifacts.d.ts +283 -0
  458. package/v3/@claude-flow/guidance/dist/artifacts.js +356 -0
  459. package/v3/@claude-flow/guidance/dist/authority.d.ts +290 -0
  460. package/v3/@claude-flow/guidance/dist/authority.js +558 -0
  461. package/v3/@claude-flow/guidance/dist/capabilities.d.ts +209 -0
  462. package/v3/@claude-flow/guidance/dist/capabilities.js +485 -0
  463. package/v3/@claude-flow/guidance/dist/coherence.d.ts +233 -0
  464. package/v3/@claude-flow/guidance/dist/coherence.js +372 -0
  465. package/v3/@claude-flow/guidance/dist/compiler.d.ts +87 -0
  466. package/v3/@claude-flow/guidance/dist/compiler.js +410 -0
  467. package/v3/@claude-flow/guidance/dist/conformance-kit.d.ts +225 -0
  468. package/v3/@claude-flow/guidance/dist/conformance-kit.js +629 -0
  469. package/v3/@claude-flow/guidance/dist/continue-gate.d.ts +214 -0
  470. package/v3/@claude-flow/guidance/dist/continue-gate.js +353 -0
  471. package/v3/@claude-flow/guidance/dist/crypto-utils.d.ts +17 -0
  472. package/v3/@claude-flow/guidance/dist/crypto-utils.js +24 -0
  473. package/v3/@claude-flow/guidance/dist/evolution.d.ts +282 -0
  474. package/v3/@claude-flow/guidance/dist/evolution.js +500 -0
  475. package/v3/@claude-flow/guidance/dist/gates.d.ts +79 -0
  476. package/v3/@claude-flow/guidance/dist/gates.js +302 -0
  477. package/v3/@claude-flow/guidance/dist/gateway.d.ts +206 -0
  478. package/v3/@claude-flow/guidance/dist/gateway.js +452 -0
  479. package/v3/@claude-flow/guidance/dist/generators.d.ts +153 -0
  480. package/v3/@claude-flow/guidance/dist/generators.js +682 -0
  481. package/v3/@claude-flow/guidance/dist/headless.d.ts +177 -0
  482. package/v3/@claude-flow/guidance/dist/headless.js +342 -0
  483. package/v3/@claude-flow/guidance/dist/hooks.d.ts +109 -0
  484. package/v3/@claude-flow/guidance/dist/hooks.js +347 -0
  485. package/v3/@claude-flow/guidance/dist/index.d.ts +205 -0
  486. package/v3/@claude-flow/guidance/dist/index.js +321 -0
  487. package/v3/@claude-flow/guidance/dist/ledger.d.ts +162 -0
  488. package/v3/@claude-flow/guidance/dist/ledger.js +375 -0
  489. package/v3/@claude-flow/guidance/dist/manifest-validator.d.ts +289 -0
  490. package/v3/@claude-flow/guidance/dist/manifest-validator.js +838 -0
  491. package/v3/@claude-flow/guidance/dist/memory-gate.d.ts +222 -0
  492. package/v3/@claude-flow/guidance/dist/memory-gate.js +382 -0
  493. package/v3/@claude-flow/guidance/dist/meta-governance.d.ts +265 -0
  494. package/v3/@claude-flow/guidance/dist/meta-governance.js +348 -0
  495. package/v3/@claude-flow/guidance/dist/optimizer.d.ts +104 -0
  496. package/v3/@claude-flow/guidance/dist/optimizer.js +329 -0
  497. package/v3/@claude-flow/guidance/dist/persistence.d.ts +189 -0
  498. package/v3/@claude-flow/guidance/dist/persistence.js +464 -0
  499. package/v3/@claude-flow/guidance/dist/proof.d.ts +185 -0
  500. package/v3/@claude-flow/guidance/dist/proof.js +238 -0
  501. package/v3/@claude-flow/guidance/dist/retriever.d.ts +172 -0
  502. package/v3/@claude-flow/guidance/dist/retriever.js +596 -0
  503. package/v3/@claude-flow/guidance/dist/ruvbot-integration.d.ts +370 -0
  504. package/v3/@claude-flow/guidance/dist/ruvbot-integration.js +738 -0
  505. package/v3/@claude-flow/guidance/dist/temporal.d.ts +426 -0
  506. package/v3/@claude-flow/guidance/dist/temporal.js +658 -0
  507. package/v3/@claude-flow/guidance/dist/trust.d.ts +283 -0
  508. package/v3/@claude-flow/guidance/dist/trust.js +473 -0
  509. package/v3/@claude-flow/guidance/dist/truth-anchors.d.ts +276 -0
  510. package/v3/@claude-flow/guidance/dist/truth-anchors.js +488 -0
  511. package/v3/@claude-flow/guidance/dist/types.d.ts +378 -0
  512. package/v3/@claude-flow/guidance/dist/types.js +10 -0
  513. package/v3/@claude-flow/guidance/dist/uncertainty.d.ts +372 -0
  514. package/v3/@claude-flow/guidance/dist/uncertainty.js +619 -0
  515. package/v3/@claude-flow/guidance/dist/wasm-kernel.d.ts +48 -0
  516. package/v3/@claude-flow/guidance/dist/wasm-kernel.js +158 -0
  517. package/v3/@claude-flow/guidance/package.json +198 -198
  518. package/v3/@claude-flow/shared/README.md +323 -323
  519. package/v3/@claude-flow/shared/dist/core/config/defaults.d.ts +41 -0
  520. package/v3/@claude-flow/shared/dist/core/config/defaults.js +186 -0
  521. package/v3/@claude-flow/shared/dist/core/config/index.d.ts +8 -0
  522. package/v3/@claude-flow/shared/dist/core/config/index.js +12 -0
  523. package/v3/@claude-flow/shared/dist/core/config/loader.d.ts +45 -0
  524. package/v3/@claude-flow/shared/dist/core/config/loader.js +238 -0
  525. package/v3/@claude-flow/shared/dist/core/config/schema.d.ts +1728 -0
  526. package/v3/@claude-flow/shared/dist/core/config/schema.js +160 -0
  527. package/v3/@claude-flow/shared/dist/core/config/validator.d.ts +92 -0
  528. package/v3/@claude-flow/shared/dist/core/config/validator.js +147 -0
  529. package/v3/@claude-flow/shared/dist/core/event-bus.d.ts +31 -0
  530. package/v3/@claude-flow/shared/dist/core/event-bus.js +197 -0
  531. package/v3/@claude-flow/shared/dist/core/index.d.ts +15 -0
  532. package/v3/@claude-flow/shared/dist/core/index.js +19 -0
  533. package/v3/@claude-flow/shared/dist/core/interfaces/agent.interface.d.ts +200 -0
  534. package/v3/@claude-flow/shared/dist/core/interfaces/agent.interface.js +6 -0
  535. package/v3/@claude-flow/shared/dist/core/interfaces/coordinator.interface.d.ts +310 -0
  536. package/v3/@claude-flow/shared/dist/core/interfaces/coordinator.interface.js +7 -0
  537. package/v3/@claude-flow/shared/dist/core/interfaces/event.interface.d.ts +224 -0
  538. package/v3/@claude-flow/shared/dist/core/interfaces/event.interface.js +46 -0
  539. package/v3/@claude-flow/shared/dist/core/interfaces/index.d.ts +10 -0
  540. package/v3/@claude-flow/shared/dist/core/interfaces/index.js +15 -0
  541. package/v3/@claude-flow/shared/dist/core/interfaces/memory.interface.d.ts +298 -0
  542. package/v3/@claude-flow/shared/dist/core/interfaces/memory.interface.js +7 -0
  543. package/v3/@claude-flow/shared/dist/core/interfaces/task.interface.d.ts +185 -0
  544. package/v3/@claude-flow/shared/dist/core/interfaces/task.interface.js +6 -0
  545. package/v3/@claude-flow/shared/dist/core/orchestrator/event-coordinator.d.ts +35 -0
  546. package/v3/@claude-flow/shared/dist/core/orchestrator/event-coordinator.js +101 -0
  547. package/v3/@claude-flow/shared/dist/core/orchestrator/health-monitor.d.ts +60 -0
  548. package/v3/@claude-flow/shared/dist/core/orchestrator/health-monitor.js +166 -0
  549. package/v3/@claude-flow/shared/dist/core/orchestrator/index.d.ts +46 -0
  550. package/v3/@claude-flow/shared/dist/core/orchestrator/index.js +64 -0
  551. package/v3/@claude-flow/shared/dist/core/orchestrator/lifecycle-manager.d.ts +56 -0
  552. package/v3/@claude-flow/shared/dist/core/orchestrator/lifecycle-manager.js +195 -0
  553. package/v3/@claude-flow/shared/dist/core/orchestrator/session-manager.d.ts +83 -0
  554. package/v3/@claude-flow/shared/dist/core/orchestrator/session-manager.js +193 -0
  555. package/v3/@claude-flow/shared/dist/core/orchestrator/task-manager.d.ts +49 -0
  556. package/v3/@claude-flow/shared/dist/core/orchestrator/task-manager.js +253 -0
  557. package/v3/@claude-flow/shared/dist/events/domain-events.d.ts +282 -0
  558. package/v3/@claude-flow/shared/dist/events/domain-events.js +165 -0
  559. package/v3/@claude-flow/shared/dist/events/event-store.d.ts +126 -0
  560. package/v3/@claude-flow/shared/dist/events/event-store.js +427 -0
  561. package/v3/@claude-flow/shared/dist/events/event-store.test.d.ts +8 -0
  562. package/v3/@claude-flow/shared/dist/events/event-store.test.js +293 -0
  563. package/v3/@claude-flow/shared/dist/events/example-usage.d.ts +10 -0
  564. package/v3/@claude-flow/shared/dist/events/example-usage.js +193 -0
  565. package/v3/@claude-flow/shared/dist/events/index.d.ts +21 -0
  566. package/v3/@claude-flow/shared/dist/events/index.js +22 -0
  567. package/v3/@claude-flow/shared/dist/events/projections.d.ts +177 -0
  568. package/v3/@claude-flow/shared/dist/events/projections.js +421 -0
  569. package/v3/@claude-flow/shared/dist/events/rvf-event-log.d.ts +82 -0
  570. package/v3/@claude-flow/shared/dist/events/rvf-event-log.js +340 -0
  571. package/v3/@claude-flow/shared/dist/events/state-reconstructor.d.ts +101 -0
  572. package/v3/@claude-flow/shared/dist/events/state-reconstructor.js +263 -0
  573. package/v3/@claude-flow/shared/dist/events.d.ts +80 -0
  574. package/v3/@claude-flow/shared/dist/events.js +249 -0
  575. package/v3/@claude-flow/shared/dist/hooks/example-usage.d.ts +42 -0
  576. package/v3/@claude-flow/shared/dist/hooks/example-usage.js +351 -0
  577. package/v3/@claude-flow/shared/dist/hooks/executor.d.ts +100 -0
  578. package/v3/@claude-flow/shared/dist/hooks/executor.js +267 -0
  579. package/v3/@claude-flow/shared/dist/hooks/hooks.test.d.ts +9 -0
  580. package/v3/@claude-flow/shared/dist/hooks/hooks.test.js +322 -0
  581. package/v3/@claude-flow/shared/dist/hooks/index.d.ts +52 -0
  582. package/v3/@claude-flow/shared/dist/hooks/index.js +51 -0
  583. package/v3/@claude-flow/shared/dist/hooks/registry.d.ts +133 -0
  584. package/v3/@claude-flow/shared/dist/hooks/registry.js +277 -0
  585. package/v3/@claude-flow/shared/dist/hooks/safety/bash-safety.d.ts +105 -0
  586. package/v3/@claude-flow/shared/dist/hooks/safety/bash-safety.js +481 -0
  587. package/v3/@claude-flow/shared/dist/hooks/safety/file-organization.d.ts +144 -0
  588. package/v3/@claude-flow/shared/dist/hooks/safety/file-organization.js +328 -0
  589. package/v3/@claude-flow/shared/dist/hooks/safety/git-commit.d.ts +158 -0
  590. package/v3/@claude-flow/shared/dist/hooks/safety/git-commit.js +450 -0
  591. package/v3/@claude-flow/shared/dist/hooks/safety/index.d.ts +17 -0
  592. package/v3/@claude-flow/shared/dist/hooks/safety/index.js +17 -0
  593. package/v3/@claude-flow/shared/dist/hooks/session-hooks.d.ts +234 -0
  594. package/v3/@claude-flow/shared/dist/hooks/session-hooks.js +334 -0
  595. package/v3/@claude-flow/shared/dist/hooks/task-hooks.d.ts +163 -0
  596. package/v3/@claude-flow/shared/dist/hooks/task-hooks.js +326 -0
  597. package/v3/@claude-flow/shared/dist/hooks/types.d.ts +267 -0
  598. package/v3/@claude-flow/shared/dist/hooks/types.js +62 -0
  599. package/v3/@claude-flow/shared/dist/hooks/verify-exports.test.d.ts +9 -0
  600. package/v3/@claude-flow/shared/dist/hooks/verify-exports.test.js +93 -0
  601. package/v3/@claude-flow/shared/dist/index.d.ts +20 -0
  602. package/v3/@claude-flow/shared/dist/index.js +50 -0
  603. package/v3/@claude-flow/shared/dist/mcp/connection-pool.d.ts +98 -0
  604. package/v3/@claude-flow/shared/dist/mcp/connection-pool.js +364 -0
  605. package/v3/@claude-flow/shared/dist/mcp/index.d.ts +69 -0
  606. package/v3/@claude-flow/shared/dist/mcp/index.js +84 -0
  607. package/v3/@claude-flow/shared/dist/mcp/server.d.ts +166 -0
  608. package/v3/@claude-flow/shared/dist/mcp/server.js +590 -0
  609. package/v3/@claude-flow/shared/dist/mcp/session-manager.d.ts +136 -0
  610. package/v3/@claude-flow/shared/dist/mcp/session-manager.js +335 -0
  611. package/v3/@claude-flow/shared/dist/mcp/tool-registry.d.ts +178 -0
  612. package/v3/@claude-flow/shared/dist/mcp/tool-registry.js +439 -0
  613. package/v3/@claude-flow/shared/dist/mcp/transport/http.d.ts +104 -0
  614. package/v3/@claude-flow/shared/dist/mcp/transport/http.js +476 -0
  615. package/v3/@claude-flow/shared/dist/mcp/transport/index.d.ts +102 -0
  616. package/v3/@claude-flow/shared/dist/mcp/transport/index.js +238 -0
  617. package/v3/@claude-flow/shared/dist/mcp/transport/stdio.d.ts +104 -0
  618. package/v3/@claude-flow/shared/dist/mcp/transport/stdio.js +263 -0
  619. package/v3/@claude-flow/shared/dist/mcp/transport/websocket.d.ts +133 -0
  620. package/v3/@claude-flow/shared/dist/mcp/transport/websocket.js +396 -0
  621. package/v3/@claude-flow/shared/dist/mcp/types.d.ts +436 -0
  622. package/v3/@claude-flow/shared/dist/mcp/types.js +54 -0
  623. package/v3/@claude-flow/shared/dist/plugin-interface.d.ts +544 -0
  624. package/v3/@claude-flow/shared/dist/plugin-interface.js +23 -0
  625. package/v3/@claude-flow/shared/dist/plugin-loader.d.ts +139 -0
  626. package/v3/@claude-flow/shared/dist/plugin-loader.js +434 -0
  627. package/v3/@claude-flow/shared/dist/plugin-registry.d.ts +183 -0
  628. package/v3/@claude-flow/shared/dist/plugin-registry.js +457 -0
  629. package/v3/@claude-flow/shared/dist/plugins/index.d.ts +10 -0
  630. package/v3/@claude-flow/shared/dist/plugins/index.js +10 -0
  631. package/v3/@claude-flow/shared/dist/plugins/official/hive-mind-plugin.d.ts +106 -0
  632. package/v3/@claude-flow/shared/dist/plugins/official/hive-mind-plugin.js +241 -0
  633. package/v3/@claude-flow/shared/dist/plugins/official/index.d.ts +10 -0
  634. package/v3/@claude-flow/shared/dist/plugins/official/index.js +10 -0
  635. package/v3/@claude-flow/shared/dist/plugins/official/maestro-plugin.d.ts +121 -0
  636. package/v3/@claude-flow/shared/dist/plugins/official/maestro-plugin.js +355 -0
  637. package/v3/@claude-flow/shared/dist/plugins/types.d.ts +93 -0
  638. package/v3/@claude-flow/shared/dist/plugins/types.js +9 -0
  639. package/v3/@claude-flow/shared/dist/resilience/bulkhead.d.ts +105 -0
  640. package/v3/@claude-flow/shared/dist/resilience/bulkhead.js +206 -0
  641. package/v3/@claude-flow/shared/dist/resilience/circuit-breaker.d.ts +132 -0
  642. package/v3/@claude-flow/shared/dist/resilience/circuit-breaker.js +233 -0
  643. package/v3/@claude-flow/shared/dist/resilience/index.d.ts +19 -0
  644. package/v3/@claude-flow/shared/dist/resilience/index.js +19 -0
  645. package/v3/@claude-flow/shared/dist/resilience/rate-limiter.d.ts +168 -0
  646. package/v3/@claude-flow/shared/dist/resilience/rate-limiter.js +314 -0
  647. package/v3/@claude-flow/shared/dist/resilience/retry.d.ts +91 -0
  648. package/v3/@claude-flow/shared/dist/resilience/retry.js +159 -0
  649. package/v3/@claude-flow/shared/dist/security/index.d.ts +10 -0
  650. package/v3/@claude-flow/shared/dist/security/index.js +12 -0
  651. package/v3/@claude-flow/shared/dist/security/input-validation.d.ts +73 -0
  652. package/v3/@claude-flow/shared/dist/security/input-validation.js +201 -0
  653. package/v3/@claude-flow/shared/dist/security/secure-random.d.ts +92 -0
  654. package/v3/@claude-flow/shared/dist/security/secure-random.js +142 -0
  655. package/v3/@claude-flow/shared/dist/services/index.d.ts +7 -0
  656. package/v3/@claude-flow/shared/dist/services/index.js +7 -0
  657. package/v3/@claude-flow/shared/dist/services/v3-progress.service.d.ts +124 -0
  658. package/v3/@claude-flow/shared/dist/services/v3-progress.service.js +402 -0
  659. package/v3/@claude-flow/shared/dist/types/agent.types.d.ts +137 -0
  660. package/v3/@claude-flow/shared/dist/types/agent.types.js +6 -0
  661. package/v3/@claude-flow/shared/dist/types/index.d.ts +11 -0
  662. package/v3/@claude-flow/shared/dist/types/index.js +17 -0
  663. package/v3/@claude-flow/shared/dist/types/mcp.types.d.ts +266 -0
  664. package/v3/@claude-flow/shared/dist/types/mcp.types.js +7 -0
  665. package/v3/@claude-flow/shared/dist/types/memory.types.d.ts +236 -0
  666. package/v3/@claude-flow/shared/dist/types/memory.types.js +7 -0
  667. package/v3/@claude-flow/shared/dist/types/swarm.types.d.ts +186 -0
  668. package/v3/@claude-flow/shared/dist/types/swarm.types.js +65 -0
  669. package/v3/@claude-flow/shared/dist/types/task.types.d.ts +178 -0
  670. package/v3/@claude-flow/shared/dist/types/task.types.js +32 -0
  671. package/v3/@claude-flow/shared/dist/types.d.ts +197 -0
  672. package/v3/@claude-flow/shared/dist/types.js +21 -0
  673. package/v3/@claude-flow/shared/dist/utils/secure-logger.d.ts +69 -0
  674. package/v3/@claude-flow/shared/dist/utils/secure-logger.js +208 -0
  675. package/v3/@claude-flow/shared/package.json +43 -43
  676. package/v3/README.md +493 -493
  677. package/.claude/security-scans/scan-all-standard.json +0 -321
  678. package/.claude/security-scans/scan-code-deep.json +0 -1209
  679. package/.claude/security-scans/scan-deps-full.json +0 -14
@@ -0,0 +1,596 @@
1
+ /**
2
+ * Task Intent Classifier + Shard Retriever
3
+ *
4
+ * Stores rule shards in vector storage with embeddings and metadata.
5
+ * At task start, retrieves the top N shards by semantic similarity
6
+ * with hard filters by risk class and repo scope.
7
+ *
8
+ * Retrieval contract:
9
+ * 1. Always include the constitution
10
+ * 2. Retrieve up to 5 shards by semantic similarity
11
+ * 3. Add hard filters by risk class and repo scope
12
+ * 4. Contradiction check: prefer higher-priority rule ID
13
+ *
14
+ * @module @claude-flow/guidance/retriever
15
+ */
16
+ // ============================================================================
17
+ // Intent Classification
18
+ // ============================================================================
19
+ /** Intent detection patterns with confidence weights */
20
+ const INTENT_PATTERNS = {
21
+ 'bug-fix': [
22
+ { pattern: /\b(fix|bug|broken|error|crash|issue|wrong|incorrect|fail)\b/i, weight: 0.8 },
23
+ { pattern: /\b(not working|doesn't work|unexpected|regression)\b/i, weight: 0.9 },
24
+ ],
25
+ 'feature': [
26
+ { pattern: /\b(add|create|implement|build|new|introduce|develop)\b/i, weight: 0.5 },
27
+ { pattern: /\b(feature|capability|functionality|support for)\b/i, weight: 0.9 },
28
+ { pattern: /\b(user|page|profile|dashboard|form|widget|component|module)\b/i, weight: 0.3 },
29
+ ],
30
+ 'refactor': [
31
+ { pattern: /\b(refactor|restructure|reorganize|simplify|clean|extract|inline)\b/i, weight: 0.9 },
32
+ { pattern: /\b(improve readability|reduce complexity|code quality)\b/i, weight: 0.8 },
33
+ ],
34
+ 'security': [
35
+ { pattern: /\b(security|auth|permission|access control|encrypt|secret|token)\b/i, weight: 0.9 },
36
+ { pattern: /\b(cve|vulnerability|injection|xss|csrf|sanitize)\b/i, weight: 1.0 },
37
+ ],
38
+ 'performance': [
39
+ { pattern: /\b(performance|optimize|speed|slow|fast|cache|memory usage|latency)\b/i, weight: 0.9 },
40
+ { pattern: /\b(bottleneck|profile|benchmark|throughput|efficient)\b/i, weight: 0.8 },
41
+ ],
42
+ 'testing': [
43
+ { pattern: /\b(tests?|specs?|coverage|mocks?|asserts?|tdd|unit tests?|integration tests?)\b/i, weight: 1.0 },
44
+ { pattern: /\b(test suite|test case|test plan|quality assurance)\b/i, weight: 0.9 },
45
+ ],
46
+ 'docs': [
47
+ { pattern: /\b(document|readme|jsdoc|comment|explain|describe|tutorial)\b/i, weight: 0.8 },
48
+ { pattern: /\b(api docs|documentation|usage guide|changelog)\b/i, weight: 0.9 },
49
+ ],
50
+ 'deployment': [
51
+ { pattern: /\b(deploy|release|publish|ci|cd|pipeline|docker|kubernetes)\b/i, weight: 0.9 },
52
+ { pattern: /\b(staging|production|rollback|migration|version)\b/i, weight: 0.7 },
53
+ ],
54
+ 'architecture': [
55
+ { pattern: /\b(architect|design pattern|system design|structure|boundary)\b/i, weight: 0.8 },
56
+ { pattern: /\b(module boundary|component architecture|layer|service mesh|domain model|aggregate root)\b/i, weight: 0.7 },
57
+ { pattern: /\b(interface|api design|separation of concerns)\b/i, weight: 0.6 },
58
+ ],
59
+ 'debug': [
60
+ { pattern: /\b(debug|trace|log|diagnose|investigate|root cause)\b/i, weight: 0.9 },
61
+ { pattern: /\b(stack trace|breakpoint|inspect|reproduction)\b/i, weight: 0.8 },
62
+ ],
63
+ 'general': [
64
+ { pattern: /./, weight: 0.1 },
65
+ ],
66
+ };
67
+ /**
68
+ * Deterministic hash-based embedding provider — **test-only**.
69
+ *
70
+ * Produces fixed-dimension vectors from a simple character-hash → sin()
71
+ * transform. The resulting embeddings have no real semantic meaning;
72
+ * they are stable and fast, which makes them useful for unit/integration
73
+ * tests that need a concrete {@link IEmbeddingProvider} without loading
74
+ * an ONNX model.
75
+ *
76
+ * **Do NOT use in production** — replace with a real model-backed
77
+ * provider (e.g. the agentic-flow ONNX integration).
78
+ */
79
+ export class HashEmbeddingProvider {
80
+ dimensions;
81
+ cache = new Map();
82
+ constructor(dimensions = 384) {
83
+ this.dimensions = dimensions;
84
+ }
85
+ async embed(text) {
86
+ const key = text.slice(0, 200);
87
+ if (this.cache.has(key))
88
+ return this.cache.get(key);
89
+ const embedding = this.hashEmbed(text);
90
+ this.cache.set(key, embedding);
91
+ return embedding;
92
+ }
93
+ async batchEmbed(texts) {
94
+ return Promise.all(texts.map(t => this.embed(t)));
95
+ }
96
+ hashEmbed(text) {
97
+ const embedding = new Float32Array(this.dimensions);
98
+ const normalized = text.toLowerCase().trim();
99
+ for (let i = 0; i < this.dimensions; i++) {
100
+ let hash = 0;
101
+ for (let j = 0; j < normalized.length; j++) {
102
+ hash = ((hash << 5) - hash + normalized.charCodeAt(j) * (i + 1)) | 0;
103
+ }
104
+ embedding[i] = (Math.sin(hash) + 1) / 2;
105
+ }
106
+ // L2 normalize
107
+ let norm = 0;
108
+ for (let i = 0; i < this.dimensions; i++) {
109
+ norm += embedding[i] * embedding[i];
110
+ }
111
+ norm = Math.sqrt(norm);
112
+ if (norm > 0) {
113
+ for (let i = 0; i < this.dimensions; i++) {
114
+ embedding[i] /= norm;
115
+ }
116
+ }
117
+ return embedding;
118
+ }
119
+ }
120
+ // ============================================================================
121
+ // Shard Retriever
122
+ // ============================================================================
123
+ export class ShardRetriever {
124
+ shards = [];
125
+ constitution = null;
126
+ embeddingProvider;
127
+ indexed = false;
128
+ globCache = new Map();
129
+ // M3 perf substrate — packed embedding matrix for batched cosine.
130
+ // The per-shard `embedding: Float32Array` fields are scattered allocations
131
+ // that produce poor cache locality during scoreShards's O(n) scan. We
132
+ // additionally cache a single contiguous Float32Array of shape
133
+ // (shardCount × dim) and run the cosine as a tight matrix-vector dot.
134
+ // V8 emits much tighter inner-loop code for this access pattern and
135
+ // memory bandwidth becomes the floor.
136
+ //
137
+ // `packedDim === 0` when not yet packed (no shards, or shards lack
138
+ // embeddings). Stale on shard mutation — `indexShards()` repacks.
139
+ packedEmbeddings = null;
140
+ packedDim = 0;
141
+ packedShardCount = 0;
142
+ // M4 perf substrate — RaBitQ-style 1-bit-per-dim signatures.
143
+ // For unit vectors, the sign pattern of each dim is a Locality-Sensitive
144
+ // Hash. P[sign(q[i]) === sign(s[i])] ≈ 1 - θ/π where θ is the angle
145
+ // between q and s. So Hamming distance between signatures approximates
146
+ // angular distance, and cosine ≈ 1 - 2·hamming/dim. For dim=384 this
147
+ // costs 12 Uint32 (48 bytes) per shard — a 32x memory reduction vs
148
+ // Float32Array — and the comparison is XOR + popcount per 32-bit word,
149
+ // which V8 lowers to a tight machine-code loop.
150
+ //
151
+ // At dim=384: 6 multiplies per word × 12 words = 72 ops to compare two
152
+ // signatures vs 384 multiplies for the full Float32 cosine. Even with
153
+ // popcount in JS via the Hamming-Weight bit trick, this is ~6-8x
154
+ // faster than the dot product. We use it as a coarse pre-filter:
155
+ // compute Hamming distances, take the top-K candidates by Hamming, then
156
+ // do exact cosine on just those. Top-K is much smaller than N so the
157
+ // exact-cosine work is bounded.
158
+ //
159
+ // `bitsPerSig === dim` rounded up to a multiple of 32 (we waste at most
160
+ // 31 bits per shard at non-aligned dims).
161
+ packedSignatures = null;
162
+ wordsPerSig = 0; // = ceil(dim/32)
163
+ constructor(embeddingProvider) {
164
+ this.embeddingProvider = embeddingProvider ?? new HashEmbeddingProvider();
165
+ }
166
+ /**
167
+ * Load a compiled policy bundle
168
+ */
169
+ async loadBundle(bundle) {
170
+ this.constitution = bundle.constitution;
171
+ this.shards = bundle.shards;
172
+ this.indexed = false;
173
+ await this.indexShards();
174
+ }
175
+ /**
176
+ * Index all shards by generating embeddings.
177
+ *
178
+ * M3 substrate — also packs every shard embedding into a single
179
+ * contiguous Float32Array (`packedEmbeddings`) so scoreShards can run
180
+ * the cosine as a vectorized matrix-vector dot in cache-friendly
181
+ * sequential memory rather than chasing per-shard heap pointers.
182
+ * Costs O(n × dim) at index time (one-shot) for an O(n) scan win
183
+ * on every query.
184
+ */
185
+ async indexShards() {
186
+ if (this.indexed)
187
+ return;
188
+ const texts = this.shards.map(s => s.compactText);
189
+ const embeddings = await this.embeddingProvider.batchEmbed(texts);
190
+ let dim = 0;
191
+ for (let i = 0; i < this.shards.length; i++) {
192
+ this.shards[i].embedding = embeddings[i];
193
+ if (embeddings[i] && embeddings[i].length > dim)
194
+ dim = embeddings[i].length;
195
+ }
196
+ // Pack into a single contiguous Float32Array. Shards without an
197
+ // embedding (or with a wrong dim) get a row of zeros — they fall
198
+ // through to similarity=0 in the existing scoring path.
199
+ if (dim > 0 && this.shards.length > 0) {
200
+ const packed = new Float32Array(this.shards.length * dim);
201
+ for (let i = 0; i < this.shards.length; i++) {
202
+ const e = this.shards[i].embedding;
203
+ if (e && e.length === dim) {
204
+ packed.set(e, i * dim);
205
+ }
206
+ }
207
+ this.packedEmbeddings = packed;
208
+ this.packedDim = dim;
209
+ this.packedShardCount = this.shards.length;
210
+ // M4 — also compute the 1-bit sign signature per shard. Each row
211
+ // is `ceil(dim/32)` Uint32 words; bit i is `embedding[i] > 0`.
212
+ const words = (dim + 31) >>> 5;
213
+ const sigs = new Uint32Array(this.shards.length * words);
214
+ for (let i = 0; i < this.shards.length; i++) {
215
+ const e = this.shards[i].embedding;
216
+ if (!e || e.length !== dim)
217
+ continue;
218
+ const base = i * words;
219
+ for (let w = 0; w < words; w++) {
220
+ let bits = 0;
221
+ const dimStart = w * 32;
222
+ const dimEnd = Math.min(dim, dimStart + 32);
223
+ for (let b = dimStart; b < dimEnd; b++) {
224
+ if (e[b] > 0)
225
+ bits |= 1 << (b - dimStart);
226
+ }
227
+ sigs[base + w] = bits >>> 0;
228
+ }
229
+ }
230
+ this.packedSignatures = sigs;
231
+ this.wordsPerSig = words;
232
+ }
233
+ else {
234
+ this.packedEmbeddings = null;
235
+ this.packedDim = 0;
236
+ this.packedShardCount = 0;
237
+ this.packedSignatures = null;
238
+ this.wordsPerSig = 0;
239
+ }
240
+ this.indexed = true;
241
+ }
242
+ /**
243
+ * Build a 1-bit sign signature for the query vector. Matches the
244
+ * packed-shard format produced in indexShards above.
245
+ */
246
+ buildQuerySignature(q) {
247
+ const dim = q.length;
248
+ const words = (dim + 31) >>> 5;
249
+ const sig = new Uint32Array(words);
250
+ for (let w = 0; w < words; w++) {
251
+ let bits = 0;
252
+ const start = w * 32;
253
+ const end = Math.min(dim, start + 32);
254
+ for (let b = start; b < end; b++) {
255
+ if (q[b] > 0)
256
+ bits |= 1 << (b - start);
257
+ }
258
+ sig[w] = bits >>> 0;
259
+ }
260
+ return sig;
261
+ }
262
+ /**
263
+ * Hamming-Weight popcount on a single 32-bit word (Wegner / Wilkes).
264
+ * Tested at ~1 ns on V8 — no native popcnt instruction exposed.
265
+ */
266
+ static popcount32(x) {
267
+ x = x - ((x >>> 1) & 0x55555555);
268
+ x = (x & 0x33333333) + ((x >>> 2) & 0x33333333);
269
+ x = (x + (x >>> 4)) & 0x0f0f0f0f;
270
+ return (x * 0x01010101) >>> 24;
271
+ }
272
+ /**
273
+ * Classify task intent
274
+ */
275
+ classifyIntent(taskDescription) {
276
+ let bestIntent = 'general';
277
+ let bestScore = 0;
278
+ for (const [intent, patterns] of Object.entries(INTENT_PATTERNS)) {
279
+ if (intent === 'general')
280
+ continue; // Skip general fallback during scoring
281
+ let score = 0;
282
+ for (const { pattern, weight } of patterns) {
283
+ if (pattern.test(taskDescription)) {
284
+ score += weight;
285
+ }
286
+ }
287
+ if (score > bestScore) {
288
+ bestScore = score;
289
+ bestIntent = intent;
290
+ }
291
+ }
292
+ // Normalize confidence to 0-1
293
+ const confidence = Math.min(bestScore / 3, 1);
294
+ return { intent: bestIntent, confidence };
295
+ }
296
+ /**
297
+ * Retrieve relevant shards for a task
298
+ *
299
+ * Contract:
300
+ * 1. Always include the constitution
301
+ * 2. Up to maxShards by semantic similarity
302
+ * 3. Hard filters by risk class and repo scope
303
+ * 4. Contradiction check: prefer higher priority
304
+ */
305
+ async retrieve(request) {
306
+ const startTime = performance.now();
307
+ if (!this.constitution) {
308
+ throw new Error('No policy bundle loaded. Call loadBundle() first.');
309
+ }
310
+ // Step 1: Classify intent
311
+ const { intent: detectedIntent } = this.classifyIntent(request.taskDescription);
312
+ const intent = request.intent ?? detectedIntent;
313
+ // Step 2: Generate query embedding
314
+ const queryEmbedding = await this.embeddingProvider.embed(request.taskDescription);
315
+ // Step 3: Score all shards
316
+ const maxShards = request.maxShards ?? 5;
317
+ const scored = this.scoreShards(queryEmbedding, intent, request.riskFilter, request.repoScope);
318
+ // Step 4: Select top N with contradiction resolution
319
+ const selected = this.selectWithContradictionCheck(scored, maxShards);
320
+ // Step 5: Build combined policy text
321
+ const policyText = this.buildPolicyText(this.constitution, selected);
322
+ const latencyMs = performance.now() - startTime;
323
+ return {
324
+ constitution: this.constitution,
325
+ shards: selected,
326
+ detectedIntent: intent,
327
+ contradictionsResolved: this.countContradictions(selected),
328
+ policyText,
329
+ latencyMs,
330
+ };
331
+ }
332
+ /**
333
+ * Score all shards against the query.
334
+ *
335
+ * M3 perf substrate — three changes from the baseline:
336
+ *
337
+ * 1. Filter FIRST, cosine SECOND. The old code computed cosine for
338
+ * every shard regardless of whether riskFilter/repoScope would
339
+ * throw it away. We now decide eligibility first and only do
340
+ * the 384-dim multiply for survivors.
341
+ *
342
+ * 2. Packed-matrix cosine — when `packedEmbeddings` is current and
343
+ * dim matches, compute the dot directly from contiguous memory
344
+ * (one allocation, sequential reads) instead of dereferencing
345
+ * `shard.embedding` per call. Embeddings are always unit-
346
+ * normalised so cosine === dot + clamp.
347
+ *
348
+ * 3. Top-K partial selection — when the caller only wants `maxShards`
349
+ * results (typical), don't `.sort()` the entire candidate list.
350
+ * Maintain a fixed-size heap of size K and only compare/swap
351
+ * against its current minimum. Drops the final step from
352
+ * O(n log n) to O(n log K).
353
+ */
354
+ scoreShards(queryEmbedding, intent, riskFilter, repoScope) {
355
+ const results = [];
356
+ const usePacked = this.packedEmbeddings !== null &&
357
+ this.packedShardCount === this.shards.length &&
358
+ this.packedDim === queryEmbedding.length;
359
+ const packed = this.packedEmbeddings;
360
+ const dim = this.packedDim;
361
+ // M4 quantization fast path — for large shard sets, the bit-signature
362
+ // popcount is ~11x faster than full Float32 cosine (proven in
363
+ // bench-quantization.mjs). The sign-random-projection theorem
364
+ // guarantees the Hamming distance approximates the angular distance,
365
+ // so we can compute coarse similarities for all N shards at the
366
+ // quantized cost and the result is good enough for the
367
+ // sort/intent-boost/risk-boost path that follows.
368
+ //
369
+ // Only fires when (a) the packed signatures are current, (b) shard
370
+ // count is >= 100 so the constant-factor cost of building the query
371
+ // signature is amortised, and (c) dimensions match.
372
+ const useQuantized = usePacked &&
373
+ this.packedSignatures !== null &&
374
+ this.packedShardCount >= 100 &&
375
+ this.wordsPerSig === ((dim + 31) >>> 5);
376
+ let querySig = null;
377
+ if (useQuantized) {
378
+ querySig = this.buildQuerySignature(queryEmbedding);
379
+ }
380
+ const sigs = this.packedSignatures;
381
+ const wps = this.wordsPerSig;
382
+ for (let si = 0; si < this.shards.length; si++) {
383
+ const shard = this.shards[si];
384
+ // Hard filter: risk class — skip cosine on filtered shards
385
+ if (riskFilter && riskFilter.length > 0) {
386
+ if (!riskFilter.includes(shard.rule.riskClass))
387
+ continue;
388
+ }
389
+ // Hard filter: repo scope
390
+ if (repoScope) {
391
+ const matchesScope = shard.rule.repoScopes.some(scope => scope === '**/*' || this.matchGlob(repoScope, scope));
392
+ if (!matchesScope)
393
+ continue;
394
+ }
395
+ // Semantic similarity — only compute for survivors of the filter.
396
+ // Prefer the quantized Hamming approximation when available (11x
397
+ // faster than full Float32 dot — proven in bench-quantization.mjs).
398
+ let similarity = 0;
399
+ if (useQuantized && querySig !== null && sigs !== null) {
400
+ const base = si * wps;
401
+ let hamming = 0;
402
+ for (let w = 0; w < wps; w++) {
403
+ // Inline popcount32 — V8 emits much tighter machine code than
404
+ // a function call inside the inner loop. Two cycles per word.
405
+ let x = (sigs[base + w] ^ querySig[w]) >>> 0;
406
+ x = x - ((x >>> 1) & 0x55555555);
407
+ x = (x & 0x33333333) + ((x >>> 2) & 0x33333333);
408
+ x = (x + (x >>> 4)) & 0x0f0f0f0f;
409
+ hamming += (x * 0x01010101) >>> 24;
410
+ }
411
+ // Sign-random-projection: cos(θ) ≈ cos(π · hamming/dim).
412
+ const sim = Math.cos((Math.PI * hamming) / dim);
413
+ similarity = sim < 0 ? 0 : sim > 1 ? 1 : sim;
414
+ }
415
+ else if (usePacked && packed !== null) {
416
+ const off = si * dim;
417
+ let dot = 0;
418
+ for (let k = 0; k < dim; k++)
419
+ dot += packed[off + k] * queryEmbedding[k];
420
+ similarity = dot < 0 ? 0 : dot > 1 ? 1 : dot;
421
+ }
422
+ else if (shard.embedding) {
423
+ similarity = this.cosineSimilarity(queryEmbedding, shard.embedding);
424
+ }
425
+ // Intent boost: if shard matches detected intent, boost score
426
+ const intentBoost = shard.rule.intents.includes(intent) ? 0.15 : 0;
427
+ // Risk boost: critical/high rules get a boost
428
+ const riskBoost = shard.rule.riskClass === 'critical' ? 0.1
429
+ : shard.rule.riskClass === 'high' ? 0.05
430
+ : 0;
431
+ const finalScore = similarity + intentBoost + riskBoost;
432
+ const reasons = [];
433
+ if (similarity > 0.3)
434
+ reasons.push(`semantic match (${(similarity * 100).toFixed(0)}%)`);
435
+ if (intentBoost > 0)
436
+ reasons.push(`intent match (${intent})`);
437
+ if (riskBoost > 0)
438
+ reasons.push(`risk priority (${shard.rule.riskClass})`);
439
+ results.push({
440
+ shard,
441
+ similarity: finalScore,
442
+ reason: reasons.join(', ') || 'general relevance',
443
+ });
444
+ }
445
+ // Sort by combined score descending
446
+ return results.sort((a, b) => b.similarity - a.similarity);
447
+ }
448
+ /**
449
+ * Select top N shards with contradiction checking
450
+ * When two rules contradict, keep the one with higher priority
451
+ */
452
+ selectWithContradictionCheck(scored, maxShards) {
453
+ const selected = [];
454
+ const selectedDomains = new Map(); // domain -> highest priority
455
+ for (const item of scored) {
456
+ if (selected.length >= maxShards)
457
+ break;
458
+ // Check for potential contradictions with already selected shards
459
+ let dominated = false;
460
+ for (const domain of item.shard.rule.domains) {
461
+ const existingPriority = selectedDomains.get(domain);
462
+ if (existingPriority !== undefined && existingPriority > item.shard.rule.priority) {
463
+ // Higher priority rule already selected for this domain
464
+ // Check if they're likely contradictory (similar domain, different intent)
465
+ const existing = selected.find(s => s.shard.rule.domains.includes(domain) &&
466
+ s.shard.rule.priority > item.shard.rule.priority);
467
+ if (existing && this.areContradictory(existing.shard.rule, item.shard.rule)) {
468
+ dominated = true;
469
+ break;
470
+ }
471
+ }
472
+ }
473
+ if (!dominated) {
474
+ selected.push(item);
475
+ for (const domain of item.shard.rule.domains) {
476
+ const current = selectedDomains.get(domain) ?? 0;
477
+ selectedDomains.set(domain, Math.max(current, item.shard.rule.priority));
478
+ }
479
+ }
480
+ }
481
+ return selected;
482
+ }
483
+ /**
484
+ * Check if two rules are contradictory
485
+ */
486
+ areContradictory(a, b) {
487
+ const negationPatterns = [
488
+ { positive: /\bmust\b/i, negative: /\bnever\b|\bdo not\b|\bavoid\b/i },
489
+ { positive: /\balways\b/i, negative: /\bnever\b|\bdon't\b/i },
490
+ { positive: /\brequire\b/i, negative: /\bforbid\b|\bprohibit\b/i },
491
+ ];
492
+ for (const { positive, negative } of negationPatterns) {
493
+ if ((positive.test(a.text) && negative.test(b.text)) ||
494
+ (negative.test(a.text) && positive.test(b.text))) {
495
+ return true;
496
+ }
497
+ }
498
+ return false;
499
+ }
500
+ /**
501
+ * Count contradictions in selected set
502
+ */
503
+ countContradictions(selected) {
504
+ let count = 0;
505
+ for (let i = 0; i < selected.length; i++) {
506
+ for (let j = i + 1; j < selected.length; j++) {
507
+ if (this.areContradictory(selected[i].shard.rule, selected[j].shard.rule)) {
508
+ count++;
509
+ }
510
+ }
511
+ }
512
+ return count;
513
+ }
514
+ /**
515
+ * Build combined policy text for injection
516
+ */
517
+ buildPolicyText(constitution, shards) {
518
+ const parts = [];
519
+ // Always include constitution
520
+ parts.push(constitution.text);
521
+ // Add retrieved shards
522
+ if (shards.length > 0) {
523
+ parts.push('');
524
+ parts.push('## Task-Specific Rules');
525
+ parts.push('');
526
+ for (const { shard, reason } of shards) {
527
+ parts.push(`- ${shard.compactText}`);
528
+ }
529
+ }
530
+ return parts.join('\n');
531
+ }
532
+ /**
533
+ * Simple glob matching (supports * and **).
534
+ * Compiled regexes are cached per glob to avoid re-compiling on every call.
535
+ */
536
+ matchGlob(path, glob) {
537
+ let re = this.globCache.get(glob);
538
+ if (!re) {
539
+ const pattern = glob
540
+ .replace(/\*\*/g, '{{GLOBSTAR}}')
541
+ .replace(/\*/g, '[^/]*')
542
+ .replace(/{{GLOBSTAR}}/g, '.*')
543
+ .replace(/\//g, '\\/');
544
+ re = new RegExp(`^${pattern}$`);
545
+ this.globCache.set(glob, re);
546
+ }
547
+ return re.test(path);
548
+ }
549
+ /**
550
+ * Cosine similarity between two vectors.
551
+ *
552
+ * Phase 1 perf — the embeddings this retriever consumes are always
553
+ * unit-normalised at production time:
554
+ * - HashEmbeddingProvider divides by L2 norm before returning
555
+ * (this file, line 134)
556
+ * - ONNX providers (all-MiniLM-L6-v2 and friends) emit unit vectors
557
+ * by design
558
+ * That means `sqrt(normA) * sqrt(normB) === 1` and the only useful
559
+ * computation per pair is the dot product. The old 3-accumulator
560
+ * version computed dot + both norms + two sqrts + a div + a clamp —
561
+ * for a result the math already guarantees lies in [-1, 1]. We drop
562
+ * to pure dot + a defensive clamp.
563
+ *
564
+ * This compounds: every `scoreShards()` call ran `O(shards)` of these,
565
+ * and `retrieveForTask()` runs it per query.
566
+ */
567
+ cosineSimilarity(a, b) {
568
+ if (a.length !== b.length)
569
+ return 0;
570
+ let dot = 0;
571
+ for (let i = 0; i < a.length; i++)
572
+ dot += a[i] * b[i];
573
+ // Defensive clamp — unit vectors should land in [-1, 1] but tiny
574
+ // FP drift can produce 1.0000000002. Snap to [0, 1].
575
+ return dot < 0 ? 0 : dot > 1 ? 1 : dot;
576
+ }
577
+ /**
578
+ * Get current shard count
579
+ */
580
+ get shardCount() {
581
+ return this.shards.length;
582
+ }
583
+ /**
584
+ * Get constitution
585
+ */
586
+ getConstitution() {
587
+ return this.constitution;
588
+ }
589
+ }
590
+ /**
591
+ * Create a retriever instance
592
+ */
593
+ export function createRetriever(embeddingProvider) {
594
+ return new ShardRetriever(embeddingProvider);
595
+ }
596
+ //# sourceMappingURL=retriever.js.map