claude-flow 3.32.8 → 3.32.10

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 (455) hide show
  1. package/.claude/.proven-config-version +1 -0
  2. package/.claude/agents/MIGRATION_SUMMARY.md +221 -221
  3. package/.claude/agents/analysis/analyze-code-quality.md +57 -57
  4. package/.claude/agents/analysis/code-analyzer.md +188 -188
  5. package/.claude/agents/analysis/code-review/analyze-code-quality.md +57 -57
  6. package/.claude/agents/architecture/system-design/arch-system-design.md +35 -35
  7. package/.claude/agents/base-template-generator.md +41 -41
  8. package/.claude/agents/consensus/byzantine-coordinator.md +42 -42
  9. package/.claude/agents/consensus/crdt-synchronizer.md +976 -976
  10. package/.claude/agents/consensus/gossip-coordinator.md +42 -42
  11. package/.claude/agents/consensus/performance-benchmarker.md +830 -830
  12. package/.claude/agents/consensus/quorum-manager.md +802 -802
  13. package/.claude/agents/consensus/raft-manager.md +42 -42
  14. package/.claude/agents/consensus/security-manager.md +601 -601
  15. package/.claude/agents/core/coder.md +254 -254
  16. package/.claude/agents/core/planner.md +151 -151
  17. package/.claude/agents/core/researcher.md +173 -173
  18. package/.claude/agents/core/reviewer.md +308 -308
  19. package/.claude/agents/core/tester.md +299 -299
  20. package/.claude/agents/custom/test-long-runner.md +43 -43
  21. package/.claude/agents/data/ml/data-ml-model.md +75 -75
  22. package/.claude/agents/database-specialist.md +9 -9
  23. package/.claude/agents/development/backend/dev-backend-api.md +28 -28
  24. package/.claude/agents/development/dev-backend-api.md +177 -177
  25. package/.claude/agents/devops/ci-cd/ops-cicd-github.md +51 -51
  26. package/.claude/agents/documentation/api-docs/docs-api-openapi.md +62 -62
  27. package/.claude/agents/dual-mode/codex-coordinator.md +206 -206
  28. package/.claude/agents/dual-mode/codex-worker.md +190 -190
  29. package/.claude/agents/dual-mode/dual-orchestrator.md +253 -253
  30. package/.claude/agents/flow-nexus/app-store.md +87 -87
  31. package/.claude/agents/flow-nexus/authentication.md +68 -68
  32. package/.claude/agents/flow-nexus/challenges.md +80 -80
  33. package/.claude/agents/flow-nexus/neural-network.md +87 -87
  34. package/.claude/agents/flow-nexus/payments.md +82 -82
  35. package/.claude/agents/flow-nexus/sandbox.md +75 -75
  36. package/.claude/agents/flow-nexus/swarm.md +75 -75
  37. package/.claude/agents/flow-nexus/user-tools.md +95 -95
  38. package/.claude/agents/flow-nexus/workflow.md +83 -83
  39. package/.claude/agents/github/code-review-swarm.md +520 -520
  40. package/.claude/agents/github/github-modes.md +153 -153
  41. package/.claude/agents/github/issue-tracker.md +298 -298
  42. package/.claude/agents/github/multi-repo-swarm.md +524 -524
  43. package/.claude/agents/github/pr-manager.md +162 -162
  44. package/.claude/agents/github/project-board-sync.md +477 -477
  45. package/.claude/agents/github/release-manager.md +337 -337
  46. package/.claude/agents/github/release-swarm.md +550 -550
  47. package/.claude/agents/github/repo-architect.md +364 -364
  48. package/.claude/agents/github/swarm-issue.md +550 -550
  49. package/.claude/agents/github/swarm-pr.md +401 -401
  50. package/.claude/agents/github/sync-coordinator.md +424 -424
  51. package/.claude/agents/github/workflow-automation.md +604 -604
  52. package/.claude/agents/goal/agent.md +816 -816
  53. package/.claude/agents/goal/code-goal-planner.md +444 -444
  54. package/.claude/agents/goal/goal-planner.md +167 -167
  55. package/.claude/agents/hive-mind/collective-intelligence-coordinator.md +128 -128
  56. package/.claude/agents/hive-mind/queen-coordinator.md +201 -201
  57. package/.claude/agents/hive-mind/scout-explorer.md +240 -240
  58. package/.claude/agents/hive-mind/swarm-memory-manager.md +191 -191
  59. package/.claude/agents/hive-mind/worker-specialist.md +215 -215
  60. package/.claude/agents/neural/safla-neural.md +73 -73
  61. package/.claude/agents/optimization/benchmark-suite.md +662 -662
  62. package/.claude/agents/optimization/load-balancer.md +428 -428
  63. package/.claude/agents/optimization/performance-monitor.md +669 -669
  64. package/.claude/agents/optimization/resource-allocator.md +671 -671
  65. package/.claude/agents/optimization/topology-optimizer.md +805 -805
  66. package/.claude/agents/payments/agentic-payments.md +126 -126
  67. package/.claude/agents/project-coordinator.md +8 -8
  68. package/.claude/agents/python-specialist.md +9 -9
  69. package/.claude/agents/reasoning/agent.md +816 -816
  70. package/.claude/agents/reasoning/goal-planner.md +72 -72
  71. package/.claude/agents/security-auditor.md +9 -9
  72. package/.claude/agents/sona/sona-learning-optimizer.md +65 -65
  73. package/.claude/agents/sparc/architecture.md +452 -452
  74. package/.claude/agents/sparc/pseudocode.md +298 -298
  75. package/.claude/agents/sparc/refinement.md +503 -503
  76. package/.claude/agents/sparc/specification.md +257 -257
  77. package/.claude/agents/specialized/mobile/spec-mobile-react-native.md +87 -87
  78. package/.claude/agents/sublinear/consensus-coordinator.md +337 -337
  79. package/.claude/agents/sublinear/matrix-optimizer.md +184 -184
  80. package/.claude/agents/sublinear/pagerank-analyzer.md +298 -298
  81. package/.claude/agents/sublinear/performance-optimizer.md +367 -367
  82. package/.claude/agents/sublinear/trading-predictor.md +245 -245
  83. package/.claude/agents/swarm/adaptive-coordinator.md +363 -363
  84. package/.claude/agents/swarm/hierarchical-coordinator.md +299 -299
  85. package/.claude/agents/swarm/mesh-coordinator.md +362 -362
  86. package/.claude/agents/templates/automation-smart-agent.md +184 -184
  87. package/.claude/agents/templates/coordinator-swarm-init.md +82 -82
  88. package/.claude/agents/templates/github-pr-manager.md +154 -154
  89. package/.claude/agents/templates/implementer-sparc-coder.md +242 -242
  90. package/.claude/agents/templates/memory-coordinator.md +162 -162
  91. package/.claude/agents/templates/migration-plan.md +723 -723
  92. package/.claude/agents/templates/orchestrator-task.md +119 -119
  93. package/.claude/agents/templates/performance-analyzer.md +178 -178
  94. package/.claude/agents/templates/sparc-coordinator.md +162 -162
  95. package/.claude/agents/testing/production-validator.md +372 -372
  96. package/.claude/agents/testing/tdd-london-swarm.md +221 -221
  97. package/.claude/agents/testing/unit/tdd-london-swarm.md +221 -221
  98. package/.claude/agents/testing/validation/production-validator.md +372 -372
  99. package/.claude/agents/typescript-specialist.md +9 -9
  100. package/.claude/agents/v3/database-specialist.md +9 -9
  101. package/.claude/agents/v3/project-coordinator.md +8 -8
  102. package/.claude/agents/v3/python-specialist.md +9 -9
  103. package/.claude/agents/v3/test-architect.md +9 -9
  104. package/.claude/agents/v3/typescript-specialist.md +9 -9
  105. package/.claude/agents/v3/v3-integration-architect.md +311 -311
  106. package/.claude/agents/v3/v3-memory-specialist.md +280 -280
  107. package/.claude/agents/v3/v3-performance-engineer.md +362 -362
  108. package/.claude/agents/v3/v3-queen-coordinator.md +62 -62
  109. package/.claude/agents/v3/v3-security-architect.md +139 -139
  110. package/.claude/checkpoints/1767754460.json +8 -8
  111. package/.claude/commands/agents/README.md +10 -10
  112. package/.claude/commands/agents/agent-capabilities.md +21 -21
  113. package/.claude/commands/agents/agent-coordination.md +28 -28
  114. package/.claude/commands/agents/agent-spawning.md +28 -28
  115. package/.claude/commands/agents/agent-types.md +26 -26
  116. package/.claude/commands/analysis/COMMAND_COMPLIANCE_REPORT.md +53 -53
  117. package/.claude/commands/analysis/README.md +9 -9
  118. package/.claude/commands/analysis/bottleneck-detect.md +162 -162
  119. package/.claude/commands/analysis/performance-bottlenecks.md +58 -58
  120. package/.claude/commands/analysis/performance-report.md +25 -25
  121. package/.claude/commands/analysis/token-efficiency.md +44 -44
  122. package/.claude/commands/analysis/token-usage.md +25 -25
  123. package/.claude/commands/automation/README.md +9 -9
  124. package/.claude/commands/automation/auto-agent.md +122 -122
  125. package/.claude/commands/automation/self-healing.md +105 -105
  126. package/.claude/commands/automation/session-memory.md +89 -89
  127. package/.claude/commands/automation/smart-agents.md +72 -72
  128. package/.claude/commands/automation/smart-spawn.md +25 -25
  129. package/.claude/commands/automation/workflow-select.md +25 -25
  130. package/.claude/commands/claude-flow-help.md +103 -103
  131. package/.claude/commands/claude-flow-memory.md +107 -107
  132. package/.claude/commands/claude-flow-swarm.md +205 -205
  133. package/.claude/commands/coordination/README.md +9 -9
  134. package/.claude/commands/coordination/agent-spawn.md +25 -25
  135. package/.claude/commands/coordination/init.md +44 -44
  136. package/.claude/commands/coordination/orchestrate.md +43 -43
  137. package/.claude/commands/coordination/spawn.md +45 -45
  138. package/.claude/commands/coordination/swarm-init.md +85 -85
  139. package/.claude/commands/coordination/task-orchestrate.md +25 -25
  140. package/.claude/commands/flow-nexus/app-store.md +123 -123
  141. package/.claude/commands/flow-nexus/challenges.md +119 -119
  142. package/.claude/commands/flow-nexus/login-registration.md +64 -64
  143. package/.claude/commands/flow-nexus/neural-network.md +133 -133
  144. package/.claude/commands/flow-nexus/payments.md +115 -115
  145. package/.claude/commands/flow-nexus/sandbox.md +82 -82
  146. package/.claude/commands/flow-nexus/swarm.md +86 -86
  147. package/.claude/commands/flow-nexus/user-tools.md +151 -151
  148. package/.claude/commands/flow-nexus/workflow.md +114 -114
  149. package/.claude/commands/github/README.md +11 -11
  150. package/.claude/commands/github/code-review-swarm.md +513 -513
  151. package/.claude/commands/github/code-review.md +25 -25
  152. package/.claude/commands/github/github-modes.md +146 -146
  153. package/.claude/commands/github/github-swarm.md +121 -121
  154. package/.claude/commands/github/issue-tracker.md +291 -291
  155. package/.claude/commands/github/issue-triage.md +25 -25
  156. package/.claude/commands/github/multi-repo-swarm.md +518 -518
  157. package/.claude/commands/github/pr-enhance.md +26 -26
  158. package/.claude/commands/github/pr-manager.md +169 -169
  159. package/.claude/commands/github/project-board-sync.md +470 -470
  160. package/.claude/commands/github/release-manager.md +337 -337
  161. package/.claude/commands/github/release-swarm.md +543 -543
  162. package/.claude/commands/github/repo-analyze.md +25 -25
  163. package/.claude/commands/github/repo-architect.md +366 -366
  164. package/.claude/commands/github/swarm-issue.md +481 -481
  165. package/.claude/commands/github/swarm-pr.md +284 -284
  166. package/.claude/commands/github/sync-coordinator.md +300 -300
  167. package/.claude/commands/github/workflow-automation.md +441 -441
  168. package/.claude/commands/hive-mind/README.md +17 -17
  169. package/.claude/commands/hive-mind/hive-mind-consensus.md +8 -8
  170. package/.claude/commands/hive-mind/hive-mind-init.md +18 -18
  171. package/.claude/commands/hive-mind/hive-mind-memory.md +8 -8
  172. package/.claude/commands/hive-mind/hive-mind-metrics.md +8 -8
  173. package/.claude/commands/hive-mind/hive-mind-resume.md +8 -8
  174. package/.claude/commands/hive-mind/hive-mind-sessions.md +8 -8
  175. package/.claude/commands/hive-mind/hive-mind-spawn.md +21 -21
  176. package/.claude/commands/hive-mind/hive-mind-status.md +8 -8
  177. package/.claude/commands/hive-mind/hive-mind-stop.md +8 -8
  178. package/.claude/commands/hive-mind/hive-mind-wizard.md +8 -8
  179. package/.claude/commands/hive-mind/hive-mind.md +27 -27
  180. package/.claude/commands/hooks/README.md +11 -11
  181. package/.claude/commands/hooks/overview.md +57 -57
  182. package/.claude/commands/hooks/post-edit.md +117 -117
  183. package/.claude/commands/hooks/post-task.md +112 -112
  184. package/.claude/commands/hooks/pre-edit.md +113 -113
  185. package/.claude/commands/hooks/pre-task.md +111 -111
  186. package/.claude/commands/hooks/session-end.md +118 -118
  187. package/.claude/commands/hooks/setup.md +102 -102
  188. package/.claude/commands/memory/README.md +9 -9
  189. package/.claude/commands/memory/memory-persist.md +25 -25
  190. package/.claude/commands/memory/memory-search.md +25 -25
  191. package/.claude/commands/memory/memory-usage.md +25 -25
  192. package/.claude/commands/memory/neural.md +47 -47
  193. package/.claude/commands/monitoring/README.md +9 -9
  194. package/.claude/commands/monitoring/agent-metrics.md +25 -25
  195. package/.claude/commands/monitoring/agents.md +44 -44
  196. package/.claude/commands/monitoring/real-time-view.md +25 -25
  197. package/.claude/commands/monitoring/status.md +46 -46
  198. package/.claude/commands/monitoring/swarm-monitor.md +25 -25
  199. package/.claude/commands/optimization/README.md +9 -9
  200. package/.claude/commands/optimization/auto-topology.md +61 -61
  201. package/.claude/commands/optimization/cache-manage.md +25 -25
  202. package/.claude/commands/optimization/parallel-execute.md +25 -25
  203. package/.claude/commands/optimization/parallel-execution.md +49 -49
  204. package/.claude/commands/optimization/topology-optimize.md +25 -25
  205. package/.claude/commands/pair/README.md +260 -260
  206. package/.claude/commands/pair/commands.md +545 -545
  207. package/.claude/commands/pair/config.md +509 -509
  208. package/.claude/commands/pair/examples.md +511 -511
  209. package/.claude/commands/pair/modes.md +347 -347
  210. package/.claude/commands/pair/session.md +406 -406
  211. package/.claude/commands/pair/start.md +208 -208
  212. package/.claude/commands/sparc/analyzer.md +51 -51
  213. package/.claude/commands/sparc/architect.md +53 -53
  214. package/.claude/commands/sparc/ask.md +97 -97
  215. package/.claude/commands/sparc/batch-executor.md +54 -54
  216. package/.claude/commands/sparc/code.md +89 -89
  217. package/.claude/commands/sparc/coder.md +54 -54
  218. package/.claude/commands/sparc/debug.md +83 -83
  219. package/.claude/commands/sparc/debugger.md +54 -54
  220. package/.claude/commands/sparc/designer.md +53 -53
  221. package/.claude/commands/sparc/devops.md +109 -109
  222. package/.claude/commands/sparc/docs-writer.md +80 -80
  223. package/.claude/commands/sparc/documenter.md +54 -54
  224. package/.claude/commands/sparc/innovator.md +54 -54
  225. package/.claude/commands/sparc/integration.md +83 -83
  226. package/.claude/commands/sparc/mcp.md +117 -117
  227. package/.claude/commands/sparc/memory-manager.md +54 -54
  228. package/.claude/commands/sparc/optimizer.md +54 -54
  229. package/.claude/commands/sparc/orchestrator.md +131 -131
  230. package/.claude/commands/sparc/post-deployment-monitoring-mode.md +83 -83
  231. package/.claude/commands/sparc/refinement-optimization-mode.md +83 -83
  232. package/.claude/commands/sparc/researcher.md +54 -54
  233. package/.claude/commands/sparc/reviewer.md +54 -54
  234. package/.claude/commands/sparc/security-review.md +80 -80
  235. package/.claude/commands/sparc/sparc-modes.md +174 -174
  236. package/.claude/commands/sparc/sparc.md +111 -111
  237. package/.claude/commands/sparc/spec-pseudocode.md +80 -80
  238. package/.claude/commands/sparc/supabase-admin.md +348 -348
  239. package/.claude/commands/sparc/swarm-coordinator.md +54 -54
  240. package/.claude/commands/sparc/tdd.md +54 -54
  241. package/.claude/commands/sparc/tester.md +54 -54
  242. package/.claude/commands/sparc/tutorial.md +79 -79
  243. package/.claude/commands/sparc/workflow-manager.md +54 -54
  244. package/.claude/commands/sparc.md +166 -166
  245. package/.claude/commands/stream-chain/pipeline.md +120 -120
  246. package/.claude/commands/stream-chain/run.md +69 -69
  247. package/.claude/commands/swarm/README.md +15 -15
  248. package/.claude/commands/swarm/analysis.md +95 -95
  249. package/.claude/commands/swarm/development.md +96 -96
  250. package/.claude/commands/swarm/examples.md +168 -168
  251. package/.claude/commands/swarm/maintenance.md +102 -102
  252. package/.claude/commands/swarm/optimization.md +117 -117
  253. package/.claude/commands/swarm/research.md +136 -136
  254. package/.claude/commands/swarm/swarm-analysis.md +8 -8
  255. package/.claude/commands/swarm/swarm-background.md +8 -8
  256. package/.claude/commands/swarm/swarm-init.md +19 -19
  257. package/.claude/commands/swarm/swarm-modes.md +8 -8
  258. package/.claude/commands/swarm/swarm-monitor.md +8 -8
  259. package/.claude/commands/swarm/swarm-spawn.md +19 -19
  260. package/.claude/commands/swarm/swarm-status.md +8 -8
  261. package/.claude/commands/swarm/swarm-strategies.md +8 -8
  262. package/.claude/commands/swarm/swarm.md +27 -27
  263. package/.claude/commands/swarm/testing.md +131 -131
  264. package/.claude/commands/training/README.md +9 -9
  265. package/.claude/commands/training/model-update.md +25 -25
  266. package/.claude/commands/training/neural-patterns.md +73 -73
  267. package/.claude/commands/training/neural-train.md +25 -25
  268. package/.claude/commands/training/pattern-learn.md +25 -25
  269. package/.claude/commands/training/specialization.md +62 -62
  270. package/.claude/commands/truth/start.md +142 -142
  271. package/.claude/commands/verify/check.md +49 -49
  272. package/.claude/commands/verify/start.md +127 -127
  273. package/.claude/commands/workflows/README.md +9 -9
  274. package/.claude/commands/workflows/development.md +77 -77
  275. package/.claude/commands/workflows/research.md +62 -62
  276. package/.claude/commands/workflows/workflow-create.md +25 -25
  277. package/.claude/commands/workflows/workflow-execute.md +25 -25
  278. package/.claude/commands/workflows/workflow-export.md +25 -25
  279. package/.claude/config/v3-dependency-optimization.json +265 -265
  280. package/.claude/config/v3-performance-targets.json +250 -250
  281. package/.claude/helpers/.LOCKED +2 -2
  282. package/.claude/helpers/.helpers-version +1 -0
  283. package/.claude/helpers/README.md +96 -96
  284. package/.claude/helpers/adr-compliance.sh +186 -186
  285. package/.claude/helpers/aggressive-microcompact.mjs +36 -36
  286. package/.claude/helpers/auto-commit.sh +178 -178
  287. package/.claude/helpers/auto-memory-hook.mjs +430 -430
  288. package/.claude/helpers/checkpoint-manager.sh +251 -251
  289. package/.claude/helpers/context-persistence-hook.mjs +2001 -2001
  290. package/.claude/helpers/daemon-manager.sh +252 -252
  291. package/.claude/helpers/ddd-tracker.sh +144 -144
  292. package/.claude/helpers/github-safe.js +156 -156
  293. package/.claude/helpers/github-setup.sh +45 -45
  294. package/.claude/helpers/guidance-hook.sh +13 -13
  295. package/.claude/helpers/guidance-hooks.sh +102 -102
  296. package/.claude/helpers/health-monitor.sh +108 -108
  297. package/.claude/helpers/helpers.manifest.json +13 -0
  298. package/.claude/helpers/hook-handler.cjs +464 -464
  299. package/.claude/helpers/intelligence.cjs +1058 -1058
  300. package/.claude/helpers/learning-hooks.sh +329 -329
  301. package/.claude/helpers/learning-optimizer.sh +127 -127
  302. package/.claude/helpers/learning-service.mjs +1144 -1144
  303. package/.claude/helpers/memory.cjs +84 -84
  304. package/.claude/helpers/metrics-db.mjs +503 -503
  305. package/.claude/helpers/patch-aggressive-prune.mjs +184 -184
  306. package/.claude/helpers/pattern-consolidator.sh +86 -86
  307. package/.claude/helpers/perf-worker.sh +160 -160
  308. package/.claude/helpers/quick-start.sh +19 -19
  309. package/.claude/helpers/router.cjs +62 -62
  310. package/.claude/helpers/security-scanner.sh +127 -127
  311. package/.claude/helpers/session.cjs +125 -125
  312. package/.claude/helpers/setup-mcp.sh +18 -18
  313. package/.claude/helpers/standard-checkpoint-hooks.sh +189 -189
  314. package/.claude/helpers/statusline.cjs +211 -2
  315. package/.claude/helpers/swarm-comms.sh +353 -353
  316. package/.claude/helpers/swarm-hooks.sh +761 -761
  317. package/.claude/helpers/swarm-monitor.sh +210 -210
  318. package/.claude/helpers/sync-v3-metrics.sh +245 -245
  319. package/.claude/helpers/update-v3-progress.sh +165 -165
  320. package/.claude/helpers/v3-quick-status.sh +57 -57
  321. package/.claude/helpers/v3.sh +110 -110
  322. package/.claude/helpers/validate-v3-config.sh +215 -215
  323. package/.claude/helpers/worker-manager.sh +170 -170
  324. package/.claude/mcp.json +12 -12
  325. package/.claude/proven-config.json +42 -0
  326. package/.claude/settings.json +284 -284
  327. package/.claude/settings.json.bak +526 -526
  328. package/.claude/skills/agentdb-advanced/SKILL.md +550 -550
  329. package/.claude/skills/agentdb-learning/SKILL.md +545 -545
  330. package/.claude/skills/agentdb-memory-patterns/SKILL.md +339 -339
  331. package/.claude/skills/agentdb-optimization/SKILL.md +509 -509
  332. package/.claude/skills/agentdb-vector-search/SKILL.md +339 -339
  333. package/.claude/skills/agentic-jujutsu/SKILL.md +645 -645
  334. package/.claude/skills/browser/SKILL.md +204 -204
  335. package/.claude/skills/dual-mode/README.md +71 -71
  336. package/.claude/skills/dual-mode/dual-collect.md +103 -103
  337. package/.claude/skills/dual-mode/dual-coordinate.md +85 -85
  338. package/.claude/skills/dual-mode/dual-spawn.md +81 -81
  339. package/.claude/skills/flow-nexus-neural/SKILL.md +727 -727
  340. package/.claude/skills/flow-nexus-platform/SKILL.md +1154 -1154
  341. package/.claude/skills/flow-nexus-swarm/SKILL.md +604 -604
  342. package/.claude/skills/github-code-review/SKILL.md +1125 -1125
  343. package/.claude/skills/github-multi-repo/SKILL.md +862 -862
  344. package/.claude/skills/github-project-management/SKILL.md +1262 -1262
  345. package/.claude/skills/github-release-management/SKILL.md +1064 -1064
  346. package/.claude/skills/github-workflow-automation/SKILL.md +1047 -1047
  347. package/.claude/skills/hive-mind-advanced/SKILL.md +709 -709
  348. package/.claude/skills/hooks-automation/SKILL.md +1201 -1201
  349. package/.claude/skills/pair-programming/SKILL.md +1202 -1202
  350. package/.claude/skills/performance-analysis/SKILL.md +560 -560
  351. package/.claude/skills/reasoningbank-agentdb/SKILL.md +446 -446
  352. package/.claude/skills/reasoningbank-intelligence/SKILL.md +201 -201
  353. package/.claude/skills/skill-builder/SKILL.md +910 -910
  354. package/.claude/skills/sparc-methodology/SKILL.md +1106 -1106
  355. package/.claude/skills/stream-chain/SKILL.md +560 -560
  356. package/.claude/skills/swarm-advanced/SKILL.md +970 -970
  357. package/.claude/skills/swarm-orchestration/SKILL.md +179 -179
  358. package/.claude/skills/v3-cli-modernization/SKILL.md +871 -871
  359. package/.claude/skills/v3-core-implementation/SKILL.md +796 -796
  360. package/.claude/skills/v3-ddd-architecture/SKILL.md +441 -441
  361. package/.claude/skills/v3-integration-deep/SKILL.md +240 -240
  362. package/.claude/skills/v3-mcp-optimization/SKILL.md +776 -776
  363. package/.claude/skills/v3-memory-unification/SKILL.md +173 -173
  364. package/.claude/skills/v3-performance-optimization/SKILL.md +389 -389
  365. package/.claude/skills/v3-security-overhaul/SKILL.md +81 -81
  366. package/.claude/skills/v3-swarm-coordination/SKILL.md +339 -339
  367. package/.claude/skills/verification-quality/SKILL.md +691 -691
  368. package/.claude/skills/worker-benchmarks/SKILL.md +129 -129
  369. package/.claude/skills/worker-integration/SKILL.md +147 -147
  370. package/.claude/statusline-command.sh +176 -176
  371. package/.claude/statusline.mjs +109 -109
  372. package/.claude/statusline.sh +431 -431
  373. package/.claude/workflows/full-system-test.js +65 -65
  374. package/.claude/workflows/intelligence-system-hardening.js +120 -120
  375. package/.claude/workflows/plugin-contract-audit.js +91 -91
  376. package/.claude-plugin/README.md +720 -720
  377. package/.claude-plugin/docs/INSTALLATION.md +261 -261
  378. package/.claude-plugin/docs/PLUGIN_SUMMARY.md +361 -361
  379. package/.claude-plugin/docs/QUICKSTART.md +361 -361
  380. package/.claude-plugin/docs/STRUCTURE.md +128 -128
  381. package/.claude-plugin/hooks/hooks.json +79 -77
  382. package/.claude-plugin/marketplace.json +185 -185
  383. package/.claude-plugin/plugin.json +71 -71
  384. package/.claude-plugin/scripts/install.sh +234 -234
  385. package/.claude-plugin/scripts/ruflo-hook.cjs +166 -166
  386. package/.claude-plugin/scripts/ruflo-hook.sh +52 -52
  387. package/.claude-plugin/scripts/uninstall.sh +36 -36
  388. package/.claude-plugin/scripts/verify.sh +108 -108
  389. package/LICENSE +21 -21
  390. package/README.md +419 -419
  391. package/bin/cli.js +11 -11
  392. package/bin/npx-repair.js +7 -7
  393. package/bin/npx-safe-launch.js +9 -9
  394. package/package.json +192 -186
  395. package/v3/@claude-flow/cli/README.md +419 -419
  396. package/v3/@claude-flow/cli/bin/cli.js +314 -314
  397. package/v3/@claude-flow/cli/bin/mcp-server.js +224 -224
  398. package/v3/@claude-flow/cli/bin/preinstall.cjs +2 -2
  399. package/v3/@claude-flow/cli/catalog-manifest.json +2 -2
  400. package/v3/@claude-flow/cli/dist/src/autopilot-state.js +24 -7
  401. package/v3/@claude-flow/cli/dist/src/benchmarks/gaia-critic.js +24 -24
  402. package/v3/@claude-flow/cli/dist/src/business-pods/bbs-budget-tracker.js +53 -53
  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/doctor.js +267 -20
  406. package/v3/@claude-flow/cli/dist/src/commands/embeddings.js +26 -26
  407. package/v3/@claude-flow/cli/dist/src/commands/hive-mind.js +97 -97
  408. package/v3/@claude-flow/cli/dist/src/commands/hooks.js +74 -11
  409. package/v3/@claude-flow/cli/dist/src/commands/init.js +202 -34
  410. package/v3/@claude-flow/cli/dist/src/commands/memory.js +12 -1
  411. package/v3/@claude-flow/cli/dist/src/commands/ruvector/backup.js +23 -23
  412. package/v3/@claude-flow/cli/dist/src/commands/ruvector/benchmark.js +31 -31
  413. package/v3/@claude-flow/cli/dist/src/commands/ruvector/import.js +14 -14
  414. package/v3/@claude-flow/cli/dist/src/commands/ruvector/init.js +115 -115
  415. package/v3/@claude-flow/cli/dist/src/commands/ruvector/migrate.js +99 -99
  416. package/v3/@claude-flow/cli/dist/src/commands/ruvector/optimize.js +51 -51
  417. package/v3/@claude-flow/cli/dist/src/commands/ruvector/setup.js +624 -624
  418. package/v3/@claude-flow/cli/dist/src/commands/ruvector/status.js +38 -38
  419. package/v3/@claude-flow/cli/dist/src/config/proven-config.js +2 -2
  420. package/v3/@claude-flow/cli/dist/src/funnel/disclosure.js +13 -2
  421. package/v3/@claude-flow/cli/dist/src/funnel/message-transport.d.ts +11 -4
  422. package/v3/@claude-flow/cli/dist/src/funnel/message-transport.js +11 -4
  423. package/v3/@claude-flow/cli/dist/src/funnel/messages.d.ts +12 -10
  424. package/v3/@claude-flow/cli/dist/src/funnel/messages.js +83 -11
  425. package/v3/@claude-flow/cli/dist/src/init/claudemd-generator.js +231 -231
  426. package/v3/@claude-flow/cli/dist/src/init/executor.js +453 -453
  427. package/v3/@claude-flow/cli/dist/src/init/helper-signing.js +2 -2
  428. package/v3/@claude-flow/cli/dist/src/init/helpers-generator.js +751 -751
  429. package/v3/@claude-flow/cli/dist/src/init/statusline-generator.js +24 -24
  430. package/v3/@claude-flow/cli/dist/src/mcp-tools/agentdb-tools.js +15 -15
  431. package/v3/@claude-flow/cli/dist/src/mcp-tools/browser-intent-tools.js +19 -19
  432. package/v3/@claude-flow/cli/dist/src/mcp-tools/browser-tools.js +8 -0
  433. package/v3/@claude-flow/cli/dist/src/mcp-tools/hooks-tools.js +21 -0
  434. package/v3/@claude-flow/cli/dist/src/mcp-tools/memory-tools.js +4 -3
  435. package/v3/@claude-flow/cli/dist/src/memory/graph-edge-writer.d.ts +9 -0
  436. package/v3/@claude-flow/cli/dist/src/memory/graph-edge-writer.js +35 -22
  437. package/v3/@claude-flow/cli/dist/src/memory/memory-bridge.js +189 -93
  438. package/v3/@claude-flow/cli/dist/src/memory/memory-initializer.js +479 -407
  439. package/v3/@claude-flow/cli/dist/src/memory/rabitq-index.js +5 -5
  440. package/v3/@claude-flow/cli/dist/src/parser.js +25 -9
  441. package/v3/@claude-flow/cli/dist/src/proxy/verify.js +2 -2
  442. package/v3/@claude-flow/cli/dist/src/runtime/headless.js +28 -28
  443. package/v3/@claude-flow/cli/dist/src/services/distill-tuning.js +7 -7
  444. package/v3/@claude-flow/cli/dist/src/services/headless-worker-executor.js +84 -84
  445. package/v3/@claude-flow/cli/dist/src/services/memory-distillation.js +4 -4
  446. package/v3/@claude-flow/cli/dist/src/services/worker-daemon.js +7 -4
  447. package/v3/@claude-flow/cli/dist/src/transfer/deploy-seraphine.js +23 -23
  448. package/v3/@claude-flow/cli/package.json +137 -135
  449. package/v3/@claude-flow/guidance/README.md +1195 -1195
  450. package/v3/@claude-flow/guidance/package.json +198 -198
  451. package/v3/@claude-flow/shared/README.md +323 -323
  452. package/v3/@claude-flow/shared/dist/events/event-store.js +31 -31
  453. package/v3/@claude-flow/shared/dist/hooks/safety/git-commit.js +3 -3
  454. package/v3/@claude-flow/shared/package.json +43 -43
  455. package/v3/README.md +493 -493
