odd-flow 1.0.0 → 1.2.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 (377) hide show
  1. package/README.md +126 -7475
  2. package/bin/cli.js +2 -2
  3. package/package.json +12 -12
  4. package/v3/{@claude-flow → @odd-flow}/cli/README.md +118 -4
  5. package/v3/{@claude-flow → @odd-flow}/cli/bin/cli.js +4 -4
  6. package/v3/{@claude-flow → @odd-flow}/cli/bin/mcp-server.js +2 -2
  7. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/appliance/gguf-engine.d.ts +1 -1
  8. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/appliance/gguf-engine.js +1 -1
  9. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/appliance/ruvllm-bridge.d.ts +1 -1
  10. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/appliance/ruvllm-bridge.js +1 -1
  11. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/appliance/rvfa-runner.d.ts +1 -1
  12. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/appliance/rvfa-runner.js +1 -1
  13. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/appliance/rvfa-signing.d.ts +1 -1
  14. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/appliance/rvfa-signing.js +1 -1
  15. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/autopilot-state.d.ts +3 -3
  16. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/autopilot-state.js +3 -3
  17. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/agent-wasm.js +7 -7
  18. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/agent.js +15 -15
  19. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/analyze.js +52 -52
  20. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/appliance.js +1 -1
  21. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/autopilot.js +4 -4
  22. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/benchmark.js +16 -16
  23. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/claims.js +21 -21
  24. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/cleanup.d.ts +1 -1
  25. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/cleanup.js +9 -9
  26. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/completions.js +41 -41
  27. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/config.js +9 -9
  28. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/daemon.js +27 -27
  29. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/deployment.js +20 -20
  30. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/doctor.js +24 -24
  31. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/embeddings.js +58 -58
  32. package/v3/@odd-flow/cli/dist/src/commands/escalation.d.ts +7 -0
  33. package/v3/@odd-flow/cli/dist/src/commands/escalation.js +115 -0
  34. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/guidance.js +30 -30
  35. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/hive-mind.js +20 -20
  36. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/hooks.js +103 -103
  37. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/index.d.ts +3 -0
  38. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/index.js +20 -0
  39. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/init.js +49 -48
  40. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/issues.js +6 -6
  41. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/mcp.d.ts +1 -1
  42. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/mcp.js +14 -14
  43. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/memory.js +33 -33
  44. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/migrate.js +28 -28
  45. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/neural.js +35 -35
  46. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/performance.js +13 -13
  47. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/plugins.js +33 -33
  48. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/process.js +36 -36
  49. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/progress.d.ts +1 -1
  50. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/progress.js +7 -7
  51. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/providers.js +13 -13
  52. package/v3/@odd-flow/cli/dist/src/commands/refinery.d.ts +7 -0
  53. package/v3/@odd-flow/cli/dist/src/commands/refinery.js +64 -0
  54. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/route.js +26 -26
  55. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/ruvector/backup.js +9 -9
  56. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/ruvector/benchmark.js +4 -4
  57. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/ruvector/import.d.ts +3 -3
  58. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/ruvector/import.js +11 -11
  59. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/ruvector/index.js +9 -9
  60. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/ruvector/init.js +7 -7
  61. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/ruvector/migrate.js +5 -5
  62. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/ruvector/optimize.js +7 -7
  63. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/ruvector/setup.d.ts +3 -3
  64. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/ruvector/setup.js +14 -14
  65. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/ruvector/status.js +4 -4
  66. package/v3/@odd-flow/cli/dist/src/commands/scheduler.d.ts +7 -0
  67. package/v3/@odd-flow/cli/dist/src/commands/scheduler.js +86 -0
  68. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/security.js +22 -22
  69. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/session.js +13 -13
  70. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/start.js +16 -16
  71. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/status.js +9 -9
  72. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/swarm.js +10 -10
  73. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/task.js +9 -9
  74. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/transfer-store.js +17 -17
  75. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/update.d.ts +1 -1
  76. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/update.js +8 -8
  77. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/workflow.js +13 -13
  78. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/config-adapter.d.ts +1 -1
  79. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/config-adapter.js +1 -1
  80. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/index.js +2 -2
  81. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/infrastructure/in-memory-repositories.d.ts +4 -4
  82. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/init/claudemd-generator.js +31 -31
  83. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/init/executor.js +63 -63
  84. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/init/helpers-generator.d.ts +1 -1
  85. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/init/helpers-generator.js +19 -19
  86. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/init/mcp-generator.js +1 -1
  87. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/init/settings-generator.js +6 -6
  88. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/init/statusline-generator.js +16 -16
  89. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/init/types.d.ts +3 -3
  90. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-server.d.ts +2 -2
  91. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-server.js +15 -15
  92. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/agent-tools.js +36 -1
  93. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/agentdb-tools.js +1 -1
  94. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/claims-tools.d.ts +1 -1
  95. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/claims-tools.js +2 -2
  96. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/config-tools.js +12 -1
  97. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/coordination-tools.js +1 -1
  98. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/embeddings-tools.js +1 -1
  99. package/v3/@odd-flow/cli/dist/src/mcp-tools/escalation-tools.d.ts +15 -0
  100. package/v3/@odd-flow/cli/dist/src/mcp-tools/escalation-tools.js +153 -0
  101. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/hive-mind-tools.js +4 -4
  102. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/hooks-tools.js +3 -3
  103. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/index.d.ts +3 -0
  104. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/index.js +4 -0
  105. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/memory-tools.js +1 -1
  106. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/neural-tools.d.ts +3 -3
  107. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/neural-tools.js +8 -8
  108. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/performance-tools.js +1 -1
  109. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/progress-tools.d.ts +1 -1
  110. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/progress-tools.js +8 -8
  111. package/v3/@odd-flow/cli/dist/src/mcp-tools/refinery-tools.d.ts +16 -0
  112. package/v3/@odd-flow/cli/dist/src/mcp-tools/refinery-tools.js +223 -0
  113. package/v3/@odd-flow/cli/dist/src/mcp-tools/scheduler-tools.d.ts +16 -0
  114. package/v3/@odd-flow/cli/dist/src/mcp-tools/scheduler-tools.js +72 -0
  115. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/security-tools.js +3 -3
  116. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/session-tools.js +1 -1
  117. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/swarm-tools.js +123 -1
  118. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/system-tools.js +2 -2
  119. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/task-tools.js +1 -1
  120. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/workflow-tools.js +1 -1
  121. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/memory/intelligence.js +5 -5
  122. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/memory/memory-bridge.js +2 -2
  123. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/memory/memory-initializer.js +3 -3
  124. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/plugins/manager.js +10 -10
  125. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/plugins/store/discovery.js +99 -99
  126. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/plugins/tests/demo-plugin-store.js +6 -6
  127. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/plugins/tests/standalone-test.js +6 -6
  128. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/plugins/tests/test-plugin-store.js +2 -2
  129. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/production/circuit-breaker.d.ts +1 -1
  130. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/production/circuit-breaker.js +1 -1
  131. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/production/error-handler.d.ts +1 -1
  132. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/production/error-handler.js +1 -1
  133. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/production/index.d.ts +1 -1
  134. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/production/index.js +1 -1
  135. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/production/monitoring.d.ts +1 -1
  136. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/production/monitoring.js +1 -1
  137. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/production/rate-limiter.d.ts +1 -1
  138. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/production/rate-limiter.js +1 -1
  139. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/production/retry.d.ts +1 -1
  140. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/production/retry.js +1 -1
  141. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/runtime/headless.d.ts +3 -3
  142. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/runtime/headless.js +3 -3
  143. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/ruvector/agent-wasm.d.ts +1 -1
  144. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/ruvector/agent-wasm.js +1 -1
  145. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/ruvector/graph-analyzer.d.ts +1 -1
  146. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/ruvector/graph-analyzer.js +1 -1
  147. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/ruvector/index.d.ts +1 -1
  148. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/ruvector/index.js +1 -1
  149. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/ruvector/ruvllm-wasm.d.ts +1 -1
  150. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/ruvector/ruvllm-wasm.js +1 -1
  151. package/v3/@odd-flow/cli/dist/src/services/checkpoint-manager.d.ts +46 -0
  152. package/v3/@odd-flow/cli/dist/src/services/checkpoint-manager.js +114 -0
  153. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/services/claim-service.js +1 -1
  154. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/services/config-file-manager.js +2 -2
  155. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/services/container-worker-pool.js +6 -6
  156. package/v3/@odd-flow/cli/dist/src/services/escalation-router.d.ts +46 -0
  157. package/v3/@odd-flow/cli/dist/src/services/escalation-router.js +138 -0
  158. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/services/headless-worker-executor.js +2 -2
  159. package/v3/@odd-flow/cli/dist/src/services/refinery.d.ts +66 -0
  160. package/v3/@odd-flow/cli/dist/src/services/refinery.js +165 -0
  161. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/services/registry-api.js +1 -1
  162. package/v3/@odd-flow/cli/dist/src/services/scheduler.d.ts +66 -0
  163. package/v3/@odd-flow/cli/dist/src/services/scheduler.js +228 -0
  164. package/v3/@odd-flow/cli/dist/src/services/watchdog-deacon.d.ts +20 -0
  165. package/v3/@odd-flow/cli/dist/src/services/watchdog-deacon.js +52 -0
  166. package/v3/@odd-flow/cli/dist/src/services/watchdog-dogs.d.ts +42 -0
  167. package/v3/@odd-flow/cli/dist/src/services/watchdog-dogs.js +81 -0
  168. package/v3/@odd-flow/cli/dist/src/services/watchdog-witness.d.ts +38 -0
  169. package/v3/@odd-flow/cli/dist/src/services/watchdog-witness.js +57 -0
  170. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/services/worker-daemon.d.ts +1 -1
  171. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/services/worker-daemon.js +18 -18
  172. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/services/worker-queue.js +1 -1
  173. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/suggest.js +1 -1
  174. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/ipfs/upload.d.ts +1 -1
  175. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/ipfs/upload.js +1 -1
  176. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/models/seraphine.js +2 -2
  177. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/serialization/cfp.js +1 -1
  178. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/storage/gcs.d.ts +1 -1
  179. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/storage/gcs.js +4 -4
  180. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/store/discovery.js +7 -7
  181. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/store/registry.js +4 -4
  182. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/store/tests/standalone-test.js +4 -4
  183. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/test-seraphine.js +1 -1
  184. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/update/checker.d.ts +1 -1
  185. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/update/checker.js +11 -11
  186. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/update/executor.js +1 -1
  187. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/update/index.d.ts +1 -1
  188. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/update/index.js +1 -1
  189. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/update/rate-limiter.js +1 -1
  190. package/v3/{@claude-flow → @odd-flow}/cli/dist/src/update/validator.js +11 -11
  191. package/v3/{@claude-flow → @odd-flow}/cli/package.json +5 -5
  192. package/v3/{@claude-flow → @odd-flow}/shared/README.md +35 -35
  193. package/v3/{@claude-flow → @odd-flow}/shared/package.json +1 -1
  194. package/v3/README.md +55 -55
  195. /package/v3/{@claude-flow → @odd-flow}/cli/bin/preinstall.cjs +0 -0
  196. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/appliance/rvfa-builder.d.ts +0 -0
  197. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/appliance/rvfa-builder.js +0 -0
  198. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/appliance/rvfa-distribution.d.ts +0 -0
  199. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/appliance/rvfa-distribution.js +0 -0
  200. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/appliance/rvfa-format.d.ts +0 -0
  201. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/appliance/rvfa-format.js +0 -0
  202. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/benchmarks/pretrain/index.d.ts +0 -0
  203. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/benchmarks/pretrain/index.js +0 -0
  204. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/agent-wasm.d.ts +0 -0
  205. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/agent.d.ts +0 -0
  206. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/analyze.d.ts +0 -0
  207. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/appliance-advanced.d.ts +0 -0
  208. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/appliance-advanced.js +0 -0
  209. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/appliance.d.ts +0 -0
  210. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/autopilot.d.ts +0 -0
  211. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/benchmark.d.ts +0 -0
  212. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/claims.d.ts +0 -0
  213. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/completions.d.ts +0 -0
  214. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/config.d.ts +0 -0
  215. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/daemon.d.ts +0 -0
  216. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/deployment.d.ts +0 -0
  217. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/doctor.d.ts +0 -0
  218. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/embeddings.d.ts +0 -0
  219. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/guidance.d.ts +0 -0
  220. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/hive-mind.d.ts +0 -0
  221. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/hooks.d.ts +0 -0
  222. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/init.d.ts +0 -0
  223. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/issues.d.ts +0 -0
  224. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/memory.d.ts +0 -0
  225. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/migrate.d.ts +0 -0
  226. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/neural.d.ts +0 -0
  227. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/performance.d.ts +0 -0
  228. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/plugins.d.ts +0 -0
  229. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/process.d.ts +0 -0
  230. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/providers.d.ts +0 -0
  231. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/route.d.ts +0 -0
  232. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/ruvector/backup.d.ts +0 -0
  233. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/ruvector/benchmark.d.ts +0 -0
  234. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/ruvector/index.d.ts +0 -0
  235. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/ruvector/init.d.ts +0 -0
  236. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/ruvector/migrate.d.ts +0 -0
  237. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/ruvector/optimize.d.ts +0 -0
  238. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/ruvector/status.d.ts +0 -0
  239. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/security.d.ts +0 -0
  240. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/session.d.ts +0 -0
  241. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/start.d.ts +0 -0
  242. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/status.d.ts +0 -0
  243. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/swarm.d.ts +0 -0
  244. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/task.d.ts +0 -0
  245. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/transfer-store.d.ts +0 -0
  246. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/commands/workflow.d.ts +0 -0
  247. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/index.d.ts +0 -0
  248. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/infrastructure/in-memory-repositories.js +0 -0
  249. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/init/claudemd-generator.d.ts +0 -0
  250. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/init/executor.d.ts +0 -0
  251. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/init/index.d.ts +0 -0
  252. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/init/index.js +0 -0
  253. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/init/mcp-generator.d.ts +0 -0
  254. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/init/settings-generator.d.ts +0 -0
  255. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/init/statusline-generator.d.ts +0 -0
  256. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/init/types.js +0 -0
  257. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-client.d.ts +0 -0
  258. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-client.js +0 -0
  259. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/agent-tools.d.ts +0 -0
  260. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/agentdb-tools.d.ts +0 -0
  261. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/analyze-tools.d.ts +0 -0
  262. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/analyze-tools.js +0 -0
  263. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/config-tools.d.ts +0 -0
  264. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/coordination-tools.d.ts +0 -0
  265. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/embeddings-tools.d.ts +0 -0
  266. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/hive-mind-tools.d.ts +0 -0
  267. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/hooks-tools.d.ts +0 -0
  268. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/memory-tools.d.ts +0 -0
  269. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/performance-tools.d.ts +0 -0
  270. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/security-tools.d.ts +0 -0
  271. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/session-tools.d.ts +0 -0
  272. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/swarm-tools.d.ts +0 -0
  273. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/system-tools.d.ts +0 -0
  274. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/task-tools.d.ts +0 -0
  275. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/types.d.ts +0 -0
  276. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/types.js +0 -0
  277. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/mcp-tools/workflow-tools.d.ts +0 -0
  278. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/memory/ewc-consolidation.d.ts +0 -0
  279. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/memory/ewc-consolidation.js +0 -0
  280. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/memory/intelligence.d.ts +0 -0
  281. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/memory/memory-bridge.d.ts +0 -0
  282. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/memory/memory-initializer.d.ts +0 -0
  283. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/memory/sona-optimizer.d.ts +0 -0
  284. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/memory/sona-optimizer.js +0 -0
  285. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/output.d.ts +0 -0
  286. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/output.js +0 -0
  287. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/parser.d.ts +0 -0
  288. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/parser.js +0 -0
  289. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/plugins/manager.d.ts +0 -0
  290. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/plugins/store/discovery.d.ts +0 -0
  291. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/plugins/store/index.d.ts +0 -0
  292. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/plugins/store/index.js +0 -0
  293. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/plugins/store/search.d.ts +0 -0
  294. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/plugins/store/search.js +0 -0
  295. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/plugins/store/types.d.ts +0 -0
  296. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/plugins/store/types.js +0 -0
  297. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/plugins/tests/demo-plugin-store.d.ts +0 -0
  298. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/plugins/tests/standalone-test.d.ts +0 -0
  299. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/plugins/tests/test-plugin-store.d.ts +0 -0
  300. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/prompt.d.ts +0 -0
  301. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/prompt.js +0 -0
  302. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/ruvector/ast-analyzer.d.ts +0 -0
  303. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/ruvector/ast-analyzer.js +0 -0
  304. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/ruvector/coverage-router.d.ts +0 -0
  305. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/ruvector/coverage-router.js +0 -0
  306. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/ruvector/coverage-tools.d.ts +0 -0
  307. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/ruvector/coverage-tools.js +0 -0
  308. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/ruvector/diff-classifier.d.ts +0 -0
  309. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/ruvector/diff-classifier.js +0 -0
  310. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/ruvector/enhanced-model-router.d.ts +0 -0
  311. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/ruvector/enhanced-model-router.js +0 -0
  312. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/ruvector/flash-attention.d.ts +0 -0
  313. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/ruvector/flash-attention.js +0 -0
  314. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/ruvector/lora-adapter.d.ts +0 -0
  315. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/ruvector/lora-adapter.js +0 -0
  316. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/ruvector/model-router.d.ts +0 -0
  317. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/ruvector/model-router.js +0 -0
  318. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/ruvector/moe-router.d.ts +0 -0
  319. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/ruvector/moe-router.js +0 -0
  320. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/ruvector/q-learning-router.d.ts +0 -0
  321. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/ruvector/q-learning-router.js +0 -0
  322. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/ruvector/semantic-router.d.ts +0 -0
  323. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/ruvector/semantic-router.js +0 -0
  324. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/ruvector/vector-db.d.ts +0 -0
  325. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/ruvector/vector-db.js +0 -0
  326. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/services/agentic-flow-bridge.d.ts +0 -0
  327. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/services/agentic-flow-bridge.js +0 -0
  328. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/services/claim-service.d.ts +0 -0
  329. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/services/config-file-manager.d.ts +0 -0
  330. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/services/container-worker-pool.d.ts +0 -0
  331. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/services/headless-worker-executor.d.ts +0 -0
  332. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/services/index.d.ts +0 -0
  333. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/services/index.js +0 -0
  334. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/services/registry-api.d.ts +0 -0
  335. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/services/ruvector-training.d.ts +0 -0
  336. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/services/ruvector-training.js +0 -0
  337. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/services/worker-queue.d.ts +0 -0
  338. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/suggest.d.ts +0 -0
  339. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/anonymization/index.d.ts +0 -0
  340. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/anonymization/index.js +0 -0
  341. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/deploy-seraphine.d.ts +0 -0
  342. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/deploy-seraphine.js +0 -0
  343. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/export.d.ts +0 -0
  344. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/export.js +0 -0
  345. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/index.d.ts +0 -0
  346. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/index.js +0 -0
  347. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/ipfs/client.d.ts +0 -0
  348. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/ipfs/client.js +0 -0
  349. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/models/seraphine.d.ts +0 -0
  350. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/serialization/cfp.d.ts +0 -0
  351. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/storage/index.d.ts +0 -0
  352. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/storage/index.js +0 -0
  353. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/store/discovery.d.ts +0 -0
  354. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/store/download.d.ts +0 -0
  355. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/store/download.js +0 -0
  356. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/store/index.d.ts +0 -0
  357. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/store/index.js +0 -0
  358. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/store/publish.d.ts +0 -0
  359. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/store/publish.js +0 -0
  360. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/store/registry.d.ts +0 -0
  361. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/store/search.d.ts +0 -0
  362. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/store/search.js +0 -0
  363. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/store/tests/standalone-test.d.ts +0 -0
  364. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/store/types.d.ts +0 -0
  365. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/store/types.js +0 -0
  366. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/test-seraphine.d.ts +0 -0
  367. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/tests/test-store.d.ts +0 -0
  368. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/tests/test-store.js +0 -0
  369. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/types.d.ts +0 -0
  370. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/transfer/types.js +0 -0
  371. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/types.d.ts +0 -0
  372. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/types.js +0 -0
  373. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/update/executor.d.ts +0 -0
  374. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/update/rate-limiter.d.ts +0 -0
  375. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/update/validator.d.ts +0 -0
  376. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/utils/path-validation.d.ts +0 -0
  377. /package/v3/{@claude-flow → @odd-flow}/cli/dist/src/utils/path-validation.js +0 -0
