moflo 4.8.16 → 4.8.17

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 (466) hide show
  1. package/.claude/agents/browser/browser-agent.yaml +182 -182
  2. package/.claude/agents/core/coder.md +265 -265
  3. package/.claude/agents/core/planner.md +167 -167
  4. package/.claude/agents/core/researcher.md +189 -189
  5. package/.claude/agents/core/reviewer.md +325 -325
  6. package/.claude/agents/core/tester.md +318 -318
  7. package/.claude/agents/database-specialist.yaml +21 -21
  8. package/.claude/agents/dual-mode/codex-coordinator.md +224 -224
  9. package/.claude/agents/dual-mode/codex-worker.md +211 -211
  10. package/.claude/agents/dual-mode/dual-orchestrator.md +291 -291
  11. package/.claude/agents/github/code-review-swarm.md +537 -537
  12. package/.claude/agents/github/github-modes.md +172 -172
  13. package/.claude/agents/github/issue-tracker.md +318 -318
  14. package/.claude/agents/github/multi-repo-swarm.md +552 -552
  15. package/.claude/agents/github/pr-manager.md +190 -190
  16. package/.claude/agents/github/project-board-sync.md +508 -508
  17. package/.claude/agents/github/release-manager.md +366 -366
  18. package/.claude/agents/github/release-swarm.md +582 -582
  19. package/.claude/agents/github/repo-architect.md +397 -397
  20. package/.claude/agents/github/swarm-issue.md +572 -572
  21. package/.claude/agents/github/swarm-pr.md +427 -427
  22. package/.claude/agents/github/sync-coordinator.md +451 -451
  23. package/.claude/agents/github/workflow-automation.md +634 -634
  24. package/.claude/agents/goal/code-goal-planner.md +445 -445
  25. package/.claude/agents/hive-mind/collective-intelligence-coordinator.md +129 -129
  26. package/.claude/agents/hive-mind/queen-coordinator.md +202 -202
  27. package/.claude/agents/hive-mind/scout-explorer.md +241 -241
  28. package/.claude/agents/hive-mind/swarm-memory-manager.md +192 -192
  29. package/.claude/agents/hive-mind/worker-specialist.md +216 -216
  30. package/.claude/agents/index.yaml +17 -17
  31. package/.claude/agents/neural/safla-neural.md +73 -73
  32. package/.claude/agents/project-coordinator.yaml +15 -15
  33. package/.claude/agents/python-specialist.yaml +21 -21
  34. package/.claude/agents/reasoning/goal-planner.md +72 -72
  35. package/.claude/agents/security-auditor.yaml +20 -20
  36. package/.claude/agents/swarm/adaptive-coordinator.md +395 -395
  37. package/.claude/agents/swarm/hierarchical-coordinator.md +326 -326
  38. package/.claude/agents/swarm/mesh-coordinator.md +391 -391
  39. package/.claude/agents/templates/migration-plan.md +745 -745
  40. package/.claude/agents/typescript-specialist.yaml +21 -21
  41. package/.claude/checkpoints/1767754460.json +8 -8
  42. package/.claude/commands/agents/agent-spawning.md +28 -28
  43. package/.claude/commands/github/github-modes.md +146 -146
  44. package/.claude/commands/github/github-swarm.md +121 -121
  45. package/.claude/commands/github/issue-tracker.md +291 -291
  46. package/.claude/commands/github/pr-manager.md +169 -169
  47. package/.claude/commands/github/release-manager.md +337 -337
  48. package/.claude/commands/github/repo-architect.md +366 -366
  49. package/.claude/commands/github/sync-coordinator.md +300 -300
  50. package/.claude/commands/memory/neural.md +47 -47
  51. package/.claude/commands/sparc/analyzer.md +51 -51
  52. package/.claude/commands/sparc/architect.md +53 -53
  53. package/.claude/commands/sparc/ask.md +97 -97
  54. package/.claude/commands/sparc/batch-executor.md +54 -54
  55. package/.claude/commands/sparc/code.md +89 -89
  56. package/.claude/commands/sparc/coder.md +54 -54
  57. package/.claude/commands/sparc/debug.md +83 -83
  58. package/.claude/commands/sparc/debugger.md +54 -54
  59. package/.claude/commands/sparc/designer.md +53 -53
  60. package/.claude/commands/sparc/devops.md +109 -109
  61. package/.claude/commands/sparc/docs-writer.md +80 -80
  62. package/.claude/commands/sparc/documenter.md +54 -54
  63. package/.claude/commands/sparc/innovator.md +54 -54
  64. package/.claude/commands/sparc/integration.md +83 -83
  65. package/.claude/commands/sparc/mcp.md +117 -117
  66. package/.claude/commands/sparc/memory-manager.md +54 -54
  67. package/.claude/commands/sparc/optimizer.md +54 -54
  68. package/.claude/commands/sparc/orchestrator.md +131 -131
  69. package/.claude/commands/sparc/post-deployment-monitoring-mode.md +83 -83
  70. package/.claude/commands/sparc/refinement-optimization-mode.md +83 -83
  71. package/.claude/commands/sparc/researcher.md +54 -54
  72. package/.claude/commands/sparc/reviewer.md +54 -54
  73. package/.claude/commands/sparc/security-review.md +80 -80
  74. package/.claude/commands/sparc/sparc-modes.md +174 -174
  75. package/.claude/commands/sparc/sparc.md +111 -111
  76. package/.claude/commands/sparc/spec-pseudocode.md +80 -80
  77. package/.claude/commands/sparc/supabase-admin.md +348 -348
  78. package/.claude/commands/sparc/swarm-coordinator.md +54 -54
  79. package/.claude/commands/sparc/tdd.md +54 -54
  80. package/.claude/commands/sparc/tester.md +54 -54
  81. package/.claude/commands/sparc/tutorial.md +79 -79
  82. package/.claude/commands/sparc/workflow-manager.md +54 -54
  83. package/.claude/commands/sparc.md +166 -166
  84. package/.claude/commands/swarm/analysis.md +95 -95
  85. package/.claude/commands/swarm/development.md +96 -96
  86. package/.claude/commands/swarm/examples.md +168 -168
  87. package/.claude/commands/swarm/maintenance.md +102 -102
  88. package/.claude/commands/swarm/optimization.md +117 -117
  89. package/.claude/commands/swarm/research.md +136 -136
  90. package/.claude/commands/swarm/testing.md +131 -131
  91. package/.claude/commands/workflows/development.md +77 -77
  92. package/.claude/commands/workflows/research.md +62 -62
  93. package/.claude/guidance/moflo-bootstrap.md +126 -126
  94. package/.claude/guidance/shipped/agent-bootstrap.md +126 -126
  95. package/.claude/guidance/shipped/guidance-memory-strategy.md +262 -262
  96. package/.claude/guidance/shipped/memory-strategy.md +204 -204
  97. package/.claude/guidance/shipped/moflo.md +608 -608
  98. package/.claude/guidance/shipped/task-swarm-integration.md +441 -441
  99. package/.claude/helpers/intelligence.cjs +207 -207
  100. package/.claude/helpers/statusline.cjs +851 -851
  101. package/.claude/skills/fl/SKILL.md +583 -583
  102. package/.claude/skills/flo/SKILL.md +583 -583
  103. package/.claude/skills/github-code-review/SKILL.md +1140 -1140
  104. package/.claude/skills/github-multi-repo/SKILL.md +874 -874
  105. package/.claude/skills/github-project-management/SKILL.md +1277 -1277
  106. package/.claude/skills/github-release-management/SKILL.md +1081 -1081
  107. package/.claude/skills/github-workflow-automation/SKILL.md +1065 -1065
  108. package/.claude/skills/hive-mind-advanced/SKILL.md +712 -712
  109. package/.claude/skills/hooks-automation/SKILL.md +1201 -1201
  110. package/.claude/skills/performance-analysis/SKILL.md +563 -563
  111. package/.claude/skills/sparc-methodology/SKILL.md +1115 -1115
  112. package/.claude/skills/swarm-advanced/SKILL.md +973 -973
  113. package/LICENSE +21 -21
  114. package/README.md +685 -685
  115. package/bin/cli.js +0 -0
  116. package/bin/gate-hook.mjs +50 -50
  117. package/bin/gate.cjs +138 -138
  118. package/bin/hook-handler.cjs +83 -83
  119. package/bin/hooks.mjs +656 -656
  120. package/bin/index-guidance.mjs +892 -892
  121. package/bin/index-tests.mjs +709 -709
  122. package/bin/lib/process-manager.mjs +243 -243
  123. package/bin/lib/registry-cleanup.cjs +41 -41
  124. package/bin/prompt-hook.mjs +72 -72
  125. package/bin/semantic-search.mjs +472 -472
  126. package/bin/session-start-launcher.mjs +238 -226
  127. package/bin/setup-project.mjs +250 -250
  128. package/package.json +123 -121
  129. package/src/@claude-flow/cli/README.md +452 -452
  130. package/src/@claude-flow/cli/bin/cli.js +175 -175
  131. package/src/@claude-flow/cli/bin/preinstall.cjs +2 -2
  132. package/src/@claude-flow/cli/dist/src/commands/completions.js +409 -409
  133. package/src/@claude-flow/cli/dist/src/commands/doctor.js +1091 -1091
  134. package/src/@claude-flow/cli/dist/src/commands/embeddings.js +25 -25
  135. package/src/@claude-flow/cli/dist/src/commands/github.js +61 -61
  136. package/src/@claude-flow/cli/dist/src/commands/hive-mind.js +90 -90
  137. package/src/@claude-flow/cli/dist/src/commands/hooks.js +9 -9
  138. package/src/@claude-flow/cli/dist/src/commands/ruvector/import.js +14 -14
  139. package/src/@claude-flow/cli/dist/src/commands/ruvector/setup.js +624 -624
  140. package/src/@claude-flow/cli/dist/src/config/moflo-config.js +91 -91
  141. package/src/@claude-flow/cli/dist/src/init/claudemd-generator.d.ts +29 -29
  142. package/src/@claude-flow/cli/dist/src/init/claudemd-generator.js +43 -43
  143. package/src/@claude-flow/cli/dist/src/init/executor.js +485 -453
  144. package/src/@claude-flow/cli/dist/src/init/helpers-generator.js +482 -482
  145. package/src/@claude-flow/cli/dist/src/init/moflo-init.d.ts +30 -30
  146. package/src/@claude-flow/cli/dist/src/init/moflo-init.js +839 -839
  147. package/src/@claude-flow/cli/dist/src/init/settings-generator.js +6 -2
  148. package/src/@claude-flow/cli/dist/src/init/statusline-generator.js +786 -786
  149. package/src/@claude-flow/cli/dist/src/memory/memory-initializer.js +371 -371
  150. package/src/@claude-flow/cli/dist/src/runtime/headless.js +28 -28
  151. package/src/@claude-flow/cli/dist/src/services/headless-worker-executor.js +84 -84
  152. package/src/@claude-flow/cli/package.json +1 -1
  153. package/src/@claude-flow/guidance/README.md +1195 -1195
  154. package/src/@claude-flow/guidance/dist/adversarial.d.ts +284 -0
  155. package/src/@claude-flow/guidance/dist/adversarial.js +572 -0
  156. package/src/@claude-flow/guidance/dist/analyzer.d.ts +530 -0
  157. package/src/@claude-flow/guidance/dist/analyzer.js +2518 -0
  158. package/src/@claude-flow/guidance/dist/artifacts.d.ts +283 -0
  159. package/src/@claude-flow/guidance/dist/artifacts.js +356 -0
  160. package/src/@claude-flow/guidance/dist/authority.d.ts +290 -0
  161. package/src/@claude-flow/guidance/dist/authority.js +558 -0
  162. package/src/@claude-flow/guidance/dist/capabilities.d.ts +209 -0
  163. package/src/@claude-flow/guidance/dist/capabilities.js +485 -0
  164. package/src/@claude-flow/guidance/dist/coherence.d.ts +233 -0
  165. package/src/@claude-flow/guidance/dist/coherence.js +372 -0
  166. package/src/@claude-flow/guidance/dist/compiler.d.ts +87 -0
  167. package/src/@claude-flow/guidance/dist/compiler.js +419 -0
  168. package/src/@claude-flow/guidance/dist/conformance-kit.d.ts +225 -0
  169. package/src/@claude-flow/guidance/dist/conformance-kit.js +629 -0
  170. package/src/@claude-flow/guidance/dist/continue-gate.d.ts +214 -0
  171. package/src/@claude-flow/guidance/dist/continue-gate.js +353 -0
  172. package/src/@claude-flow/guidance/dist/crypto-utils.d.ts +17 -0
  173. package/src/@claude-flow/guidance/dist/crypto-utils.js +24 -0
  174. package/src/@claude-flow/guidance/dist/evolution.d.ts +282 -0
  175. package/src/@claude-flow/guidance/dist/evolution.js +500 -0
  176. package/src/@claude-flow/guidance/dist/gates.d.ts +79 -0
  177. package/src/@claude-flow/guidance/dist/gates.js +302 -0
  178. package/src/@claude-flow/guidance/dist/gateway.d.ts +206 -0
  179. package/src/@claude-flow/guidance/dist/gateway.js +452 -0
  180. package/src/@claude-flow/guidance/dist/generators.d.ts +153 -0
  181. package/src/@claude-flow/guidance/dist/generators.js +682 -0
  182. package/src/@claude-flow/guidance/dist/headless.d.ts +177 -0
  183. package/src/@claude-flow/guidance/dist/headless.js +342 -0
  184. package/src/@claude-flow/guidance/dist/hooks.d.ts +109 -0
  185. package/src/@claude-flow/guidance/dist/hooks.js +347 -0
  186. package/src/@claude-flow/guidance/dist/index.d.ts +205 -0
  187. package/src/@claude-flow/guidance/dist/index.js +321 -0
  188. package/src/@claude-flow/guidance/dist/ledger.d.ts +162 -0
  189. package/src/@claude-flow/guidance/dist/ledger.js +375 -0
  190. package/src/@claude-flow/guidance/dist/manifest-validator.d.ts +289 -0
  191. package/src/@claude-flow/guidance/dist/manifest-validator.js +838 -0
  192. package/src/@claude-flow/guidance/dist/memory-gate.d.ts +222 -0
  193. package/src/@claude-flow/guidance/dist/memory-gate.js +382 -0
  194. package/src/@claude-flow/guidance/dist/meta-governance.d.ts +265 -0
  195. package/src/@claude-flow/guidance/dist/meta-governance.js +348 -0
  196. package/src/@claude-flow/guidance/dist/optimizer.d.ts +104 -0
  197. package/src/@claude-flow/guidance/dist/optimizer.js +329 -0
  198. package/src/@claude-flow/guidance/dist/persistence.d.ts +189 -0
  199. package/src/@claude-flow/guidance/dist/persistence.js +464 -0
  200. package/src/@claude-flow/guidance/dist/proof.d.ts +185 -0
  201. package/src/@claude-flow/guidance/dist/proof.js +238 -0
  202. package/src/@claude-flow/guidance/dist/retriever.d.ts +116 -0
  203. package/src/@claude-flow/guidance/dist/retriever.js +394 -0
  204. package/src/@claude-flow/guidance/dist/ruvbot-integration.d.ts +370 -0
  205. package/src/@claude-flow/guidance/dist/ruvbot-integration.js +738 -0
  206. package/src/@claude-flow/guidance/dist/temporal.d.ts +426 -0
  207. package/src/@claude-flow/guidance/dist/temporal.js +658 -0
  208. package/src/@claude-flow/guidance/dist/trust.d.ts +283 -0
  209. package/src/@claude-flow/guidance/dist/trust.js +473 -0
  210. package/src/@claude-flow/guidance/dist/truth-anchors.d.ts +276 -0
  211. package/src/@claude-flow/guidance/dist/truth-anchors.js +488 -0
  212. package/src/@claude-flow/guidance/dist/types.d.ts +378 -0
  213. package/src/@claude-flow/guidance/dist/types.js +10 -0
  214. package/src/@claude-flow/guidance/dist/uncertainty.d.ts +372 -0
  215. package/src/@claude-flow/guidance/dist/uncertainty.js +619 -0
  216. package/src/@claude-flow/guidance/dist/wasm-kernel.d.ts +48 -0
  217. package/src/@claude-flow/guidance/dist/wasm-kernel.js +158 -0
  218. package/src/@claude-flow/guidance/package.json +198 -198
  219. package/src/@claude-flow/memory/README.md +587 -587
  220. package/src/@claude-flow/memory/package.json +44 -44
  221. package/src/@claude-flow/shared/README.md +323 -323
  222. package/src/README.md +493 -493
  223. package/.claude/settings.local.json +0 -18
  224. package/.claude/workflow-state.json +0 -9
  225. package/src/@claude-flow/cli/dist/src/services/container-worker-pool.d.ts +0 -197
  226. package/src/@claude-flow/cli/dist/src/services/container-worker-pool.js +0 -584
  227. package/src/@claude-flow/memory/dist/agent-memory-scope.d.ts +0 -131
  228. package/src/@claude-flow/memory/dist/agent-memory-scope.js +0 -223
  229. package/src/@claude-flow/memory/dist/agent-memory-scope.test.d.ts +0 -8
  230. package/src/@claude-flow/memory/dist/agent-memory-scope.test.js +0 -463
  231. package/src/@claude-flow/memory/dist/agentdb-adapter.d.ts +0 -165
  232. package/src/@claude-flow/memory/dist/agentdb-adapter.js +0 -806
  233. package/src/@claude-flow/memory/dist/agentdb-backend.d.ts +0 -214
  234. package/src/@claude-flow/memory/dist/agentdb-backend.js +0 -844
  235. package/src/@claude-flow/memory/dist/agentdb-backend.test.d.ts +0 -7
  236. package/src/@claude-flow/memory/dist/agentdb-backend.test.js +0 -258
  237. package/src/@claude-flow/memory/dist/application/commands/delete-memory.command.d.ts +0 -65
  238. package/src/@claude-flow/memory/dist/application/commands/delete-memory.command.js +0 -129
  239. package/src/@claude-flow/memory/dist/application/commands/store-memory.command.d.ts +0 -48
  240. package/src/@claude-flow/memory/dist/application/commands/store-memory.command.js +0 -72
  241. package/src/@claude-flow/memory/dist/application/index.d.ts +0 -12
  242. package/src/@claude-flow/memory/dist/application/index.js +0 -15
  243. package/src/@claude-flow/memory/dist/application/queries/search-memory.query.d.ts +0 -72
  244. package/src/@claude-flow/memory/dist/application/queries/search-memory.query.js +0 -143
  245. package/src/@claude-flow/memory/dist/application/services/memory-application-service.d.ts +0 -121
  246. package/src/@claude-flow/memory/dist/application/services/memory-application-service.js +0 -190
  247. package/src/@claude-flow/memory/dist/auto-memory-bridge.d.ts +0 -226
  248. package/src/@claude-flow/memory/dist/auto-memory-bridge.js +0 -709
  249. package/src/@claude-flow/memory/dist/auto-memory-bridge.test.d.ts +0 -8
  250. package/src/@claude-flow/memory/dist/auto-memory-bridge.test.js +0 -754
  251. package/src/@claude-flow/memory/dist/benchmark.test.d.ts +0 -2
  252. package/src/@claude-flow/memory/dist/benchmark.test.js +0 -277
  253. package/src/@claude-flow/memory/dist/cache-manager.d.ts +0 -134
  254. package/src/@claude-flow/memory/dist/cache-manager.js +0 -407
  255. package/src/@claude-flow/memory/dist/controller-registry.d.ts +0 -216
  256. package/src/@claude-flow/memory/dist/controller-registry.js +0 -893
  257. package/src/@claude-flow/memory/dist/controller-registry.test.d.ts +0 -14
  258. package/src/@claude-flow/memory/dist/controller-registry.test.js +0 -636
  259. package/src/@claude-flow/memory/dist/database-provider.d.ts +0 -87
  260. package/src/@claude-flow/memory/dist/database-provider.js +0 -375
  261. package/src/@claude-flow/memory/dist/database-provider.test.d.ts +0 -7
  262. package/src/@claude-flow/memory/dist/database-provider.test.js +0 -285
  263. package/src/@claude-flow/memory/dist/domain/entities/memory-entry.d.ts +0 -143
  264. package/src/@claude-flow/memory/dist/domain/entities/memory-entry.js +0 -226
  265. package/src/@claude-flow/memory/dist/domain/index.d.ts +0 -11
  266. package/src/@claude-flow/memory/dist/domain/index.js +0 -12
  267. package/src/@claude-flow/memory/dist/domain/repositories/memory-repository.interface.d.ts +0 -102
  268. package/src/@claude-flow/memory/dist/domain/repositories/memory-repository.interface.js +0 -11
  269. package/src/@claude-flow/memory/dist/domain/services/memory-domain-service.d.ts +0 -105
  270. package/src/@claude-flow/memory/dist/domain/services/memory-domain-service.js +0 -297
  271. package/src/@claude-flow/memory/dist/hnsw-index.d.ts +0 -111
  272. package/src/@claude-flow/memory/dist/hnsw-index.js +0 -781
  273. package/src/@claude-flow/memory/dist/hnsw-lite.d.ts +0 -23
  274. package/src/@claude-flow/memory/dist/hnsw-lite.js +0 -168
  275. package/src/@claude-flow/memory/dist/hybrid-backend.d.ts +0 -245
  276. package/src/@claude-flow/memory/dist/hybrid-backend.js +0 -569
  277. package/src/@claude-flow/memory/dist/hybrid-backend.test.d.ts +0 -8
  278. package/src/@claude-flow/memory/dist/hybrid-backend.test.js +0 -320
  279. package/src/@claude-flow/memory/dist/index.d.ts +0 -207
  280. package/src/@claude-flow/memory/dist/index.js +0 -361
  281. package/src/@claude-flow/memory/dist/infrastructure/index.d.ts +0 -17
  282. package/src/@claude-flow/memory/dist/infrastructure/index.js +0 -16
  283. package/src/@claude-flow/memory/dist/infrastructure/repositories/hybrid-memory-repository.d.ts +0 -66
  284. package/src/@claude-flow/memory/dist/infrastructure/repositories/hybrid-memory-repository.js +0 -409
  285. package/src/@claude-flow/memory/dist/learning-bridge.d.ts +0 -137
  286. package/src/@claude-flow/memory/dist/learning-bridge.js +0 -335
  287. package/src/@claude-flow/memory/dist/learning-bridge.test.d.ts +0 -8
  288. package/src/@claude-flow/memory/dist/learning-bridge.test.js +0 -578
  289. package/src/@claude-flow/memory/dist/memory-graph.d.ts +0 -100
  290. package/src/@claude-flow/memory/dist/memory-graph.js +0 -333
  291. package/src/@claude-flow/memory/dist/memory-graph.test.d.ts +0 -8
  292. package/src/@claude-flow/memory/dist/memory-graph.test.js +0 -609
  293. package/src/@claude-flow/memory/dist/migration.d.ts +0 -68
  294. package/src/@claude-flow/memory/dist/migration.js +0 -513
  295. package/src/@claude-flow/memory/dist/persistent-sona.d.ts +0 -144
  296. package/src/@claude-flow/memory/dist/persistent-sona.js +0 -332
  297. package/src/@claude-flow/memory/dist/query-builder.d.ts +0 -211
  298. package/src/@claude-flow/memory/dist/query-builder.js +0 -438
  299. package/src/@claude-flow/memory/dist/rvf-backend.d.ts +0 -51
  300. package/src/@claude-flow/memory/dist/rvf-backend.js +0 -481
  301. package/src/@claude-flow/memory/dist/rvf-learning-store.d.ts +0 -139
  302. package/src/@claude-flow/memory/dist/rvf-learning-store.js +0 -295
  303. package/src/@claude-flow/memory/dist/rvf-migration.d.ts +0 -45
  304. package/src/@claude-flow/memory/dist/rvf-migration.js +0 -234
  305. package/src/@claude-flow/memory/dist/sqlite-backend.d.ts +0 -121
  306. package/src/@claude-flow/memory/dist/sqlite-backend.js +0 -572
  307. package/src/@claude-flow/memory/dist/sqljs-backend.d.ts +0 -128
  308. package/src/@claude-flow/memory/dist/sqljs-backend.js +0 -601
  309. package/src/@claude-flow/memory/dist/types.d.ts +0 -484
  310. package/src/@claude-flow/memory/dist/types.js +0 -58
  311. package/src/@claude-flow/shared/dist/core/config/defaults.d.ts +0 -41
  312. package/src/@claude-flow/shared/dist/core/config/defaults.js +0 -186
  313. package/src/@claude-flow/shared/dist/core/config/index.d.ts +0 -8
  314. package/src/@claude-flow/shared/dist/core/config/index.js +0 -12
  315. package/src/@claude-flow/shared/dist/core/config/loader.d.ts +0 -45
  316. package/src/@claude-flow/shared/dist/core/config/loader.js +0 -222
  317. package/src/@claude-flow/shared/dist/core/config/schema.d.ts +0 -1134
  318. package/src/@claude-flow/shared/dist/core/config/schema.js +0 -158
  319. package/src/@claude-flow/shared/dist/core/config/validator.d.ts +0 -92
  320. package/src/@claude-flow/shared/dist/core/config/validator.js +0 -147
  321. package/src/@claude-flow/shared/dist/core/event-bus.d.ts +0 -31
  322. package/src/@claude-flow/shared/dist/core/event-bus.js +0 -197
  323. package/src/@claude-flow/shared/dist/core/index.d.ts +0 -15
  324. package/src/@claude-flow/shared/dist/core/index.js +0 -19
  325. package/src/@claude-flow/shared/dist/core/interfaces/agent.interface.d.ts +0 -200
  326. package/src/@claude-flow/shared/dist/core/interfaces/agent.interface.js +0 -6
  327. package/src/@claude-flow/shared/dist/core/interfaces/coordinator.interface.d.ts +0 -310
  328. package/src/@claude-flow/shared/dist/core/interfaces/coordinator.interface.js +0 -7
  329. package/src/@claude-flow/shared/dist/core/interfaces/event.interface.d.ts +0 -224
  330. package/src/@claude-flow/shared/dist/core/interfaces/event.interface.js +0 -46
  331. package/src/@claude-flow/shared/dist/core/interfaces/index.d.ts +0 -10
  332. package/src/@claude-flow/shared/dist/core/interfaces/index.js +0 -15
  333. package/src/@claude-flow/shared/dist/core/interfaces/memory.interface.d.ts +0 -298
  334. package/src/@claude-flow/shared/dist/core/interfaces/memory.interface.js +0 -7
  335. package/src/@claude-flow/shared/dist/core/interfaces/task.interface.d.ts +0 -185
  336. package/src/@claude-flow/shared/dist/core/interfaces/task.interface.js +0 -6
  337. package/src/@claude-flow/shared/dist/core/orchestrator/event-coordinator.d.ts +0 -35
  338. package/src/@claude-flow/shared/dist/core/orchestrator/event-coordinator.js +0 -101
  339. package/src/@claude-flow/shared/dist/core/orchestrator/health-monitor.d.ts +0 -60
  340. package/src/@claude-flow/shared/dist/core/orchestrator/health-monitor.js +0 -166
  341. package/src/@claude-flow/shared/dist/core/orchestrator/index.d.ts +0 -46
  342. package/src/@claude-flow/shared/dist/core/orchestrator/index.js +0 -64
  343. package/src/@claude-flow/shared/dist/core/orchestrator/lifecycle-manager.d.ts +0 -56
  344. package/src/@claude-flow/shared/dist/core/orchestrator/lifecycle-manager.js +0 -195
  345. package/src/@claude-flow/shared/dist/core/orchestrator/session-manager.d.ts +0 -83
  346. package/src/@claude-flow/shared/dist/core/orchestrator/session-manager.js +0 -193
  347. package/src/@claude-flow/shared/dist/core/orchestrator/task-manager.d.ts +0 -49
  348. package/src/@claude-flow/shared/dist/core/orchestrator/task-manager.js +0 -253
  349. package/src/@claude-flow/shared/dist/events/domain-events.d.ts +0 -282
  350. package/src/@claude-flow/shared/dist/events/domain-events.js +0 -165
  351. package/src/@claude-flow/shared/dist/events/event-store.d.ts +0 -126
  352. package/src/@claude-flow/shared/dist/events/event-store.js +0 -416
  353. package/src/@claude-flow/shared/dist/events/event-store.test.d.ts +0 -8
  354. package/src/@claude-flow/shared/dist/events/event-store.test.js +0 -293
  355. package/src/@claude-flow/shared/dist/events/example-usage.d.ts +0 -10
  356. package/src/@claude-flow/shared/dist/events/example-usage.js +0 -193
  357. package/src/@claude-flow/shared/dist/events/index.d.ts +0 -21
  358. package/src/@claude-flow/shared/dist/events/index.js +0 -22
  359. package/src/@claude-flow/shared/dist/events/projections.d.ts +0 -177
  360. package/src/@claude-flow/shared/dist/events/projections.js +0 -421
  361. package/src/@claude-flow/shared/dist/events/rvf-event-log.d.ts +0 -82
  362. package/src/@claude-flow/shared/dist/events/rvf-event-log.js +0 -340
  363. package/src/@claude-flow/shared/dist/events/state-reconstructor.d.ts +0 -101
  364. package/src/@claude-flow/shared/dist/events/state-reconstructor.js +0 -263
  365. package/src/@claude-flow/shared/dist/events.d.ts +0 -80
  366. package/src/@claude-flow/shared/dist/events.js +0 -249
  367. package/src/@claude-flow/shared/dist/hooks/example-usage.d.ts +0 -42
  368. package/src/@claude-flow/shared/dist/hooks/example-usage.js +0 -351
  369. package/src/@claude-flow/shared/dist/hooks/executor.d.ts +0 -100
  370. package/src/@claude-flow/shared/dist/hooks/executor.js +0 -264
  371. package/src/@claude-flow/shared/dist/hooks/hooks.test.d.ts +0 -9
  372. package/src/@claude-flow/shared/dist/hooks/hooks.test.js +0 -322
  373. package/src/@claude-flow/shared/dist/hooks/index.d.ts +0 -52
  374. package/src/@claude-flow/shared/dist/hooks/index.js +0 -51
  375. package/src/@claude-flow/shared/dist/hooks/registry.d.ts +0 -133
  376. package/src/@claude-flow/shared/dist/hooks/registry.js +0 -277
  377. package/src/@claude-flow/shared/dist/hooks/safety/bash-safety.d.ts +0 -105
  378. package/src/@claude-flow/shared/dist/hooks/safety/bash-safety.js +0 -481
  379. package/src/@claude-flow/shared/dist/hooks/safety/file-organization.d.ts +0 -144
  380. package/src/@claude-flow/shared/dist/hooks/safety/file-organization.js +0 -328
  381. package/src/@claude-flow/shared/dist/hooks/safety/git-commit.d.ts +0 -158
  382. package/src/@claude-flow/shared/dist/hooks/safety/git-commit.js +0 -450
  383. package/src/@claude-flow/shared/dist/hooks/safety/index.d.ts +0 -17
  384. package/src/@claude-flow/shared/dist/hooks/safety/index.js +0 -17
  385. package/src/@claude-flow/shared/dist/hooks/session-hooks.d.ts +0 -234
  386. package/src/@claude-flow/shared/dist/hooks/session-hooks.js +0 -334
  387. package/src/@claude-flow/shared/dist/hooks/task-hooks.d.ts +0 -163
  388. package/src/@claude-flow/shared/dist/hooks/task-hooks.js +0 -326
  389. package/src/@claude-flow/shared/dist/hooks/types.d.ts +0 -267
  390. package/src/@claude-flow/shared/dist/hooks/types.js +0 -62
  391. package/src/@claude-flow/shared/dist/hooks/verify-exports.test.d.ts +0 -9
  392. package/src/@claude-flow/shared/dist/hooks/verify-exports.test.js +0 -93
  393. package/src/@claude-flow/shared/dist/index.d.ts +0 -20
  394. package/src/@claude-flow/shared/dist/index.js +0 -50
  395. package/src/@claude-flow/shared/dist/mcp/connection-pool.d.ts +0 -98
  396. package/src/@claude-flow/shared/dist/mcp/connection-pool.js +0 -364
  397. package/src/@claude-flow/shared/dist/mcp/index.d.ts +0 -69
  398. package/src/@claude-flow/shared/dist/mcp/index.js +0 -84
  399. package/src/@claude-flow/shared/dist/mcp/server.d.ts +0 -166
  400. package/src/@claude-flow/shared/dist/mcp/server.js +0 -593
  401. package/src/@claude-flow/shared/dist/mcp/session-manager.d.ts +0 -136
  402. package/src/@claude-flow/shared/dist/mcp/session-manager.js +0 -335
  403. package/src/@claude-flow/shared/dist/mcp/tool-registry.d.ts +0 -178
  404. package/src/@claude-flow/shared/dist/mcp/tool-registry.js +0 -439
  405. package/src/@claude-flow/shared/dist/mcp/transport/http.d.ts +0 -104
  406. package/src/@claude-flow/shared/dist/mcp/transport/http.js +0 -476
  407. package/src/@claude-flow/shared/dist/mcp/transport/index.d.ts +0 -102
  408. package/src/@claude-flow/shared/dist/mcp/transport/index.js +0 -238
  409. package/src/@claude-flow/shared/dist/mcp/transport/stdio.d.ts +0 -104
  410. package/src/@claude-flow/shared/dist/mcp/transport/stdio.js +0 -263
  411. package/src/@claude-flow/shared/dist/mcp/transport/websocket.d.ts +0 -133
  412. package/src/@claude-flow/shared/dist/mcp/transport/websocket.js +0 -396
  413. package/src/@claude-flow/shared/dist/mcp/types.d.ts +0 -438
  414. package/src/@claude-flow/shared/dist/mcp/types.js +0 -54
  415. package/src/@claude-flow/shared/dist/plugin-interface.d.ts +0 -544
  416. package/src/@claude-flow/shared/dist/plugin-interface.js +0 -23
  417. package/src/@claude-flow/shared/dist/plugin-loader.d.ts +0 -139
  418. package/src/@claude-flow/shared/dist/plugin-loader.js +0 -434
  419. package/src/@claude-flow/shared/dist/plugin-registry.d.ts +0 -183
  420. package/src/@claude-flow/shared/dist/plugin-registry.js +0 -457
  421. package/src/@claude-flow/shared/dist/plugins/index.d.ts +0 -10
  422. package/src/@claude-flow/shared/dist/plugins/index.js +0 -10
  423. package/src/@claude-flow/shared/dist/plugins/official/hive-mind-plugin.d.ts +0 -106
  424. package/src/@claude-flow/shared/dist/plugins/official/hive-mind-plugin.js +0 -241
  425. package/src/@claude-flow/shared/dist/plugins/official/index.d.ts +0 -10
  426. package/src/@claude-flow/shared/dist/plugins/official/index.js +0 -10
  427. package/src/@claude-flow/shared/dist/plugins/official/maestro-plugin.d.ts +0 -121
  428. package/src/@claude-flow/shared/dist/plugins/official/maestro-plugin.js +0 -355
  429. package/src/@claude-flow/shared/dist/plugins/types.d.ts +0 -93
  430. package/src/@claude-flow/shared/dist/plugins/types.js +0 -9
  431. package/src/@claude-flow/shared/dist/resilience/bulkhead.d.ts +0 -105
  432. package/src/@claude-flow/shared/dist/resilience/bulkhead.js +0 -206
  433. package/src/@claude-flow/shared/dist/resilience/circuit-breaker.d.ts +0 -132
  434. package/src/@claude-flow/shared/dist/resilience/circuit-breaker.js +0 -233
  435. package/src/@claude-flow/shared/dist/resilience/index.d.ts +0 -19
  436. package/src/@claude-flow/shared/dist/resilience/index.js +0 -19
  437. package/src/@claude-flow/shared/dist/resilience/rate-limiter.d.ts +0 -168
  438. package/src/@claude-flow/shared/dist/resilience/rate-limiter.js +0 -314
  439. package/src/@claude-flow/shared/dist/resilience/retry.d.ts +0 -91
  440. package/src/@claude-flow/shared/dist/resilience/retry.js +0 -159
  441. package/src/@claude-flow/shared/dist/security/index.d.ts +0 -10
  442. package/src/@claude-flow/shared/dist/security/index.js +0 -12
  443. package/src/@claude-flow/shared/dist/security/input-validation.d.ts +0 -73
  444. package/src/@claude-flow/shared/dist/security/input-validation.js +0 -201
  445. package/src/@claude-flow/shared/dist/security/secure-random.d.ts +0 -92
  446. package/src/@claude-flow/shared/dist/security/secure-random.js +0 -142
  447. package/src/@claude-flow/shared/dist/services/index.d.ts +0 -7
  448. package/src/@claude-flow/shared/dist/services/index.js +0 -7
  449. package/src/@claude-flow/shared/dist/services/v3-progress.service.d.ts +0 -124
  450. package/src/@claude-flow/shared/dist/services/v3-progress.service.js +0 -402
  451. package/src/@claude-flow/shared/dist/types/agent.types.d.ts +0 -137
  452. package/src/@claude-flow/shared/dist/types/agent.types.js +0 -6
  453. package/src/@claude-flow/shared/dist/types/index.d.ts +0 -11
  454. package/src/@claude-flow/shared/dist/types/index.js +0 -17
  455. package/src/@claude-flow/shared/dist/types/mcp.types.d.ts +0 -266
  456. package/src/@claude-flow/shared/dist/types/mcp.types.js +0 -7
  457. package/src/@claude-flow/shared/dist/types/memory.types.d.ts +0 -236
  458. package/src/@claude-flow/shared/dist/types/memory.types.js +0 -7
  459. package/src/@claude-flow/shared/dist/types/swarm.types.d.ts +0 -186
  460. package/src/@claude-flow/shared/dist/types/swarm.types.js +0 -65
  461. package/src/@claude-flow/shared/dist/types/task.types.d.ts +0 -178
  462. package/src/@claude-flow/shared/dist/types/task.types.js +0 -32
  463. package/src/@claude-flow/shared/dist/types.d.ts +0 -197
  464. package/src/@claude-flow/shared/dist/types.js +0 -21
  465. package/src/@claude-flow/shared/dist/utils/secure-logger.d.ts +0 -69
  466. package/src/@claude-flow/shared/dist/utils/secure-logger.js +0 -208
