monomind 1.11.11 → 1.11.13

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 (227) hide show
  1. package/.claude/commands/mastermind/idea.md +1 -1
  2. package/.claude/commands/mastermind/master.md +1 -1
  3. package/.claude/skills/mastermind/_protocol.md +4 -4
  4. package/.claude/skills/mastermind/architect.md +7 -4
  5. package/.claude/skills/mastermind/autodev.md +4 -2
  6. package/.claude/skills/mastermind/build.md +3 -3
  7. package/.claude/skills/mastermind/content.md +3 -3
  8. package/.claude/skills/mastermind/createorg.md +2 -2
  9. package/.claude/skills/mastermind/finance.md +3 -3
  10. package/.claude/skills/mastermind/idea.md +8 -0
  11. package/.claude/skills/mastermind/marketing.md +3 -3
  12. package/.claude/skills/mastermind/ops.md +3 -3
  13. package/.claude/skills/mastermind/release.md +3 -3
  14. package/.claude/skills/mastermind/research.md +3 -3
  15. package/.claude/skills/mastermind/review.md +3 -3
  16. package/.claude/skills/mastermind/sales.md +3 -3
  17. package/package.json +1 -1
  18. package/packages/@monomind/cli/dist/src/index.js +19 -14
  19. package/packages/@monomind/cli/dist/src/init/statusline-generator.js +3 -3
  20. package/packages/@monomind/cli/dist/src/observability/replay-reader.d.ts +1 -1
  21. package/packages/@monomind/cli/dist/src/update/checker.js +24 -7
  22. package/packages/@monomind/cli/dist/src/update/index.d.ts +10 -0
  23. package/packages/@monomind/cli/dist/src/update/index.js +29 -2
  24. package/packages/@monomind/cli/package.json +1 -1
  25. package/packages/@monomind/cli/dist/src/agents/halt-signal.d.ts +0 -25
  26. package/packages/@monomind/cli/dist/src/agents/halt-signal.js +0 -76
  27. package/packages/@monomind/cli/dist/src/agents/index.d.ts +0 -18
  28. package/packages/@monomind/cli/dist/src/agents/index.js +0 -13
  29. package/packages/@monomind/cli/dist/src/agents/managed-agent.d.ts +0 -41
  30. package/packages/@monomind/cli/dist/src/agents/managed-agent.js +0 -69
  31. package/packages/@monomind/cli/dist/src/agents/prompt-experiment.d.ts +0 -23
  32. package/packages/@monomind/cli/dist/src/agents/prompt-experiment.js +0 -49
  33. package/packages/@monomind/cli/dist/src/agents/prompt-version-manager.d.ts +0 -22
  34. package/packages/@monomind/cli/dist/src/agents/prompt-version-manager.js +0 -80
  35. package/packages/@monomind/cli/dist/src/agents/registry-query.d.ts +0 -71
  36. package/packages/@monomind/cli/dist/src/agents/registry-query.js +0 -125
  37. package/packages/@monomind/cli/dist/src/agents/score-decay.d.ts +0 -19
  38. package/packages/@monomind/cli/dist/src/agents/score-decay.js +0 -22
  39. package/packages/@monomind/cli/dist/src/agents/shared-instructions-loader.d.ts +0 -13
  40. package/packages/@monomind/cli/dist/src/agents/shared-instructions-loader.js +0 -40
  41. package/packages/@monomind/cli/dist/src/agents/specialization-scorer.d.ts +0 -54
  42. package/packages/@monomind/cli/dist/src/agents/specialization-scorer.js +0 -212
  43. package/packages/@monomind/cli/dist/src/agents/termination-watcher.d.ts +0 -30
  44. package/packages/@monomind/cli/dist/src/agents/termination-watcher.js +0 -84
  45. package/packages/@monomind/cli/dist/src/agents/trigger-index.d.ts +0 -20
  46. package/packages/@monomind/cli/dist/src/agents/trigger-index.js +0 -38
  47. package/packages/@monomind/cli/dist/src/agents/trigger-scanner.d.ts +0 -64
  48. package/packages/@monomind/cli/dist/src/agents/trigger-scanner.js +0 -308
  49. package/packages/@monomind/cli/dist/src/agents/version-diff.d.ts +0 -18
  50. package/packages/@monomind/cli/dist/src/agents/version-diff.js +0 -64
  51. package/packages/@monomind/cli/dist/src/agents/version-store.d.ts +0 -60
  52. package/packages/@monomind/cli/dist/src/agents/version-store.js +0 -235
  53. package/packages/@monomind/cli/dist/src/benchmarks/pretrain/index.d.ts +0 -45
  54. package/packages/@monomind/cli/dist/src/benchmarks/pretrain/index.js +0 -404
  55. package/packages/@monomind/cli/dist/src/commands/agent-wasm.d.ts +0 -14
  56. package/packages/@monomind/cli/dist/src/commands/agent-wasm.js +0 -333
  57. package/packages/@monomind/cli/dist/src/commands/ui.js +0 -68
  58. package/packages/@monomind/cli/dist/src/consensus/index.d.ts +0 -7
  59. package/packages/@monomind/cli/dist/src/consensus/index.js +0 -6
  60. package/packages/@monomind/cli/dist/src/context/context-provider.d.ts +0 -44
  61. package/packages/@monomind/cli/dist/src/context/context-provider.js +0 -25
  62. package/packages/@monomind/cli/dist/src/context/git-state-provider.d.ts +0 -12
  63. package/packages/@monomind/cli/dist/src/context/git-state-provider.js +0 -34
  64. package/packages/@monomind/cli/dist/src/context/index.d.ts +0 -12
  65. package/packages/@monomind/cli/dist/src/context/index.js +0 -12
  66. package/packages/@monomind/cli/dist/src/context/project-conventions-provider.d.ts +0 -15
  67. package/packages/@monomind/cli/dist/src/context/project-conventions-provider.js +0 -19
  68. package/packages/@monomind/cli/dist/src/context/prompt-assembler.d.ts +0 -26
  69. package/packages/@monomind/cli/dist/src/context/prompt-assembler.js +0 -93
  70. package/packages/@monomind/cli/dist/src/context/task-history-provider.d.ts +0 -24
  71. package/packages/@monomind/cli/dist/src/context/task-history-provider.js +0 -32
  72. package/packages/@monomind/cli/dist/src/context/user-preferences-provider.d.ts +0 -14
  73. package/packages/@monomind/cli/dist/src/context/user-preferences-provider.js +0 -27
  74. package/packages/@monomind/cli/dist/src/dlq/dlq-reader.d.ts +0 -31
  75. package/packages/@monomind/cli/dist/src/dlq/dlq-reader.js +0 -81
  76. package/packages/@monomind/cli/dist/src/dlq/dlq-writer.d.ts +0 -24
  77. package/packages/@monomind/cli/dist/src/dlq/dlq-writer.js +0 -65
  78. package/packages/@monomind/cli/dist/src/dlq/index.d.ts +0 -10
  79. package/packages/@monomind/cli/dist/src/dlq/index.js +0 -7
  80. package/packages/@monomind/cli/dist/src/eval/dataset-manager.d.ts +0 -33
  81. package/packages/@monomind/cli/dist/src/eval/dataset-manager.js +0 -107
  82. package/packages/@monomind/cli/dist/src/eval/dataset-runner.d.ts +0 -23
  83. package/packages/@monomind/cli/dist/src/eval/dataset-runner.js +0 -59
  84. package/packages/@monomind/cli/dist/src/eval/index.d.ts +0 -10
  85. package/packages/@monomind/cli/dist/src/eval/index.js +0 -7
  86. package/packages/@monomind/cli/dist/src/eval/trace-collector.d.ts +0 -40
  87. package/packages/@monomind/cli/dist/src/eval/trace-collector.js +0 -102
  88. package/packages/@monomind/cli/dist/src/infrastructure/in-memory-repositories.d.ts +0 -68
  89. package/packages/@monomind/cli/dist/src/infrastructure/in-memory-repositories.js +0 -264
  90. package/packages/@monomind/cli/dist/src/interactive/interrupt.d.ts +0 -22
  91. package/packages/@monomind/cli/dist/src/interactive/interrupt.js +0 -71
  92. package/packages/@monomind/cli/dist/src/mcp/deprecation-injector.d.ts +0 -25
  93. package/packages/@monomind/cli/dist/src/mcp/deprecation-injector.js +0 -48
  94. package/packages/@monomind/cli/dist/src/mcp/tool-registry.d.ts +0 -61
  95. package/packages/@monomind/cli/dist/src/mcp/tool-registry.js +0 -246
  96. package/packages/@monomind/cli/dist/src/mcp-tools/wasm-agent-tools.d.ts +0 -9
  97. package/packages/@monomind/cli/dist/src/mcp-tools/wasm-agent-tools.js +0 -230
  98. package/packages/@monomind/cli/dist/src/model/complexity-scorer.d.ts +0 -21
  99. package/packages/@monomind/cli/dist/src/model/complexity-scorer.js +0 -106
  100. package/packages/@monomind/cli/dist/src/model/index.d.ts +0 -4
  101. package/packages/@monomind/cli/dist/src/model/index.js +0 -4
  102. package/packages/@monomind/cli/dist/src/model/model-settings.d.ts +0 -22
  103. package/packages/@monomind/cli/dist/src/model/model-settings.js +0 -33
  104. package/packages/@monomind/cli/dist/src/model/model-tier-resolver.d.ts +0 -24
  105. package/packages/@monomind/cli/dist/src/model/model-tier-resolver.js +0 -65
  106. package/packages/@monomind/cli/dist/src/monovector/capabilities.d.ts +0 -34
  107. package/packages/@monomind/cli/dist/src/monovector/capabilities.js +0 -37
  108. package/packages/@monomind/cli/dist/src/orchestration/index.d.ts +0 -7
  109. package/packages/@monomind/cli/dist/src/orchestration/index.js +0 -6
  110. package/packages/@monomind/cli/dist/src/orchestration/mode-dispatcher.d.ts +0 -11
  111. package/packages/@monomind/cli/dist/src/orchestration/mode-dispatcher.js +0 -31
  112. package/packages/@monomind/cli/dist/src/orchestration/routing-modes.d.ts +0 -68
  113. package/packages/@monomind/cli/dist/src/orchestration/routing-modes.js +0 -180
  114. package/packages/@monomind/cli/dist/src/plugins/tests/demo-plugin-store.d.ts +0 -7
  115. package/packages/@monomind/cli/dist/src/plugins/tests/demo-plugin-store.js +0 -126
  116. package/packages/@monomind/cli/dist/src/plugins/tests/standalone-test.d.ts +0 -12
  117. package/packages/@monomind/cli/dist/src/plugins/tests/standalone-test.js +0 -188
  118. package/packages/@monomind/cli/dist/src/plugins/tests/test-plugin-store.d.ts +0 -7
  119. package/packages/@monomind/cli/dist/src/plugins/tests/test-plugin-store.js +0 -206
  120. package/packages/@monomind/cli/dist/src/runtime/headless.d.ts +0 -60
  121. package/packages/@monomind/cli/dist/src/runtime/headless.js +0 -284
  122. package/packages/@monomind/cli/dist/src/services/agentic-flow-bridge.d.ts +0 -50
  123. package/packages/@monomind/cli/dist/src/services/agentic-flow-bridge.js +0 -95
  124. package/packages/@monomind/cli/dist/src/services/container-worker-pool.d.ts +0 -197
  125. package/packages/@monomind/cli/dist/src/services/container-worker-pool.js +0 -623
  126. package/packages/@monomind/cli/dist/src/services/index.d.ts +0 -13
  127. package/packages/@monomind/cli/dist/src/services/index.js +0 -11
  128. package/packages/@monomind/cli/dist/src/services/worker-queue.d.ts +0 -201
  129. package/packages/@monomind/cli/dist/src/services/worker-queue.js +0 -594
  130. package/packages/@monomind/cli/dist/src/swarm/communication-graph.d.ts +0 -25
  131. package/packages/@monomind/cli/dist/src/swarm/communication-graph.js +0 -77
  132. package/packages/@monomind/cli/dist/src/swarm/flow-enforcer.d.ts +0 -31
  133. package/packages/@monomind/cli/dist/src/swarm/flow-enforcer.js +0 -61
  134. package/packages/@monomind/cli/dist/src/swarm/flow-visualizer.d.ts +0 -19
  135. package/packages/@monomind/cli/dist/src/swarm/flow-visualizer.js +0 -68
  136. package/packages/@monomind/cli/dist/src/transfer/deploy-seraphine.d.ts +0 -13
  137. package/packages/@monomind/cli/dist/src/transfer/deploy-seraphine.js +0 -205
  138. package/packages/@monomind/cli/dist/src/transfer/store/tests/standalone-test.d.ts +0 -12
  139. package/packages/@monomind/cli/dist/src/transfer/store/tests/standalone-test.js +0 -190
  140. package/packages/@monomind/cli/dist/src/transfer/test-seraphine.d.ts +0 -6
  141. package/packages/@monomind/cli/dist/src/transfer/test-seraphine.js +0 -105
  142. package/packages/@monomind/cli/dist/src/transfer/tests/test-store.d.ts +0 -7
  143. package/packages/@monomind/cli/dist/src/transfer/tests/test-store.js +0 -214
  144. package/packages/@monomind/cli/dist/src/workflow/condition-evaluator.d.ts +0 -10
  145. package/packages/@monomind/cli/dist/src/workflow/condition-evaluator.js +0 -82
  146. package/packages/@monomind/cli/dist/src/workflow/context-resolver.d.ts +0 -12
  147. package/packages/@monomind/cli/dist/src/workflow/context-resolver.js +0 -23
  148. package/packages/@monomind/cli/dist/src/workflow/dag-builder.d.ts +0 -17
  149. package/packages/@monomind/cli/dist/src/workflow/dag-builder.js +0 -129
  150. package/packages/@monomind/cli/dist/src/workflow/dag-executor.d.ts +0 -9
  151. package/packages/@monomind/cli/dist/src/workflow/dag-executor.js +0 -116
  152. package/packages/@monomind/cli/dist/src/workflow/dag-types.d.ts +0 -41
  153. package/packages/@monomind/cli/dist/src/workflow/dag-types.js +0 -8
  154. package/packages/@monomind/cli/dist/src/workflow/dsl-parser.d.ts +0 -12
  155. package/packages/@monomind/cli/dist/src/workflow/dsl-parser.js +0 -20
  156. package/packages/@monomind/cli/dist/src/workflow/dsl-schema.d.ts +0 -165
  157. package/packages/@monomind/cli/dist/src/workflow/dsl-schema.js +0 -82
  158. package/packages/@monomind/cli/dist/src/workflow/index.d.ts +0 -13
  159. package/packages/@monomind/cli/dist/src/workflow/index.js +0 -11
  160. package/packages/@monomind/cli/dist/src/workflow/template-engine.d.ts +0 -11
  161. package/packages/@monomind/cli/dist/src/workflow/template-engine.js +0 -40
  162. package/packages/@monomind/cli/dist/src/workflow/workflow-executor.d.ts +0 -29
  163. package/packages/@monomind/cli/dist/src/workflow/workflow-executor.js +0 -227
  164. package/packages/@monomind/guidance/dist/adversarial.d.ts +0 -284
  165. package/packages/@monomind/guidance/dist/adversarial.js +0 -572
  166. package/packages/@monomind/guidance/dist/analyzer.d.ts +0 -530
  167. package/packages/@monomind/guidance/dist/analyzer.js +0 -2518
  168. package/packages/@monomind/guidance/dist/artifacts.d.ts +0 -283
  169. package/packages/@monomind/guidance/dist/artifacts.js +0 -356
  170. package/packages/@monomind/guidance/dist/authority.d.ts +0 -290
  171. package/packages/@monomind/guidance/dist/authority.js +0 -558
  172. package/packages/@monomind/guidance/dist/capabilities.d.ts +0 -209
  173. package/packages/@monomind/guidance/dist/capabilities.js +0 -485
  174. package/packages/@monomind/guidance/dist/coherence.d.ts +0 -233
  175. package/packages/@monomind/guidance/dist/coherence.js +0 -372
  176. package/packages/@monomind/guidance/dist/compiler.d.ts +0 -87
  177. package/packages/@monomind/guidance/dist/compiler.js +0 -419
  178. package/packages/@monomind/guidance/dist/conformance-kit.d.ts +0 -225
  179. package/packages/@monomind/guidance/dist/conformance-kit.js +0 -629
  180. package/packages/@monomind/guidance/dist/continue-gate.d.ts +0 -214
  181. package/packages/@monomind/guidance/dist/continue-gate.js +0 -353
  182. package/packages/@monomind/guidance/dist/crypto-utils.d.ts +0 -17
  183. package/packages/@monomind/guidance/dist/crypto-utils.js +0 -24
  184. package/packages/@monomind/guidance/dist/evolution.d.ts +0 -282
  185. package/packages/@monomind/guidance/dist/evolution.js +0 -500
  186. package/packages/@monomind/guidance/dist/gates.d.ts +0 -79
  187. package/packages/@monomind/guidance/dist/gates.js +0 -302
  188. package/packages/@monomind/guidance/dist/gateway.d.ts +0 -206
  189. package/packages/@monomind/guidance/dist/gateway.js +0 -452
  190. package/packages/@monomind/guidance/dist/generators.d.ts +0 -153
  191. package/packages/@monomind/guidance/dist/generators.js +0 -682
  192. package/packages/@monomind/guidance/dist/headless.d.ts +0 -177
  193. package/packages/@monomind/guidance/dist/headless.js +0 -342
  194. package/packages/@monomind/guidance/dist/hooks.d.ts +0 -109
  195. package/packages/@monomind/guidance/dist/hooks.js +0 -347
  196. package/packages/@monomind/guidance/dist/index.d.ts +0 -205
  197. package/packages/@monomind/guidance/dist/index.js +0 -321
  198. package/packages/@monomind/guidance/dist/ledger.d.ts +0 -162
  199. package/packages/@monomind/guidance/dist/ledger.js +0 -375
  200. package/packages/@monomind/guidance/dist/manifest-validator.d.ts +0 -289
  201. package/packages/@monomind/guidance/dist/manifest-validator.js +0 -838
  202. package/packages/@monomind/guidance/dist/memory-gate.d.ts +0 -222
  203. package/packages/@monomind/guidance/dist/memory-gate.js +0 -382
  204. package/packages/@monomind/guidance/dist/meta-governance.d.ts +0 -265
  205. package/packages/@monomind/guidance/dist/meta-governance.js +0 -348
  206. package/packages/@monomind/guidance/dist/optimizer.d.ts +0 -104
  207. package/packages/@monomind/guidance/dist/optimizer.js +0 -329
  208. package/packages/@monomind/guidance/dist/persistence.d.ts +0 -189
  209. package/packages/@monomind/guidance/dist/persistence.js +0 -464
  210. package/packages/@monomind/guidance/dist/proof.d.ts +0 -185
  211. package/packages/@monomind/guidance/dist/proof.js +0 -238
  212. package/packages/@monomind/guidance/dist/retriever.d.ts +0 -116
  213. package/packages/@monomind/guidance/dist/retriever.js +0 -394
  214. package/packages/@monomind/guidance/dist/ruvbot-integration.d.ts +0 -370
  215. package/packages/@monomind/guidance/dist/ruvbot-integration.js +0 -738
  216. package/packages/@monomind/guidance/dist/temporal.d.ts +0 -426
  217. package/packages/@monomind/guidance/dist/temporal.js +0 -658
  218. package/packages/@monomind/guidance/dist/trust.d.ts +0 -283
  219. package/packages/@monomind/guidance/dist/trust.js +0 -473
  220. package/packages/@monomind/guidance/dist/truth-anchors.d.ts +0 -276
  221. package/packages/@monomind/guidance/dist/truth-anchors.js +0 -488
  222. package/packages/@monomind/guidance/dist/types.d.ts +0 -378
  223. package/packages/@monomind/guidance/dist/types.js +0 -10
  224. package/packages/@monomind/guidance/dist/uncertainty.d.ts +0 -372
  225. package/packages/@monomind/guidance/dist/uncertainty.js +0 -619
  226. package/packages/@monomind/guidance/dist/wasm-kernel.d.ts +0 -48
  227. package/packages/@monomind/guidance/dist/wasm-kernel.js +0 -158