@@ -148,30 +148,30 @@ export function generateStatuslineHook(options) {
148
148
  if (!options.statusline.enabled) {
149
149
  return '#!/bin/bash\n# Statusline disabled\n';
150
150
  }
151
- return `#!/bin/bash
152
- # RuFlo V3 Statusline Hook
153
- # Source this in your .bashrc/.zshrc for terminal statusline
154
-
155
- # Function to get statusline
156
- claude_flow_statusline() {
157
- local statusline_script="\${CLAUDE_FLOW_DIR:-.claude}/helpers/statusline.cjs"
158
- if [ -f "$statusline_script" ]; then
159
- node "$statusline_script" 2>/dev/null || echo ""
160
- fi
161
- }
162
-
163
- # Bash: Add to PS1
164
- # export PS1='$(claude_flow_statusline) \\n\\$ '
165
-
166
- # Zsh: Add to RPROMPT
167
- # export RPROMPT='$(claude_flow_statusline)'
168
-
169
- # Claude Code: Add to .claude/settings.json
170
- # "statusLine": {
171
- # "type": "command",
172
- # "command": "node .claude/helpers/statusline.cjs 2>/dev/null"
173
- # "when": "test -f .claude/helpers/statusline.cjs"
174
- # }
151
+ return `#!/bin/bash
152
+ # RuFlo V3 Statusline Hook
153
+ # Source this in your .bashrc/.zshrc for terminal statusline
154
+
155
+ # Function to get statusline
156
+ claude_flow_statusline() {
157
+ local statusline_script="\${CLAUDE_FLOW_DIR:-.claude}/helpers/statusline.cjs"
158
+ if [ -f "$statusline_script" ]; then
159
+ node "$statusline_script" 2>/dev/null || echo ""
160
+ fi
161
+ }
162
+
163
+ # Bash: Add to PS1
164
+ # export PS1='$(claude_flow_statusline) \\n\\$ '
165
+
166
+ # Zsh: Add to RPROMPT
167
+ # export RPROMPT='$(claude_flow_statusline)'
168
+
169
+ # Claude Code: Add to .claude/settings.json
170
+ # "statusLine": {
171
+ # "type": "command",
172
+ # "command": "node .claude/helpers/statusline.cjs 2>/dev/null"
173
+ # "when": "test -f .claude/helpers/statusline.cjs"
174
+ # }
175
175
  `;
176
176
  }
177
177
  //# sourceMappingURL=statusline-generator.js.map
@@ -1182,21 +1182,21 @@ function buildKHopCTE(nodeId, depth, relation, maxNodes) {
1182
1182
  // since validateIdentifier has already vetted the value; but we sanitize quotes anyway).
1183
1183
  const safeNodeId = nodeId.replace(/'/g, "''");
1184
1184
  const relFilter = relation ? `AND e.relation = '${relation.replace(/'/g, "''")}'` : '';
