claude-flow 3.28.0 → 3.30.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 (690) 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/.LOCKED +2 -0
  281. package/.claude/helpers/.helpers-version +1 -1
  282. package/.claude/helpers/README.md +96 -96
  283. package/.claude/helpers/adr-compliance.sh +186 -186
  284. package/.claude/helpers/aggressive-microcompact.mjs +36 -36
  285. package/.claude/helpers/auto-commit.sh +178 -178
  286. package/.claude/helpers/auto-memory-hook.mjs +430 -430
  287. package/.claude/helpers/checkpoint-manager.sh +251 -251
  288. package/.claude/helpers/context-persistence-hook.mjs +2001 -2001
  289. package/.claude/helpers/daemon-manager.sh +252 -252
  290. package/.claude/helpers/ddd-tracker.sh +144 -144
  291. package/.claude/helpers/github-safe.js +156 -156
  292. package/.claude/helpers/github-setup.sh +45 -45
  293. package/.claude/helpers/guidance-hook.sh +13 -13
  294. package/.claude/helpers/guidance-hooks.sh +102 -102
  295. package/.claude/helpers/health-monitor.sh +108 -108
  296. package/.claude/helpers/helpers.manifest.json +6 -5
  297. package/.claude/helpers/hook-handler.cjs +564 -460
  298. package/.claude/helpers/intelligence.cjs +1058 -1058
  299. package/.claude/helpers/learning-hooks.sh +329 -329
  300. package/.claude/helpers/learning-optimizer.sh +127 -127
  301. package/.claude/helpers/learning-service.mjs +1144 -1144
  302. package/.claude/helpers/memory.cjs +84 -84
  303. package/.claude/helpers/metrics-db.mjs +503 -503
  304. package/.claude/helpers/patch-aggressive-prune.mjs +184 -184
  305. package/.claude/helpers/pattern-consolidator.sh +86 -86
  306. package/.claude/helpers/perf-worker.sh +160 -160
  307. package/.claude/helpers/quick-start.sh +19 -19
  308. package/.claude/helpers/router.cjs +62 -62
  309. package/.claude/helpers/security-scanner.sh +127 -127
  310. package/.claude/helpers/session.cjs +125 -125
  311. package/.claude/helpers/setup-mcp.sh +18 -18
  312. package/.claude/helpers/standard-checkpoint-hooks.sh +189 -189
  313. package/.claude/helpers/statusline.cjs +999 -925
  314. package/.claude/helpers/swarm-comms.sh +353 -353
  315. package/.claude/helpers/swarm-hooks.sh +761 -761
  316. package/.claude/helpers/swarm-monitor.sh +210 -210
  317. package/.claude/helpers/sync-v3-metrics.sh +245 -245
  318. package/.claude/helpers/update-v3-progress.sh +165 -165
  319. package/.claude/helpers/v3-quick-status.sh +57 -57
  320. package/.claude/helpers/v3.sh +110 -110
  321. package/.claude/helpers/validate-v3-config.sh +215 -215
  322. package/.claude/helpers/worker-manager.sh +170 -170
  323. package/.claude/mcp.json +12 -12
  324. package/.claude/proven-config.json +1 -1
  325. package/.claude/settings.json +285 -285
  326. package/.claude/settings.json.bak +526 -526
  327. package/.claude/skills/agentdb-advanced/SKILL.md +550 -550
  328. package/.claude/skills/agentdb-learning/SKILL.md +545 -545
  329. package/.claude/skills/agentdb-memory-patterns/SKILL.md +339 -339
  330. package/.claude/skills/agentdb-optimization/SKILL.md +509 -509
  331. package/.claude/skills/agentdb-vector-search/SKILL.md +339 -339
  332. package/.claude/skills/agentic-jujutsu/SKILL.md +645 -645
  333. package/.claude/skills/browser/SKILL.md +204 -204
  334. package/.claude/skills/dual-mode/README.md +71 -71
  335. package/.claude/skills/dual-mode/dual-collect.md +103 -103
  336. package/.claude/skills/dual-mode/dual-coordinate.md +85 -85
  337. package/.claude/skills/dual-mode/dual-spawn.md +81 -81
  338. package/.claude/skills/flow-nexus-neural/SKILL.md +727 -727
  339. package/.claude/skills/flow-nexus-platform/SKILL.md +1154 -1154
  340. package/.claude/skills/flow-nexus-swarm/SKILL.md +604 -604
  341. package/.claude/skills/github-code-review/SKILL.md +1125 -1125
  342. package/.claude/skills/github-multi-repo/SKILL.md +862 -862
  343. package/.claude/skills/github-project-management/SKILL.md +1262 -1262
  344. package/.claude/skills/github-release-management/SKILL.md +1064 -1064
  345. package/.claude/skills/github-workflow-automation/SKILL.md +1047 -1047
  346. package/.claude/skills/hive-mind-advanced/SKILL.md +709 -709
  347. package/.claude/skills/hooks-automation/SKILL.md +1201 -1201
  348. package/.claude/skills/pair-programming/SKILL.md +1202 -1202
  349. package/.claude/skills/performance-analysis/SKILL.md +560 -560
  350. package/.claude/skills/reasoningbank-agentdb/SKILL.md +446 -446
  351. package/.claude/skills/reasoningbank-intelligence/SKILL.md +201 -201
  352. package/.claude/skills/skill-builder/SKILL.md +910 -910
  353. package/.claude/skills/sparc-methodology/SKILL.md +1106 -1106
  354. package/.claude/skills/stream-chain/SKILL.md +560 -560
  355. package/.claude/skills/swarm-advanced/SKILL.md +970 -970
  356. package/.claude/skills/swarm-orchestration/SKILL.md +179 -179
  357. package/.claude/skills/v3-cli-modernization/SKILL.md +871 -871
  358. package/.claude/skills/v3-core-implementation/SKILL.md +796 -796
  359. package/.claude/skills/v3-ddd-architecture/SKILL.md +441 -441
  360. package/.claude/skills/v3-integration-deep/SKILL.md +240 -240
  361. package/.claude/skills/v3-mcp-optimization/SKILL.md +776 -776
  362. package/.claude/skills/v3-memory-unification/SKILL.md +173 -173
  363. package/.claude/skills/v3-performance-optimization/SKILL.md +389 -389
  364. package/.claude/skills/v3-security-overhaul/SKILL.md +81 -81
  365. package/.claude/skills/v3-swarm-coordination/SKILL.md +339 -339
  366. package/.claude/skills/verification-quality/SKILL.md +691 -691
  367. package/.claude/skills/worker-benchmarks/SKILL.md +129 -129
  368. package/.claude/skills/worker-integration/SKILL.md +147 -147
  369. package/.claude/statusline-command.sh +176 -176
  370. package/.claude/statusline.mjs +109 -109
  371. package/.claude/statusline.sh +431 -431
  372. package/.claude/workflows/full-system-test.js +65 -65
  373. package/.claude/workflows/intelligence-system-hardening.js +120 -120
  374. package/.claude/workflows/plugin-contract-audit.js +91 -91
  375. package/.claude-plugin/README.md +720 -720
  376. package/.claude-plugin/docs/INSTALLATION.md +261 -261
  377. package/.claude-plugin/docs/PLUGIN_SUMMARY.md +361 -361
  378. package/.claude-plugin/docs/QUICKSTART.md +361 -361
  379. package/.claude-plugin/docs/STRUCTURE.md +128 -128
  380. package/.claude-plugin/hooks/hooks.json +77 -77
  381. package/.claude-plugin/marketplace.json +185 -185
  382. package/.claude-plugin/plugin.json +71 -71
  383. package/.claude-plugin/scripts/install.sh +234 -234
  384. package/.claude-plugin/scripts/ruflo-hook.cjs +166 -166
  385. package/.claude-plugin/scripts/ruflo-hook.sh +37 -37
  386. package/.claude-plugin/scripts/uninstall.sh +36 -36
  387. package/.claude-plugin/scripts/verify.sh +108 -108
  388. package/LICENSE +21 -21
  389. package/README.md +419 -419
  390. package/bin/cli.js +11 -11
  391. package/bin/npx-repair.js +7 -7
  392. package/bin/npx-safe-launch.js +9 -9
  393. package/package.json +185 -185
  394. package/v3/@claude-flow/cli/README.md +419 -419
  395. package/v3/@claude-flow/cli/bin/cli.js +314 -314
  396. package/v3/@claude-flow/cli/bin/mcp-server.js +224 -224
  397. package/v3/@claude-flow/cli/bin/preinstall.cjs +2 -2
  398. package/v3/@claude-flow/cli/catalog-manifest.json +2 -2
  399. package/v3/@claude-flow/cli/dist/src/benchmarks/gaia-critic.js +24 -24
  400. package/v3/@claude-flow/cli/dist/src/business-pods/bbs-budget-tracker.js +53 -53
  401. package/v3/@claude-flow/cli/dist/src/commands/announcements.d.ts +17 -0
  402. package/v3/@claude-flow/cli/dist/src/commands/announcements.js +0 -0
  403. package/v3/@claude-flow/cli/dist/src/commands/completions.js +409 -409
  404. package/v3/@claude-flow/cli/dist/src/commands/daemon.js +44 -44
  405. package/v3/@claude-flow/cli/dist/src/commands/embeddings.js +26 -26
  406. package/v3/@claude-flow/cli/dist/src/commands/funnel.d.ts +10 -5
  407. package/v3/@claude-flow/cli/dist/src/commands/funnel.js +206 -7
  408. package/v3/@claude-flow/cli/dist/src/commands/hive-mind.js +97 -97
  409. package/v3/@claude-flow/cli/dist/src/commands/hooks.js +9 -9
  410. package/v3/@claude-flow/cli/dist/src/commands/index.js +4 -0
  411. package/v3/@claude-flow/cli/dist/src/commands/init.js +94 -38
  412. package/v3/@claude-flow/cli/dist/src/commands/memory.js +85 -1
  413. package/v3/@claude-flow/cli/dist/src/commands/ruvector/backup.js +23 -23
  414. package/v3/@claude-flow/cli/dist/src/commands/ruvector/benchmark.js +31 -31
  415. package/v3/@claude-flow/cli/dist/src/commands/ruvector/import.js +14 -14
  416. package/v3/@claude-flow/cli/dist/src/commands/ruvector/init.js +115 -115
  417. package/v3/@claude-flow/cli/dist/src/commands/ruvector/migrate.js +99 -99
  418. package/v3/@claude-flow/cli/dist/src/commands/ruvector/optimize.js +51 -51
  419. package/v3/@claude-flow/cli/dist/src/commands/ruvector/setup.js +624 -624
  420. package/v3/@claude-flow/cli/dist/src/commands/ruvector/status.js +38 -38
  421. package/v3/@claude-flow/cli/dist/src/commands/spinner.d.ts +16 -0
  422. package/v3/@claude-flow/cli/dist/src/commands/spinner.js +329 -0
  423. package/v3/@claude-flow/cli/dist/src/config/proven-config.js +2 -2
  424. package/v3/@claude-flow/cli/dist/src/funnel/consent.js +3 -0
  425. package/v3/@claude-flow/cli/dist/src/funnel/disclosure.d.ts +1 -0
  426. package/v3/@claude-flow/cli/dist/src/funnel/disclosure.js +12 -0
  427. package/v3/@claude-flow/cli/dist/src/funnel/index.d.ts +2 -1
  428. package/v3/@claude-flow/cli/dist/src/funnel/index.js +2 -1
  429. package/v3/@claude-flow/cli/dist/src/funnel/payout.d.ts +40 -0
  430. package/v3/@claude-flow/cli/dist/src/funnel/payout.js +60 -0
  431. package/v3/@claude-flow/cli/dist/src/funnel/types.d.ts +13 -1
  432. package/v3/@claude-flow/cli/dist/src/init/claudemd-generator.js +231 -231
  433. package/v3/@claude-flow/cli/dist/src/init/executor.js +453 -453
  434. package/v3/@claude-flow/cli/dist/src/init/helper-refresh.js +17 -0
  435. package/v3/@claude-flow/cli/dist/src/init/helper-signing.d.ts +8 -1
  436. package/v3/@claude-flow/cli/dist/src/init/helper-signing.js +9 -2
  437. package/v3/@claude-flow/cli/dist/src/init/helpers-generator.js +751 -751
  438. package/v3/@claude-flow/cli/dist/src/init/statusline-generator.js +955 -949
  439. package/v3/@claude-flow/cli/dist/src/mcp-tools/agentdb-tools.js +15 -15
  440. package/v3/@claude-flow/cli/dist/src/mcp-tools/browser-intent-tools.js +19 -19
  441. package/v3/@claude-flow/cli/dist/src/memory/graph-edge-writer.js +22 -22
  442. package/v3/@claude-flow/cli/dist/src/memory/memory-bridge.d.ts +10 -0
  443. package/v3/@claude-flow/cli/dist/src/memory/memory-bridge.js +139 -88
  444. package/v3/@claude-flow/cli/dist/src/memory/memory-initializer.d.ts +18 -0
  445. package/v3/@claude-flow/cli/dist/src/memory/memory-initializer.js +539 -407
  446. package/v3/@claude-flow/cli/dist/src/memory/rabitq-index.js +5 -5
  447. package/v3/@claude-flow/cli/dist/src/runtime/headless.js +28 -28
  448. package/v3/@claude-flow/cli/dist/src/ruvector/flash-attention.d.ts +195 -0
  449. package/v3/@claude-flow/cli/dist/src/ruvector/flash-attention.js +643 -0
  450. package/v3/@claude-flow/cli/dist/src/ruvector/moe-router.d.ts +206 -0
  451. package/v3/@claude-flow/cli/dist/src/ruvector/moe-router.js +626 -0
  452. package/v3/@claude-flow/cli/dist/src/services/distill-tuning.js +7 -7
  453. package/v3/@claude-flow/cli/dist/src/services/event-stream.d.ts +25 -0
  454. package/v3/@claude-flow/cli/dist/src/services/event-stream.js +27 -0
  455. package/v3/@claude-flow/cli/dist/src/services/headless-worker-executor.js +84 -84
  456. package/v3/@claude-flow/cli/dist/src/services/loop-worker-runner.d.ts +16 -0
  457. package/v3/@claude-flow/cli/dist/src/services/loop-worker-runner.js +34 -0
  458. package/v3/@claude-flow/cli/dist/src/services/memory-distillation.js +4 -4
  459. package/v3/@claude-flow/cli/dist/src/services/runtime-capabilities.d.ts +22 -0
  460. package/v3/@claude-flow/cli/dist/src/services/runtime-capabilities.js +45 -0
  461. package/v3/@claude-flow/cli/dist/src/transfer/deploy-seraphine.js +23 -23
  462. package/v3/@claude-flow/cli/package.json +134 -133
  463. package/v3/@claude-flow/guidance/README.md +1195 -1195
  464. package/v3/@claude-flow/guidance/dist/adversarial.d.ts +284 -0
  465. package/v3/@claude-flow/guidance/dist/adversarial.js +572 -0
  466. package/v3/@claude-flow/guidance/dist/analyzer.d.ts +530 -0
  467. package/v3/@claude-flow/guidance/dist/analyzer.js +2587 -0
  468. package/v3/@claude-flow/guidance/dist/artifacts.d.ts +283 -0
  469. package/v3/@claude-flow/guidance/dist/artifacts.js +356 -0
  470. package/v3/@claude-flow/guidance/dist/authority.d.ts +290 -0
  471. package/v3/@claude-flow/guidance/dist/authority.js +558 -0
  472. package/v3/@claude-flow/guidance/dist/capabilities.d.ts +209 -0
  473. package/v3/@claude-flow/guidance/dist/capabilities.js +485 -0
  474. package/v3/@claude-flow/guidance/dist/coherence.d.ts +233 -0
  475. package/v3/@claude-flow/guidance/dist/coherence.js +372 -0
  476. package/v3/@claude-flow/guidance/dist/compiler.d.ts +87 -0
  477. package/v3/@claude-flow/guidance/dist/compiler.js +410 -0
  478. package/v3/@claude-flow/guidance/dist/conformance-kit.d.ts +225 -0
  479. package/v3/@claude-flow/guidance/dist/conformance-kit.js +629 -0
  480. package/v3/@claude-flow/guidance/dist/continue-gate.d.ts +214 -0
  481. package/v3/@claude-flow/guidance/dist/continue-gate.js +353 -0
  482. package/v3/@claude-flow/guidance/dist/crypto-utils.d.ts +17 -0
  483. package/v3/@claude-flow/guidance/dist/crypto-utils.js +24 -0
  484. package/v3/@claude-flow/guidance/dist/evolution.d.ts +282 -0
  485. package/v3/@claude-flow/guidance/dist/evolution.js +500 -0
  486. package/v3/@claude-flow/guidance/dist/gates.d.ts +79 -0
  487. package/v3/@claude-flow/guidance/dist/gates.js +302 -0
  488. package/v3/@claude-flow/guidance/dist/gateway.d.ts +206 -0
  489. package/v3/@claude-flow/guidance/dist/gateway.js +452 -0
  490. package/v3/@claude-flow/guidance/dist/generators.d.ts +153 -0
  491. package/v3/@claude-flow/guidance/dist/generators.js +682 -0
  492. package/v3/@claude-flow/guidance/dist/headless.d.ts +177 -0
  493. package/v3/@claude-flow/guidance/dist/headless.js +342 -0
  494. package/v3/@claude-flow/guidance/dist/hooks.d.ts +109 -0
  495. package/v3/@claude-flow/guidance/dist/hooks.js +347 -0
  496. package/v3/@claude-flow/guidance/dist/index.d.ts +205 -0
  497. package/v3/@claude-flow/guidance/dist/index.js +321 -0
  498. package/v3/@claude-flow/guidance/dist/ledger.d.ts +162 -0
  499. package/v3/@claude-flow/guidance/dist/ledger.js +375 -0
  500. package/v3/@claude-flow/guidance/dist/manifest-validator.d.ts +289 -0
  501. package/v3/@claude-flow/guidance/dist/manifest-validator.js +838 -0
  502. package/v3/@claude-flow/guidance/dist/memory-gate.d.ts +222 -0
  503. package/v3/@claude-flow/guidance/dist/memory-gate.js +382 -0
  504. package/v3/@claude-flow/guidance/dist/meta-governance.d.ts +265 -0
  505. package/v3/@claude-flow/guidance/dist/meta-governance.js +348 -0
  506. package/v3/@claude-flow/guidance/dist/optimizer.d.ts +104 -0
  507. package/v3/@claude-flow/guidance/dist/optimizer.js +329 -0
  508. package/v3/@claude-flow/guidance/dist/persistence.d.ts +189 -0
  509. package/v3/@claude-flow/guidance/dist/persistence.js +464 -0
  510. package/v3/@claude-flow/guidance/dist/proof.d.ts +185 -0
  511. package/v3/@claude-flow/guidance/dist/proof.js +238 -0
  512. package/v3/@claude-flow/guidance/dist/retriever.d.ts +172 -0
  513. package/v3/@claude-flow/guidance/dist/retriever.js +596 -0
  514. package/v3/@claude-flow/guidance/dist/ruvbot-integration.d.ts +370 -0
  515. package/v3/@claude-flow/guidance/dist/ruvbot-integration.js +738 -0
  516. package/v3/@claude-flow/guidance/dist/temporal.d.ts +426 -0
  517. package/v3/@claude-flow/guidance/dist/temporal.js +658 -0
  518. package/v3/@claude-flow/guidance/dist/trust.d.ts +283 -0
  519. package/v3/@claude-flow/guidance/dist/trust.js +473 -0
  520. package/v3/@claude-flow/guidance/dist/truth-anchors.d.ts +276 -0
  521. package/v3/@claude-flow/guidance/dist/truth-anchors.js +488 -0
  522. package/v3/@claude-flow/guidance/dist/types.d.ts +378 -0
  523. package/v3/@claude-flow/guidance/dist/types.js +10 -0
  524. package/v3/@claude-flow/guidance/dist/uncertainty.d.ts +372 -0
  525. package/v3/@claude-flow/guidance/dist/uncertainty.js +619 -0
  526. package/v3/@claude-flow/guidance/dist/wasm-kernel.d.ts +48 -0
  527. package/v3/@claude-flow/guidance/dist/wasm-kernel.js +158 -0
  528. package/v3/@claude-flow/guidance/package.json +198 -198
  529. package/v3/@claude-flow/shared/README.md +323 -323
  530. package/v3/@claude-flow/shared/dist/core/config/defaults.d.ts +41 -0
  531. package/v3/@claude-flow/shared/dist/core/config/defaults.js +186 -0
  532. package/v3/@claude-flow/shared/dist/core/config/index.d.ts +8 -0
  533. package/v3/@claude-flow/shared/dist/core/config/index.js +12 -0
  534. package/v3/@claude-flow/shared/dist/core/config/loader.d.ts +45 -0
  535. package/v3/@claude-flow/shared/dist/core/config/loader.js +238 -0
  536. package/v3/@claude-flow/shared/dist/core/config/schema.d.ts +1728 -0
  537. package/v3/@claude-flow/shared/dist/core/config/schema.js +160 -0
  538. package/v3/@claude-flow/shared/dist/core/config/validator.d.ts +92 -0
  539. package/v3/@claude-flow/shared/dist/core/config/validator.js +147 -0
  540. package/v3/@claude-flow/shared/dist/core/event-bus.d.ts +31 -0
  541. package/v3/@claude-flow/shared/dist/core/event-bus.js +197 -0
  542. package/v3/@claude-flow/shared/dist/core/index.d.ts +15 -0
  543. package/v3/@claude-flow/shared/dist/core/index.js +19 -0
  544. package/v3/@claude-flow/shared/dist/core/interfaces/agent.interface.d.ts +200 -0
  545. package/v3/@claude-flow/shared/dist/core/interfaces/agent.interface.js +6 -0
  546. package/v3/@claude-flow/shared/dist/core/interfaces/coordinator.interface.d.ts +310 -0
  547. package/v3/@claude-flow/shared/dist/core/interfaces/coordinator.interface.js +7 -0
  548. package/v3/@claude-flow/shared/dist/core/interfaces/event.interface.d.ts +224 -0
  549. package/v3/@claude-flow/shared/dist/core/interfaces/event.interface.js +46 -0
  550. package/v3/@claude-flow/shared/dist/core/interfaces/index.d.ts +10 -0
  551. package/v3/@claude-flow/shared/dist/core/interfaces/index.js +15 -0
  552. package/v3/@claude-flow/shared/dist/core/interfaces/memory.interface.d.ts +298 -0
  553. package/v3/@claude-flow/shared/dist/core/interfaces/memory.interface.js +7 -0
  554. package/v3/@claude-flow/shared/dist/core/interfaces/task.interface.d.ts +185 -0
  555. package/v3/@claude-flow/shared/dist/core/interfaces/task.interface.js +6 -0
  556. package/v3/@claude-flow/shared/dist/core/orchestrator/event-coordinator.d.ts +35 -0
  557. package/v3/@claude-flow/shared/dist/core/orchestrator/event-coordinator.js +101 -0
  558. package/v3/@claude-flow/shared/dist/core/orchestrator/health-monitor.d.ts +60 -0
  559. package/v3/@claude-flow/shared/dist/core/orchestrator/health-monitor.js +166 -0
  560. package/v3/@claude-flow/shared/dist/core/orchestrator/index.d.ts +46 -0
  561. package/v3/@claude-flow/shared/dist/core/orchestrator/index.js +64 -0
  562. package/v3/@claude-flow/shared/dist/core/orchestrator/lifecycle-manager.d.ts +56 -0
  563. package/v3/@claude-flow/shared/dist/core/orchestrator/lifecycle-manager.js +195 -0
  564. package/v3/@claude-flow/shared/dist/core/orchestrator/session-manager.d.ts +83 -0
  565. package/v3/@claude-flow/shared/dist/core/orchestrator/session-manager.js +193 -0
  566. package/v3/@claude-flow/shared/dist/core/orchestrator/task-manager.d.ts +49 -0
  567. package/v3/@claude-flow/shared/dist/core/orchestrator/task-manager.js +253 -0
  568. package/v3/@claude-flow/shared/dist/events/domain-events.d.ts +282 -0
  569. package/v3/@claude-flow/shared/dist/events/domain-events.js +165 -0
  570. package/v3/@claude-flow/shared/dist/events/event-store.d.ts +126 -0
  571. package/v3/@claude-flow/shared/dist/events/event-store.js +427 -0
  572. package/v3/@claude-flow/shared/dist/events/event-store.test.d.ts +8 -0
  573. package/v3/@claude-flow/shared/dist/events/event-store.test.js +293 -0
  574. package/v3/@claude-flow/shared/dist/events/example-usage.d.ts +10 -0
  575. package/v3/@claude-flow/shared/dist/events/example-usage.js +193 -0
  576. package/v3/@claude-flow/shared/dist/events/index.d.ts +21 -0
  577. package/v3/@claude-flow/shared/dist/events/index.js +22 -0
  578. package/v3/@claude-flow/shared/dist/events/projections.d.ts +177 -0
  579. package/v3/@claude-flow/shared/dist/events/projections.js +421 -0
  580. package/v3/@claude-flow/shared/dist/events/rvf-event-log.d.ts +82 -0
  581. package/v3/@claude-flow/shared/dist/events/rvf-event-log.js +340 -0
  582. package/v3/@claude-flow/shared/dist/events/state-reconstructor.d.ts +101 -0
  583. package/v3/@claude-flow/shared/dist/events/state-reconstructor.js +263 -0
  584. package/v3/@claude-flow/shared/dist/events.d.ts +80 -0
  585. package/v3/@claude-flow/shared/dist/events.js +249 -0
  586. package/v3/@claude-flow/shared/dist/hooks/example-usage.d.ts +42 -0
  587. package/v3/@claude-flow/shared/dist/hooks/example-usage.js +351 -0
  588. package/v3/@claude-flow/shared/dist/hooks/executor.d.ts +100 -0
  589. package/v3/@claude-flow/shared/dist/hooks/executor.js +267 -0
  590. package/v3/@claude-flow/shared/dist/hooks/hooks.test.d.ts +9 -0
  591. package/v3/@claude-flow/shared/dist/hooks/hooks.test.js +322 -0
  592. package/v3/@claude-flow/shared/dist/hooks/index.d.ts +52 -0
  593. package/v3/@claude-flow/shared/dist/hooks/index.js +51 -0
  594. package/v3/@claude-flow/shared/dist/hooks/registry.d.ts +133 -0
  595. package/v3/@claude-flow/shared/dist/hooks/registry.js +277 -0
  596. package/v3/@claude-flow/shared/dist/hooks/safety/bash-safety.d.ts +105 -0
  597. package/v3/@claude-flow/shared/dist/hooks/safety/bash-safety.js +481 -0
  598. package/v3/@claude-flow/shared/dist/hooks/safety/file-organization.d.ts +144 -0
  599. package/v3/@claude-flow/shared/dist/hooks/safety/file-organization.js +328 -0
  600. package/v3/@claude-flow/shared/dist/hooks/safety/git-commit.d.ts +158 -0
  601. package/v3/@claude-flow/shared/dist/hooks/safety/git-commit.js +450 -0
  602. package/v3/@claude-flow/shared/dist/hooks/safety/index.d.ts +17 -0
  603. package/v3/@claude-flow/shared/dist/hooks/safety/index.js +17 -0
  604. package/v3/@claude-flow/shared/dist/hooks/session-hooks.d.ts +234 -0
  605. package/v3/@claude-flow/shared/dist/hooks/session-hooks.js +334 -0
  606. package/v3/@claude-flow/shared/dist/hooks/task-hooks.d.ts +163 -0
  607. package/v3/@claude-flow/shared/dist/hooks/task-hooks.js +326 -0
  608. package/v3/@claude-flow/shared/dist/hooks/types.d.ts +267 -0
  609. package/v3/@claude-flow/shared/dist/hooks/types.js +62 -0
  610. package/v3/@claude-flow/shared/dist/hooks/verify-exports.test.d.ts +9 -0
  611. package/v3/@claude-flow/shared/dist/hooks/verify-exports.test.js +93 -0
  612. package/v3/@claude-flow/shared/dist/index.d.ts +20 -0
  613. package/v3/@claude-flow/shared/dist/index.js +50 -0
  614. package/v3/@claude-flow/shared/dist/mcp/connection-pool.d.ts +98 -0
  615. package/v3/@claude-flow/shared/dist/mcp/connection-pool.js +364 -0
  616. package/v3/@claude-flow/shared/dist/mcp/index.d.ts +69 -0
  617. package/v3/@claude-flow/shared/dist/mcp/index.js +84 -0
  618. package/v3/@claude-flow/shared/dist/mcp/server.d.ts +166 -0
  619. package/v3/@claude-flow/shared/dist/mcp/server.js +590 -0
  620. package/v3/@claude-flow/shared/dist/mcp/session-manager.d.ts +136 -0
  621. package/v3/@claude-flow/shared/dist/mcp/session-manager.js +335 -0
  622. package/v3/@claude-flow/shared/dist/mcp/tool-registry.d.ts +178 -0
  623. package/v3/@claude-flow/shared/dist/mcp/tool-registry.js +439 -0
  624. package/v3/@claude-flow/shared/dist/mcp/transport/http.d.ts +104 -0
  625. package/v3/@claude-flow/shared/dist/mcp/transport/http.js +476 -0
  626. package/v3/@claude-flow/shared/dist/mcp/transport/index.d.ts +102 -0
  627. package/v3/@claude-flow/shared/dist/mcp/transport/index.js +238 -0
  628. package/v3/@claude-flow/shared/dist/mcp/transport/stdio.d.ts +104 -0
  629. package/v3/@claude-flow/shared/dist/mcp/transport/stdio.js +263 -0
  630. package/v3/@claude-flow/shared/dist/mcp/transport/websocket.d.ts +133 -0
  631. package/v3/@claude-flow/shared/dist/mcp/transport/websocket.js +396 -0
  632. package/v3/@claude-flow/shared/dist/mcp/types.d.ts +436 -0
  633. package/v3/@claude-flow/shared/dist/mcp/types.js +54 -0
  634. package/v3/@claude-flow/shared/dist/plugin-interface.d.ts +544 -0
  635. package/v3/@claude-flow/shared/dist/plugin-interface.js +23 -0
  636. package/v3/@claude-flow/shared/dist/plugin-loader.d.ts +139 -0
  637. package/v3/@claude-flow/shared/dist/plugin-loader.js +434 -0
  638. package/v3/@claude-flow/shared/dist/plugin-registry.d.ts +183 -0
  639. package/v3/@claude-flow/shared/dist/plugin-registry.js +457 -0
  640. package/v3/@claude-flow/shared/dist/plugins/index.d.ts +10 -0
  641. package/v3/@claude-flow/shared/dist/plugins/index.js +10 -0
  642. package/v3/@claude-flow/shared/dist/plugins/official/hive-mind-plugin.d.ts +106 -0
  643. package/v3/@claude-flow/shared/dist/plugins/official/hive-mind-plugin.js +241 -0
  644. package/v3/@claude-flow/shared/dist/plugins/official/index.d.ts +10 -0
  645. package/v3/@claude-flow/shared/dist/plugins/official/index.js +10 -0
  646. package/v3/@claude-flow/shared/dist/plugins/official/maestro-plugin.d.ts +121 -0
  647. package/v3/@claude-flow/shared/dist/plugins/official/maestro-plugin.js +355 -0
  648. package/v3/@claude-flow/shared/dist/plugins/types.d.ts +93 -0
  649. package/v3/@claude-flow/shared/dist/plugins/types.js +9 -0
  650. package/v3/@claude-flow/shared/dist/resilience/bulkhead.d.ts +105 -0
  651. package/v3/@claude-flow/shared/dist/resilience/bulkhead.js +206 -0
  652. package/v3/@claude-flow/shared/dist/resilience/circuit-breaker.d.ts +132 -0
  653. package/v3/@claude-flow/shared/dist/resilience/circuit-breaker.js +233 -0
  654. package/v3/@claude-flow/shared/dist/resilience/index.d.ts +19 -0
  655. package/v3/@claude-flow/shared/dist/resilience/index.js +19 -0
  656. package/v3/@claude-flow/shared/dist/resilience/rate-limiter.d.ts +168 -0
  657. package/v3/@claude-flow/shared/dist/resilience/rate-limiter.js +314 -0
  658. package/v3/@claude-flow/shared/dist/resilience/retry.d.ts +91 -0
  659. package/v3/@claude-flow/shared/dist/resilience/retry.js +159 -0
  660. package/v3/@claude-flow/shared/dist/security/index.d.ts +10 -0
  661. package/v3/@claude-flow/shared/dist/security/index.js +12 -0
  662. package/v3/@claude-flow/shared/dist/security/input-validation.d.ts +73 -0
  663. package/v3/@claude-flow/shared/dist/security/input-validation.js +201 -0
  664. package/v3/@claude-flow/shared/dist/security/secure-random.d.ts +92 -0
  665. package/v3/@claude-flow/shared/dist/security/secure-random.js +142 -0
  666. package/v3/@claude-flow/shared/dist/services/index.d.ts +7 -0
  667. package/v3/@claude-flow/shared/dist/services/index.js +7 -0
  668. package/v3/@claude-flow/shared/dist/services/v3-progress.service.d.ts +124 -0
  669. package/v3/@claude-flow/shared/dist/services/v3-progress.service.js +402 -0
  670. package/v3/@claude-flow/shared/dist/types/agent.types.d.ts +137 -0
  671. package/v3/@claude-flow/shared/dist/types/agent.types.js +6 -0
  672. package/v3/@claude-flow/shared/dist/types/index.d.ts +11 -0
  673. package/v3/@claude-flow/shared/dist/types/index.js +17 -0
  674. package/v3/@claude-flow/shared/dist/types/mcp.types.d.ts +266 -0
  675. package/v3/@claude-flow/shared/dist/types/mcp.types.js +7 -0
  676. package/v3/@claude-flow/shared/dist/types/memory.types.d.ts +236 -0
  677. package/v3/@claude-flow/shared/dist/types/memory.types.js +7 -0
  678. package/v3/@claude-flow/shared/dist/types/swarm.types.d.ts +186 -0
  679. package/v3/@claude-flow/shared/dist/types/swarm.types.js +65 -0
  680. package/v3/@claude-flow/shared/dist/types/task.types.d.ts +178 -0
  681. package/v3/@claude-flow/shared/dist/types/task.types.js +32 -0
  682. package/v3/@claude-flow/shared/dist/types.d.ts +197 -0
  683. package/v3/@claude-flow/shared/dist/types.js +21 -0
  684. package/v3/@claude-flow/shared/dist/utils/secure-logger.d.ts +69 -0
  685. package/v3/@claude-flow/shared/dist/utils/secure-logger.js +208 -0
  686. package/v3/@claude-flow/shared/package.json +43 -43
  687. package/v3/README.md +493 -493
  688. package/.claude/security-scans/scan-all-standard.json +0 -321
  689. package/.claude/security-scans/scan-code-deep.json +0 -1209
  690. 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