@@ -1,347 +0,0 @@
1
- /**
2
- * Guidance Hook Integration Layer
3
- *
4
- * Wires the EnforcementGates and ShardRetriever into the Monomind
5
- * hook lifecycle. Each guidance concern is registered as a hook that
6
- * participates in the standard HookRegistry event flow.
7
- *
8
- * Hook mappings:
9
- * PreCommand -> EnforcementGates.evaluateCommand() (destructive ops + secrets)
10
- * PreToolUse -> EnforcementGates.evaluateToolUse() (tool allowlist + secrets)
11
- * PreEdit -> EnforcementGates.evaluateEdit() (diff size + secrets)
12
- * PreTask -> ShardRetriever.retrieve() (inject relevant shards)
13
- * PostTask -> RunLedger.finalizeEvent() (record run completion)
14
- *
15
- * @module @monomind/guidance/hooks
16
- */
17
- import { HookEvent, HookPriority, } from '@monomind/hooks';
18
- // ============================================================================
19
- // Gate-Result -> Hook-Result Mapping
20
- // ============================================================================
21
- /**
22
- * Convert an array of GateResults into a single HookResult.
23
- *
24
- * Severity ordering: block > require-confirmation > warn > allow.
25
- * The most restrictive decision drives the hook outcome.
26
- */
27
- function gateResultsToHookResult(gateResults) {
28
- if (gateResults.length === 0) {
29
- return { success: true };
30
- }
31
- const severityOrder = {
32
- block: 3,
33
- 'require-confirmation': 2,
34
- warn: 1,
35
- allow: 0,
36
- };
37
- // Sort by severity descending to find the most restrictive
38
- const sorted = [...gateResults].sort((a, b) => severityOrder[b.decision] - severityOrder[a.decision]);
39
- const worst = sorted[0];
40
- // Collect all warnings and reasons
41
- const allWarnings = [];
42
- const allReasons = [];
43
- for (const result of gateResults) {
44
- allReasons.push(`[${result.gateName}] ${result.reason}`);
45
- if (result.remediation) {
46
- allWarnings.push(`[${result.gateName}] ${result.remediation}`);
47
- }
48
- }
49
- switch (worst.decision) {
50
- case 'block':
51
- return {
52
- success: false,
53
- abort: true,
54
- error: allReasons.join(' | '),
55
- message: allReasons.join('\n'),
56
- warnings: allWarnings.length > 0 ? allWarnings : undefined,
57
- data: {
58
- gateDecision: 'block',
59
- gateResults: gateResults.map(r => ({
60
- gate: r.gateName,
61
- decision: r.decision,
62
- reason: r.reason,
63
- })),
64
- },
65
- };
66
- case 'require-confirmation':
67
- return {
68
- success: false,
69
- abort: true,
70
- message: allReasons.join('\n'),
71
- warnings: allWarnings.length > 0 ? allWarnings : undefined,
72
- data: {
73
- gateDecision: 'require-confirmation',
74
- gateResults: gateResults.map(r => ({
75
- gate: r.gateName,
76
- decision: r.decision,
77
- reason: r.reason,
78
- })),
79
- },
80
- };
81
- case 'warn':
82
- return {
83
- success: true,
84
- message: allReasons.join('\n'),
85
- warnings: allWarnings.length > 0 ? allWarnings : allReasons,
86
- data: {
87
- gateDecision: 'warn',
88
- gateResults: gateResults.map(r => ({
89
- gate: r.gateName,
90
- decision: r.decision,
91
- reason: r.reason,
92
- })),
93
- },
94
- };
95
- default:
96
- return { success: true };
97
- }
98
- }
99
- // ============================================================================
100
- // Guidance Hook Provider
101
- // ============================================================================
102
- /**
103
- * Provides guidance enforcement hooks for the V1 hook system.
104
- *
105
- * Registers hooks on a HookRegistry that wire each lifecycle event
106
- * (PreCommand, PreToolUse, PreEdit, PreTask, PostTask) to the
107
- * appropriate guidance subsystem (gates, retriever, ledger).
108
- */
109
- export class GuidanceHookProvider {
110
- gates;
111
- retriever;
112
- ledger;
113
- /** IDs of hooks registered by this provider, for cleanup */
114
- hookIds = [];
115
- /** Active run events keyed by task ID, for PostTask finalization */
116
- activeRuns = new Map();
117
- constructor(gates, retriever, ledger) {
118
- this.gates = gates;
119
- this.retriever = retriever;
120
- this.ledger = ledger;
121
- }
122
- /**
123
- * Register all guidance hooks on the given registry.
124
- *
125
- * Returns the array of generated hook IDs for tracking.
126
- */
127
- registerAll(registry) {
128
- this.hookIds = [];
129
- // 1. PreCommand -> gate enforcement (Critical priority)
130
- this.hookIds.push(registry.register(HookEvent.PreCommand, (ctx) => this.handlePreCommand(ctx), HookPriority.Critical, {
131
- name: 'guidance-gate-pre-command',
132
- description: 'Evaluates commands for destructive ops and secrets',
133
- }));
134
- // 2. PreToolUse -> gate enforcement (Critical priority)
135
- this.hookIds.push(registry.register(HookEvent.PreToolUse, (ctx) => this.handlePreToolUse(ctx), HookPriority.Critical, {
136
- name: 'guidance-gate-pre-tool-use',
137
- description: 'Evaluates tool usage against allowlist and checks for secrets',
138
- }));
139
- // 3. PreEdit -> gate enforcement (High priority)
140
- this.hookIds.push(registry.register(HookEvent.PreEdit, (ctx) => this.handlePreEdit(ctx), HookPriority.High, {
141
- name: 'guidance-gate-pre-edit',
142
- description: 'Evaluates file edits for diff size and secrets',
143
- }));
144
- // 4. PreTask -> shard retrieval (Normal priority)
145
- this.hookIds.push(registry.register(HookEvent.PreTask, (ctx) => this.handlePreTask(ctx), HookPriority.Normal, {
146
- name: 'guidance-retriever-pre-task',
147
- description: 'Retrieves relevant guidance shards at task start',
148
- }));
149
- // 5. PostTask -> ledger finalization (Normal priority)
150
- this.hookIds.push(registry.register(HookEvent.PostTask, (ctx) => this.handlePostTask(ctx), HookPriority.Normal, {
151
- name: 'guidance-ledger-post-task',
152
- description: 'Finalizes the run event in the ledger on task completion',
153
- }));
154
- return [...this.hookIds];
155
- }
156
- /**
157
- * Unregister all hooks previously registered by this provider.
158
- */
159
- unregisterAll(registry) {
160
- for (const id of this.hookIds) {
161
- registry.unregister(id);
162
- }
163
- this.hookIds = [];
164
- }
165
- /**
166
- * Get the IDs of all registered hooks.
167
- */
168
- getHookIds() {
169
- return [...this.hookIds];
170
- }
171
- /**
172
- * Get the active run event for a given task ID (if any).
173
- */
174
- getActiveRun(taskId) {
175
- return this.activeRuns.get(taskId);
176
- }
177
- // ==========================================================================
178
- // Hook Handlers
179
- // ==========================================================================
180
- /**
181
- * PreCommand handler: evaluate command through destructive ops and secrets gates.
182
- */
183
- handlePreCommand(ctx) {
184
- const command = ctx.command?.raw;
185
- if (!command) {
186
- return { success: true };
187
- }
188
- const gateResults = this.gates.evaluateCommand(command);
189
- return gateResultsToHookResult(gateResults);
190
- }
191
- /**
192
- * PreToolUse handler: evaluate tool usage against allowlist and check params for secrets.
193
- */
194
- handlePreToolUse(ctx) {
195
- const toolName = ctx.tool?.name;
196
- if (!toolName) {
197
- return { success: true };
198
- }
199
- const params = ctx.tool?.parameters ?? {};
200
- const gateResults = this.gates.evaluateToolUse(toolName, params);
201
- return gateResultsToHookResult(gateResults);
202
- }
203
- /**
204
- * PreEdit handler: evaluate file edit for diff size and secrets.
205
- *
206
- * Extracts the file path from context. The content to scan comes from
207
- * metadata.content or is synthesized from available context. The diff
208
- * line count defaults to metadata.diffLines or 0.
209
- */
210
- handlePreEdit(ctx) {
211
- const filePath = ctx.file?.path;
212
- if (!filePath) {
213
- return { success: true };
214
- }
215
- const content = ctx.metadata?.content ?? '';
216
- const diffLines = ctx.metadata?.diffLines ?? 0;
217
- const gateResults = this.gates.evaluateEdit(filePath, content, diffLines);
218
- return gateResultsToHookResult(gateResults);
219
- }
220
- /**
221
- * PreTask handler: classify intent and retrieve relevant guidance shards.
222
- *
223
- * Creates a new RunEvent in the active runs map for PostTask finalization.
224
- * Returns the retrieved policy text and shards as hook data.
225
- */
226
- async handlePreTask(ctx) {
227
- const taskId = ctx.task?.id;
228
- const taskDescription = ctx.task?.description;
229
- if (!taskId || !taskDescription) {
230
- return { success: true };
231
- }
232
- try {
233
- // Classify intent
234
- const { intent, confidence } = this.retriever.classifyIntent(taskDescription);
235
- // Retrieve relevant shards
236
- let retrievalResult = null;
237
- try {
238
- retrievalResult = await this.retriever.retrieve({
239
- taskDescription,
240
- intent,
241
- });
242
- }
243
- catch {
244
- // Retriever may not have a loaded bundle -- degrade gracefully
245
- }
246
- // Create a run event for ledger tracking
247
- const guidanceHash = retrievalResult?.constitution?.hash ?? 'unknown';
248
- const runEvent = this.ledger.createEvent(taskId, intent, guidanceHash);
249
- if (retrievalResult) {
250
- runEvent.retrievedRuleIds = retrievalResult.shards.map(s => s.shard.rule.id);
251
- }
252
- this.activeRuns.set(taskId, runEvent);
253
- return {
254
- success: true,
255
- message: retrievalResult
256
- ? `Retrieved ${retrievalResult.shards.length} guidance shard(s) for intent "${intent}" (confidence: ${(confidence * 100).toFixed(0)}%)`
257
- : `Classified intent as "${intent}" (confidence: ${(confidence * 100).toFixed(0)}%). No policy bundle loaded.`,
258
- data: {
259
- intent,
260
- confidence,
261
- policyText: retrievalResult?.policyText ?? null,
262
- shardCount: retrievalResult?.shards.length ?? 0,
263
- contradictionsResolved: retrievalResult?.contradictionsResolved ?? 0,
264
- retrievalLatencyMs: retrievalResult?.latencyMs ?? 0,
265
- },
266
- };
267
- }
268
- catch (error) {
269
- return {
270
- success: false,
271
- error: error instanceof Error ? error.message : String(error),
272
- message: 'Failed to retrieve guidance shards for task',
273
- };
274
- }
275
- }
276
- /**
277
- * PostTask handler: finalize the run event in the ledger.
278
- *
279
- * Looks up the active run by task ID, populates completion metadata,
280
- * and calls ledger.finalizeEvent().
281
- */
282
- handlePostTask(ctx) {
283
- const taskId = ctx.task?.id;
284
- if (!taskId) {
285
- return { success: true };
286
- }
287
- const runEvent = this.activeRuns.get(taskId);
288
- if (!runEvent) {
289
- return {
290
- success: true,
291
- message: `No active run event found for task "${taskId}". Skipping finalization.`,
292
- };
293
- }
294
- try {
295
- // Populate additional metadata from context if available
296
- if (ctx.task?.status) {
297
- runEvent.outcomeAccepted = ctx.task.status === 'completed';
298
- }
299
- if (ctx.metadata?.toolsUsed && Array.isArray(ctx.metadata.toolsUsed)) {
300
- runEvent.toolsUsed = ctx.metadata.toolsUsed;
301
- }
302
- if (ctx.metadata?.filesTouched && Array.isArray(ctx.metadata.filesTouched)) {
303
- runEvent.filesTouched = ctx.metadata.filesTouched;
304
- }
305
- // Finalize the event in the ledger
306
- this.ledger.finalizeEvent(runEvent);
307
- this.activeRuns.delete(taskId);
308
- return {
309
- success: true,
310
- message: `Run event finalized for task "${taskId}" (duration: ${runEvent.durationMs}ms)`,
311
- data: {
312
- eventId: runEvent.eventId,
313
- taskId: runEvent.taskId,
314
- intent: runEvent.intent,
315
- durationMs: runEvent.durationMs,
316
- violationCount: runEvent.violations.length,
317
- },
318
- };
319
- }
320
- catch (error) {
321
- return {
322
- success: false,
323
- error: error instanceof Error ? error.message : String(error),
324
- message: `Failed to finalize run event for task "${taskId}"`,
325
- };
326
- }
327
- }
328
- }
329
- // ============================================================================
330
- // Factory
331
- // ============================================================================
332
- /**
333
- * Create a GuidanceHookProvider and optionally register it on a registry.
334
- *
335
- * @param gates - The enforcement gates instance
336
- * @param retriever - The shard retriever instance
337
- * @param ledger - The run ledger instance
338
- * @param registry - Optional registry to auto-register on
339
- * @returns The provider and (if registry was given) the hook IDs
340
- */
341
- export function createGuidanceHooks(gates, retriever, ledger, registry) {
342
- const provider = new GuidanceHookProvider(gates, retriever, ledger);
343
- const hookIds = registry ? provider.registerAll(registry) : [];
344
- return { provider, hookIds };
345
- }
346
- export { gateResultsToHookResult };
347
- //# sourceMappingURL=hooks.js.map
@@ -1,205 +0,0 @@
1
- /**
2
- * @monomind/guidance - Guidance Control Plane
3
- *
4
- * Sits beside Claude Code (not inside it) to:
5
- * 1. Compile CLAUDE.md into constitution + shards + manifest
6
- * 2. Retrieve task-relevant shards at runtime via intent classification
7
- * 3. Enforce non-negotiables through hook gates
8
- * 4. Log every run to a ledger with evaluators
9
- * 5. Evolve the rule set through an optimizer loop
10
- *
11
- * Architecture:
12
- * - Root CLAUDE.md → Repo constitution (rare changes)
13
- * - CLAUDE.local.md → Overlay / experiment sandbox (frequent changes)
14
- * - Optimizer → Promotes winning local rules to root
15
- *
16
- * Integration with Claude Code:
17
- * - Headless mode (claude -p --output-format json) for automated testing
18
- * - Hook system for enforcement gates
19
- * - MonoVector/HNSW for semantic shard retrieval
20
- *
21
- * @module @monomind/guidance
22
- */
23
- import { RunLedger } from './ledger.js';
24
- import { OptimizerLoop } from './optimizer.js';
25
- import { HeadlessRunner } from './headless.js';
26
- export type { RiskClass, ToolClass, TaskIntent, GuidanceRule, RuleShard, Constitution, RuleManifest, PolicyBundle, RetrievalRequest, RetrievalResult, GateDecision, GateResult, GateConfig, RunEvent, Violation, EvaluatorResult, ViolationRanking, RuleChange, ABTestResult, OptimizationMetrics, RuleADR, GuidanceControlPlaneConfig, ControlPlaneStatus, } from './types.js';
27
- export { GuidanceCompiler, createCompiler } from './compiler.js';
28
- export type { CompilerConfig } from './compiler.js';
29
- export { ShardRetriever, createRetriever, HashEmbeddingProvider } from './retriever.js';
30
- export type { IEmbeddingProvider } from './retriever.js';
31
- export { EnforcementGates, createGates } from './gates.js';
32
- export { GuidanceHookProvider, createGuidanceHooks, gateResultsToHookResult, } from './hooks.js';
33
- export { RunLedger, createLedger, TestsPassEvaluator, ForbiddenCommandEvaluator, ForbiddenDependencyEvaluator, ViolationRateEvaluator, DiffQualityEvaluator, } from './ledger.js';
34
- export type { IEvaluator } from './ledger.js';
35
- export { OptimizerLoop, createOptimizer } from './optimizer.js';
36
- export type { OptimizerConfig } from './optimizer.js';
37
- export { PersistentLedger, EventStore, createPersistentLedger, createEventStore, } from './persistence.js';
38
- export type { PersistenceConfig, StorageStats } from './persistence.js';
39
- export { HeadlessRunner, createHeadlessRunner, ProcessExecutor, createComplianceSuite, } from './headless.js';
40
- export type { TestTask, TaskAssertion, TaskRunResult, HeadlessOutput, SuiteRunSummary, ICommandExecutor, } from './headless.js';
41
- export { DeterministicToolGateway, createToolGateway } from './gateway.js';
42
- export type { ToolSchema, Budget, IdempotencyRecord, GatewayDecision, ToolGatewayConfig, } from './gateway.js';
43
- export { ArtifactLedger, createArtifactLedger } from './artifacts.js';
44
- export type { ArtifactKind, Artifact, ArtifactLineage, ArtifactVerification, ArtifactSearchQuery, ArtifactStats, ArtifactLedgerConfig, RecordArtifactParams, SerializedArtifactLedger, } from './artifacts.js';
45
- export { EvolutionPipeline, createEvolutionPipeline } from './evolution.js';
46
- export type { ChangeProposalKind, ProposalStatus, RiskAssessment, ChangeProposal, DecisionDiff, SimulationResult, RolloutStage, StagedRollout, EvolutionHistoryEntry, TraceEvaluator, EvolutionPipelineConfig, } from './evolution.js';
47
- export { ManifestValidator, ConformanceSuite, createManifestValidator, createConformanceSuite, } from './manifest-validator.js';
48
- export type { AgentCellManifest, ValidationResult, ValidationError, ValidationWarning, GoldenTrace, GoldenTraceEvent, ConformanceResult, } from './manifest-validator.js';
49
- export { ProofChain, createProofChain } from './proof.js';
50
- export type { ToolCallRecord, MemoryOperation, MemoryLineageEntry, ProofEnvelopeMetadata, ProofEnvelope, SerializedProofChain, } from './proof.js';
51
- export { MemoryWriteGate, createMemoryWriteGate, createMemoryEntry, } from './memory-gate.js';
52
- export type { MemoryAuthority, MemoryEntry, WriteDecision, MemoryWriteGateConfig, } from './memory-gate.js';
53
- export { CoherenceScheduler, EconomicGovernor, createCoherenceScheduler, createEconomicGovernor, } from './coherence.js';
54
- export type { CoherenceScore, CoherenceThresholds, PrivilegeLevel, BudgetUsage, CoherenceSchedulerConfig, EconomicGovernorConfig, } from './coherence.js';
55
- export { CapabilityAlgebra, createCapabilityAlgebra } from './capabilities.js';
56
- export type { CapabilityScope, CapabilityConstraint, Attestation, Capability, CapabilityCheckResult, } from './capabilities.js';
57
- export { SimulatedRuntime, MemoryClerkCell, ConformanceRunner, createMemoryClerkCell, createConformanceRunner, } from './conformance-kit.js';
58
- export type { TraceEvent as CellTraceEvent, CellRunResult, CellRuntime, AgentCell, SimulatedRuntimeConfig, ConformanceTestResult, ReplayTestResult, } from './conformance-kit.js';
59
- export { RuvBotGuidanceBridge, AIDefenceGate, RuvBotMemoryAdapter, createRuvBotBridge, createAIDefenceGate, createRuvBotMemoryAdapter, } from './ruvbot-integration.js';
60
- export type { RuvBotInstance, RuvBotAIDefenceGuard, RuvBotMemory, AIDefenceThreat, AIDefenceResult, AIDefenceGateConfig, RuvBotBridgeConfig, RuvBotEvent, } from './ruvbot-integration.js';
61
- export { MetaGovernor, createMetaGovernor } from './meta-governance.js';
62
- export type { InvariantCheckResult, GovernanceState, ConstitutionalInvariant, AmendmentChange, Amendment, OptimizerConstraint, OptimizerAction, OptimizerValidation, InvariantReport, MetaGovernanceConfig, } from './meta-governance.js';
63
- export { ThreatDetector, CollusionDetector, MemoryQuorum, createThreatDetector, createCollusionDetector, createMemoryQuorum, } from './adversarial.js';
64
- export type { ThreatCategory, ThreatSignal, DetectionPattern, CollusionReport, MemoryProposal, QuorumResult, ThreatDetectorConfig, CollusionDetectorConfig, MemoryQuorumConfig, } from './adversarial.js';
65
- export { ContinueGate, createContinueGate } from './continue-gate.js';
66
- export type { ContinueGateConfig, StepContext, ContinueDecision, } from './continue-gate.js';
67
- export { getKernel, isWasmAvailable, resetKernel, } from './wasm-kernel.js';
68
- export type { WasmKernel, BatchOp, BatchResult, } from './wasm-kernel.js';
69
- export { generateClaudeMd, generateClaudeLocalMd, generateSkillMd, generateAgentMd, generateAgentIndex, scaffold, } from './generators.js';
70
- export type { ProjectProfile, LocalProfile, SkillDefinition, AgentDefinition, ScaffoldOptions, ScaffoldResult, } from './generators.js';
71
- export { analyze, benchmark, autoOptimize, optimizeForSize, headlessBenchmark, validateEffect, abBenchmark, getDefaultABTasks, formatReport, formatBenchmark, } from './analyzer.js';
72
- export type { AnalysisResult, AnalysisMetrics, DimensionScore, Suggestion, BenchmarkResult, ContextSize, OptimizeOptions, HeadlessBenchmarkResult, HeadlessTaskResult, IHeadlessExecutor, IContentAwareExecutor, ValidationAssertion, ValidationTask, ValidationTaskResult, ValidationRun, CorrelationResult, ValidationReport, ABTaskClass, ABTask, ABGatePattern, ABTaskResult, ABMetrics, ABReport, } from './analyzer.js';
73
- export { TrustAccumulator, TrustLedger as TrustScoreLedger, TrustSystem, getTrustBasedRateLimit, createTrustAccumulator, createTrustSystem, } from './trust.js';
74
- export type { TrustTier, GateOutcome, TrustConfig, TrustRecord, TrustSnapshot, } from './trust.js';
75
- export { TruthAnchorStore, TruthResolver, createTruthAnchorStore, createTruthResolver, } from './truth-anchors.js';
76
- export type { TruthSourceKind, TruthAnchor, TruthAnchorConfig, AnchorParams, TruthAnchorQuery, VerifyAllResult, ConflictResolution, } from './truth-anchors.js';
77
- export { UncertaintyLedger, UncertaintyAggregator, createUncertaintyLedger, createUncertaintyAggregator, } from './uncertainty.js';
78
- export type { BeliefStatus, ConfidenceInterval, Belief, UncertaintyConfig, } from './uncertainty.js';
79
- export { TemporalStore, TemporalReasoner, createTemporalStore, createTemporalReasoner, } from './temporal.js';
80
- export type { TemporalStatus, ValidityWindow, TemporalAssertion, TemporalTimeline, TemporalChange, TemporalConfig, } from './temporal.js';
81
- export { AuthorityGate, IrreversibilityClassifier, createAuthorityGate, createIrreversibilityClassifier, isHigherAuthority, getAuthorityHierarchy, } from './authority.js';
82
- export type { AuthorityLevel, IrreversibilityClass, ProofLevel, AuthorityScope, HumanIntervention, AuthorityCheckResult, IrreversibilityResult, AuthorityGateConfig, IrreversibilityClassifierConfig, } from './authority.js';
83
- import type { PolicyBundle, GuidanceControlPlaneConfig, ControlPlaneStatus, RetrievalRequest, RetrievalResult, GateResult, RunEvent, EvaluatorResult, TaskIntent, Violation } from './types.js';
84
- /**
85
- * The main Guidance Control Plane
86
- *
87
- * Orchestrates all components:
88
- * - Compiler: CLAUDE.md → PolicyBundle
89
- * - Retriever: PolicyBundle → task-relevant shards
90
- * - Gates: enforcement hooks
91
- * - Ledger: run logging + evaluation
92
- * - Optimizer: rule evolution
93
- * - Headless: automated testing
94
- */
95
- export declare class GuidanceControlPlane {
96
- private config;
97
- private compiler;
98
- private retriever;
99
- private gates;
100
- private ledger;
101
- private optimizer;
102
- private headless;
103
- private bundle;
104
- private initialized;
105
- constructor(config?: Partial<GuidanceControlPlaneConfig>);
106
- /**
107
- * Initialize the control plane
108
- *
109
- * 1. Read and compile guidance files
110
- * 2. Load shards into retriever
111
- * 3. Configure gates
112
- * 4. Set up headless runner if enabled
113
- */
114
- initialize(): Promise<void>;
115
- /**
116
- * Compile guidance files (can be called independently)
117
- */
118
- compile(rootContent: string, localContent?: string): Promise<PolicyBundle>;
119
- /**
120
- * Retrieve relevant guidance for a task
121
- *
122
- * This is the main entry point called at task start.
123
- * Returns the constitution + relevant shards.
124
- */
125
- retrieveForTask(request: RetrievalRequest): Promise<RetrievalResult>;
126
- /**
127
- * Evaluate a command through enforcement gates
128
- */
129
- evaluateCommand(command: string): GateResult[];
130
- /**
131
- * Evaluate a tool use through enforcement gates
132
- */
133
- evaluateToolUse(toolName: string, params: Record<string, unknown>): GateResult[];
134
- /**
135
- * Evaluate a file edit through enforcement gates
136
- */
137
- evaluateEdit(filePath: string, content: string, diffLines: number): GateResult[];
138
- /**
139
- * Start a run event for tracking
140
- */
141
- startRun(taskId: string, intent: TaskIntent): RunEvent;
142
- /**
143
- * Record a violation during a run
144
- */
145
- recordViolation(event: RunEvent, violation: Violation): void;
146
- /**
147
- * Finalize a run and evaluate it
148
- */
149
- finalizeRun(event: RunEvent): Promise<EvaluatorResult[]>;
150
- /**
151
- * Run the optimization cycle
152
- */
153
- optimize(): Promise<{
154
- promoted: string[];
155
- demoted: string[];
156
- adrsCreated: number;
157
- }>;
158
- /**
159
- * Get control plane status
160
- */
161
- getStatus(): ControlPlaneStatus;
162
- /**
163
- * Get the current policy bundle
164
- */
165
- getBundle(): PolicyBundle | null;
166
- /**
167
- * Get the run ledger
168
- */
169
- getLedger(): RunLedger;
170
- /**
171
- * Get the optimizer
172
- */
173
- getOptimizer(): OptimizerLoop;
174
- /**
175
- * Get the headless runner
176
- */
177
- getHeadlessRunner(): HeadlessRunner | null;
178
- /**
179
- * Get metrics for benefit tracking
180
- */
181
- getMetrics(): {
182
- violationRatePer10Tasks: number;
183
- selfCorrectionRate: number;
184
- reworkLinesAvg: number;
185
- clarifyingQuestionsAvg: number;
186
- taskCount: number;
187
- topViolations: Array<{
188
- ruleId: string;
189
- frequency: number;
190
- cost: number;
191
- }>;
192
- };
193
- private readGuidanceFile;
194
- private ensureInitialized;
195
- }
196
- /**
197
- * Create a guidance control plane instance
198
- */
199
- export declare function createGuidanceControlPlane(config?: Partial<GuidanceControlPlaneConfig>): GuidanceControlPlane;
200
- /**
201
- * Quick setup: create and initialize the control plane
202
- */
203
- export declare function initializeGuidanceControlPlane(config?: Partial<GuidanceControlPlaneConfig>): Promise<GuidanceControlPlane>;
204
- export default GuidanceControlPlane;
205
- //# sourceMappingURL=index.d.ts.map