1185
- return `
1186
- WITH RECURSIVE khop(node_id, hop_depth) AS (
1187
- SELECT '${safeNodeId}', 0
1188
- UNION
1189
- SELECT e.target_id, k.hop_depth + 1
1190
- FROM graph_edges e
1191
- JOIN khop k ON e.source_id = k.node_id
1192
- WHERE k.hop_depth < ${depth} ${relFilter}
1193
- )
1194
- SELECT DISTINCT node_id, MIN(hop_depth) as depth
1195
- FROM khop
1196
- WHERE node_id != '${safeNodeId}'
1197
- GROUP BY node_id
1198
- ORDER BY depth, node_id
1199
- LIMIT ${maxNodes}
1185
+ return `
1186
+ WITH RECURSIVE khop(node_id, hop_depth) AS (
1187
+ SELECT '${safeNodeId}', 0
1188
+ UNION
1189
+ SELECT e.target_id, k.hop_depth + 1
1190
+ FROM graph_edges e
1191
+ JOIN khop k ON e.source_id = k.node_id
1192
+ WHERE k.hop_depth < ${depth} ${relFilter}
1193
+ )
1194
+ SELECT DISTINCT node_id, MIN(hop_depth) as depth
1195
+ FROM khop
1196
+ WHERE node_id != '${safeNodeId}'
1197
+ GROUP BY node_id
1198
+ ORDER BY depth, node_id
1199
+ LIMIT ${maxNodes}
1200
1200
  `;
1201
1201
  }
1202
1202
  function cosineSim(a, b) {
@@ -290,25 +290,25 @@ export function buildPageAgentInjection(iifeSource, pageConfig, task) {
290
290
  throw new DemoLeakError(leak);
291
291
  const cfgJson = JSON.stringify(pageConfig);
292
292
  const taskJson = JSON.stringify(task);
293
- return `${safeIife}
294
- ;(function(){
295
- window.${BROWSER_ACT_RESULT_GLOBAL} = null;
296
- try {
297
- if (!window.PageAgent) {
298
- window.${BROWSER_ACT_RESULT_GLOBAL} = { success: false, error: 'PageAgent not defined after injection' };
299
- return;
300
- }
301
- var agent = new window.PageAgent(${cfgJson});
302
- window.__ruflo_pageAgent__ = agent;
303
- agent.execute(${taskJson}).then(function(r){
304
- window.${BROWSER_ACT_RESULT_GLOBAL} = { success: true, result: r };
305
- }).catch(function(e){
306
- window.${BROWSER_ACT_RESULT_GLOBAL} = { success: false, error: String((e && e.message) || e) };
307
- });
308
- } catch (e) {
309
- window.${BROWSER_ACT_RESULT_GLOBAL} = { success: false, error: String((e && e.message) || e) };
310
- }
311
- })();
293
+ return `${safeIife}
294
+ ;(function(){
295
+ window.${BROWSER_ACT_RESULT_GLOBAL} = null;
296
+ try {
297
+ if (!window.PageAgent) {
298
+ window.${BROWSER_ACT_RESULT_GLOBAL} = { success: false, error: 'PageAgent not defined after injection' };
299
+ return;
300
+ }
301
+ var agent = new window.PageAgent(${cfgJson});
302
+ window.__ruflo_pageAgent__ = agent;
303
+ agent.execute(${taskJson}).then(function(r){
304
+ window.${BROWSER_ACT_RESULT_GLOBAL} = { success: true, result: r };
305
+ }).catch(function(e){
306
+ window.${BROWSER_ACT_RESULT_GLOBAL} = { success: false, error: String((e && e.message) || e) };
307
+ });
308
+ } catch (e) {
309
+ window.${BROWSER_ACT_RESULT_GLOBAL} = { success: false, error: String((e && e.message) || e) };
310
+ }
311
+ })();
312
312
  'ruflo-browser-act-injected'`;
