claude-flow 3.5.70 → 3.5.72

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 (90) hide show
  1. package/package.json +1 -1
  2. package/v3/@claude-flow/cli/dist/src/commands/plugins.js +6 -0
  3. package/v3/@claude-flow/cli/dist/src/commands/security.js +350 -34
  4. package/v3/@claude-flow/cli/dist/src/commands/swarm.js +100 -15
  5. package/v3/@claude-flow/cli/dist/src/mcp-tools/agent-tools.js +35 -1
  6. package/v3/@claude-flow/cli/dist/src/mcp-tools/agentdb-tools.js +81 -0
  7. package/v3/@claude-flow/cli/dist/src/mcp-tools/analyze-tools.js +29 -0
  8. package/v3/@claude-flow/cli/dist/src/mcp-tools/autopilot-tools.js +4 -0
  9. package/v3/@claude-flow/cli/dist/src/mcp-tools/browser-tools.js +146 -0
  10. package/v3/@claude-flow/cli/dist/src/mcp-tools/claims-tools.js +116 -0
  11. package/v3/@claude-flow/cli/dist/src/mcp-tools/coordination-tools.js +31 -0
  12. package/v3/@claude-flow/cli/dist/src/mcp-tools/daa-tools.js +61 -0
  13. package/v3/@claude-flow/cli/dist/src/mcp-tools/embeddings-tools.js +26 -0
  14. package/v3/@claude-flow/cli/dist/src/mcp-tools/github-tools.js +96 -0
  15. package/v3/@claude-flow/cli/dist/src/mcp-tools/guidance-tools.js +21 -0
  16. package/v3/@claude-flow/cli/dist/src/mcp-tools/hive-mind-tools.js +56 -0
  17. package/v3/@claude-flow/cli/dist/src/mcp-tools/hooks-tools.js +231 -13
  18. package/v3/@claude-flow/cli/dist/src/mcp-tools/memory-tools.js +18 -2
  19. package/v3/@claude-flow/cli/dist/src/mcp-tools/neural-tools.js +92 -2
  20. package/v3/@claude-flow/cli/dist/src/mcp-tools/performance-tools.js +18 -5
  21. package/v3/@claude-flow/cli/dist/src/mcp-tools/ruvllm-tools.js +31 -0
  22. package/v3/@claude-flow/cli/dist/src/mcp-tools/security-tools.js +36 -0
  23. package/v3/@claude-flow/cli/dist/src/mcp-tools/system-tools.js +59 -18
  24. package/v3/@claude-flow/cli/dist/src/mcp-tools/transfer-tools.js +51 -0
  25. package/v3/@claude-flow/cli/dist/src/mcp-tools/wasm-agent-tools.js +61 -0
  26. package/v3/@claude-flow/cli/package.json +1 -1
  27. package/v3/@claude-flow/guidance/dist/adversarial.d.ts +284 -0
  28. package/v3/@claude-flow/guidance/dist/adversarial.js +572 -0
  29. package/v3/@claude-flow/guidance/dist/analyzer.d.ts +530 -0
  30. package/v3/@claude-flow/guidance/dist/analyzer.js +2518 -0
  31. package/v3/@claude-flow/guidance/dist/artifacts.d.ts +283 -0
  32. package/v3/@claude-flow/guidance/dist/artifacts.js +356 -0
  33. package/v3/@claude-flow/guidance/dist/authority.d.ts +290 -0
  34. package/v3/@claude-flow/guidance/dist/authority.js +558 -0
  35. package/v3/@claude-flow/guidance/dist/capabilities.d.ts +209 -0
  36. package/v3/@claude-flow/guidance/dist/capabilities.js +485 -0
  37. package/v3/@claude-flow/guidance/dist/coherence.d.ts +233 -0
  38. package/v3/@claude-flow/guidance/dist/coherence.js +372 -0
  39. package/v3/@claude-flow/guidance/dist/compiler.d.ts +87 -0
  40. package/v3/@claude-flow/guidance/dist/compiler.js +419 -0
  41. package/v3/@claude-flow/guidance/dist/conformance-kit.d.ts +225 -0
  42. package/v3/@claude-flow/guidance/dist/conformance-kit.js +629 -0
  43. package/v3/@claude-flow/guidance/dist/continue-gate.d.ts +214 -0
  44. package/v3/@claude-flow/guidance/dist/continue-gate.js +353 -0
  45. package/v3/@claude-flow/guidance/dist/crypto-utils.d.ts +17 -0
  46. package/v3/@claude-flow/guidance/dist/crypto-utils.js +24 -0
  47. package/v3/@claude-flow/guidance/dist/evolution.d.ts +282 -0
  48. package/v3/@claude-flow/guidance/dist/evolution.js +500 -0
  49. package/v3/@claude-flow/guidance/dist/gates.d.ts +79 -0
  50. package/v3/@claude-flow/guidance/dist/gates.js +302 -0
  51. package/v3/@claude-flow/guidance/dist/gateway.d.ts +206 -0
  52. package/v3/@claude-flow/guidance/dist/gateway.js +452 -0
  53. package/v3/@claude-flow/guidance/dist/generators.d.ts +153 -0
  54. package/v3/@claude-flow/guidance/dist/generators.js +682 -0
  55. package/v3/@claude-flow/guidance/dist/headless.d.ts +177 -0
  56. package/v3/@claude-flow/guidance/dist/headless.js +342 -0
  57. package/v3/@claude-flow/guidance/dist/hooks.d.ts +109 -0
  58. package/v3/@claude-flow/guidance/dist/hooks.js +347 -0
  59. package/v3/@claude-flow/guidance/dist/index.d.ts +205 -0
  60. package/v3/@claude-flow/guidance/dist/index.js +321 -0
  61. package/v3/@claude-flow/guidance/dist/ledger.d.ts +162 -0
  62. package/v3/@claude-flow/guidance/dist/ledger.js +375 -0
  63. package/v3/@claude-flow/guidance/dist/manifest-validator.d.ts +289 -0
  64. package/v3/@claude-flow/guidance/dist/manifest-validator.js +838 -0
  65. package/v3/@claude-flow/guidance/dist/memory-gate.d.ts +222 -0
  66. package/v3/@claude-flow/guidance/dist/memory-gate.js +382 -0
  67. package/v3/@claude-flow/guidance/dist/meta-governance.d.ts +265 -0
  68. package/v3/@claude-flow/guidance/dist/meta-governance.js +348 -0
  69. package/v3/@claude-flow/guidance/dist/optimizer.d.ts +104 -0
  70. package/v3/@claude-flow/guidance/dist/optimizer.js +329 -0
  71. package/v3/@claude-flow/guidance/dist/persistence.d.ts +189 -0
  72. package/v3/@claude-flow/guidance/dist/persistence.js +464 -0
  73. package/v3/@claude-flow/guidance/dist/proof.d.ts +185 -0
  74. package/v3/@claude-flow/guidance/dist/proof.js +238 -0
  75. package/v3/@claude-flow/guidance/dist/retriever.d.ts +116 -0
  76. package/v3/@claude-flow/guidance/dist/retriever.js +394 -0
  77. package/v3/@claude-flow/guidance/dist/ruvbot-integration.d.ts +370 -0
  78. package/v3/@claude-flow/guidance/dist/ruvbot-integration.js +738 -0
  79. package/v3/@claude-flow/guidance/dist/temporal.d.ts +426 -0
  80. package/v3/@claude-flow/guidance/dist/temporal.js +658 -0
  81. package/v3/@claude-flow/guidance/dist/trust.d.ts +283 -0
  82. package/v3/@claude-flow/guidance/dist/trust.js +473 -0
  83. package/v3/@claude-flow/guidance/dist/truth-anchors.d.ts +276 -0
  84. package/v3/@claude-flow/guidance/dist/truth-anchors.js +488 -0
  85. package/v3/@claude-flow/guidance/dist/types.d.ts +378 -0
  86. package/v3/@claude-flow/guidance/dist/types.js +10 -0
  87. package/v3/@claude-flow/guidance/dist/uncertainty.d.ts +372 -0
  88. package/v3/@claude-flow/guidance/dist/uncertainty.js +619 -0
  89. package/v3/@claude-flow/guidance/dist/wasm-kernel.d.ts +48 -0
  90. package/v3/@claude-flow/guidance/dist/wasm-kernel.js +158 -0
@@ -0,0 +1,347 @@
1
+ /**
2
+ * Guidance Hook Integration Layer
3
+ *
4
+ * Wires the EnforcementGates and ShardRetriever into the Claude Flow V3
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 @claude-flow/guidance/hooks
16
+ */
17
+ import { HookEvent, HookPriority, } from '@claude-flow/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 V3 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
@@ -0,0 +1,205 @@
1
+ /**
2
+ * @claude-flow/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
+ * - RuVector/HNSW for semantic shard retrieval
20
+ *
21
+ * @module @claude-flow/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