@@ -0,0 +1,233 @@
1
+ /**
2
+ * Coherence Scheduler & Economic Governor
3
+ *
4
+ * Detects drift in agent behavior and enforces resource budgets.
5
+ *
6
+ * CoherenceScheduler:
7
+ * - Computes a coherence score from violation rate, rework, and intent drift
8
+ * - Maps scores to privilege levels (full, restricted, read-only, suspended)
9
+ * - Tracks score history and provides human-readable recommendations
10
+ *
11
+ * EconomicGovernor:
12
+ * - Tracks token usage, tool calls, storage, and time
13
+ * - Checks budgets and emits alerts when thresholds are crossed
14
+ * - Estimates remaining capacity and costs
15
+ *
16
+ * @module @claude-flow/guidance/coherence
17
+ */
18
+ import type { RunEvent, OptimizationMetrics } from './types.js';
19
+ /**
20
+ * Coherence score computed from recent run metrics and events
21
+ */
22
+ export interface CoherenceScore {
23
+ /** Overall coherence (0-1, 1 = perfectly coherent) */
24
+ overall: number;
25
+ /** Violation component (0-1, lower violations = higher score) */
26
+ violationComponent: number;
27
+ /** Rework component (0-1, lower rework = higher score) */
28
+ reworkComponent: number;
29
+ /** Drift component (0-1, consistent intents = higher score) */
30
+ driftComponent: number;
31
+ /** Timestamp when this score was computed */
32
+ timestamp: number;
33
+ /** Number of events evaluated in the window */
34
+ windowSize: number;
35
+ }
36
+ /**
37
+ * Thresholds for privilege level determination
38
+ */
39
+ export interface CoherenceThresholds {
40
+ /** Below this overall score the agent is restricted to read-only */
41
+ readOnlyThreshold: number;
42
+ /** Below this overall score warnings are emitted */
43
+ warningThreshold: number;
44
+ /** Above this overall score the agent has full privileges */
45
+ healthyThreshold: number;
46
+ /** Above this overall score privilege escalation is allowed */
47
+ privilegeEscalationThreshold: number;
48
+ }
49
+ /**
50
+ * Privilege level derived from a coherence score
51
+ */
52
+ export type PrivilegeLevel = 'full' | 'restricted' | 'read-only' | 'suspended';
53
+ /**
54
+ * Budget usage breakdown across all tracked dimensions
55
+ */
56
+ export interface BudgetUsage {
57
+ tokens: {
58
+ used: number;
59
+ limit: number;
60
+ percentage: number;
61
+ };
62
+ toolCalls: {
63
+ used: number;
64
+ limit: number;
65
+ percentage: number;
66
+ };
67
+ storage: {
68
+ usedBytes: number;
69
+ limitBytes: number;
70
+ percentage: number;
71
+ };
72
+ time: {
73
+ usedMs: number;
74
+ limitMs: number;
75
+ percentage: number;
76
+ };
77
+ cost: {
78
+ totalUsd: number;
79
+ limitUsd: number;
80
+ percentage: number;
81
+ };
82
+ }
83
+ export interface CoherenceSchedulerConfig {
84
+ thresholds?: Partial<CoherenceThresholds>;
85
+ windowSize?: number;
86
+ checkIntervalMs?: number;
87
+ }
88
+ /**
89
+ * Computes coherence scores from run metrics and events, determines privilege
90
+ * levels, and provides recommendations when drift is detected.
91
+ */
92
+ export declare class CoherenceScheduler {
93
+ private readonly thresholds;
94
+ private readonly windowSize;
95
+ private readonly checkIntervalMs;
96
+ private readonly scoreHistory;
97
+ private static readonly MAX_HISTORY;
98
+ constructor(config?: CoherenceSchedulerConfig);
99
+ /**
100
+ * Compute a coherence score from optimization metrics and recent events.
101
+ *
102
+ * Components:
103
+ * - violationComponent: 1 - (violationRate / 10) clamped to [0, 1]
104
+ * - reworkComponent: 1 - (reworkLines / 100) clamped to [0, 1]
105
+ * - driftComponent: intent consistency (fewer unique intents relative to window = higher)
106
+ * - overall: weighted average (0.4 * violation + 0.3 * rework + 0.3 * drift)
107
+ */
108
+ computeCoherence(metrics: OptimizationMetrics, recentEvents: RunEvent[]): CoherenceScore;
109
+ /**
110
+ * Determine the privilege level from a coherence score.
111
+ *
112
+ * - overall >= healthyThreshold (0.7): 'full'
113
+ * - overall >= warningThreshold (0.5): 'restricted'
114
+ * - overall >= readOnlyThreshold (0.3): 'read-only'
115
+ * - below readOnlyThreshold: 'suspended'
116
+ */
117
+ getPrivilegeLevel(score: CoherenceScore): PrivilegeLevel;
118
+ /**
119
+ * Return the last 100 coherence scores (most recent last).
120
+ */
121
+ getScoreHistory(): CoherenceScore[];
122
+ /**
123
+ * Whether the score indicates healthy coherence.
124
+ */
125
+ isHealthy(score: CoherenceScore): boolean;
126
+ /**
127
+ * Whether the score indicates drift (below warning threshold).
128
+ */
129
+ isDrifting(score: CoherenceScore): boolean;
130
+ /**
131
+ * Whether the score warrants restricting agent actions.
132
+ */
133
+ shouldRestrict(score: CoherenceScore): boolean;
134
+ /**
135
+ * Produce a human-readable recommendation based on the coherence score.
136
+ */
137
+ getRecommendation(score: CoherenceScore): string;
138
+ /**
139
+ * Get the configured check interval in milliseconds.
140
+ */
141
+ get interval(): number;
142
+ /**
143
+ * Get the configured thresholds.
144
+ */
145
+ getThresholds(): CoherenceThresholds;
146
+ }
147
+ export interface EconomicGovernorConfig {
148
+ tokenLimit?: number;
149
+ toolCallLimit?: number;
150
+ storageLimit?: number;
151
+ timeLimit?: number;
152
+ costPerToken?: number;
153
+ costPerToolCall?: number;
154
+ costLimit?: number;
155
+ }
156
+ interface ToolCallRecord {
157
+ toolName: string;
158
+ durationMs: number;
159
+ timestamp: number;
160
+ }
161
+ /**
162
+ * Tracks resource consumption (tokens, tool calls, storage, time, cost)
163
+ * and enforces budget limits with alerts.
164
+ */
165
+ export declare class EconomicGovernor {
166
+ private readonly config;
167
+ private tokensUsed;
168
+ private toolCallsUsed;
169
+ private storageUsed;
170
+ private readonly toolCallLog;
171
+ private readonly startTime;
172
+ private periodStart;
173
+ private static readonly ALERT_THRESHOLDS;
174
+ constructor(config?: EconomicGovernorConfig);
175
+ /**
176
+ * Record token consumption.
177
+ */
178
+ recordTokenUsage(count: number): void;
179
+ /**
180
+ * Record a tool call with its name and duration.
181
+ */
182
+ recordToolCall(toolName: string, durationMs: number): void;
183
+ /**
184
+ * Record storage usage in bytes.
185
+ */
186
+ recordStorageUsage(bytes: number): void;
187
+ /**
188
+ * Check whether current usage is within budget limits.
189
+ * Returns a summary with alerts for any limits that are near or exceeded.
190
+ */
191
+ checkBudget(): {
192
+ withinBudget: boolean;
193
+ usage: BudgetUsage;
194
+ alerts: string[];
195
+ };
196
+ /**
197
+ * Get a full usage summary across all tracked dimensions.
198
+ */
199
+ getUsageSummary(): BudgetUsage;
200
+ /**
201
+ * Reset all counters for a new billing/tracking period.
202
+ */
203
+ resetPeriod(): void;
204
+ /**
205
+ * Estimate remaining capacity before hitting limits.
206
+ */
207
+ estimateRemainingCapacity(): {
208
+ tokensRemaining: number;
209
+ callsRemaining: number;
210
+ timeRemainingMs: number;
211
+ };
212
+ /**
213
+ * Compute a cost estimate with a breakdown by category.
214
+ */
215
+ getCostEstimate(): {
216
+ totalCost: number;
217
+ breakdown: Record<string, number>;
218
+ };
219
+ /**
220
+ * Get the raw tool call log.
221
+ */
222
+ getToolCallLog(): ReadonlyArray<ToolCallRecord>;
223
+ }
224
+ /**
225
+ * Create a CoherenceScheduler with optional configuration.
226
+ */
227
+ export declare function createCoherenceScheduler(config?: CoherenceSchedulerConfig): CoherenceScheduler;
228
+ /**
229
+ * Create an EconomicGovernor with optional configuration.
230
+ */
231
+ export declare function createEconomicGovernor(config?: EconomicGovernorConfig): EconomicGovernor;
232
+ export {};
233
+ //# sourceMappingURL=coherence.d.ts.map
@@ -0,0 +1,372 @@
1
+ /**
2
+ * Coherence Scheduler & Economic Governor
3
+ *
4
+ * Detects drift in agent behavior and enforces resource budgets.
5
+ *
6
+ * CoherenceScheduler:
7
+ * - Computes a coherence score from violation rate, rework, and intent drift
8
+ * - Maps scores to privilege levels (full, restricted, read-only, suspended)
9
+ * - Tracks score history and provides human-readable recommendations
10
+ *
11
+ * EconomicGovernor:
12
+ * - Tracks token usage, tool calls, storage, and time
13
+ * - Checks budgets and emits alerts when thresholds are crossed
14
+ * - Estimates remaining capacity and costs
15
+ *
16
+ * @module @claude-flow/guidance/coherence
17
+ */
18
+ // ============================================================================
19
+ // Default Configurations
20
+ // ============================================================================
21
+ const DEFAULT_THRESHOLDS = {
22
+ readOnlyThreshold: 0.3,
23
+ warningThreshold: 0.5,
24
+ healthyThreshold: 0.7,
25
+ privilegeEscalationThreshold: 0.9,
26
+ };
27
+ const DEFAULT_ECONOMIC_CONFIG = {
28
+ tokenLimit: 1_000_000,
29
+ toolCallLimit: 10_000,
30
+ storageLimit: 1_073_741_824, // 1 GiB
31
+ timeLimit: 3_600_000, // 1 hour
32
+ costPerToken: 0.000003, // $3 per million tokens
33
+ costPerToolCall: 0.0001,
34
+ costLimit: 10, // $10 USD
35
+ };
36
+ /**
37
+ * Computes coherence scores from run metrics and events, determines privilege
38
+ * levels, and provides recommendations when drift is detected.
39
+ */
40
+ export class CoherenceScheduler {
41
+ thresholds;
42
+ windowSize;
43
+ checkIntervalMs;
44
+ scoreHistory = [];
45
+ static MAX_HISTORY = 100;
46
+ constructor(config = {}) {
47
+ this.thresholds = { ...DEFAULT_THRESHOLDS, ...config.thresholds };
48
+ this.windowSize = config.windowSize ?? 20;
49
+ this.checkIntervalMs = config.checkIntervalMs ?? 30_000;
50
+ }
51
+ /**
52
+ * Compute a coherence score from optimization metrics and recent events.
53
+ *
54
+ * Components:
55
+ * - violationComponent: 1 - (violationRate / 10) clamped to [0, 1]
56
+ * - reworkComponent: 1 - (reworkLines / 100) clamped to [0, 1]
57
+ * - driftComponent: intent consistency (fewer unique intents relative to window = higher)
58
+ * - overall: weighted average (0.4 * violation + 0.3 * rework + 0.3 * drift)
59
+ */
60
+ computeCoherence(metrics, recentEvents) {
61
+ const window = recentEvents.slice(-this.windowSize);
62
+ const windowLen = window.length;
63
+ // Violation component: fewer violations per 10 tasks = better
64
+ const violationComponent = clamp(1 - metrics.violationRate / 10, 0, 1);
65
+ // Rework component: fewer rework lines on average = better
66
+ const reworkComponent = clamp(1 - metrics.reworkLines / 100, 0, 1);
67
+ // Drift component: consistent intents = better
68
+ // A single unique intent across N events means perfect consistency
69
+ let driftComponent;
70
+ if (windowLen === 0) {
71
+ driftComponent = 1; // No events, assume no drift
72
+ }
73
+ else {
74
+ const uniqueIntents = new Set(window.map(e => e.intent)).size;
75
+ // 1 unique intent / N events = score 1; N unique / N events = score approaches 0
76
+ driftComponent = clamp(1 - (uniqueIntents - 1) / Math.max(windowLen - 1, 1), 0, 1);
77
+ }
78
+ const overall = 0.4 * violationComponent +
79
+ 0.3 * reworkComponent +
80
+ 0.3 * driftComponent;
81
+ const score = {
82
+ overall,
83
+ violationComponent,
84
+ reworkComponent,
85
+ driftComponent,
86
+ timestamp: Date.now(),
87
+ windowSize: windowLen,
88
+ };
89
+ this.scoreHistory.push(score);
90
+ if (this.scoreHistory.length > CoherenceScheduler.MAX_HISTORY) {
91
+ this.scoreHistory.shift();
92
+ }
93
+ return score;
94
+ }
95
+ /**
96
+ * Determine the privilege level from a coherence score.
97
+ *
98
+ * - overall >= healthyThreshold (0.7): 'full'
99
+ * - overall >= warningThreshold (0.5): 'restricted'
100
+ * - overall >= readOnlyThreshold (0.3): 'read-only'
101
+ * - below readOnlyThreshold: 'suspended'
102
+ */
103
+ getPrivilegeLevel(score) {
104
+ if (score.overall >= this.thresholds.healthyThreshold) {
105
+ return 'full';
106
+ }
107
+ if (score.overall >= this.thresholds.warningThreshold) {
108
+ return 'restricted';
109
+ }
110
+ if (score.overall >= this.thresholds.readOnlyThreshold) {
111
+ return 'read-only';
112
+ }
113
+ return 'suspended';
114
+ }
115
+ /**
116
+ * Return the last 100 coherence scores (most recent last).
117
+ */
118
+ getScoreHistory() {
119
+ return [...this.scoreHistory];
120
+ }
121
+ /**
122
+ * Whether the score indicates healthy coherence.
123
+ */
124
+ isHealthy(score) {
125
+ return score.overall >= this.thresholds.healthyThreshold;
126
+ }
127
+ /**
128
+ * Whether the score indicates drift (below warning threshold).
129
+ */
130
+ isDrifting(score) {
131
+ return score.overall < this.thresholds.warningThreshold;
132
+ }
133
+ /**
134
+ * Whether the score warrants restricting agent actions.
135
+ */
136
+ shouldRestrict(score) {
137
+ return score.overall < this.thresholds.warningThreshold;
138
+ }
139
+ /**
140
+ * Produce a human-readable recommendation based on the coherence score.
141
+ */
142
+ getRecommendation(score) {
143
+ const level = this.getPrivilegeLevel(score);
144
+ const parts = [];
145
+ switch (level) {
146
+ case 'full':
147
+ parts.push(`Coherence is healthy at ${(score.overall * 100).toFixed(1)}%.`);
148
+ if (score.overall >= this.thresholds.privilegeEscalationThreshold) {
149
+ parts.push('Privilege escalation is permitted.');
150
+ }
151
+ break;
152
+ case 'restricted':
153
+ parts.push(`Coherence is degraded at ${(score.overall * 100).toFixed(1)}%. Agent privileges are restricted.`);
154
+ break;
155
+ case 'read-only':
156
+ parts.push(`Coherence is critically low at ${(score.overall * 100).toFixed(1)}%. Agent is limited to read-only operations.`);
157
+ break;
158
+ case 'suspended':
159
+ parts.push(`Coherence has collapsed to ${(score.overall * 100).toFixed(1)}%. Agent operations are suspended.`);
160
+ break;
161
+ }
162
+ // Add component-specific advice
163
+ if (score.violationComponent < 0.5) {
164
+ parts.push(`High violation rate detected (component: ${(score.violationComponent * 100).toFixed(0)}%). Review and strengthen enforcement gates.`);
165
+ }
166
+ if (score.reworkComponent < 0.5) {
167
+ parts.push(`Excessive rework detected (component: ${(score.reworkComponent * 100).toFixed(0)}%). Consider more prescriptive guidance or smaller task scopes.`);
168
+ }
169
+ if (score.driftComponent < 0.5) {
170
+ parts.push(`Intent drift detected (component: ${(score.driftComponent * 100).toFixed(0)}%). Agent is switching between too many task types. Focus on a single objective.`);
171
+ }
172
+ return parts.join(' ');
173
+ }
174
+ /**
175
+ * Get the configured check interval in milliseconds.
176
+ */
177
+ get interval() {
178
+ return this.checkIntervalMs;
179
+ }
180
+ /**
181
+ * Get the configured thresholds.
182
+ */
183
+ getThresholds() {
184
+ return { ...this.thresholds };
185
+ }
186
+ }
187
+ /**
188
+ * Tracks resource consumption (tokens, tool calls, storage, time, cost)
189
+ * and enforces budget limits with alerts.
190
+ */
191
+ export class EconomicGovernor {
192
+ config;
193
+ tokensUsed = 0;
194
+ toolCallsUsed = 0;
195
+ storageUsed = 0;
196
+ toolCallLog = [];
197
+ startTime;
198
+ periodStart;
199
+ static ALERT_THRESHOLDS = [0.75, 0.9, 0.95, 1.0];
200
+ constructor(config = {}) {
201
+ this.config = {
202
+ tokenLimit: config.tokenLimit ?? DEFAULT_ECONOMIC_CONFIG.tokenLimit,
203
+ toolCallLimit: config.toolCallLimit ?? DEFAULT_ECONOMIC_CONFIG.toolCallLimit,
204
+ storageLimit: config.storageLimit ?? DEFAULT_ECONOMIC_CONFIG.storageLimit,
205
+ timeLimit: config.timeLimit ?? DEFAULT_ECONOMIC_CONFIG.timeLimit,
206
+ costPerToken: config.costPerToken ?? DEFAULT_ECONOMIC_CONFIG.costPerToken,
207
+ costPerToolCall: config.costPerToolCall ?? DEFAULT_ECONOMIC_CONFIG.costPerToolCall,
208
+ costLimit: config.costLimit ?? DEFAULT_ECONOMIC_CONFIG.costLimit,
209
+ };
210
+ this.startTime = Date.now();
211
+ this.periodStart = Date.now();
212
+ }
213
+ /**
214
+ * Record token consumption.
215
+ */
216
+ recordTokenUsage(count) {
217
+ this.tokensUsed += count;
218
+ }
219
+ /**
220
+ * Record a tool call with its name and duration.
221
+ */
222
+ recordToolCall(toolName, durationMs) {
223
+ this.toolCallsUsed++;
224
+ this.toolCallLog.push({
225
+ toolName,
226
+ durationMs,
227
+ timestamp: Date.now(),
228
+ });
229
+ }
230
+ /**
231
+ * Record storage usage in bytes.
232
+ */
233
+ recordStorageUsage(bytes) {
234
+ this.storageUsed += bytes;
235
+ }
236
+ /**
237
+ * Check whether current usage is within budget limits.
238
+ * Returns a summary with alerts for any limits that are near or exceeded.
239
+ */
240
+ checkBudget() {
241
+ const usage = this.getUsageSummary();
242
+ const alerts = [];
243
+ // Check each dimension against alert thresholds
244
+ const dimensions = [
245
+ { name: 'tokens', percentage: usage.tokens.percentage },
246
+ { name: 'tool calls', percentage: usage.toolCalls.percentage },
247
+ { name: 'storage', percentage: usage.storage.percentage },
248
+ { name: 'time', percentage: usage.time.percentage },
249
+ { name: 'cost', percentage: usage.cost.percentage },
250
+ ];
251
+ let withinBudget = true;
252
+ for (const dim of dimensions) {
253
+ if (dim.percentage >= 100) {
254
+ alerts.push(`BUDGET EXCEEDED: ${dim.name} at ${dim.percentage.toFixed(1)}% of limit`);
255
+ withinBudget = false;
256
+ }
257
+ else if (dim.percentage >= 95) {
258
+ alerts.push(`CRITICAL: ${dim.name} at ${dim.percentage.toFixed(1)}% of limit`);
259
+ }
260
+ else if (dim.percentage >= 90) {
261
+ alerts.push(`WARNING: ${dim.name} at ${dim.percentage.toFixed(1)}% of limit`);
262
+ }
263
+ else if (dim.percentage >= 75) {
264
+ alerts.push(`NOTICE: ${dim.name} at ${dim.percentage.toFixed(1)}% of limit`);
265
+ }
266
+ }
267
+ return { withinBudget, usage, alerts };
268
+ }
269
+ /**
270
+ * Get a full usage summary across all tracked dimensions.
271
+ */
272
+ getUsageSummary() {
273
+ const elapsedMs = Date.now() - this.periodStart;
274
+ const costEstimate = this.getCostEstimate();
275
+ return {
276
+ tokens: {
277
+ used: this.tokensUsed,
278
+ limit: this.config.tokenLimit,
279
+ percentage: safePercentage(this.tokensUsed, this.config.tokenLimit),
280
+ },
281
+ toolCalls: {
282
+ used: this.toolCallsUsed,
283
+ limit: this.config.toolCallLimit,
284
+ percentage: safePercentage(this.toolCallsUsed, this.config.toolCallLimit),
285
+ },
286
+ storage: {
287
+ usedBytes: this.storageUsed,
288
+ limitBytes: this.config.storageLimit,
289
+ percentage: safePercentage(this.storageUsed, this.config.storageLimit),
290
+ },
291
+ time: {
292
+ usedMs: elapsedMs,
293
+ limitMs: this.config.timeLimit,
294
+ percentage: safePercentage(elapsedMs, this.config.timeLimit),
295
+ },
296
+ cost: {
297
+ totalUsd: costEstimate.totalCost,
298
+ limitUsd: this.config.costLimit,
299
+ percentage: safePercentage(costEstimate.totalCost, this.config.costLimit),
300
+ },
301
+ };
302
+ }
303
+ /**
304
+ * Reset all counters for a new billing/tracking period.
305
+ */
306
+ resetPeriod() {
307
+ this.tokensUsed = 0;
308
+ this.toolCallsUsed = 0;
309
+ this.storageUsed = 0;
310
+ this.toolCallLog.length = 0;
311
+ this.periodStart = Date.now();
312
+ }
313
+ /**
314
+ * Estimate remaining capacity before hitting limits.
315
+ */
316
+ estimateRemainingCapacity() {
317
+ const elapsedMs = Date.now() - this.periodStart;
318
+ return {
319
+ tokensRemaining: Math.max(0, this.config.tokenLimit - this.tokensUsed),
320
+ callsRemaining: Math.max(0, this.config.toolCallLimit - this.toolCallsUsed),
321
+ timeRemainingMs: Math.max(0, this.config.timeLimit - elapsedMs),
322
+ };
323
+ }
324
+ /**
325
+ * Compute a cost estimate with a breakdown by category.
326
+ */
327
+ getCostEstimate() {
328
+ const tokenCost = this.tokensUsed * this.config.costPerToken;
329
+ const toolCallCost = this.toolCallsUsed * this.config.costPerToolCall;
330
+ const breakdown = {
331
+ tokens: tokenCost,
332
+ toolCalls: toolCallCost,
333
+ };
334
+ return {
335
+ totalCost: tokenCost + toolCallCost,
336
+ breakdown,
337
+ };
338
+ }
339
+ /**
340
+ * Get the raw tool call log.
341
+ */
342
+ getToolCallLog() {
343
+ return this.toolCallLog;
344
+ }
345
+ }
346
+ // ============================================================================
347
+ // Factory Functions
348
+ // ============================================================================
349
+ /**
350
+ * Create a CoherenceScheduler with optional configuration.
351
+ */
352
+ export function createCoherenceScheduler(config) {
353
+ return new CoherenceScheduler(config);
354
+ }
355
+ /**
356
+ * Create an EconomicGovernor with optional configuration.
357
+ */
358
+ export function createEconomicGovernor(config) {
359
+ return new EconomicGovernor(config);
360
+ }
361
+ // ============================================================================
362
+ // Helpers
363
+ // ============================================================================
364
+ function clamp(value, min, max) {
365
+ return Math.min(max, Math.max(min, value));
366
+ }
367
+ function safePercentage(used, limit) {
368
+ if (limit <= 0)
369
+ return 0;
370
+ return (used / limit) * 100;
371
+ }
372
+ //# sourceMappingURL=coherence.js.map
@@ -0,0 +1,87 @@
1
+ /**
2
+ * Guidance Compiler
3
+ *
4
+ * Parses root CLAUDE.md and optional CLAUDE.local.md into a compiled policy bundle:
5
+ * 1. A small always-loaded constitution (first 30-60 lines of invariants)
6
+ * 2. A set of task-scoped rule shards tagged by intent, risk, domain, repo path, tool class
7
+ * 3. A machine-readable manifest with rule IDs, triggers, and verifiers
8
+ *
9
+ * @module @claude-flow/guidance/compiler
10
+ */
11
+ import type { GuidanceRule, PolicyBundle, RiskClass } from './types.js';
12
+ export interface CompilerConfig {
13
+ /** Maximum lines for constitution */
14
+ maxConstitutionLines: number;
15
+ /** Default risk class */
16
+ defaultRiskClass: RiskClass;
17
+ /** Default priority */
18
+ defaultPriority: number;
19
+ /** Auto-generate rule IDs for untagged rules */
20
+ autoGenerateIds: boolean;
21
+ }
22
+ export declare class GuidanceCompiler {
23
+ private config;
24
+ private nextAutoId;
25
+ constructor(config?: Partial<CompilerConfig>);
26
+ /**
27
+ * Compile guidance files into a policy bundle
28
+ */
29
+ compile(rootContent: string, localContent?: string): PolicyBundle;
30
+ /**
31
+ * Parse a guidance markdown file into rules
32
+ */
33
+ parseGuidanceFile(content: string, source: 'root' | 'local'): GuidanceRule[];
34
+ /**
35
+ * Extract rules from a content block
36
+ */
37
+ private extractRulesFromBlock;
38
+ /**
39
+ * Extract implicit rules from bullet points and paragraphs
40
+ */
41
+ private extractImplicitRules;
42
+ /**
43
+ * Check if text represents an actionable rule
44
+ */
45
+ private isActionableRule;
46
+ /**
47
+ * Parse a single rule from its text content
48
+ */
49
+ private parseRule;
50
+ /**
51
+ * Infer intents from rule text
52
+ */
53
+ private inferIntents;
54
+ /**
55
+ * Infer domains from rule text
56
+ */
57
+ private inferDomains;
58
+ /**
59
+ * Merge root and local rules, local overrides root for same ID
60
+ */
61
+ private mergeRules;
62
+ /**
63
+ * Build the constitution from constitution-class rules
64
+ */
65
+ private buildConstitution;
66
+ /**
67
+ * Build shards from non-constitution rules
68
+ */
69
+ private buildShards;
70
+ /**
71
+ * Build compact text for a shard
72
+ */
73
+ private buildCompactShardText;
74
+ /**
75
+ * Build the manifest
76
+ */
77
+ private buildManifest;
78
+ /**
79
+ * Hash content for change detection
80
+ */
81
+ private hashContent;
82
+ }
83
+ /**
84
+ * Create a compiler instance
85
+ */
86
+ export declare function createCompiler(config?: Partial<CompilerConfig>): GuidanceCompiler;
87
+ //# sourceMappingURL=compiler.d.ts.map