import { type RuntimeActivationSnapshotV1 } from './types/runtime-activation.js'; import type { EmbeddingCapabilityV1 } from './types/embedding-capability.js'; export type RolloutMode = 'off' | 'shadow' | 'on'; export declare function resolveRuntimeActivationSnapshot(input: { projectRoot: string; semanticMode?: 'off' | 'shadow' | 'retrieval' | 'project'; capabilities?: Iterable; env?: NodeJS.ProcessEnv; createdAt?: number; }): RuntimeActivationSnapshotV1; export interface CapabilityRolloutConfig { truthfulWorkflow: RolloutMode; truthfulHealth: RolloutMode; retrievalSessions: RolloutMode; outcomeAttribution: RolloutMode; projectToolProfile: RolloutMode; compactSessionStart: RolloutMode; learningOverlays: RolloutMode; repeatedEvaluation: RolloutMode; worktreeWorkers: RolloutMode; } export type CapabilityRolloutKey = keyof CapabilityRolloutConfig; export type CapabilityRolloutDiagnosticCode = 'config_read_error' | 'malformed_config' | 'invalid_rollout_config' | 'invalid_rollout_value' | 'unknown_rollout_key'; export interface CapabilityRolloutDiagnostic { code: CapabilityRolloutDiagnosticCode; source: 'project' | 'environment'; message: string; key?: CapabilityRolloutKey; unknownKey?: string; environmentVariable?: string; value?: unknown; } export interface CapabilityRolloutResolution { config: CapabilityRolloutConfig; diagnostics: CapabilityRolloutDiagnostic[]; } export declare const DEFAULT_CAPABILITY_ROLLOUT: Readonly; export declare function resolveCapabilityRollout(projectRoot: string, env?: NodeJS.ProcessEnv): CapabilityRolloutResolution; export type EvidenceRuntimeRolloutStage = 'off' | 'shadow' | 'project' | 'percentage'; export type EvidenceRuntimeRolloutSetting = { stage: 'off' | 'shadow'; } | { stage: 'project'; projects: string[]; } | { stage: 'percentage'; percentage: number; salt: string; }; export interface EvidenceRuntimeRolloutConfig { artifactIdentity: EvidenceRuntimeRolloutSetting; channelOutcomes: EvidenceRuntimeRolloutSetting; actionLease: EvidenceRuntimeRolloutSetting; onlineTerminalProjection: EvidenceRuntimeRolloutSetting; memoryAutoSkip: EvidenceRuntimeRolloutSetting; knowledgePublish: EvidenceRuntimeRolloutSetting; } export type EvidenceRuntimeRolloutKey = keyof EvidenceRuntimeRolloutConfig; export interface EvidenceRuntimeRolloutDiagnostic { code: 'invalid_evidence_rollout' | 'unknown_evidence_rollout_key'; source: 'project' | 'environment'; message: string; key?: EvidenceRuntimeRolloutKey; value?: unknown; environmentVariable?: string; } export interface EvidenceRuntimeRolloutResolution { config: EvidenceRuntimeRolloutConfig; projectId: string; diagnostics: EvidenceRuntimeRolloutDiagnostic[]; } export interface EvidenceRuntimeRolloutDecision { stage: EvidenceRuntimeRolloutStage; writeEvents: boolean; shadowCompare: boolean; readCandidate: boolean; projectTerminalOutcome: boolean; preserveEvents: true; rewriteOutcomes: false; } export declare const DEFAULT_EVIDENCE_RUNTIME_ROLLOUT: Readonly; /** Resolve the independently reversible evidence-runtime rollout controls. */ export declare function resolveEvidenceRuntimeRollout(projectRoot: string, env?: NodeJS.ProcessEnv): EvidenceRuntimeRolloutResolution; export declare function decideEvidenceRuntimeRollout(input: { setting: EvidenceRuntimeRolloutSetting; projectId: string; bucketKey: string; }): EvidenceRuntimeRolloutDecision; /** * Rollback retains append-only evidence by returning every active capability to * shadow, while disabling all candidate reads and terminal projections. */ export declare function rollbackEvidenceRuntimeRollout(config: EvidenceRuntimeRolloutConfig): EvidenceRuntimeRolloutConfig; export declare function evidenceRuntimeProjectId(projectRoot: string): string; //# sourceMappingURL=capability-rollout.d.ts.map