moflo 4.8.21 → 4.8.22
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.
- package/.claude/agents/browser/browser-agent.yaml +182 -182
- package/.claude/agents/core/coder.md +265 -265
- package/.claude/agents/core/planner.md +167 -167
- package/.claude/agents/core/researcher.md +189 -189
- package/.claude/agents/core/reviewer.md +325 -325
- package/.claude/agents/core/tester.md +318 -318
- package/.claude/agents/database-specialist.yaml +21 -21
- package/.claude/agents/dual-mode/codex-coordinator.md +224 -224
- package/.claude/agents/dual-mode/codex-worker.md +211 -211
- package/.claude/agents/dual-mode/dual-orchestrator.md +291 -291
- package/.claude/agents/github/code-review-swarm.md +537 -537
- package/.claude/agents/github/github-modes.md +172 -172
- package/.claude/agents/github/issue-tracker.md +318 -318
- package/.claude/agents/github/multi-repo-swarm.md +552 -552
- package/.claude/agents/github/pr-manager.md +190 -190
- package/.claude/agents/github/project-board-sync.md +508 -508
- package/.claude/agents/github/release-manager.md +366 -366
- package/.claude/agents/github/release-swarm.md +582 -582
- package/.claude/agents/github/repo-architect.md +397 -397
- package/.claude/agents/github/swarm-issue.md +572 -572
- package/.claude/agents/github/swarm-pr.md +427 -427
- package/.claude/agents/github/sync-coordinator.md +451 -451
- package/.claude/agents/github/workflow-automation.md +634 -634
- package/.claude/agents/goal/code-goal-planner.md +445 -445
- package/.claude/agents/hive-mind/collective-intelligence-coordinator.md +129 -129
- package/.claude/agents/hive-mind/queen-coordinator.md +202 -202
- package/.claude/agents/hive-mind/scout-explorer.md +241 -241
- package/.claude/agents/hive-mind/swarm-memory-manager.md +192 -192
- package/.claude/agents/hive-mind/worker-specialist.md +216 -216
- package/.claude/agents/index.yaml +17 -17
- package/.claude/agents/neural/safla-neural.md +73 -73
- package/.claude/agents/project-coordinator.yaml +15 -15
- package/.claude/agents/python-specialist.yaml +21 -21
- package/.claude/agents/reasoning/goal-planner.md +72 -72
- package/.claude/agents/security-auditor.yaml +20 -20
- package/.claude/agents/swarm/adaptive-coordinator.md +395 -395
- package/.claude/agents/swarm/hierarchical-coordinator.md +326 -326
- package/.claude/agents/swarm/mesh-coordinator.md +391 -391
- package/.claude/agents/templates/migration-plan.md +745 -745
- package/.claude/agents/typescript-specialist.yaml +21 -21
- package/.claude/checkpoints/1767754460.json +8 -8
- package/.claude/commands/agents/agent-spawning.md +28 -28
- package/.claude/commands/github/github-modes.md +146 -146
- package/.claude/commands/github/github-swarm.md +121 -121
- package/.claude/commands/github/issue-tracker.md +291 -291
- package/.claude/commands/github/pr-manager.md +169 -169
- package/.claude/commands/github/release-manager.md +337 -337
- package/.claude/commands/github/repo-architect.md +366 -366
- package/.claude/commands/github/sync-coordinator.md +300 -300
- package/.claude/commands/memory/neural.md +47 -47
- package/.claude/commands/sparc/analyzer.md +51 -51
- package/.claude/commands/sparc/architect.md +53 -53
- package/.claude/commands/sparc/ask.md +97 -97
- package/.claude/commands/sparc/batch-executor.md +54 -54
- package/.claude/commands/sparc/code.md +89 -89
- package/.claude/commands/sparc/coder.md +54 -54
- package/.claude/commands/sparc/debug.md +83 -83
- package/.claude/commands/sparc/debugger.md +54 -54
- package/.claude/commands/sparc/designer.md +53 -53
- package/.claude/commands/sparc/devops.md +109 -109
- package/.claude/commands/sparc/docs-writer.md +80 -80
- package/.claude/commands/sparc/documenter.md +54 -54
- package/.claude/commands/sparc/innovator.md +54 -54
- package/.claude/commands/sparc/integration.md +83 -83
- package/.claude/commands/sparc/mcp.md +117 -117
- package/.claude/commands/sparc/memory-manager.md +54 -54
- package/.claude/commands/sparc/optimizer.md +54 -54
- package/.claude/commands/sparc/orchestrator.md +131 -131
- package/.claude/commands/sparc/post-deployment-monitoring-mode.md +83 -83
- package/.claude/commands/sparc/refinement-optimization-mode.md +83 -83
- package/.claude/commands/sparc/researcher.md +54 -54
- package/.claude/commands/sparc/reviewer.md +54 -54
- package/.claude/commands/sparc/security-review.md +80 -80
- package/.claude/commands/sparc/sparc-modes.md +174 -174
- package/.claude/commands/sparc/sparc.md +111 -111
- package/.claude/commands/sparc/spec-pseudocode.md +80 -80
- package/.claude/commands/sparc/supabase-admin.md +348 -348
- package/.claude/commands/sparc/swarm-coordinator.md +54 -54
- package/.claude/commands/sparc/tdd.md +54 -54
- package/.claude/commands/sparc/tester.md +54 -54
- package/.claude/commands/sparc/tutorial.md +79 -79
- package/.claude/commands/sparc/workflow-manager.md +54 -54
- package/.claude/commands/sparc.md +166 -166
- package/.claude/commands/swarm/analysis.md +95 -95
- package/.claude/commands/swarm/development.md +96 -96
- package/.claude/commands/swarm/examples.md +168 -168
- package/.claude/commands/swarm/maintenance.md +102 -102
- package/.claude/commands/swarm/optimization.md +117 -117
- package/.claude/commands/swarm/research.md +136 -136
- package/.claude/commands/swarm/testing.md +131 -131
- package/.claude/commands/workflows/development.md +77 -77
- package/.claude/commands/workflows/research.md +62 -62
- package/.claude/guidance/moflo-bootstrap.md +126 -126
- package/.claude/guidance/shipped/agent-bootstrap.md +126 -126
- package/.claude/guidance/shipped/guidance-memory-strategy.md +262 -262
- package/.claude/guidance/shipped/memory-strategy.md +204 -204
- package/.claude/guidance/shipped/moflo.md +668 -653
- package/.claude/guidance/shipped/task-swarm-integration.md +441 -441
- package/.claude/helpers/intelligence.cjs +207 -207
- package/.claude/helpers/statusline.cjs +851 -851
- package/.claude/settings.local.json +18 -0
- package/.claude/skills/fl/SKILL.md +583 -583
- package/.claude/skills/flo/SKILL.md +583 -583
- package/.claude/skills/github-code-review/SKILL.md +1140 -1140
- package/.claude/skills/github-multi-repo/SKILL.md +874 -874
- package/.claude/skills/github-project-management/SKILL.md +1277 -1277
- package/.claude/skills/github-release-management/SKILL.md +1081 -1081
- package/.claude/skills/github-workflow-automation/SKILL.md +1065 -1065
- package/.claude/skills/hive-mind-advanced/SKILL.md +712 -712
- package/.claude/skills/hooks-automation/SKILL.md +1201 -1201
- package/.claude/skills/performance-analysis/SKILL.md +563 -563
- package/.claude/skills/sparc-methodology/SKILL.md +1115 -1115
- package/.claude/skills/swarm-advanced/SKILL.md +973 -973
- package/.claude/workflow-state.json +4 -4
- package/LICENSE +21 -21
- package/README.md +685 -685
- package/bin/cli.js +0 -0
- package/bin/gate-hook.mjs +50 -50
- package/bin/gate.cjs +138 -138
- package/bin/generate-code-map.mjs +775 -775
- package/bin/hook-handler.cjs +83 -83
- package/bin/hooks.mjs +656 -656
- package/bin/index-guidance.mjs +892 -892
- package/bin/index-tests.mjs +709 -709
- package/bin/lib/process-manager.mjs +243 -243
- package/bin/lib/registry-cleanup.cjs +41 -41
- package/bin/prompt-hook.mjs +72 -72
- package/bin/semantic-search.mjs +472 -472
- package/bin/session-start-launcher.mjs +238 -238
- package/bin/setup-project.mjs +250 -250
- package/package.json +123 -123
- package/src/@claude-flow/cli/README.md +452 -452
- package/src/@claude-flow/cli/bin/cli.js +180 -180
- package/src/@claude-flow/cli/bin/preinstall.cjs +2 -2
- package/src/@claude-flow/cli/dist/src/commands/completions.js +409 -409
- package/src/@claude-flow/cli/dist/src/commands/doctor.js +5 -1
- package/src/@claude-flow/cli/dist/src/commands/embeddings.js +25 -25
- package/src/@claude-flow/cli/dist/src/commands/github.js +61 -61
- package/src/@claude-flow/cli/dist/src/commands/hive-mind.js +90 -90
- package/src/@claude-flow/cli/dist/src/commands/hooks.js +9 -9
- package/src/@claude-flow/cli/dist/src/commands/ruvector/import.js +14 -14
- package/src/@claude-flow/cli/dist/src/commands/ruvector/setup.js +624 -624
- package/src/@claude-flow/cli/dist/src/config/moflo-config.d.ts +3 -0
- package/src/@claude-flow/cli/dist/src/config/moflo-config.js +101 -91
- package/src/@claude-flow/cli/dist/src/index.d.ts +5 -0
- package/src/@claude-flow/cli/dist/src/index.js +44 -0
- package/src/@claude-flow/cli/dist/src/init/claudemd-generator.d.ts +29 -29
- package/src/@claude-flow/cli/dist/src/init/claudemd-generator.js +43 -43
- package/src/@claude-flow/cli/dist/src/init/executor.js +453 -453
- package/src/@claude-flow/cli/dist/src/init/helpers-generator.js +482 -482
- package/src/@claude-flow/cli/dist/src/init/moflo-init.d.ts +30 -30
- package/src/@claude-flow/cli/dist/src/init/moflo-init.js +140 -140
- package/src/@claude-flow/cli/dist/src/init/statusline-generator.js +876 -876
- package/src/@claude-flow/cli/dist/src/memory/memory-initializer.js +371 -371
- package/src/@claude-flow/cli/dist/src/runtime/headless.js +28 -28
- package/src/@claude-flow/cli/dist/src/services/container-worker-pool.d.ts +197 -0
- package/src/@claude-flow/cli/dist/src/services/container-worker-pool.js +584 -0
- package/src/@claude-flow/cli/dist/src/services/daemon-lock.d.ts +14 -0
- package/src/@claude-flow/cli/dist/src/services/daemon-lock.js +1 -1
- package/src/@claude-flow/cli/dist/src/services/headless-worker-executor.js +84 -84
- package/src/@claude-flow/cli/package.json +1 -1
- package/src/@claude-flow/guidance/README.md +1195 -1195
- package/src/@claude-flow/guidance/package.json +198 -198
- package/src/@claude-flow/memory/README.md +587 -587
- package/src/@claude-flow/memory/dist/agent-memory-scope.test.js +4 -7
- package/src/@claude-flow/memory/dist/agentdb-backend.d.ts +2 -0
- package/src/@claude-flow/memory/dist/agentdb-backend.js +28 -26
- package/src/@claude-flow/memory/dist/auto-memory-bridge.test.js +36 -39
- package/src/@claude-flow/memory/dist/benchmark.test.js +1 -1
- package/src/@claude-flow/memory/dist/controller-registry.test.js +43 -0
- package/src/@claude-flow/memory/dist/database-provider.d.ts +2 -2
- package/src/@claude-flow/memory/dist/database-provider.js +6 -3
- package/src/@claude-flow/memory/dist/database-provider.test.js +1 -3
- package/src/@claude-flow/memory/dist/hybrid-backend.d.ts +245 -0
- package/src/@claude-flow/memory/dist/hybrid-backend.js +569 -0
- package/src/@claude-flow/memory/dist/hybrid-backend.test.d.ts +8 -0
- package/src/@claude-flow/memory/dist/hybrid-backend.test.js +320 -0
- package/src/@claude-flow/memory/dist/index.d.ts +3 -0
- package/src/@claude-flow/memory/dist/index.js +3 -0
- package/src/@claude-flow/memory/dist/sqlite-backend.d.ts +121 -0
- package/src/@claude-flow/memory/dist/sqlite-backend.js +572 -0
- package/src/@claude-flow/memory/dist/sqljs-backend.d.ts +4 -3
- package/src/@claude-flow/memory/dist/sqljs-backend.js +31 -30
- package/src/@claude-flow/memory/package.json +44 -44
- package/src/@claude-flow/shared/README.md +323 -323
- package/src/@claude-flow/shared/dist/core/config/defaults.js +1 -1
- package/src/@claude-flow/shared/dist/core/config/loader.js +1 -1
- package/src/@claude-flow/shared/dist/core/config/schema.js +1 -1
- package/src/@claude-flow/shared/dist/events/event-store.js +34 -50
- package/src/@claude-flow/shared/dist/events/event-store.test.js +4 -8
- package/src/@claude-flow/shared/dist/hooks/executor.js +4 -7
- package/src/@claude-flow/shared/dist/hooks/safety/file-organization.js +1 -1
- package/src/@claude-flow/shared/dist/hooks/safety/git-commit.js +3 -3
- package/src/@claude-flow/shared/dist/hooks/verify-exports.test.js +6 -6
- package/src/@claude-flow/shared/dist/utils/secure-logger.js +1 -1
- package/src/README.md +493 -493
- package/src/@claude-flow/guidance/dist/adversarial.d.ts +0 -284
- package/src/@claude-flow/guidance/dist/adversarial.js +0 -572
- package/src/@claude-flow/guidance/dist/analyzer.d.ts +0 -530
- package/src/@claude-flow/guidance/dist/analyzer.js +0 -2518
- package/src/@claude-flow/guidance/dist/artifacts.d.ts +0 -283
- package/src/@claude-flow/guidance/dist/artifacts.js +0 -356
- package/src/@claude-flow/guidance/dist/authority.d.ts +0 -290
- package/src/@claude-flow/guidance/dist/authority.js +0 -558
- package/src/@claude-flow/guidance/dist/capabilities.d.ts +0 -209
- package/src/@claude-flow/guidance/dist/capabilities.js +0 -485
- package/src/@claude-flow/guidance/dist/coherence.d.ts +0 -233
- package/src/@claude-flow/guidance/dist/coherence.js +0 -372
- package/src/@claude-flow/guidance/dist/compiler.d.ts +0 -87
- package/src/@claude-flow/guidance/dist/compiler.js +0 -419
- package/src/@claude-flow/guidance/dist/conformance-kit.d.ts +0 -225
- package/src/@claude-flow/guidance/dist/conformance-kit.js +0 -629
- package/src/@claude-flow/guidance/dist/continue-gate.d.ts +0 -214
- package/src/@claude-flow/guidance/dist/continue-gate.js +0 -353
- package/src/@claude-flow/guidance/dist/crypto-utils.d.ts +0 -17
- package/src/@claude-flow/guidance/dist/crypto-utils.js +0 -24
- package/src/@claude-flow/guidance/dist/evolution.d.ts +0 -282
- package/src/@claude-flow/guidance/dist/evolution.js +0 -500
- package/src/@claude-flow/guidance/dist/gates.d.ts +0 -79
- package/src/@claude-flow/guidance/dist/gates.js +0 -302
- package/src/@claude-flow/guidance/dist/gateway.d.ts +0 -206
- package/src/@claude-flow/guidance/dist/gateway.js +0 -452
- package/src/@claude-flow/guidance/dist/generators.d.ts +0 -153
- package/src/@claude-flow/guidance/dist/generators.js +0 -682
- package/src/@claude-flow/guidance/dist/headless.d.ts +0 -177
- package/src/@claude-flow/guidance/dist/headless.js +0 -342
- package/src/@claude-flow/guidance/dist/hooks.d.ts +0 -109
- package/src/@claude-flow/guidance/dist/hooks.js +0 -347
- package/src/@claude-flow/guidance/dist/index.d.ts +0 -205
- package/src/@claude-flow/guidance/dist/index.js +0 -321
- package/src/@claude-flow/guidance/dist/ledger.d.ts +0 -162
- package/src/@claude-flow/guidance/dist/ledger.js +0 -375
- package/src/@claude-flow/guidance/dist/manifest-validator.d.ts +0 -289
- package/src/@claude-flow/guidance/dist/manifest-validator.js +0 -838
- package/src/@claude-flow/guidance/dist/memory-gate.d.ts +0 -222
- package/src/@claude-flow/guidance/dist/memory-gate.js +0 -382
- package/src/@claude-flow/guidance/dist/meta-governance.d.ts +0 -265
- package/src/@claude-flow/guidance/dist/meta-governance.js +0 -348
- package/src/@claude-flow/guidance/dist/optimizer.d.ts +0 -104
- package/src/@claude-flow/guidance/dist/optimizer.js +0 -329
- package/src/@claude-flow/guidance/dist/persistence.d.ts +0 -189
- package/src/@claude-flow/guidance/dist/persistence.js +0 -464
- package/src/@claude-flow/guidance/dist/proof.d.ts +0 -185
- package/src/@claude-flow/guidance/dist/proof.js +0 -238
- package/src/@claude-flow/guidance/dist/retriever.d.ts +0 -116
- package/src/@claude-flow/guidance/dist/retriever.js +0 -394
- package/src/@claude-flow/guidance/dist/ruvbot-integration.d.ts +0 -370
- package/src/@claude-flow/guidance/dist/ruvbot-integration.js +0 -738
- package/src/@claude-flow/guidance/dist/temporal.d.ts +0 -426
- package/src/@claude-flow/guidance/dist/temporal.js +0 -658
- package/src/@claude-flow/guidance/dist/trust.d.ts +0 -283
- package/src/@claude-flow/guidance/dist/trust.js +0 -473
- package/src/@claude-flow/guidance/dist/truth-anchors.d.ts +0 -276
- package/src/@claude-flow/guidance/dist/truth-anchors.js +0 -488
- package/src/@claude-flow/guidance/dist/types.d.ts +0 -378
- package/src/@claude-flow/guidance/dist/types.js +0 -10
- package/src/@claude-flow/guidance/dist/uncertainty.d.ts +0 -372
- package/src/@claude-flow/guidance/dist/uncertainty.js +0 -619
- package/src/@claude-flow/guidance/dist/wasm-kernel.d.ts +0 -48
- package/src/@claude-flow/guidance/dist/wasm-kernel.js +0 -158
|
@@ -1,282 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Evolution Pipeline
|
|
3
|
-
*
|
|
4
|
-
* Every change to prompts, policies, tools, and code becomes a signed change
|
|
5
|
-
* proposal that goes through simulation, replay comparison, and staged rollout.
|
|
6
|
-
*
|
|
7
|
-
* Pipeline stages:
|
|
8
|
-
* 1. Propose - Create a signed ChangeProposal
|
|
9
|
-
* 2. Simulate - Replay golden traces with baseline vs candidate config
|
|
10
|
-
* 3. Compare - Approve or reject based on divergence threshold
|
|
11
|
-
* 4. Stage - Create a staged rollout plan (canary -> partial -> full)
|
|
12
|
-
* 5. Advance - Progress through stages with metric gates
|
|
13
|
-
* 6. Promote / Rollback - Apply permanently or revert
|
|
14
|
-
*
|
|
15
|
-
* @module @claude-flow/guidance/evolution
|
|
16
|
-
*/
|
|
17
|
-
/**
|
|
18
|
-
* The kind of change being proposed.
|
|
19
|
-
*/
|
|
20
|
-
export type ChangeProposalKind = 'rule-modify' | 'rule-add' | 'rule-remove' | 'rule-promote' | 'policy-update' | 'tool-config' | 'budget-adjust';
|
|
21
|
-
/**
|
|
22
|
-
* Lifecycle status of a change proposal.
|
|
23
|
-
*/
|
|
24
|
-
export type ProposalStatus = 'draft' | 'signed' | 'simulating' | 'compared' | 'staged' | 'promoted' | 'rolled-back' | 'rejected';
|
|
25
|
-
/**
|
|
26
|
-
* Risk assessment attached to a proposal.
|
|
27
|
-
*/
|
|
28
|
-
export interface RiskAssessment {
|
|
29
|
-
level: 'low' | 'medium' | 'high';
|
|
30
|
-
factors: string[];
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* A signed change proposal describing a modification to the guidance system.
|
|
34
|
-
*/
|
|
35
|
-
export interface ChangeProposal {
|
|
36
|
-
/** Unique identifier (UUID) */
|
|
37
|
-
proposalId: string;
|
|
38
|
-
/** What kind of change this is */
|
|
39
|
-
kind: ChangeProposalKind;
|
|
40
|
-
/** Short human-readable title */
|
|
41
|
-
title: string;
|
|
42
|
-
/** Longer description of the change */
|
|
43
|
-
description: string;
|
|
44
|
-
/** Agent or human ID that authored the proposal */
|
|
45
|
-
author: string;
|
|
46
|
-
/** Dot-path or identifier of what is being changed */
|
|
47
|
-
targetPath: string;
|
|
48
|
-
/** Before/after snapshot of the change */
|
|
49
|
-
diff: {
|
|
50
|
-
before: unknown;
|
|
51
|
-
after: unknown;
|
|
52
|
-
};
|
|
53
|
-
/** Why this change is being proposed */
|
|
54
|
-
rationale: string;
|
|
55
|
-
/** Risk assessment for the change */
|
|
56
|
-
riskAssessment: RiskAssessment;
|
|
57
|
-
/** HMAC-SHA256 signature of the proposal content */
|
|
58
|
-
signature: string;
|
|
59
|
-
/** Epoch ms when the proposal was created */
|
|
60
|
-
createdAt: number;
|
|
61
|
-
/** Current lifecycle status */
|
|
62
|
-
status: ProposalStatus;
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* A single decision point where baseline and candidate diverged.
|
|
66
|
-
*/
|
|
67
|
-
export interface DecisionDiff {
|
|
68
|
-
/** Sequence number in the trace */
|
|
69
|
-
seq: number;
|
|
70
|
-
/** What the baseline decided */
|
|
71
|
-
baseline: unknown;
|
|
72
|
-
/** What the candidate decided */
|
|
73
|
-
candidate: unknown;
|
|
74
|
-
/** How severe the divergence is */
|
|
75
|
-
severity: 'low' | 'medium' | 'high';
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Result of simulating a proposal against golden traces.
|
|
79
|
-
*/
|
|
80
|
-
export interface SimulationResult {
|
|
81
|
-
/** Proposal that was simulated */
|
|
82
|
-
proposalId: string;
|
|
83
|
-
/** Hash of the trace produced by baseline config */
|
|
84
|
-
baselineTraceHash: string;
|
|
85
|
-
/** Hash of the trace produced by candidate config */
|
|
86
|
-
candidateTraceHash: string;
|
|
87
|
-
/** 0-1 score: 0 = identical, 1 = completely different */
|
|
88
|
-
divergenceScore: number;
|
|
89
|
-
/** Individual decision points where behaviour diverged */
|
|
90
|
-
decisionDiffs: DecisionDiff[];
|
|
91
|
-
/** Side-by-side metric comparison */
|
|
92
|
-
metricsComparison: {
|
|
93
|
-
baseline: Record<string, number>;
|
|
94
|
-
candidate: Record<string, number>;
|
|
95
|
-
};
|
|
96
|
-
/** Whether the simulation passed acceptance criteria */
|
|
97
|
-
passed: boolean;
|
|
98
|
-
/** Human-readable reason for the verdict */
|
|
99
|
-
reason: string;
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* A single stage in a staged rollout.
|
|
103
|
-
*/
|
|
104
|
-
export interface RolloutStage {
|
|
105
|
-
/** Stage name (e.g. 'canary', 'partial', 'full') */
|
|
106
|
-
name: string;
|
|
107
|
-
/** Percentage of traffic/agents this stage covers (0-100) */
|
|
108
|
-
percentage: number;
|
|
109
|
-
/** How long this stage should run before advancing (ms) */
|
|
110
|
-
durationMs: number;
|
|
111
|
-
/** Observed metrics during this stage */
|
|
112
|
-
metrics: Record<string, number>;
|
|
113
|
-
/** Maximum acceptable divergence before auto-rollback */
|
|
114
|
-
divergenceThreshold: number;
|
|
115
|
-
/** null = not evaluated yet, true = passed, false = failed */
|
|
116
|
-
passed: boolean | null;
|
|
117
|
-
/** Epoch ms when the stage started (null if not started) */
|
|
118
|
-
startedAt: number | null;
|
|
119
|
-
/** Epoch ms when the stage completed (null if not completed) */
|
|
120
|
-
completedAt: number | null;
|
|
121
|
-
}
|
|
122
|
-
/**
|
|
123
|
-
* A staged rollout plan for a change proposal.
|
|
124
|
-
*/
|
|
125
|
-
export interface StagedRollout {
|
|
126
|
-
/** Unique rollout identifier */
|
|
127
|
-
rolloutId: string;
|
|
128
|
-
/** The proposal being rolled out */
|
|
129
|
-
proposalId: string;
|
|
130
|
-
/** Ordered stages (canary -> partial -> full) */
|
|
131
|
-
stages: RolloutStage[];
|
|
132
|
-
/** Index of the current stage (0-based) */
|
|
133
|
-
currentStage: number;
|
|
134
|
-
/** Overall rollout status */
|
|
135
|
-
status: 'in-progress' | 'completed' | 'rolled-back';
|
|
136
|
-
/** Epoch ms when the rollout started */
|
|
137
|
-
startedAt: number;
|
|
138
|
-
/** Epoch ms when the rollout completed (null if still running) */
|
|
139
|
-
completedAt: number | null;
|
|
140
|
-
}
|
|
141
|
-
/**
|
|
142
|
-
* History entry combining proposal, optional simulation, optional rollout,
|
|
143
|
-
* and final outcome.
|
|
144
|
-
*/
|
|
145
|
-
export interface EvolutionHistoryEntry {
|
|
146
|
-
proposal: ChangeProposal;
|
|
147
|
-
simulation?: SimulationResult;
|
|
148
|
-
rollout?: StagedRollout;
|
|
149
|
-
outcome: ProposalStatus;
|
|
150
|
-
}
|
|
151
|
-
/**
|
|
152
|
-
* Evaluator function for simulation: given a golden trace and a config variant,
|
|
153
|
-
* produce a trace hash and metrics.
|
|
154
|
-
*/
|
|
155
|
-
export type TraceEvaluator = (trace: unknown, config: 'baseline' | 'candidate') => {
|
|
156
|
-
traceHash: string;
|
|
157
|
-
metrics: Record<string, number>;
|
|
158
|
-
decisions: unknown[];
|
|
159
|
-
};
|
|
160
|
-
export interface EvolutionPipelineConfig {
|
|
161
|
-
/** HMAC signing key for proposals */
|
|
162
|
-
signingKey?: string;
|
|
163
|
-
/** Maximum divergence score (0-1) to approve a change */
|
|
164
|
-
maxDivergence?: number;
|
|
165
|
-
/** Default rollout stages */
|
|
166
|
-
stages?: RolloutStage[];
|
|
167
|
-
}
|
|
168
|
-
/**
|
|
169
|
-
* The Evolution Pipeline manages the lifecycle of change proposals through
|
|
170
|
-
* signing, simulation, comparison, staged rollout, and promotion or rollback.
|
|
171
|
-
*/
|
|
172
|
-
export declare class EvolutionPipeline {
|
|
173
|
-
private readonly signingKey;
|
|
174
|
-
private readonly maxDivergence;
|
|
175
|
-
private readonly defaultStages;
|
|
176
|
-
private proposals;
|
|
177
|
-
private simulations;
|
|
178
|
-
private rollouts;
|
|
179
|
-
constructor(config?: EvolutionPipelineConfig);
|
|
180
|
-
/**
|
|
181
|
-
* Create and sign a new change proposal.
|
|
182
|
-
*/
|
|
183
|
-
propose(params: {
|
|
184
|
-
kind: ChangeProposalKind;
|
|
185
|
-
title: string;
|
|
186
|
-
description: string;
|
|
187
|
-
author: string;
|
|
188
|
-
targetPath: string;
|
|
189
|
-
diff: {
|
|
190
|
-
before: unknown;
|
|
191
|
-
after: unknown;
|
|
192
|
-
};
|
|
193
|
-
rationale: string;
|
|
194
|
-
riskAssessment: RiskAssessment;
|
|
195
|
-
}): ChangeProposal;
|
|
196
|
-
/**
|
|
197
|
-
* Run golden traces through both baseline and candidate configs to measure
|
|
198
|
-
* divergence. The evaluator is called once per golden trace per config.
|
|
199
|
-
*/
|
|
200
|
-
simulate(proposalId: string, goldenTraces: unknown[], evaluator: TraceEvaluator): SimulationResult;
|
|
201
|
-
/**
|
|
202
|
-
* Compare a simulation result against acceptance criteria.
|
|
203
|
-
*
|
|
204
|
-
* Checks:
|
|
205
|
-
* 1. Divergence is below threshold
|
|
206
|
-
* 2. No regression in key metrics (candidate >= baseline)
|
|
207
|
-
*/
|
|
208
|
-
compare(proposalId: string, simulationResult: SimulationResult): {
|
|
209
|
-
approved: boolean;
|
|
210
|
-
reason: string;
|
|
211
|
-
};
|
|
212
|
-
/**
|
|
213
|
-
* Create a staged rollout plan for a proposal.
|
|
214
|
-
*/
|
|
215
|
-
stage(proposalId: string): StagedRollout;
|
|
216
|
-
/**
|
|
217
|
-
* Advance to the next rollout stage or auto-rollback.
|
|
218
|
-
*
|
|
219
|
-
* If `stageMetrics.divergence` exceeds the current stage's threshold,
|
|
220
|
-
* the rollout is automatically rolled back.
|
|
221
|
-
*/
|
|
222
|
-
advanceStage(rolloutId: string, stageMetrics: Record<string, number>): {
|
|
223
|
-
advanced: boolean;
|
|
224
|
-
rolledBack: boolean;
|
|
225
|
-
reason: string;
|
|
226
|
-
};
|
|
227
|
-
/**
|
|
228
|
-
* Roll back a staged rollout.
|
|
229
|
-
*/
|
|
230
|
-
rollback(rolloutId: string, reason: string): void;
|
|
231
|
-
/**
|
|
232
|
-
* Promote a rollout, permanently applying the change.
|
|
233
|
-
*/
|
|
234
|
-
promote(rolloutId: string): void;
|
|
235
|
-
/**
|
|
236
|
-
* Get a proposal by ID.
|
|
237
|
-
*/
|
|
238
|
-
getProposal(id: string): ChangeProposal | undefined;
|
|
239
|
-
/**
|
|
240
|
-
* Get all proposals, optionally filtered by status.
|
|
241
|
-
*/
|
|
242
|
-
getProposals(status?: ProposalStatus): ChangeProposal[];
|
|
243
|
-
/**
|
|
244
|
-
* Get a rollout by ID.
|
|
245
|
-
*/
|
|
246
|
-
getRollout(id: string): StagedRollout | undefined;
|
|
247
|
-
/**
|
|
248
|
-
* Get the full evolution history across all proposals.
|
|
249
|
-
*/
|
|
250
|
-
getHistory(): EvolutionHistoryEntry[];
|
|
251
|
-
/**
|
|
252
|
-
* Produce an HMAC-SHA256 signature for a proposal.
|
|
253
|
-
*
|
|
254
|
-
* The signature covers every field except `signature` and `status`.
|
|
255
|
-
*/
|
|
256
|
-
private signProposal;
|
|
257
|
-
/**
|
|
258
|
-
* Compute a composite hash from an array of trace hashes.
|
|
259
|
-
*/
|
|
260
|
-
private hashTraceResults;
|
|
261
|
-
/**
|
|
262
|
-
* Classify how severe a single decision diff is.
|
|
263
|
-
*/
|
|
264
|
-
private classifyDiffSeverity;
|
|
265
|
-
/**
|
|
266
|
-
* Compute an overall divergence score (0-1).
|
|
267
|
-
*/
|
|
268
|
-
private computeDivergenceScore;
|
|
269
|
-
/**
|
|
270
|
-
* Aggregate an array of metric records into averages.
|
|
271
|
-
*/
|
|
272
|
-
private aggregateMetrics;
|
|
273
|
-
/**
|
|
274
|
-
* Find the rollout associated with a proposal.
|
|
275
|
-
*/
|
|
276
|
-
private findRolloutByProposal;
|
|
277
|
-
}
|
|
278
|
-
/**
|
|
279
|
-
* Create an EvolutionPipeline instance.
|
|
280
|
-
*/
|
|
281
|
-
export declare function createEvolutionPipeline(config?: EvolutionPipelineConfig): EvolutionPipeline;
|
|
282
|
-
//# sourceMappingURL=evolution.d.ts.map
|