@principles/core 1.297.4 → 1.297.5
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/dist/runtime-v2/activation/index.d.ts +6 -0
- package/dist/runtime-v2/activation/index.d.ts.map +1 -1
- package/dist/runtime-v2/activation/index.js +3 -0
- package/dist/runtime-v2/activation/index.js.map +1 -1
- package/dist/runtime-v2/activation/openclaw-promotion-checks.d.ts +75 -0
- package/dist/runtime-v2/activation/openclaw-promotion-checks.d.ts.map +1 -1
- package/dist/runtime-v2/activation/openclaw-promotion-checks.js +131 -37
- package/dist/runtime-v2/activation/openclaw-promotion-checks.js.map +1 -1
- package/dist/runtime-v2/activation/production-gate-deps.d.ts.map +1 -1
- package/dist/runtime-v2/activation/production-gate-deps.js +7 -3
- package/dist/runtime-v2/activation/production-gate-deps.js.map +1 -1
- package/dist/runtime-v2/activation/recovery-composition.d.ts +54 -0
- package/dist/runtime-v2/activation/recovery-composition.d.ts.map +1 -0
- package/dist/runtime-v2/activation/recovery-composition.js +129 -0
- package/dist/runtime-v2/activation/recovery-composition.js.map +1 -0
- package/dist/runtime-v2/activation/recovery-control-surfaces.d.ts +62 -0
- package/dist/runtime-v2/activation/recovery-control-surfaces.d.ts.map +1 -0
- package/dist/runtime-v2/activation/recovery-control-surfaces.js +84 -0
- package/dist/runtime-v2/activation/recovery-control-surfaces.js.map +1 -0
- package/dist/runtime-v2/activation/rulecode-shadow-summary.d.ts +13 -1
- package/dist/runtime-v2/activation/rulecode-shadow-summary.d.ts.map +1 -1
- package/dist/runtime-v2/activation/rulecode-shadow-summary.js +24 -1
- package/dist/runtime-v2/activation/rulecode-shadow-summary.js.map +1 -1
- package/dist/runtime-v2/index.d.ts +2 -2
- package/dist/runtime-v2/index.d.ts.map +1 -1
- package/dist/runtime-v2/index.js +1 -1
- package/dist/runtime-v2/index.js.map +1 -1
- package/dist/runtime-v2/trajectory-schema.d.ts.map +1 -1
- package/dist/runtime-v2/trajectory-schema.js +12 -1
- package/dist/runtime-v2/trajectory-schema.js.map +1 -1
- package/dist/runtime-v2/types/event-types.d.ts +10 -0
- package/dist/runtime-v2/types/event-types.d.ts.map +1 -1
- package/dist/runtime-v2/types/event-types.js +1 -0
- package/dist/runtime-v2/types/event-types.js.map +1 -1
- package/package.json +1 -1
|
@@ -19,6 +19,12 @@ export { evaluateRuleCodeSafetyCircuit, initialRuleCodeSafetyCircuitState } from
|
|
|
19
19
|
export type { RuleCodeSafetySample, RuleCodeSafetyCircuitState, RuleCodeSafetyTripReason } from './rulecode-safety-circuit-breaker.js';
|
|
20
20
|
export { collectOpenClawPromotionChecks } from './openclaw-promotion-checks.js';
|
|
21
21
|
export type { HostLivenessContract } from './openclaw-promotion-checks.js';
|
|
22
|
+
export type { RecoveryReachabilityEvidence, RecoveryCapabilityEvidence, RecoveryCapabilityCoverage } from './openclaw-promotion-checks.js';
|
|
23
|
+
export { validateRecoveryCapabilityCoverage } from './openclaw-promotion-checks.js';
|
|
24
|
+
export { RECOVERY_CONTROL_SURFACES, validateRecoveryControlSurfaces } from './recovery-control-surfaces.js';
|
|
25
|
+
export type { RecoveryControlCapability, RecoveryControlSurface, RecoveryControlValidation } from './recovery-control-surfaces.js';
|
|
26
|
+
export { verifyRecoveryProbeComposition } from './recovery-composition.js';
|
|
27
|
+
export type { RecoveryCompositionArtifact, RecoveryCompositionInput, RecoveryCompositionProbe, RecoveryCompositionResult } from './recovery-composition.js';
|
|
22
28
|
export { summarizeRuleCodeShadowEvents } from './rulecode-shadow-summary.js';
|
|
23
29
|
export type { RuleCodeShadowSummary } from './rulecode-shadow-summary.js';
|
|
24
30
|
export { buildPromotionEvidenceSnapshot, computeArtifactDigest, normalizeOwnerIdentity, verifyPiArtifactRowDigest } from './promotion-evidence-snapshot.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/activation/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/activation/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,9 @@ export { REQUIRED_PROMOTION_CHECK_IDS, evaluateRuleCodePromotionReadiness } from
|
|
|
11
11
|
export { PromotionReadinessReader } from './promotion-readiness-reader.js';
|
|
12
12
|
export { evaluateRuleCodeSafetyCircuit, initialRuleCodeSafetyCircuitState } from './rulecode-safety-circuit-breaker.js';
|
|
13
13
|
export { collectOpenClawPromotionChecks } from './openclaw-promotion-checks.js';
|
|
14
|
+
export { validateRecoveryCapabilityCoverage } from './openclaw-promotion-checks.js';
|
|
15
|
+
export { RECOVERY_CONTROL_SURFACES, validateRecoveryControlSurfaces } from './recovery-control-surfaces.js';
|
|
16
|
+
export { verifyRecoveryProbeComposition } from './recovery-composition.js';
|
|
14
17
|
export { summarizeRuleCodeShadowEvents } from './rulecode-shadow-summary.js';
|
|
15
18
|
export { buildPromotionEvidenceSnapshot, computeArtifactDigest, normalizeOwnerIdentity, verifyPiArtifactRowDigest } from './promotion-evidence-snapshot.js';
|
|
16
19
|
export { ApprovalQueue, decideAutoPromotion } from './approval-queue.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime-v2/activation/index.ts"],"names":[],"mappings":"AAiCA,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,mCAAmC,EACnC,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAGlE,2EAA2E;AAC3E,OAAO,EAAE,yBAAyB,EAAE,4BAA4B,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAG3H,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAElF,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AAMpF,OAAO,EAAE,4BAA4B,EAAE,kCAAkC,EAAE,MAAM,oCAAoC,CAAC;AAEtH,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAE3E,OAAO,EAAE,6BAA6B,EAAE,iCAAiC,EAAE,MAAM,sCAAsC,CAAC;AAExH,OAAO,EAAE,8BAA8B,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime-v2/activation/index.ts"],"names":[],"mappings":"AAiCA,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,mCAAmC,EACnC,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAGlE,2EAA2E;AAC3E,OAAO,EAAE,yBAAyB,EAAE,4BAA4B,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAG3H,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAElF,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AAMpF,OAAO,EAAE,4BAA4B,EAAE,kCAAkC,EAAE,MAAM,oCAAoC,CAAC;AAEtH,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAE3E,OAAO,EAAE,6BAA6B,EAAE,iCAAiC,EAAE,MAAM,sCAAsC,CAAC;AAExH,OAAO,EAAE,8BAA8B,EAAE,MAAM,gCAAgC,CAAC;AAGhF,OAAO,EAAE,kCAAkC,EAAE,MAAM,gCAAgC,CAAC;AACpF,OAAO,EAAE,yBAAyB,EAAE,+BAA+B,EAAE,MAAM,gCAAgC,CAAC;AAE5G,OAAO,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAE3E,OAAO,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAC;AAE7E,OAAO,EAAE,8BAA8B,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAG5J,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAEzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAGpF,4EAA4E;AAC5E,0EAA0E;AAC1E,2DAA2D;AAC3D,OAAO,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AAEnG,oEAAoE;AACpE,4EAA4E;AAC5E,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAG7E,8EAA8E;AAC9E,iEAAiE;AACjE,OAAO,EACL,6BAA6B,EAC7B,0BAA0B,EAC1B,cAAc,GACf,MAAM,yBAAyB,CAAC;AAQjC,OAAO,EACL,2BAA2B,EAC3B,QAAQ,IAAI,gBAAgB,EAC5B,uBAAuB,EACvB,4BAA4B,EAC5B,YAAY,EACZ,aAAa,EACb,4BAA4B,GAC7B,MAAM,wCAAwC,CAAC;AAShD,4EAA4E;AAC5E,OAAO,EACL,4BAA4B,EAC5B,wBAAwB,EACxB,6CAA6C,EAC7C,uBAAuB,EACvB,uBAAuB,EACvB,4BAA4B,EAC5B,mCAAmC,EACnC,mCAAmC,EACnC,mCAAmC,EACnC,0BAA0B,EAC1B,iCAAiC,EACjC,4BAA4B,EAC5B,mBAAmB,GACpB,MAAM,2BAA2B,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { PIArtifactSnapshot } from './activation-types.js';
|
|
2
|
+
import type { ToolSemanticRegistry } from '../internalization/tool-semantic-registry.js';
|
|
2
3
|
import type { PromotionReadinessCheck } from './promotion-readiness-evaluator.js';
|
|
3
4
|
export interface HostLivenessContract {
|
|
4
5
|
version: string;
|
|
@@ -20,11 +21,85 @@ interface OpenClawPromotionCheckInput {
|
|
|
20
21
|
ownerIdentityConfigured: boolean;
|
|
21
22
|
safetyControlsEnabled: boolean;
|
|
22
23
|
hostContract: unknown;
|
|
24
|
+
/**
|
|
25
|
+
* SPEC-RULECODE-HOST-PROMOTION-001 B: the contract version the workspace
|
|
26
|
+
* host resolver handed out for THIS promotion target. The shape validator
|
|
27
|
+
* only accepts a contract whose version matches — a Codex (or WorkBuddy)
|
|
28
|
+
* workspace can no longer present the OpenClaw legacy contract (or vice
|
|
29
|
+
* versa) as its capability authority. Defaults to the OpenClaw legacy
|
|
30
|
+
* version so pre-existing callers keep their exact behavior.
|
|
31
|
+
*/
|
|
32
|
+
expectedHostContractVersion?: string;
|
|
23
33
|
existingLiveArtifacts: readonly PIArtifactSnapshot[];
|
|
34
|
+
/**
|
|
35
|
+
* Review R3/P1: composition verification executes through the production
|
|
36
|
+
* boundary (same hardened evaluator + mergeDecisions as the shared gate)
|
|
37
|
+
* and needs the project root for path normalization, exactly like the
|
|
38
|
+
* golden-trace replay does.
|
|
39
|
+
*/
|
|
40
|
+
projectDir?: string;
|
|
41
|
+
toolSemantics?: ToolSemanticRegistry;
|
|
42
|
+
/**
|
|
43
|
+
* Review R3/P1: target-environment reachability evidence for the recovery
|
|
44
|
+
* controls, produced per readiness evaluation by the CALLER through a
|
|
45
|
+
* bounded, non-destructive probe (never cached, never destructive):
|
|
46
|
+
* - CLI channel: the caller spawns the real read-only status command and
|
|
47
|
+
* verifies it executes, parses, and reflects the TARGET workspace;
|
|
48
|
+
* - console channel: the caller proves the control's durable substrate is
|
|
49
|
+
* reachable from this process (and the authenticated review route served
|
|
50
|
+
* this request) — the full HTTP entry path from the Owner's browser is
|
|
51
|
+
* e2e/isolated-test evidence, not something a server can self-assert.
|
|
52
|
+
* Absent or failed evidence keeps emergency_controls FAILED — a registry
|
|
53
|
+
* proof in code is not an environment health fact.
|
|
54
|
+
*/
|
|
55
|
+
recoveryReachability?: RecoveryReachabilityEvidence;
|
|
24
56
|
validateProductionArtifact(artifact: PIArtifactSnapshot): Promise<{
|
|
25
57
|
ok: boolean;
|
|
26
58
|
}>;
|
|
27
59
|
}
|
|
60
|
+
export interface RecoveryReachabilityEvidence {
|
|
61
|
+
source: 'cli-status-probe' | 'console-store-probe' | 'console-route-served';
|
|
62
|
+
ok: boolean;
|
|
63
|
+
/** The probe was observed to target the workspace this readiness run governs. */
|
|
64
|
+
workspaceMatched: boolean;
|
|
65
|
+
/** Bounded, structured detail for the failed case (rc-9). */
|
|
66
|
+
detail?: string;
|
|
67
|
+
/**
|
|
68
|
+
* Review R4/P1: PER-CAPABILITY evidence. One aggregate probe can never
|
|
69
|
+
* certify the whole recovery surface — a successful status query says
|
|
70
|
+
* nothing about the deactivate entry, and a readable pause store says
|
|
71
|
+
* nothing about the pause ROUTE. emergency_controls requires one valid,
|
|
72
|
+
* current, workspace-matched entry for EVERY capability in the
|
|
73
|
+
* recovery-control registry: missing, duplicate, unknown, channel-mismatched,
|
|
74
|
+
* or failed entries fail the check (fail closed).
|
|
75
|
+
*/
|
|
76
|
+
capabilities?: readonly RecoveryCapabilityEvidence[];
|
|
77
|
+
}
|
|
78
|
+
export interface RecoveryCapabilityEvidence {
|
|
79
|
+
capabilityId: string;
|
|
80
|
+
channel: 'cli' | 'console';
|
|
81
|
+
ok: boolean;
|
|
82
|
+
workspaceMatched: boolean;
|
|
83
|
+
/** Bounded reason when ok/workspaceMatched is false (rc-9). */
|
|
84
|
+
detail?: string;
|
|
85
|
+
}
|
|
86
|
+
export type RecoveryCapabilityCoverage = {
|
|
87
|
+
ok: true;
|
|
88
|
+
} | {
|
|
89
|
+
ok: false;
|
|
90
|
+
reason: 'recovery_capability_evidence_incomplete' | 'recovery_reachability_unverified';
|
|
91
|
+
detail: string;
|
|
92
|
+
};
|
|
93
|
+
/**
|
|
94
|
+
* Review R4/P1: validate the per-capability evidence matrix against the
|
|
95
|
+
* recovery-control registry. Required: every registry capability present
|
|
96
|
+
* EXACTLY once, channel matching the registry, ok AND workspace-matched.
|
|
97
|
+
* Duplicates, unknown ids, missing entries, or channel mismatches are
|
|
98
|
+
* coverage failures; entries that ran but failed (or targeted another
|
|
99
|
+
* workspace) are reachability failures. Never cached — the caller produces
|
|
100
|
+
* this evidence fresh for every readiness evaluation.
|
|
101
|
+
*/
|
|
102
|
+
export declare function validateRecoveryCapabilityCoverage(capabilities: readonly RecoveryCapabilityEvidence[] | undefined): RecoveryCapabilityCoverage;
|
|
28
103
|
export declare function collectOpenClawPromotionChecks(artifact: PIArtifactSnapshot, input: OpenClawPromotionCheckInput): Promise<PromotionReadinessCheck[]>;
|
|
29
104
|
export {};
|
|
30
105
|
//# sourceMappingURL=openclaw-promotion-checks.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openclaw-promotion-checks.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/activation/openclaw-promotion-checks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"openclaw-promotion-checks.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/activation/openclaw-promotion-checks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AACzF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAIlF,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,sBAAsB,EAAE,OAAO,CAAC;IAChC,iBAAiB,EAAE,SAAS,CAAC,uBAAuB,GAAG,uBAAuB,GAAG,sBAAsB,CAAC,EAAE,CAAC;IAC3G,qBAAqB,EAAE,SAAS;QAC9B,YAAY,EAAE,MAAM,CAAC;QACrB,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;KACpC,EAAE,CAAC;IACJ,aAAa,EAAE,SAAS;QACtB,OAAO,EAAE,MAAM,CAAC;QAChB,YAAY,EAAE,MAAM,CAAC;QACrB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QAC1C,gBAAgB,EAAE,OAAO,CAAC;KAC3B,EAAE,CAAC;CACL;AAED,UAAU,2BAA2B;IACnC,uBAAuB,EAAE,OAAO,CAAC;IACjC,qBAAqB,EAAE,OAAO,CAAC;IAC/B,YAAY,EAAE,OAAO,CAAC;IACtB;;;;;;;OAOG;IACH,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,qBAAqB,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACrD;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC;;;;;;;;;;;;OAYG;IACH,oBAAoB,CAAC,EAAE,4BAA4B,CAAC;IACpD,0BAA0B,CAAC,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CACpF;AAED,MAAM,WAAW,4BAA4B;IAC3C,MAAM,EAAE,kBAAkB,GAAG,qBAAqB,GAAG,sBAAsB,CAAC;IAC5E,EAAE,EAAE,OAAO,CAAC;IACZ,iFAAiF;IACjF,gBAAgB,EAAE,OAAO,CAAC;IAC1B,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;;;;OAQG;IACH,YAAY,CAAC,EAAE,SAAS,0BAA0B,EAAE,CAAC;CACtD;AAED,MAAM,WAAW,0BAA0B;IACzC,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,KAAK,GAAG,SAAS,CAAC;IAC3B,EAAE,EAAE,OAAO,CAAC;IACZ,gBAAgB,EAAE,OAAO,CAAC;IAC1B,+DAA+D;IAC/D,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,0BAA0B,GAClC;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GACZ;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,yCAAyC,GAAG,kCAAkC,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1H;;;;;;;;GAQG;AACH,wBAAgB,kCAAkC,CAChD,YAAY,EAAE,SAAS,0BAA0B,EAAE,GAAG,SAAS,GAC9D,0BAA0B,CAsC5B;AA+ED,wBAAsB,8BAA8B,CAClD,QAAQ,EAAE,kBAAkB,EAC5B,KAAK,EAAE,2BAA2B,GACjC,OAAO,CAAC,uBAAuB,EAAE,CAAC,CA0FpC"}
|
|
@@ -1,16 +1,68 @@
|
|
|
1
|
+
import { validateRecoveryControlSurfaces, RECOVERY_CONTROL_SURFACES } from './recovery-control-surfaces.js';
|
|
2
|
+
import { verifyRecoveryProbeComposition } from './recovery-composition.js';
|
|
3
|
+
/**
|
|
4
|
+
* Review R4/P1: validate the per-capability evidence matrix against the
|
|
5
|
+
* recovery-control registry. Required: every registry capability present
|
|
6
|
+
* EXACTLY once, channel matching the registry, ok AND workspace-matched.
|
|
7
|
+
* Duplicates, unknown ids, missing entries, or channel mismatches are
|
|
8
|
+
* coverage failures; entries that ran but failed (or targeted another
|
|
9
|
+
* workspace) are reachability failures. Never cached — the caller produces
|
|
10
|
+
* this evidence fresh for every readiness evaluation.
|
|
11
|
+
*/
|
|
12
|
+
export function validateRecoveryCapabilityCoverage(capabilities) {
|
|
13
|
+
if (capabilities === undefined || capabilities.length === 0) {
|
|
14
|
+
return { ok: false, reason: 'recovery_capability_evidence_incomplete', detail: 'no per-capability reachability evidence supplied' };
|
|
15
|
+
}
|
|
16
|
+
const byId = new Map();
|
|
17
|
+
for (const entry of capabilities) {
|
|
18
|
+
if (byId.has(entry.capabilityId)) {
|
|
19
|
+
return { ok: false, reason: 'recovery_capability_evidence_incomplete', detail: `duplicate evidence for ${entry.capabilityId}` };
|
|
20
|
+
}
|
|
21
|
+
byId.set(entry.capabilityId, entry);
|
|
22
|
+
}
|
|
23
|
+
const problems = [];
|
|
24
|
+
for (const surface of RECOVERY_CONTROL_SURFACES) {
|
|
25
|
+
const entry = byId.get(surface.capabilityId);
|
|
26
|
+
if (entry === undefined) {
|
|
27
|
+
problems.push(`${surface.capabilityId}: no evidence`);
|
|
28
|
+
continue;
|
|
29
|
+
}
|
|
30
|
+
if (entry.channel !== surface.channel) {
|
|
31
|
+
problems.push(`${surface.capabilityId}: evidence channel ${entry.channel} does not match the registry channel ${surface.channel}`);
|
|
32
|
+
continue;
|
|
33
|
+
}
|
|
34
|
+
if (!entry.ok) {
|
|
35
|
+
problems.push(`${surface.capabilityId}: not reachable${entry.detail !== undefined ? ` (${entry.detail})` : ''}`);
|
|
36
|
+
}
|
|
37
|
+
else if (!entry.workspaceMatched) {
|
|
38
|
+
problems.push(`${surface.capabilityId}: evidence does not target the governed workspace${entry.detail !== undefined ? ` (${entry.detail})` : ''}`);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
for (const [capabilityId] of byId) {
|
|
42
|
+
if (!RECOVERY_CONTROL_SURFACES.some(surface => surface.capabilityId === capabilityId)) {
|
|
43
|
+
problems.push(`${capabilityId}: evidence for an unknown capability (not in the recovery-control registry)`);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
if (problems.length > 0) {
|
|
47
|
+
const incomplete = problems.some(problem => problem.includes('no evidence') || problem.includes('unknown capability') || problem.includes('does not match the registry channel'));
|
|
48
|
+
return { ok: false, reason: incomplete ? 'recovery_capability_evidence_incomplete' : 'recovery_reachability_unverified', detail: problems.join('; ') };
|
|
49
|
+
}
|
|
50
|
+
return { ok: true };
|
|
51
|
+
}
|
|
1
52
|
function isRecord(value) {
|
|
2
53
|
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
3
54
|
}
|
|
4
55
|
function isNonEmptyString(value) {
|
|
5
56
|
return typeof value === 'string' && value.trim().length > 0;
|
|
6
57
|
}
|
|
7
|
-
|
|
58
|
+
const DEFAULT_HOST_CONTRACT_VERSION = 'openclaw-legacy@1';
|
|
59
|
+
function validateHostContract(value, expectedVersion) {
|
|
8
60
|
if (!isRecord(value))
|
|
9
61
|
return null;
|
|
10
62
|
const { outOfBandControls } = value;
|
|
11
63
|
const { protectedCapabilities } = value;
|
|
12
64
|
const { neutralProbes } = value;
|
|
13
|
-
if (value.version !==
|
|
65
|
+
if (value.version !== expectedVersion
|
|
14
66
|
|| value.supportsShadowEvidence !== true
|
|
15
67
|
|| !Array.isArray(outOfBandControls)
|
|
16
68
|
|| !Array.isArray(protectedCapabilities)
|
|
@@ -48,10 +100,18 @@ function validateHostContract(value) {
|
|
|
48
100
|
expectedDecision: 'allow',
|
|
49
101
|
});
|
|
50
102
|
}
|
|
51
|
-
|
|
103
|
+
// Review R3/P1: probe coverage is required for the RULE-INTERCEPTABLE
|
|
104
|
+
// capabilities only (registry CLI channel). Console-channel recovery never
|
|
105
|
+
// passes through the RuleHost gate, so its verification is not a rule
|
|
106
|
+
// replay — probes for those capabilities are rejected by the registry
|
|
107
|
+
// validator instead of demanded here.
|
|
108
|
+
const cliProbeCapabilities = RECOVERY_CONTROL_SURFACES
|
|
109
|
+
.filter(surface => surface.channel === 'cli')
|
|
110
|
+
.map(surface => surface.capabilityId);
|
|
111
|
+
if (!cliProbeCapabilities.every(capability => neutralProbeList.some(probe => probe.capabilityId === capability)))
|
|
52
112
|
return null;
|
|
53
113
|
return {
|
|
54
|
-
version:
|
|
114
|
+
version: expectedVersion,
|
|
55
115
|
supportsShadowEvidence: true,
|
|
56
116
|
outOfBandControls: requiredControls,
|
|
57
117
|
protectedCapabilities: protectedCapabilityList,
|
|
@@ -67,26 +127,6 @@ function parseArtifactContent(artifact) {
|
|
|
67
127
|
return null;
|
|
68
128
|
}
|
|
69
129
|
}
|
|
70
|
-
function artifactWithNeutralProbes(artifact, contract) {
|
|
71
|
-
const content = parseArtifactContent(artifact);
|
|
72
|
-
if (!content || !isRecord(content.goldenTrace) || !Array.isArray(content.goldenTrace.cases))
|
|
73
|
-
return null;
|
|
74
|
-
const cases = contract.neutralProbes.map(probe => ({
|
|
75
|
-
caseId: `host-liveness:${probe.probeId}`,
|
|
76
|
-
kind: 'positive',
|
|
77
|
-
toolName: probe.toolName,
|
|
78
|
-
params: { ...probe.params },
|
|
79
|
-
expectedDecision: 'allow',
|
|
80
|
-
}));
|
|
81
|
-
const trace = {
|
|
82
|
-
traceId: `${String(content.goldenTrace.traceId)}:host-liveness`,
|
|
83
|
-
sourcePainId: String(content.goldenTrace.sourcePainId),
|
|
84
|
-
cases: [...content.goldenTrace.cases, ...cases],
|
|
85
|
-
createdAt: String(content.goldenTrace.createdAt),
|
|
86
|
-
version: 1,
|
|
87
|
-
};
|
|
88
|
-
return { ...artifact, contentJson: JSON.stringify({ ...content, goldenTrace: trace }) };
|
|
89
|
-
}
|
|
90
130
|
export async function collectOpenClawPromotionChecks(artifact, input) {
|
|
91
131
|
const content = parseArtifactContent(artifact);
|
|
92
132
|
const affectedTools = content && Array.isArray(content.affectedTools)
|
|
@@ -99,24 +139,78 @@ export async function collectOpenClawPromotionChecks(artifact, input) {
|
|
|
99
139
|
]);
|
|
100
140
|
const scopeAvoidsProtectedCapabilities = bounded
|
|
101
141
|
&& affectedTools.every(value => !protectedCapabilityIds.has(value));
|
|
102
|
-
const contract = validateHostContract(input.hostContract);
|
|
103
|
-
|
|
142
|
+
const contract = validateHostContract(input.hostContract, input.expectedHostContractVersion ?? DEFAULT_HOST_CONTRACT_VERSION);
|
|
143
|
+
// Review R1 (SPEC-RULECODE-HOST-PROMOTION-001): the contract SHAPE alone
|
|
144
|
+
// never certifies control health. Validate its recovery entries against the
|
|
145
|
+
// real-surface registry (command/route registrations proven by the
|
|
146
|
+
// cross-package contract tests that import it).
|
|
147
|
+
const recoverySurfaces = contract !== null ? validateRecoveryControlSurfaces(contract) : null;
|
|
148
|
+
// Review R3/P1: composition verification runs through the PRODUCTION
|
|
149
|
+
// composition boundary — every rule of the composed set compiled by the
|
|
150
|
+
// same hardened evaluator production replay uses, evaluated on each
|
|
151
|
+
// rule-interceptable probe input, merged by the same mergeDecisions the
|
|
152
|
+
// shared gate uses. Per-artifact golden-trace replay alone is NOT
|
|
153
|
+
// "composition verification" and is no longer described or used as one.
|
|
154
|
+
let composition;
|
|
104
155
|
if (contract && scopeAvoidsProtectedCapabilities) {
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
156
|
+
composition = verifyRecoveryProbeComposition({
|
|
157
|
+
artifacts: [artifact, ...input.existingLiveArtifacts],
|
|
158
|
+
probes: contract.neutralProbes.map(probe => ({ probeId: probe.probeId, toolName: probe.toolName, params: probe.params })),
|
|
159
|
+
projectDir: input.projectDir ?? '.',
|
|
160
|
+
...(input.toolSemantics !== undefined ? { toolSemantics: input.toolSemantics } : {}),
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
else if (contract) {
|
|
164
|
+
composition = { ok: false, probeId: '__scope__', reason: 'artifact scope overlaps protected capabilities' };
|
|
165
|
+
}
|
|
166
|
+
else {
|
|
167
|
+
// No validated contract → no verified composition (parity with the
|
|
168
|
+
// pre-R3 probesPassed contract requirement).
|
|
169
|
+
composition = { ok: false, probeId: '__contract__', reason: 'no validated host contract' };
|
|
113
170
|
}
|
|
114
|
-
|
|
171
|
+
// Review R3/P1: emergency controls are healthy only when ALL of the
|
|
172
|
+
// following hold — the contract shape-bound to the resolver's version, the
|
|
173
|
+
// safety flag on, every recovery entry verified against the REAL surface
|
|
174
|
+
// registry, TARGET-ENVIRONMENT reachability evidence produced by this very
|
|
175
|
+
// readiness evaluation (no cached "verified once" state), AND the composed
|
|
176
|
+
// rule set (candidate + existing live) allows the rule-interceptable
|
|
177
|
+
// recovery probes through the production merge boundary. Console-channel
|
|
178
|
+
// controls are covered by registry + reachability + structural
|
|
179
|
+
// independence (they never pass through the RuleHost gate; isolated-env
|
|
180
|
+
// route tests prove the pause path and its effect on the gate).
|
|
181
|
+
const reachability = input.recoveryReachability;
|
|
182
|
+
// Review R4/P1: PER-CAPABILITY coverage — the aggregate verdict alone is
|
|
183
|
+
// never accepted. Every registry capability needs its own current,
|
|
184
|
+
// workspace-matched evidence entry (no evidence reuse across capabilities,
|
|
185
|
+
// no caching across evaluations).
|
|
186
|
+
const capabilityCoverage = contract !== null
|
|
187
|
+
? validateRecoveryCapabilityCoverage(reachability?.capabilities)
|
|
188
|
+
: { ok: true };
|
|
189
|
+
const emergencyControlsHealthy = contract !== null
|
|
190
|
+
&& input.safetyControlsEnabled
|
|
191
|
+
&& recoverySurfaces !== null
|
|
192
|
+
&& recoverySurfaces.ok
|
|
193
|
+
&& reachability !== undefined
|
|
194
|
+
&& reachability.ok
|
|
195
|
+
&& reachability.workspaceMatched
|
|
196
|
+
&& capabilityCoverage.ok
|
|
197
|
+
&& composition.ok;
|
|
198
|
+
const emergencyReason = contract === null
|
|
199
|
+
? 'out_of_band_controls_unavailable'
|
|
200
|
+
: !input.safetyControlsEnabled
|
|
201
|
+
? 'safety_controls_disabled'
|
|
202
|
+
: recoverySurfaces !== null && !recoverySurfaces.ok
|
|
203
|
+
? recoverySurfaces.reason
|
|
204
|
+
: reachability === undefined || !reachability.ok || !reachability.workspaceMatched
|
|
205
|
+
? 'recovery_reachability_unverified'
|
|
206
|
+
: !capabilityCoverage.ok
|
|
207
|
+
? capabilityCoverage.reason
|
|
208
|
+
: 'control_probe_composition_failed';
|
|
115
209
|
return [
|
|
116
210
|
{ checkId: 'bounded_scope', status: bounded ? 'passed' : 'failed', ...(!bounded ? { reasonCode: 'explicit_affected_tools_required' } : {}) },
|
|
117
211
|
{ checkId: 'runtime_compatibility', status: contract ? 'passed' : 'failed', ...(!contract ? { reasonCode: 'host_liveness_contract_missing_invalid_or_unsupported' } : {}) },
|
|
118
|
-
{ checkId: 'host_liveness_composition', status:
|
|
119
|
-
{ checkId: 'emergency_controls', status: emergencyControlsHealthy ? 'passed' : 'failed', ...(!emergencyControlsHealthy ? { reasonCode:
|
|
212
|
+
{ checkId: 'host_liveness_composition', status: composition.ok ? 'passed' : 'failed', ...(!composition.ok ? { reasonCode: composition.probeId.startsWith('__') ? `recovery_composition_${composition.probeId.slice(2)}` : 'recovery_probe_composition_blocked' } : {}) },
|
|
213
|
+
{ checkId: 'emergency_controls', status: emergencyControlsHealthy ? 'passed' : 'failed', ...(!emergencyControlsHealthy ? { reasonCode: emergencyReason } : {}) },
|
|
120
214
|
{ checkId: 'runtime_shadow_evidence', status: contract?.supportsShadowEvidence === true ? 'passed' : 'failed', ...(contract?.supportsShadowEvidence === true ? {} : { reasonCode: 'runtime_shadow_evidence_unsupported' }) },
|
|
121
215
|
{ checkId: 'owner_identity_configuration', status: input.ownerIdentityConfigured ? 'passed' : 'failed', ...(!input.ownerIdentityConfigured ? { reasonCode: 'configured_owner_missing' } : {}) },
|
|
122
216
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openclaw-promotion-checks.js","sourceRoot":"","sources":["../../../src/runtime-v2/activation/openclaw-promotion-checks.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"openclaw-promotion-checks.js","sourceRoot":"","sources":["../../../src/runtime-v2/activation/openclaw-promotion-checks.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"production-gate-deps.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/activation/production-gate-deps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAKH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAE5E,OAAO,KAAK,EACV,uBAAuB,EACxB,MAAM,6CAA6C,CAAC;AAErD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;
|
|
1
|
+
{"version":3,"file":"production-gate-deps.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/activation/production-gate-deps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAKH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAE5E,OAAO,KAAK,EACV,uBAAuB,EACxB,MAAM,6CAA6C,CAAC;AAErD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AA8EzF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,gBAAgB,CAgFhG;AAED,MAAM,WAAW,yBAAyB;IACxC;;;;;OAKG;IACH,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,GAAE,yBAA8B,GAAG,uBAAuB,CAwFzG"}
|
|
@@ -58,10 +58,13 @@ function isValidRuleHostResult(value) {
|
|
|
58
58
|
* Untrusted input crosses as DATA (a string), never as code or objects.
|
|
59
59
|
*/
|
|
60
60
|
function normalizeSource(sourceCode) {
|
|
61
|
-
|
|
61
|
+
return sourceCode
|
|
62
62
|
.replace(/export\s+const\s+meta\s*=/, 'const meta =')
|
|
63
63
|
.replace(/export\s+function\s+evaluate\s*\(/, 'function evaluate(');
|
|
64
|
-
|
|
64
|
+
}
|
|
65
|
+
// Compile the intentionally executable RuleCode separately from this fixed
|
|
66
|
+
// data bridge. Untrusted source never becomes part of the bridge's code text.
|
|
67
|
+
const RULE_MODULE_BRIDGE = `
|
|
65
68
|
globalThis.__pdRuleModule = {
|
|
66
69
|
meta: typeof meta === 'undefined' ? undefined : meta,
|
|
67
70
|
evaluate: typeof evaluate === 'undefined' ? undefined : function (__pdJsonBridge) {
|
|
@@ -76,7 +79,6 @@ globalThis.__pdRuleModule = {
|
|
|
76
79
|
return evaluate(__pdCallInput, __pdCallHelpers);
|
|
77
80
|
},
|
|
78
81
|
};`;
|
|
79
|
-
}
|
|
80
82
|
/**
|
|
81
83
|
* Type guard: validate that a value from the untrusted vm sandbox has the
|
|
82
84
|
* expected CompiledModuleExports shape. Treats all sandbox output as unknown.
|
|
@@ -131,6 +133,8 @@ export function compileHardenedRuleEvaluator(code, sourceLabel) {
|
|
|
131
133
|
const context = vm.createContext(Object.create(null), { microtaskMode: 'afterEvaluate' });
|
|
132
134
|
const script = new vm.Script(normalizeSource(code), { filename: sourceLabel });
|
|
133
135
|
script.runInContext(context, { timeout: 1000, displayErrors: true });
|
|
136
|
+
new vm.Script(RULE_MODULE_BRIDGE, { filename: `${sourceLabel}#bridge` })
|
|
137
|
+
.runInContext(context, { timeout: 1000, displayErrors: true });
|
|
134
138
|
// Treat sandbox output as untrusted — use Reflect.get + type guard, not `as`.
|
|
135
139
|
const moduleExportsUnknown = Reflect.get(context, '__pdRuleModule');
|
|
136
140
|
if (!isCompiledModuleExports(moduleExportsUnknown)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"production-gate-deps.js","sourceRoot":"","sources":["../../../src/runtime-v2/activation/production-gate-deps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAU9B,OAAO,EAAE,wBAAwB,EAAE,MAAM,+CAA+C,CAAC;AACzF,OAAO,EAAE,sBAAsB,EAAE,kCAAkC,EAAE,0BAA0B,EAAE,MAAM,2CAA2C,CAAC;AACnJ,OAAO,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAErE;;;;;;;GAOG;AACH,MAAM,+BAA+B,GAAG,KAAK,CAAC;AAE9C;;;;;;;GAOG;AACH,SAAS,qBAAqB,CAAC,KAAc;IAC3C,OAAO,sBAAsB,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC;AAC7C,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,eAAe,CAAC,UAAkB;IACzC,
|
|
1
|
+
{"version":3,"file":"production-gate-deps.js","sourceRoot":"","sources":["../../../src/runtime-v2/activation/production-gate-deps.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import type { ToolSemanticRegistry } from '../internalization/tool-semantic-registry.js';
|
|
2
|
+
/**
|
|
3
|
+
* SPEC-RULECODE-HOST-PROMOTION-001 review round 3 (P1): "composition
|
|
4
|
+
* verification" must execute through the PRODUCTION composition boundary —
|
|
5
|
+
* every rule of the composed set (candidate + existing live) compiled by the
|
|
6
|
+
* same hardened evaluator production replay uses, evaluated against the same
|
|
7
|
+
* synthetic-input builder, and merged by the same `mergeDecisions` the
|
|
8
|
+
* shared gate uses at runtime (any block / requireApproval / auto_correct
|
|
9
|
+
* from ANY rule wins over allow). The previous approximation appended probe
|
|
10
|
+
* cases to each artifact's own golden trace and validated artifacts one by
|
|
11
|
+
* one — decision-equivalent for blockers, but it never exercised a merged
|
|
12
|
+
* multi-rule execution; this module does.
|
|
13
|
+
*
|
|
14
|
+
* Evidence-layer boundary (do not blur): this is RULE-side verification for
|
|
15
|
+
* the rule-interceptable (CLI/shell-channel) recovery probes ONLY. Console-
|
|
16
|
+
* channel recovery controls never pass through the RuleHost gate — their
|
|
17
|
+
* independence is structural and their real-world reachability is supplied
|
|
18
|
+
* separately as target-environment evidence by the readiness caller.
|
|
19
|
+
*/
|
|
20
|
+
export interface RecoveryCompositionArtifact {
|
|
21
|
+
artifactId: string;
|
|
22
|
+
/** Direct source when the caller already parsed the artifact content. */
|
|
23
|
+
implementationCode?: string;
|
|
24
|
+
/** Raw artifact content; parsed here when implementationCode is absent. */
|
|
25
|
+
contentJson?: string;
|
|
26
|
+
}
|
|
27
|
+
export interface RecoveryCompositionProbe {
|
|
28
|
+
probeId: string;
|
|
29
|
+
toolName: string;
|
|
30
|
+
params: Readonly<Record<string, unknown>>;
|
|
31
|
+
}
|
|
32
|
+
export interface RecoveryCompositionInput {
|
|
33
|
+
/** Candidate first, then existing live artifacts, in activation order. */
|
|
34
|
+
artifacts: readonly RecoveryCompositionArtifact[];
|
|
35
|
+
probes: readonly RecoveryCompositionProbe[];
|
|
36
|
+
projectDir: string;
|
|
37
|
+
toolSemantics?: ToolSemanticRegistry;
|
|
38
|
+
}
|
|
39
|
+
export type RecoveryCompositionResult = {
|
|
40
|
+
ok: true;
|
|
41
|
+
} | {
|
|
42
|
+
ok: false;
|
|
43
|
+
probeId: string;
|
|
44
|
+
blockerArtifactId?: string;
|
|
45
|
+
reason: string;
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* Verify that the COMPOSED rule set (candidate + existing live) allows every
|
|
49
|
+
* rule-interceptable recovery probe. Any rule that blocks (or escalates) a
|
|
50
|
+
* probe fails the check with the blocking artifact identified — a rule
|
|
51
|
+
* combination that blocks an official recovery entry can never be promoted.
|
|
52
|
+
*/
|
|
53
|
+
export declare function verifyRecoveryProbeComposition(input: RecoveryCompositionInput): RecoveryCompositionResult;
|
|
54
|
+
//# sourceMappingURL=recovery-composition.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recovery-composition.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/activation/recovery-composition.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AAEzF;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,2BAA2B;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,yEAAyE;IACzE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,2EAA2E;IAC3E,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,wBAAwB;IACvC,0EAA0E;IAC1E,SAAS,EAAE,SAAS,2BAA2B,EAAE,CAAC;IAClD,MAAM,EAAE,SAAS,wBAAwB,EAAE,CAAC;IAC5C,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,oBAAoB,CAAC;CACtC;AAED,MAAM,MAAM,yBAAyB,GACjC;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GACZ;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AA2D/E;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,wBAAwB,GAAG,yBAAyB,CA6DzG"}
|