313
313
  }
314
314
  // ============================================================================
@@ -29,9 +29,17 @@ export async function execBrowserCommand(args, session = 'default') {
29
29
  const err = error;
30
30
  if (err.code === 'ENOENT') {
31
31
  try {
32
+ // #2770: On Windows, `npx` ships as `npx.cmd`; execFileSync cannot spawn
33
+ // a .cmd file without going through cmd.exe. Enable shell on win32 so
34
+ // cmd.exe resolves the .cmd extension. POSIX keeps shell:false.
35
+ // NOTE: shell:true joins args by spaces and passes to cmd.exe — the args
36
+ // here are hard-coded flags + a package name, so no injection risk. If
37
+ // user-controlled args are ever added, escape them before spawn.
32
38
  result = execFileSync('npx', ['--yes', 'agent-browser', ...fullArgs], {
33
39
  encoding: 'utf-8',
34
40
  timeout: 60000,
41
+ shell: process.platform === 'win32',
42
+ windowsHide: true,
35
43
  });
36
44
  }
37
45
  catch (npxError) {
@@ -1372,6 +1372,27 @@ export const hooksPostTask = {
1372
1372
  }
1373
1373
  }
1374
1374
  catch { /* non-critical */ }
1375
+ // #2786 fix-2 — also mirror into the JSON memory store so
1376
+ // `getIntelligenceStatsFromMemory()` (which reads .claude-flow/memory/store.json
1377
+ // synchronously) counts this routing decision in the hooks_metrics dashboard.
1378
+ // The AgentDB write above is authoritative for cross-session retrieval; this
1379
+ // is just the counter surface the sync reader depends on.
1380
+ try {
1381
+ const key = `routing-decision:${taskId}`;
1382
+ const store = loadMemoryStore();
1383
+ store.entries[key] = {
1384
+ key,
1385
+ value: JSON.stringify({ task: taskText, agent, success, quality, keywords: outcomeKeywords }),
1386
+ namespace: 'patterns',
1387
+ createdAt: new Date().toISOString(),
1388
+ metadata: { type: 'routing-decision', confidence: typeof quality === 'number' ? quality : undefined, agent, success },
1389
+ };
1390
+ const memDir = resolve(MEMORY_DIR);
1391
+ if (!existsSync(memDir))
1392
+ mkdirSync(memDir, { recursive: true });
1393
+ writeFileSync(getMemoryPath(), JSON.stringify(store, null, 2), 'utf-8');
1394
+ }
1395
+ catch { /* non-critical */ }
1375
1396
  }
1376
1397
  const duration = Date.now() - startTime;
1377
1398
  // Persist to auto-memory-store for statusline visibility
@@ -249,7 +249,7 @@ async function ensureInitialized() {
249
249
  export const memoryTools = [
250
250
  {
251
251
  name: 'memory_store',
252
- description: 'Persistent key-value store with vector embedding — survives across sessions and is searchable by meaning, not just by file path. Use when native Write is wrong because the data is not a file (e.g. a learned pattern, a decision, a budget config) AND you need to recall it later by semantic query, not by path. Defaults to namespace="default"; pass --upsert=true to update an existing key.',
252
+ description: 'Persistent key-value store with vector embedding — survives across sessions and is searchable by meaning, not just by file path. Use when native Write is wrong because the data is not a file (e.g. a learned pattern, a decision, a budget config) AND you need to recall it later by semantic query, not by path. Defaults to namespace="default". Upsert semantics: writing an existing key updates it (matching the CLI `memory store` default); pass `upsert: false` to force strict-insert instead.',
253
253
  category: 'memory',
254
254
  inputSchema: {
255
255
  type: 'object',
@@ -263,7 +263,7 @@ export const memoryTools = [
263
263
  description: 'Optional tags for filtering',
264
264
  },
265
265
  ttl: { type: 'number', description: 'Time-to-live in seconds (optional)' },
266
- upsert: { type: 'boolean', description: 'If true, update existing key instead of failing (default: false)' },
266
+ upsert: { type: 'boolean', description: 'Update existing key instead of failing (default: true, matching CLI `memory store`; set false for strict-insert). #2775 parity.' },
267
267
  },
268
268
  required: ['key', 'value'],
269
269
  },
@@ -276,7 +276,8 @@ export const memoryTools = [
276
276
  const value = typeof rawValue === 'string' ? rawValue : (rawValue !== undefined ? JSON.stringify(rawValue) : '');
277
277
  const tags = input.tags || [];
278
278
  const ttl = input.ttl;
279
- const upsert = input.upsert || false;
279
+ // #2775 parity with CLI: default true; only explicit `upsert: false` opts out.
280
+ const upsert = input.upsert !== false;
280
281
  if (!value) {
281
282
  return {
282
283
  success: false,
@@ -90,6 +90,15 @@ export declare function countGraphEdges(dbPath?: string): Promise<number>;
90
90
  * #2431 fix: also explicitly closes the prior handle so file locks
91
91
  * release immediately — better-sqlite3 holds an OS-level file handle
92
92
  * which the prior sql.js implementation did not.
93
+ *
94
+ * #2736-followup fix: `close()` alone only checkpoints the WAL back into
95
+ * the main file as a best-effort PASSIVE checkpoint when SQLite considers
96
+ * this the last connection — which is not guaranteed to fully flush under
97
+ * contention, and was observed leaving writes invisible to a same-process
98
+ * sql.js reader that re-reads the raw file immediately after close() on
99
+ * Linux CI runners (not reproduced on Windows). Force a blocking TRUNCATE
100
+ * checkpoint before close so cross-engine readers always see committed
101
+ * writes deterministically, regardless of platform/timing.
93
102
  */
94
103
  export declare function _resetBridgeDb(): void;
95
104
  //# sourceMappingURL=graph-edge-writer.d.ts.map
@@ -100,25 +100,25 @@ export async function getBridgeDb(customDbPath, opts) {
100
100
  db.pragma('busy_timeout = 5000'); // wait up to 5s on lock contention
101
101
  // Ensure graph_edges table exists (in case this is an older DB that
102
102
  // predates ADR-130 Phase 1 schema migration).
103
- db.exec(`
104
- CREATE TABLE IF NOT EXISTS graph_edges (
105
- id TEXT PRIMARY KEY,
106
- source_id TEXT NOT NULL,
107
- target_id TEXT NOT NULL,
108
- relation TEXT NOT NULL,
109
- weight REAL DEFAULT 1.0,
110
- confidence REAL DEFAULT 1.0,
111
- decay_rate REAL DEFAULT 0.0,
112
- last_reinforced TEXT,
113
- witness_id TEXT,
114
- embedding_ref TEXT,
115
- metadata TEXT,
116
- created_at TEXT NOT NULL
117
- );
118
- CREATE INDEX IF NOT EXISTS idx_graph_edges_source ON graph_edges (source_id);
119
- CREATE INDEX IF NOT EXISTS idx_graph_edges_target ON graph_edges (target_id);
120
- CREATE INDEX IF NOT EXISTS idx_graph_edges_relation ON graph_edges (relation);
121
- CREATE INDEX IF NOT EXISTS idx_graph_edges_reinforced ON graph_edges (last_reinforced);
103
+ db.exec(`
104
+ CREATE TABLE IF NOT EXISTS graph_edges (
105
+ id TEXT PRIMARY KEY,
106
+ source_id TEXT NOT NULL,
107
+ target_id TEXT NOT NULL,
108
+ relation TEXT NOT NULL,
109
+ weight REAL DEFAULT 1.0,
110
+ confidence REAL DEFAULT 1.0,
111
+ decay_rate REAL DEFAULT 0.0,
112
+ last_reinforced TEXT,
113
+ witness_id TEXT,
114
+ embedding_ref TEXT,
115
+ metadata TEXT,
116
+ created_at TEXT NOT NULL
117
+ );
118
+ CREATE INDEX IF NOT EXISTS idx_graph_edges_source ON graph_edges (source_id);
119
+ CREATE INDEX IF NOT EXISTS idx_graph_edges_target ON graph_edges (target_id);
120
+ CREATE INDEX IF NOT EXISTS idx_graph_edges_relation ON graph_edges (relation);
121
+ CREATE INDEX IF NOT EXISTS idx_graph_edges_reinforced ON graph_edges (last_reinforced);
122
122
  `);
123
123
  _db = db;
124
124
  _dbPath = dbPath;
@@ -153,9 +153,9 @@ export async function insertGraphEdge(input) {
153
153
  embeddingRef = encodeEmbedding(input.embedding);
154
154
  }
155
155
  const metaStr = input.metadata ? JSON.stringify(input.metadata) : null;
156
- db.prepare(`INSERT OR IGNORE INTO graph_edges
157
- (id, source_id, target_id, relation, weight, confidence, decay_rate,
158
- last_reinforced, witness_id, embedding_ref, metadata, created_at)
156
+ db.prepare(`INSERT OR IGNORE INTO graph_edges
157
+ (id, source_id, target_id, relation, weight, confidence, decay_rate,
158
+ last_reinforced, witness_id, embedding_ref, metadata, created_at)
159
159
  VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(id, input.sourceId, input.targetId, input.relation, input.weight ?? 1.0, input.confidence ?? 1.0, input.decayRate ?? 0.0, input.lastReinforced ?? null, input.witnessId ?? null, embeddingRef, metaStr, createdAt);
160
160
  return true;
161
161
  }
@@ -203,9 +203,22 @@ export async function countGraphEdges(dbPath) {
203
203
  * #2431 fix: also explicitly closes the prior handle so file locks
204
204
  * release immediately — better-sqlite3 holds an OS-level file handle
205
205
  * which the prior sql.js implementation did not.
206
+ *
207
+ * #2736-followup fix: `close()` alone only checkpoints the WAL back into
208
+ * the main file as a best-effort PASSIVE checkpoint when SQLite considers
209
+ * this the last connection — which is not guaranteed to fully flush under
210
+ * contention, and was observed leaving writes invisible to a same-process
211
+ * sql.js reader that re-reads the raw file immediately after close() on
212
+ * Linux CI runners (not reproduced on Windows). Force a blocking TRUNCATE
213
+ * checkpoint before close so cross-engine readers always see committed
214
+ * writes deterministically, regardless of platform/timing.
206
215
  */
207
216
  export function _resetBridgeDb() {
208
217
  if (_db) {
218
+ try {
219
+ _db.pragma('wal_checkpoint(TRUNCATE)');
220
+ }
221
+ catch { /* best-effort */ }
209
222
  try {
210
223
  _db.close();
211
224
  }