@@ -6,8 +6,18 @@
6
6
  */
7
7
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
8
8
  import { join } from 'node:path';
9
+ import { WatchdogWitness } from '../services/watchdog-witness.js';
10
+ import { WatchdogDeacon } from '../services/watchdog-deacon.js';
11
+ import { WatchdogDogs } from '../services/watchdog-dogs.js';
12
+ import { CheckpointManager } from '../services/checkpoint-manager.js';
13
+ import { Refinery } from '../services/refinery.js';
14
+ import { EscalationRouter } from '../services/escalation-router.js';
15
+ import { Scheduler } from '../services/scheduler.js';
16
+ import { setActiveRefinery } from './refinery-tools.js';
17
+ import { setActiveRouter } from './escalation-tools.js';
18
+ import { setActiveScheduler } from './scheduler-tools.js';
9
19
  // Swarm state persistence
10
- const SWARM_DIR = '.claude-flow/swarm';
20
+ const SWARM_DIR = '.odd-flow/swarm';
11
21
  const SWARM_STATE_FILE = 'swarm-state.json';
12
22
  function getSwarmDir() {
13
23
  return join(process.cwd(), SWARM_DIR);
@@ -35,6 +45,105 @@ function saveSwarmStore(store) {
35
45
  ensureSwarmDir();
36
46
  writeFileSync(getSwarmStatePath(), JSON.stringify(store, null, 2), 'utf-8');
37
47
  }
48
+ // Phase D service state (module-level singletons per process)
49
+ let activeWitness = null;
50
+ let activeDeacon = null;
51
+ let activeDogs = null;
52
+ let activeCheckpointMgr = null;
53
+ let activeRefinery = null;
54
+ let activeEscalation = null;
55
+ let activeScheduler = null;
56
+ function loadAgentRecords() {
57
+ try {
58
+ const path = join(process.cwd(), '.odd-flow/agents/store.json');
59
+ if (existsSync(path)) {
60
+ const store = JSON.parse(readFileSync(path, 'utf-8'));
61
+ return store.agents || {};
62
+ }
63
+ }
64
+ catch { /* empty */ }
65
+ return {};
66
+ }
67
+ function startPhaseDServices(config = {}, maxAgents = 8) {
68
+ // D1: Watchdog
69
+ if (config['watchdog.enabled'] !== false && !activeWitness) {
70
+ activeWitness = new WatchdogWitness({
71
+ checkInterval: config['watchdog.checkInterval'] || 15000,
72
+ heartbeatThreshold: config['watchdog.heartbeatThreshold'] || 60000,
73
+ enabled: true,
74
+ }, loadAgentRecords);
75
+ activeDeacon = new WatchdogDeacon(activeWitness, {
76
+ maxMissedBeats: config['watchdog.maxMissedBeats'] || 3,
77
+ });
78
+ activeDogs = new WatchdogDogs(activeDeacon, process.cwd());
79
+ activeWitness.start();
80
+ }
81
+ // D2: Checkpoint Manager (Session Recovery)
82
+ if (!activeCheckpointMgr) {
83
+ activeCheckpointMgr = new CheckpointManager(process.cwd());
84
+ const interval = config['recovery.checkpointInterval'] || 60000;
85
+ activeCheckpointMgr.start(interval);
86
+ }
87
+ // D3: Refinery (Merge Queue) — only for multi-agent swarms
88
+ if (config['refinery.enabled'] !== false && maxAgents > 1 && !activeRefinery) {
89
+ activeRefinery = new Refinery(process.cwd());
90
+ setActiveRefinery(activeRefinery);
91
+ }
92
+ // D4: Escalation Router
93
+ if (!activeEscalation) {
94
+ activeEscalation = new EscalationRouter(process.cwd());
95
+ setActiveRouter(activeEscalation);
96
+ // Wire watchdog events → escalation
97
+ if (activeDogs) {
98
+ activeDogs.on('watchdog:action-taken', (event) => {
99
+ activeEscalation?.report({
100
+ severity: 'p1',
101
+ source: 'watchdog',
102
+ category: 'agent-terminated',
103
+ description: `Watchdog terminated agent ${event.agentId}: ${event.reason || 'unresponsive'}`,
104
+ });
105
+ });
106
+ }
107
+ // Wire refinery conflicts → escalation
108
+ if (activeRefinery) {
109
+ activeRefinery.on('refinery:contract-conflict', (conflict) => {
110
+ activeEscalation?.report({
111
+ severity: 'p0',
112
+ source: 'refinery',
113
+ category: 'contract-conflict',
114
+ description: `Contract conflict: ${conflict.details || 'conflicting contract definitions'}`,
115
+ });
116
+ });
117
+ }
118
+ }
119
+ // D5: Scheduler (Capacity Governance)
120
+ if (config['scheduler.enabled'] !== false && !activeScheduler) {
121
+ activeScheduler = new Scheduler(process.cwd(), {
122
+ maxAgents,
123
+ checkInterval: config['scheduler.checkInterval'] || 30000,
124
+ idleThreshold: config['scheduler.idleThreshold'] || 2,
125
+ rampUp: config['scheduler.rampUp'] ?? true,
126
+ enabled: true,
127
+ });
128
+ setActiveScheduler(activeScheduler);
129
+ activeScheduler.start();
130
+ }
131
+ }
132
+ function stopPhaseDServices() {
133
+ activeWitness?.stop();
134
+ activeCheckpointMgr?.stop();
135
+ activeScheduler?.stop();
136
+ activeWitness = null;
137
+ activeDeacon = null;
138
+ activeDogs = null;
139
+ activeCheckpointMgr = null;
140
+ activeRefinery = null;
141
+ activeEscalation = null;
142
+ activeScheduler = null;
143
+ setActiveRefinery(null);
144
+ setActiveRouter(null);
145
+ setActiveScheduler(null);
146
+ }
38
147
  // Input validation
39
148
  const VALID_TOPOLOGIES = new Set([
40
149
  'hierarchical', 'mesh', 'hierarchical-mesh', 'ring', 'star', 'hybrid', 'adaptive',
@@ -87,6 +196,8 @@ export const swarmTools = [
87
196
  const store = loadSwarmStore();
88
197
  store.swarms[swarmId] = swarmState;
89
198
  saveSwarmStore(store);
199
+ // Start Phase D services (watchdog, checkpoint, refinery, escalation, scheduler)
200
+ startPhaseDServices(config, maxAgents);
90
201
  return {
91
202
  success: true,
92
203
  swarmId,
@@ -96,6 +207,7 @@ export const swarmTools = [
96
207
  initializedAt: now,
97
208
  config: swarmState.config,
98
209
  persisted: true,
210
+ watchdog: activeWitness?.isRunning() ? 'active' : 'disabled',
99
211
  };
100
212
  },
101
213
  },
@@ -112,6 +224,12 @@ export const swarmTools = [
112
224
  handler: async (input) => {
113
225
  const store = loadSwarmStore();
114
226
  const swarmId = input.swarmId;
227
+ const watchdogState = {
228
+ enabled: activeWitness !== null,
229
+ running: activeWitness?.isRunning() ?? false,
230
+ unresponsiveCounts: activeDeacon ? Object.fromEntries(activeDeacon.getUnresponsiveCounts()) : {},
231
+ events: activeDogs ? activeDogs.getEvents().slice(-10) : [],
232
+ };
115
233
  if (swarmId && store.swarms[swarmId]) {
116
234
  const swarm = store.swarms[swarmId];
117
235
  return {
@@ -124,6 +242,7 @@ export const swarmTools = [
124
242
  config: swarm.config,
125
243
  createdAt: swarm.createdAt,
126
244
  updatedAt: swarm.updatedAt,
245
+ watchdog: watchdogState,
127
246
  };
128
247
  }
129
248
  // Return most recent swarm if no ID specified
@@ -149,6 +268,7 @@ export const swarmTools = [
149
268
  createdAt: latest.createdAt,
150
269
  updatedAt: latest.updatedAt,
151
270
  totalSwarms: swarmIds.length,
271
+ watchdog: watchdogState,
152
272
  };
153
273
  },
154
274
  },
@@ -194,6 +314,8 @@ export const swarmTools = [
194
314
  target.status = 'terminated';
195
315
  target.updatedAt = new Date().toISOString();
196
316
  saveSwarmStore(store);
317
+ // Stop all Phase D services
318
+ stopPhaseDServices();
197
319
  return {
198
320
  success: true,
199
321
  swarmId: target.swarmId,
@@ -27,7 +27,7 @@ function getPackageVersion() {
27
27
  }
28
28
  const PKG_VERSION = getPackageVersion();
29
29
  // Storage paths
30
- const STORAGE_DIR = '.claude-flow';
30
+ const STORAGE_DIR = '.odd-flow';
31
31
  const SYSTEM_DIR = 'system';
32
32
  const METRICS_FILE = 'metrics.json';
33
33
  function getSystemDir() {
@@ -383,7 +383,7 @@ export const systemTools = [
383
383
  },
384
384
  handler: async () => {
385
385
  // Read from the task store file
386
- const storePath = join(process.cwd(), '.claude-flow', 'tasks', 'store.json');
386
+ const storePath = join(process.cwd(), '.odd-flow', 'tasks', 'store.json');
387
387
  let tasks = [];
388
388
  try {
389
389
  if (existsSync(storePath)) {
@@ -6,7 +6,7 @@
6
6
  import { existsSync, readFileSync, writeFileSync, mkdirSync } from 'node:fs';
7
7
  import { join } from 'node:path';
8
8
  // Storage paths
9
- const STORAGE_DIR = '.claude-flow';
9
+ const STORAGE_DIR = '.odd-flow';
10
10
  const TASK_DIR = 'tasks';
11
11
  const TASK_FILE = 'store.json';
12
12
  function getTaskDir() {
@@ -6,7 +6,7 @@
6
6
  import { existsSync, readFileSync, writeFileSync, mkdirSync } from 'node:fs';
7
7
  import { join } from 'node:path';
8
8
  // Storage paths
9
- const STORAGE_DIR = '.claude-flow';
9
+ const STORAGE_DIR = '.odd-flow';
10
10
  const WORKFLOW_DIR = 'workflows';
11
11
  const WORKFLOW_FILE = 'store.json';
12
12
  function getWorkflowDir() {
@@ -18,15 +18,15 @@ import { join } from 'node:path';
18
18
  // ============================================================================
19
19
  /**
20
20
  * Get the data directory for neural pattern persistence
21
- * Uses .claude-flow/neural in the current working directory,
21
+ * Uses .odd-flow/neural in the current working directory,
22
22
  * falling back to home directory
23
23
  */
24
24
  function getDataDir() {
25
25
  const cwd = process.cwd();
26
- const localDir = join(cwd, '.claude-flow', 'neural');
27
- const homeDir = join(homedir(), '.claude-flow', 'neural');
28
- // Prefer local directory if .claude-flow exists
29
- if (existsSync(join(cwd, '.claude-flow'))) {
26
+ const localDir = join(cwd, '.odd-flow', 'neural');
27
+ const homeDir = join(homedir(), '.odd-flow', 'neural');
28
+ // Prefer local directory if .odd-flow exists
29
+ if (existsSync(join(cwd, '.odd-flow'))) {
30
30
  return localDir;
31
31
  }
32
32
  return homeDir;
@@ -49,7 +49,7 @@ function generateId(prefix) {
49
49
  }
50
50
  /**
51
51
  * Lazily initialize the ControllerRegistry singleton.
52
- * Returns null if @claude-flow/memory is not available.
52
+ * Returns null if @odd-flow/memory is not available.
53
53
  */
54
54
  async function getRegistry(dbPath) {
55
55
  if (bridgeAvailable === false)
@@ -59,7 +59,7 @@ async function getRegistry(dbPath) {
59
59
  if (!registryPromise) {
60
60
  registryPromise = (async () => {
61
61
  try {
62
- const { ControllerRegistry } = await import('@claude-flow/memory');
62
+ const { ControllerRegistry } = await import('@odd-flow/memory');
63
63
  const registry = new ControllerRegistry();
64
64
  // Suppress noisy console.log during init
65
65
  const origLog = console.log;
@@ -888,7 +888,7 @@ export async function checkAndMigrateLegacy(options) {
888
888
  path.join(process.cwd(), 'memory.db'),
889
889
  path.join(process.cwd(), '.claude/memory.db'),
890
890
  path.join(process.cwd(), 'data/memory.db'),
891
- path.join(process.cwd(), '.claude-flow/memory.db')
891
+ path.join(process.cwd(), '.odd-flow/memory.db')
892
892
  ];
893
893
  for (const legacyPath of legacyPaths) {
894
894
  if (fs.existsSync(legacyPath) && legacyPath !== dbPath) {
@@ -931,7 +931,7 @@ export async function checkAndMigrateLegacy(options) {
931
931
  * a singleton ControllerRegistry and initializes it with the given dbPath.
932
932
  * After this call, all enabled controllers are ready for immediate use.
933
933
  *
934
- * Failures are isolated: if @claude-flow/memory or agentdb is not installed,
934
+ * Failures are isolated: if @odd-flow/memory or agentdb is not installed,
935
935
  * this returns an empty result without throwing.
936
936
  */
937
937
  async function activateControllerRegistry(dbPath, verbose) {
@@ -1698,7 +1698,7 @@ export async function storeEntry(options) {
1698
1698
  const dbPath = customPath ? path.resolve(customPath) : path.join(swarmDir, 'memory.db');
1699
1699
  try {
1700
1700
  if (!fs.existsSync(dbPath)) {
1701
- return { success: false, id: '', error: 'Database not initialized. Run: claude-flow memory init' };
1701
+ return { success: false, id: '', error: 'Database not initialized. Run: odd-flow memory init' };
1702
1702
  }
1703
1703
  // Ensure schema has all required columns (migration for older DBs)
1704
1704
  await ensureSchemaColumns(dbPath);
@@ -33,7 +33,7 @@ export class PluginManager {
33
33
  config;
34
34
  manifest = null;
35
35
  constructor(baseDir = process.cwd()) {
36
- const pluginsDir = path.join(baseDir, '.claude-flow', 'plugins');
36
+ const pluginsDir = path.join(baseDir, '.odd-flow', 'plugins');
37
37
  this.config = {
38
38
  pluginsDir,
39
39
  manifestPath: path.join(pluginsDir, 'installed.json'),
@@ -114,10 +114,10 @@ export class PluginManager {
114
114
  if (fs.existsSync(packageJsonPath)) {
115
115
  const pkg = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8'));
116
116
  installedVersion = pkg.version;
117
- // Check for claude-flow plugin metadata
118
- if (pkg['claude-flow']) {
119
- commands = pkg['claude-flow'].commands || [];
120
- hooks = pkg['claude-flow'].hooks || [];
117
+ // Check for odd-flow plugin metadata
118
+ if (pkg['odd-flow']) {
119
+ commands = pkg['odd-flow'].commands || [];
120
+ hooks = pkg['odd-flow'].hooks || [];
121
121
  }
122
122
  }
123
123
  // Create plugin entry
@@ -177,8 +177,8 @@ export class PluginManager {
177
177
  enabled: true,
178
178
  source: 'local',
179
179
  path: absolutePath,
180
- commands: pkg['claude-flow']?.commands || [],
181
- hooks: pkg['claude-flow']?.hooks || [],
180
+ commands: pkg['odd-flow']?.commands || [],
181
+ hooks: pkg['odd-flow']?.hooks || [],
182
182
  };
183
183
  // Save to manifest
184
184
  this.manifest.plugins[packageName] = plugin;
@@ -338,8 +338,8 @@ export class PluginManager {
338
338
  if (fs.existsSync(packageJsonPath)) {
339
339
  const pkg = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8'));
340
340
  existing.version = pkg.version;
341
- existing.commands = pkg['claude-flow']?.commands || existing.commands;
342
- existing.hooks = pkg['claude-flow']?.hooks || existing.hooks;
341
+ existing.commands = pkg['odd-flow']?.commands || existing.commands;
342
+ existing.hooks = pkg['odd-flow']?.hooks || existing.hooks;
343
343
  }
344
344
  await this.saveManifest();
345
345
  console.log(`[PluginManager] Upgraded ${packageName} to ${existing.version}`);
@@ -389,7 +389,7 @@ export function getPluginManager(baseDir) {
389
389
  if (!defaultManager) {
390
390
  defaultManager = new PluginManager(baseDir);
391
391
  }
392
- else if (baseDir && defaultManager.getPluginsDir() !== path.join(baseDir, '.claude-flow', 'plugins')) {
392
+ else if (baseDir && defaultManager.getPluginsDir() !== path.join(baseDir, '.odd-flow', 'plugins')) {
393
393
  console.warn(`[PluginManager] Warning: getPluginManager called with different baseDir. Using existing instance. Call resetPluginManager() first to change.`);
394
394
  }
395
395
  return defaultManager;