@gate-forge/core 0.6.0 → 0.6.2
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/classifier/classify.d.ts +1 -0
- package/dist/classifier/classify.d.ts.map +1 -1
- package/dist/classifier/classify.js +66 -10
- package/dist/classifier/classify.js.map +1 -1
- package/dist/config/index.d.ts +1 -0
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +9 -0
- package/dist/config/index.js.map +1 -1
- package/dist/index.d.ts +14 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -3
- package/dist/index.js.map +1 -1
- package/dist/policy/evaluate.d.ts +4 -0
- package/dist/policy/evaluate.d.ts.map +1 -1
- package/dist/schemas/classification-policy.d.ts +52 -0
- package/dist/schemas/classification-policy.d.ts.map +1 -1
- package/dist/schemas/classification-policy.js +93 -0
- package/dist/schemas/classification-policy.js.map +1 -1
- package/dist/schemas/runtime-config.d.ts +103 -0
- package/dist/schemas/runtime-config.d.ts.map +1 -0
- package/dist/schemas/runtime-config.js +168 -0
- package/dist/schemas/runtime-config.js.map +1 -0
- package/dist/schemas/verdict.d.ts +2 -0
- package/dist/schemas/verdict.d.ts.map +1 -1
- package/dist/schemas/verdict.js +6 -0
- package/dist/schemas/verdict.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -168,6 +168,13 @@ export { CauseCodeSchema, CAUSE_NEXT_ACTIONS } from './schemas/verdict.js';
|
|
|
168
168
|
* feature off (opt-in); agent edits never self-approve a disposition.
|
|
169
169
|
*/
|
|
170
170
|
export { COVERAGE_OPERATIONS, CoverageOperationSchema, CoveragePolicySchema, CoverageTableSchema, CoverageDispositionSchema, } from './schemas/coverage-policy.js';
|
|
171
|
+
/**
|
|
172
|
+
* Staged-runtime configuration (plan 2026-09-21 witnessed pre-commit):
|
|
173
|
+
* the owner-reviewed `.gateforge/runtime.yml` — dependency preparation,
|
|
174
|
+
* sanctioned dependency reuse, and candidate-owned services with
|
|
175
|
+
* readiness probes. Security-sensitive: trusted-policy digest input.
|
|
176
|
+
*/
|
|
177
|
+
export { RuntimeConfigSchema, RuntimeServiceSchema, RuntimeReadinessSchema, isNormalizedRepoRelativePath, SERVICE_PORT_PLACEHOLDER, SERVICE_URL_PLACEHOLDER, DEFAULT_PREPARE_TIMEOUT_SECONDS, DEFAULT_READY_TIMEOUT_SECONDS, } from './schemas/runtime-config.js';
|
|
171
178
|
/**
|
|
172
179
|
* Behavior policy / catalog / evidence (plan 2026-09-19): owner-approved
|
|
173
180
|
* complete-behavior cases. Absence of the document preserves basic
|
|
@@ -308,10 +315,11 @@ export { ClassificationSignalSchema, signalId, SignalTargetSchema, SignalDimensi
|
|
|
308
315
|
/**
|
|
309
316
|
* ClassificationPolicy: the `classification-policy.yml` document —
|
|
310
317
|
* scan roots, trusted internal entry-point categories, organization
|
|
311
|
-
* internal rules (certificate inputs, never overrides),
|
|
312
|
-
*
|
|
318
|
+
* internal rules (certificate inputs, never overrides), exact owner
|
|
319
|
+
* lifecycle rules (closed-world disables), supported declaration syntax,
|
|
320
|
+
* and volatile fields.
|
|
313
321
|
*/
|
|
314
|
-
export { ClassificationPolicySchema, InternalEntryPointCategorySchema, InternalRuleSchema, InternalRuleMatchSchema, } from './schemas/classification-policy.js';
|
|
322
|
+
export { ClassificationPolicySchema, InternalEntryPointCategorySchema, InternalRuleSchema, InternalRuleMatchSchema, LifecycleRuleMatchSchema, LifecycleRuleSchema, LifecycleRulesSchema, LIFECYCLE_OPERATIONS, sortLifecycleRules, } from './schemas/classification-policy.js';
|
|
315
323
|
/**
|
|
316
324
|
* The deterministic conservative classifier (ADR 0003 D2):
|
|
317
325
|
* `classifyResources()` resolves signals into effective classifications
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -95,6 +95,8 @@ export declare const BlockingEntrySchema: z.ZodObject<{
|
|
|
95
95
|
OBSERVATION_SCOPE_INCOMPLETE: "OBSERVATION_SCOPE_INCOMPLETE";
|
|
96
96
|
BEHAVIOR_UNEXPECTED_EFFECT: "BEHAVIOR_UNEXPECTED_EFFECT";
|
|
97
97
|
ENFORCEMENT_BOUNDARY_UNVERIFIED: "ENFORCEMENT_BOUNDARY_UNVERIFIED";
|
|
98
|
+
RUNTIME_PREPARATION_FAILED: "RUNTIME_PREPARATION_FAILED";
|
|
99
|
+
RUNTIME_READINESS_FAILED: "RUNTIME_READINESS_FAILED";
|
|
98
100
|
}>>>;
|
|
99
101
|
nextAction: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
100
102
|
}, z.core.$strict>;
|
|
@@ -215,6 +217,8 @@ export declare const PolicyEvaluationResultSchema: z.ZodObject<{
|
|
|
215
217
|
OBSERVATION_SCOPE_INCOMPLETE: "OBSERVATION_SCOPE_INCOMPLETE";
|
|
216
218
|
BEHAVIOR_UNEXPECTED_EFFECT: "BEHAVIOR_UNEXPECTED_EFFECT";
|
|
217
219
|
ENFORCEMENT_BOUNDARY_UNVERIFIED: "ENFORCEMENT_BOUNDARY_UNVERIFIED";
|
|
220
|
+
RUNTIME_PREPARATION_FAILED: "RUNTIME_PREPARATION_FAILED";
|
|
221
|
+
RUNTIME_READINESS_FAILED: "RUNTIME_READINESS_FAILED";
|
|
218
222
|
}>>>;
|
|
219
223
|
nextAction: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
220
224
|
}, z.core.$strict>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../../src/policy/evaluate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAsC,KAAK,YAAY,EAAiB,MAAM,sBAAsB,CAAC;AAG5G,OAAO,EAAiC,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACtF,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAmD,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGzG,4DAA4D;AAC5D,eAAO,MAAM,oBAAoB,UAAU,CAAC;AAE5C;;;;;;;GAOG;AACH,eAAO,MAAM,2BAA2B,iBAAiB,CAAC;AAK1D;;;;GAIG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;gBAClC,OAAO,EAAE,MAAM;CAI5B;AAED,yDAAyD;AACzD,eAAO,MAAM,mBAAmB
|
|
1
|
+
{"version":3,"file":"evaluate.d.ts","sourceRoot":"","sources":["../../src/policy/evaluate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAsC,KAAK,YAAY,EAAiB,MAAM,sBAAsB,CAAC;AAG5G,OAAO,EAAiC,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACtF,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAmD,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGzG,4DAA4D;AAC5D,eAAO,MAAM,oBAAoB,UAAU,CAAC;AAE5C;;;;;;;GAOG;AACH,eAAO,MAAM,2BAA2B,iBAAiB,CAAC;AAK1D;;;;GAIG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;gBAClC,OAAO,EAAE,MAAM;CAI5B;AAED,yDAAyD;AACzD,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAsC5B,CAAC;AAEL,qCAAqC;AACrC,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,GAAG,IAAI,CAKjF;AAED,yEAAyE;AACzE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;kBAM9B,CAAC;AAEL,uCAAuC;AACvC,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,sEAAsE;AACtE,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAcrC,CAAC;AAEL,+CAA+C;AAC/C,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,YAAY,EACtB,SAAS,EAAE;IACT,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;CAC3D,GACA,OAAO,CAaT;AAED,MAAM,WAAW,qBAAqB;IACpC,6CAA6C;IAC7C,KAAK,EAAE,aAAa,CAAC;IACrB,iEAAiE;IACjE,QAAQ,EAAE,UAAU,CAAC;IACrB,qEAAqE;IACrE,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;IACjB;;;OAGG;IACH,aAAa,CAAC,EAAE,aAAa,EAAE,CAAC;CACjC;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,sBAAsB,CAmErF"}
|
|
@@ -32,6 +32,46 @@ export declare const InternalRuleSchema: z.ZodObject<{
|
|
|
32
32
|
}, z.core.$strict>;
|
|
33
33
|
/** Inferred internal-rule shape. */
|
|
34
34
|
export type InternalRule = z.infer<typeof InternalRuleSchema>;
|
|
35
|
+
/** Lifecycle operations an owner may explicitly disable for one resource. */
|
|
36
|
+
export declare const LIFECYCLE_OPERATIONS: readonly ["create", "read", "update", "delete"];
|
|
37
|
+
/** Union of owner lifecycle operation names. */
|
|
38
|
+
export type LifecycleOperation = (typeof LIFECYCLE_OPERATIONS)[number];
|
|
39
|
+
/** Exact resource match for an owner lifecycle rule. */
|
|
40
|
+
export declare const LifecycleRuleMatchSchema: z.ZodObject<{
|
|
41
|
+
resourceId: z.ZodString;
|
|
42
|
+
}, z.core.$strict>;
|
|
43
|
+
/** Inferred lifecycle-rule match shape. */
|
|
44
|
+
export type LifecycleRuleMatch = z.infer<typeof LifecycleRuleMatchSchema>;
|
|
45
|
+
/** One owner policy rule disabling selected operations for one exact resource. */
|
|
46
|
+
export declare const LifecycleRuleSchema: z.ZodObject<{
|
|
47
|
+
match: z.ZodObject<{
|
|
48
|
+
resourceId: z.ZodString;
|
|
49
|
+
}, z.core.$strict>;
|
|
50
|
+
disable: z.ZodArray<z.ZodEnum<{
|
|
51
|
+
create: "create";
|
|
52
|
+
read: "read";
|
|
53
|
+
update: "update";
|
|
54
|
+
delete: "delete";
|
|
55
|
+
}>>;
|
|
56
|
+
reason: z.ZodString;
|
|
57
|
+
}, z.core.$strict>;
|
|
58
|
+
/** Inferred lifecycle-rule shape. */
|
|
59
|
+
export type LifecycleRule = z.infer<typeof LifecycleRuleSchema>;
|
|
60
|
+
/** Lifecycle rules with duplicate exact identities rejected as ambiguous. */
|
|
61
|
+
export declare const LifecycleRulesSchema: z.ZodArray<z.ZodObject<{
|
|
62
|
+
match: z.ZodObject<{
|
|
63
|
+
resourceId: z.ZodString;
|
|
64
|
+
}, z.core.$strict>;
|
|
65
|
+
disable: z.ZodArray<z.ZodEnum<{
|
|
66
|
+
create: "create";
|
|
67
|
+
read: "read";
|
|
68
|
+
update: "update";
|
|
69
|
+
delete: "delete";
|
|
70
|
+
}>>;
|
|
71
|
+
reason: z.ZodString;
|
|
72
|
+
}, z.core.$strict>>;
|
|
73
|
+
/** Deterministic rule ordering for authority minting and explanations. */
|
|
74
|
+
export declare function sortLifecycleRules(rules: readonly LifecycleRule[]): LifecycleRule[];
|
|
35
75
|
/**
|
|
36
76
|
* One coverage requirement (red-team round 3): the named detector must
|
|
37
77
|
* report examining every applicable file for a scan to count as COMPLETE.
|
|
@@ -70,6 +110,18 @@ export declare const ClassificationPolicySchema: z.ZodObject<{
|
|
|
70
110
|
}, z.core.$strict>;
|
|
71
111
|
reason: z.ZodString;
|
|
72
112
|
}, z.core.$strict>>;
|
|
113
|
+
lifecycleRules: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
114
|
+
match: z.ZodObject<{
|
|
115
|
+
resourceId: z.ZodString;
|
|
116
|
+
}, z.core.$strict>;
|
|
117
|
+
disable: z.ZodArray<z.ZodEnum<{
|
|
118
|
+
create: "create";
|
|
119
|
+
read: "read";
|
|
120
|
+
update: "update";
|
|
121
|
+
delete: "delete";
|
|
122
|
+
}>>;
|
|
123
|
+
reason: z.ZodString;
|
|
124
|
+
}, z.core.$strict>>>;
|
|
73
125
|
coverage: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
74
126
|
capability: z.ZodString;
|
|
75
127
|
detector: z.ZodString;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"classification-policy.d.ts","sourceRoot":"","sources":["../../src/schemas/classification-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"classification-policy.d.ts","sourceRoot":"","sources":["../../src/schemas/classification-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,wEAAwE;AACxE,eAAO,MAAM,gCAAgC;;;;kBAmBlC,CAAC;AAEZ,oDAAoD;AACpD,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC;AAE1F,oEAAoE;AACpE,eAAO,MAAM,uBAAuB;;;kBAUhC,CAAC;AAEL,0CAA0C;AAC1C,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,qFAAqF;AACrF,eAAO,MAAM,kBAAkB;;;;;;kBAOpB,CAAC;AAEZ,oCAAoC;AACpC,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,6EAA6E;AAC7E,eAAO,MAAM,oBAAoB,iDAAkD,CAAC;AAEpF,gDAAgD;AAChD,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAiBvE,wDAAwD;AACxD,eAAO,MAAM,wBAAwB;;kBAK1B,CAAC;AAEZ,2CAA2C;AAC3C,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,kFAAkF;AAClF,eAAO,MAAM,mBAAmB;;;;;;;;;;;kBAkCrB,CAAC;AAEZ,qCAAqC;AACrC,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,6EAA6E;AAC7E,eAAO,MAAM,oBAAoB;;;;;;;;;;;mBAoB7B,CAAC;AAEL,0EAA0E;AAC1E,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,GAAG,aAAa,EAAE,CAQnF;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB;;;;;kBAyBpB,CAAC;AAEZ,oCAAoC;AACpC,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;;;GAIG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAqC5B,CAAC;AAEZ,4CAA4C;AAC5C,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC"}
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
* NEVER proves internality, ADR 0003 D2 exposure rule 3).
|
|
8
8
|
*/
|
|
9
9
|
import { z } from 'zod';
|
|
10
|
+
import { compareStrings } from '../graph/util.js';
|
|
10
11
|
import { SchemaVersionField } from './common.js';
|
|
11
12
|
/** One trusted internal entry-point category (worker, migration, …). */
|
|
12
13
|
export const InternalEntryPointCategorySchema = z
|
|
@@ -50,6 +51,96 @@ export const InternalRuleSchema = z
|
|
|
50
51
|
reason: z.string().min(1),
|
|
51
52
|
})
|
|
52
53
|
.strict();
|
|
54
|
+
/** Lifecycle operations an owner may explicitly disable for one resource. */
|
|
55
|
+
export const LIFECYCLE_OPERATIONS = ['create', 'read', 'update', 'delete'];
|
|
56
|
+
/** Exact plane-qualified resource identity used by lifecycle policy rules. */
|
|
57
|
+
const ExactResourceIdSchema = z
|
|
58
|
+
.string()
|
|
59
|
+
.min(1, 'resourceId must not be empty')
|
|
60
|
+
.refine((value) => value === value.trim(), {
|
|
61
|
+
message: 'resourceId must not have leading or trailing whitespace',
|
|
62
|
+
})
|
|
63
|
+
.regex(/^(?:tenant|master|global)\.[^.:/\\\s]+$/, "resourceId must be an exact '<plane>.<resource>' identity without wildcards, paths, or delimiters")
|
|
64
|
+
.refine((value) => !/[?*\[\]{}]/.test(value), {
|
|
65
|
+
message: 'resourceId must not contain wildcard or pattern characters',
|
|
66
|
+
});
|
|
67
|
+
/** Exact resource match for an owner lifecycle rule. */
|
|
68
|
+
export const LifecycleRuleMatchSchema = z
|
|
69
|
+
.object({
|
|
70
|
+
/** Plane-qualified resource id; globs and bare names are unsafe here. */
|
|
71
|
+
resourceId: ExactResourceIdSchema,
|
|
72
|
+
})
|
|
73
|
+
.strict();
|
|
74
|
+
/** One owner policy rule disabling selected operations for one exact resource. */
|
|
75
|
+
export const LifecycleRuleSchema = z
|
|
76
|
+
.object({
|
|
77
|
+
/** Exact resource identity this rule applies to. */
|
|
78
|
+
match: LifecycleRuleMatchSchema,
|
|
79
|
+
/** Operations that are structurally unavailable for the matched resource. */
|
|
80
|
+
disable: z
|
|
81
|
+
.array(z.enum(LIFECYCLE_OPERATIONS))
|
|
82
|
+
.min(1, 'disable must list at least one lifecycle operation')
|
|
83
|
+
.superRefine((operations, ctx) => {
|
|
84
|
+
const seen = new Set();
|
|
85
|
+
for (let index = 0; index < operations.length; index += 1) {
|
|
86
|
+
const operation = operations[index];
|
|
87
|
+
if (operation === undefined)
|
|
88
|
+
continue;
|
|
89
|
+
if (seen.has(operation)) {
|
|
90
|
+
ctx.addIssue({
|
|
91
|
+
code: 'custom',
|
|
92
|
+
path: [index],
|
|
93
|
+
message: `duplicate disabled lifecycle operation '${operation}'`,
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
seen.add(operation);
|
|
97
|
+
}
|
|
98
|
+
}),
|
|
99
|
+
/** Owner explanation rendered in classifier traces and diagnostics. */
|
|
100
|
+
reason: z
|
|
101
|
+
.string()
|
|
102
|
+
.min(1, 'reason must not be empty')
|
|
103
|
+
.refine((value) => value === value.trim(), {
|
|
104
|
+
message: 'reason must not have leading or trailing whitespace',
|
|
105
|
+
})
|
|
106
|
+
.refine((value) => !/[\u0000-\u001f\u007f]/.test(value), {
|
|
107
|
+
message: 'reason must not contain control characters',
|
|
108
|
+
}),
|
|
109
|
+
})
|
|
110
|
+
.strict();
|
|
111
|
+
/** Lifecycle rules with duplicate exact identities rejected as ambiguous. */
|
|
112
|
+
export const LifecycleRulesSchema = z
|
|
113
|
+
.array(LifecycleRuleSchema)
|
|
114
|
+
.superRefine((rules, ctx) => {
|
|
115
|
+
const seen = new Map();
|
|
116
|
+
for (let index = 0; index < rules.length; index += 1) {
|
|
117
|
+
const resourceId = rules[index]?.match.resourceId;
|
|
118
|
+
if (resourceId === undefined)
|
|
119
|
+
continue;
|
|
120
|
+
const first = seen.get(resourceId);
|
|
121
|
+
if (first !== undefined) {
|
|
122
|
+
ctx.addIssue({
|
|
123
|
+
code: 'custom',
|
|
124
|
+
path: [index, 'match', 'resourceId'],
|
|
125
|
+
message: `duplicate lifecycle rule for '${resourceId}' (already declared at index ${first}); ` +
|
|
126
|
+
'one exact identity must have one unambiguous rule',
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
seen.set(resourceId, index);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
/** Deterministic rule ordering for authority minting and explanations. */
|
|
135
|
+
export function sortLifecycleRules(rules) {
|
|
136
|
+
const order = new Map(LIFECYCLE_OPERATIONS.map((operation, index) => [operation, index]));
|
|
137
|
+
return [...rules]
|
|
138
|
+
.map((rule) => ({
|
|
139
|
+
...rule,
|
|
140
|
+
disable: [...rule.disable].sort((a, b) => (order.get(a) ?? 0) - (order.get(b) ?? 0)),
|
|
141
|
+
}))
|
|
142
|
+
.sort((a, b) => compareStrings(a.match.resourceId, b.match.resourceId));
|
|
143
|
+
}
|
|
53
144
|
/**
|
|
54
145
|
* One coverage requirement (red-team round 3): the named detector must
|
|
55
146
|
* report examining every applicable file for a scan to count as COMPLETE.
|
|
@@ -105,6 +196,8 @@ export const ClassificationPolicySchema = z
|
|
|
105
196
|
trustedInternalEntryPoints: z.array(InternalEntryPointCategorySchema),
|
|
106
197
|
/** Organization internal rules — certificate inputs, never overrides. */
|
|
107
198
|
internalRules: z.array(InternalRuleSchema),
|
|
199
|
+
/** Exact owner lifecycle disables; suppressive effects require scan proof. */
|
|
200
|
+
lifecycleRules: LifecycleRulesSchema.optional(),
|
|
108
201
|
/**
|
|
109
202
|
* Coverage requirements for COMPLETE-scan proofs (ADR 0003 D4). A
|
|
110
203
|
* closed-world attestation holds only when every rule's detector is
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"classification-policy.js","sourceRoot":"","sources":["../../src/schemas/classification-policy.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"classification-policy.js","sourceRoot":"","sources":["../../src/schemas/classification-policy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Staged-runtime configuration schema (plan 2026-09-21 witnessed
|
|
3
|
+
* pre-commit): the OWNER-REVIEWED document describing how a materialized
|
|
4
|
+
* staged candidate becomes a runnable runtime — dependency preparation,
|
|
5
|
+
* dependency reuse, and candidate-owned application/database/worker
|
|
6
|
+
* services with readiness probes. The document is security-sensitive:
|
|
7
|
+
* it participates in the trusted policy digest and the authenticated
|
|
8
|
+
* input snapshot, so a candidate that edits its own runtime commands
|
|
9
|
+
* cannot approve the edit in the same commit (a provisioned pin rejects
|
|
10
|
+
* the self-approved revision before any test runs).
|
|
11
|
+
*/
|
|
12
|
+
import { z } from 'zod';
|
|
13
|
+
/**
|
|
14
|
+
* Checks that a runtime reuse path is a canonical repository-relative POSIX
|
|
15
|
+
* path. Backslashes are rejected so the same document has one meaning on
|
|
16
|
+
* POSIX and Windows hosts.
|
|
17
|
+
*
|
|
18
|
+
* Args:
|
|
19
|
+
* value: the configured reuse path.
|
|
20
|
+
*
|
|
21
|
+
* Returns:
|
|
22
|
+
* boolean: true when the path has no traversal, empty, or dot segments.
|
|
23
|
+
*/
|
|
24
|
+
export declare function isNormalizedRepoRelativePath(value: string): boolean;
|
|
25
|
+
/** Placeholder referencing a supervisor-assigned service port. */
|
|
26
|
+
export declare const SERVICE_PORT_PLACEHOLDER = "${service:<id>:port}";
|
|
27
|
+
/** Placeholder referencing a supervisor-assigned service base URL. */
|
|
28
|
+
export declare const SERVICE_URL_PLACEHOLDER = "${service:<id>:url}";
|
|
29
|
+
/** Default budget for one preparation command, in seconds. */
|
|
30
|
+
export declare const DEFAULT_PREPARE_TIMEOUT_SECONDS = 600;
|
|
31
|
+
/** Default budget for one service readiness probe, in seconds. */
|
|
32
|
+
export declare const DEFAULT_READY_TIMEOUT_SECONDS = 60;
|
|
33
|
+
/**
|
|
34
|
+
* One service readiness probe: a log line matching `log` (regex source
|
|
35
|
+
* over the captured stdout+stderr) OR an `http` GET returning 2xx.
|
|
36
|
+
* Exactly one kind must be declared.
|
|
37
|
+
*/
|
|
38
|
+
export declare const RuntimeReadinessSchema: z.ZodObject<{
|
|
39
|
+
log: z.ZodOptional<z.ZodString>;
|
|
40
|
+
http: z.ZodOptional<z.ZodString>;
|
|
41
|
+
timeoutSeconds: z.ZodOptional<z.ZodNumber>;
|
|
42
|
+
}, z.core.$strict>;
|
|
43
|
+
/** Inferred readiness shape. */
|
|
44
|
+
export type RuntimeReadiness = z.infer<typeof RuntimeReadinessSchema>;
|
|
45
|
+
/**
|
|
46
|
+
* One candidate-owned service (application, database, worker). The
|
|
47
|
+
* supervisor assigns a free loopback port per service and exposes it to
|
|
48
|
+
* commands through `${service:<id>:port}` / `${service:<id>:url}`
|
|
49
|
+
* placeholders (substituted into `command`, `env` values, and readiness
|
|
50
|
+
* URLs BEFORE spawn). `attested` fronts the service with the gate's
|
|
51
|
+
* loopback attestation proxy and REQUIRES `fingerprint` — the
|
|
52
|
+
* environment marker the proxy stamps and reviewed adapters must
|
|
53
|
+
* declare (GF-13). `target` marks the attested service whose proxy URL
|
|
54
|
+
* becomes the run's attested target (at most one per document).
|
|
55
|
+
*/
|
|
56
|
+
export declare const RuntimeServiceSchema: z.ZodObject<{
|
|
57
|
+
id: z.ZodString;
|
|
58
|
+
command: z.ZodString;
|
|
59
|
+
env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
60
|
+
attested: z.ZodOptional<z.ZodBoolean>;
|
|
61
|
+
fingerprint: z.ZodOptional<z.ZodString>;
|
|
62
|
+
target: z.ZodOptional<z.ZodBoolean>;
|
|
63
|
+
ready: z.ZodObject<{
|
|
64
|
+
log: z.ZodOptional<z.ZodString>;
|
|
65
|
+
http: z.ZodOptional<z.ZodString>;
|
|
66
|
+
timeoutSeconds: z.ZodOptional<z.ZodNumber>;
|
|
67
|
+
}, z.core.$strict>;
|
|
68
|
+
}, z.core.$strict>;
|
|
69
|
+
/** Inferred service shape. */
|
|
70
|
+
export type RuntimeService = z.infer<typeof RuntimeServiceSchema>;
|
|
71
|
+
/**
|
|
72
|
+
* The `.gateforge/runtime.yml` document. ABSENT means the owner has not
|
|
73
|
+
* declared a staged runtime: pre-commit then runs with NO dependency
|
|
74
|
+
* bridge and NO services (fail closed — discovery needing installed
|
|
75
|
+
* dependencies blocks honestly instead of silently reusing the
|
|
76
|
+
* worktree's environment).
|
|
77
|
+
*/
|
|
78
|
+
export declare const RuntimeConfigSchema: z.ZodObject<{
|
|
79
|
+
schemaVersion: z.ZodLiteral<1>;
|
|
80
|
+
prepare: z.ZodOptional<z.ZodObject<{
|
|
81
|
+
command: z.ZodOptional<z.ZodString>;
|
|
82
|
+
reuse: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
83
|
+
timeoutSeconds: z.ZodOptional<z.ZodNumber>;
|
|
84
|
+
}, z.core.$strict>>;
|
|
85
|
+
services: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
86
|
+
id: z.ZodString;
|
|
87
|
+
command: z.ZodString;
|
|
88
|
+
env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
89
|
+
attested: z.ZodOptional<z.ZodBoolean>;
|
|
90
|
+
fingerprint: z.ZodOptional<z.ZodString>;
|
|
91
|
+
target: z.ZodOptional<z.ZodBoolean>;
|
|
92
|
+
ready: z.ZodObject<{
|
|
93
|
+
log: z.ZodOptional<z.ZodString>;
|
|
94
|
+
http: z.ZodOptional<z.ZodString>;
|
|
95
|
+
timeoutSeconds: z.ZodOptional<z.ZodNumber>;
|
|
96
|
+
}, z.core.$strict>;
|
|
97
|
+
}, z.core.$strict>>>;
|
|
98
|
+
envAllowlist: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
99
|
+
executionTimeoutSeconds: z.ZodOptional<z.ZodNumber>;
|
|
100
|
+
}, z.core.$strict>;
|
|
101
|
+
/** Inferred runtime document shape. */
|
|
102
|
+
export type RuntimeConfig = z.infer<typeof RuntimeConfigSchema>;
|
|
103
|
+
//# sourceMappingURL=runtime-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-config.d.ts","sourceRoot":"","sources":["../../src/schemas/runtime-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;;;;;;;;GAUG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAMnE;AAUD,kEAAkE;AAClE,eAAO,MAAM,wBAAwB,yBAAyB,CAAC;AAE/D,sEAAsE;AACtE,eAAO,MAAM,uBAAuB,wBAAwB,CAAC;AAE7D,8DAA8D;AAC9D,eAAO,MAAM,+BAA+B,MAAM,CAAC;AAEnD,kEAAkE;AAClE,eAAO,MAAM,6BAA6B,KAAK,CAAC;AAEhD;;;;GAIG;AACH,eAAO,MAAM,sBAAsB;;;;kBAgB/B,CAAC;AAEL,gCAAgC;AAChC,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE;;;;;;;;;;GAUG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;kBA0B7B,CAAC;AAEL,8BAA8B;AAC9B,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;kBAiD5B,CAAC;AAEL,uCAAuC;AACvC,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Staged-runtime configuration schema (plan 2026-09-21 witnessed
|
|
3
|
+
* pre-commit): the OWNER-REVIEWED document describing how a materialized
|
|
4
|
+
* staged candidate becomes a runnable runtime — dependency preparation,
|
|
5
|
+
* dependency reuse, and candidate-owned application/database/worker
|
|
6
|
+
* services with readiness probes. The document is security-sensitive:
|
|
7
|
+
* it participates in the trusted policy digest and the authenticated
|
|
8
|
+
* input snapshot, so a candidate that edits its own runtime commands
|
|
9
|
+
* cannot approve the edit in the same commit (a provisioned pin rejects
|
|
10
|
+
* the self-approved revision before any test runs).
|
|
11
|
+
*/
|
|
12
|
+
import { z } from 'zod';
|
|
13
|
+
import { SchemaVersionField } from './common.js';
|
|
14
|
+
/**
|
|
15
|
+
* Checks that a runtime reuse path is a canonical repository-relative POSIX
|
|
16
|
+
* path. Backslashes are rejected so the same document has one meaning on
|
|
17
|
+
* POSIX and Windows hosts.
|
|
18
|
+
*
|
|
19
|
+
* Args:
|
|
20
|
+
* value: the configured reuse path.
|
|
21
|
+
*
|
|
22
|
+
* Returns:
|
|
23
|
+
* boolean: true when the path has no traversal, empty, or dot segments.
|
|
24
|
+
*/
|
|
25
|
+
export function isNormalizedRepoRelativePath(value) {
|
|
26
|
+
if (value.length === 0 || value.includes('\\') || value.includes('\0'))
|
|
27
|
+
return false;
|
|
28
|
+
if (value.startsWith('/') || /^[A-Za-z]:/.test(value))
|
|
29
|
+
return false;
|
|
30
|
+
const segments = value.split('/');
|
|
31
|
+
if (segments.some((segment) => segment.length === 0 || segment === '.' || segment === '..'))
|
|
32
|
+
return false;
|
|
33
|
+
return segments.join('/') === value;
|
|
34
|
+
}
|
|
35
|
+
/** Schema for one dependency directory explicitly reused by a staged run. */
|
|
36
|
+
const RuntimeReusePathSchema = z
|
|
37
|
+
.string()
|
|
38
|
+
.min(1)
|
|
39
|
+
.refine(isNormalizedRepoRelativePath, {
|
|
40
|
+
message: 'reuse path must be a normalized repository-relative path without traversal',
|
|
41
|
+
});
|
|
42
|
+
/** Placeholder referencing a supervisor-assigned service port. */
|
|
43
|
+
export const SERVICE_PORT_PLACEHOLDER = '${service:<id>:port}';
|
|
44
|
+
/** Placeholder referencing a supervisor-assigned service base URL. */
|
|
45
|
+
export const SERVICE_URL_PLACEHOLDER = '${service:<id>:url}';
|
|
46
|
+
/** Default budget for one preparation command, in seconds. */
|
|
47
|
+
export const DEFAULT_PREPARE_TIMEOUT_SECONDS = 600;
|
|
48
|
+
/** Default budget for one service readiness probe, in seconds. */
|
|
49
|
+
export const DEFAULT_READY_TIMEOUT_SECONDS = 60;
|
|
50
|
+
/**
|
|
51
|
+
* One service readiness probe: a log line matching `log` (regex source
|
|
52
|
+
* over the captured stdout+stderr) OR an `http` GET returning 2xx.
|
|
53
|
+
* Exactly one kind must be declared.
|
|
54
|
+
*/
|
|
55
|
+
export const RuntimeReadinessSchema = z
|
|
56
|
+
.object({
|
|
57
|
+
log: z.string().min(1).optional(),
|
|
58
|
+
http: z.string().min(1).optional(),
|
|
59
|
+
timeoutSeconds: z.number().int().min(1).max(3600).optional(),
|
|
60
|
+
})
|
|
61
|
+
.strict()
|
|
62
|
+
.superRefine((ready, ctx) => {
|
|
63
|
+
const kinds = [ready.log !== undefined, ready.http !== undefined].filter(Boolean).length;
|
|
64
|
+
if (kinds !== 1) {
|
|
65
|
+
ctx.addIssue({
|
|
66
|
+
code: 'custom',
|
|
67
|
+
path: ['log'],
|
|
68
|
+
message: "readiness requires exactly one of 'log' (regex source) or 'http' (2xx GET url)",
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
/**
|
|
73
|
+
* One candidate-owned service (application, database, worker). The
|
|
74
|
+
* supervisor assigns a free loopback port per service and exposes it to
|
|
75
|
+
* commands through `${service:<id>:port}` / `${service:<id>:url}`
|
|
76
|
+
* placeholders (substituted into `command`, `env` values, and readiness
|
|
77
|
+
* URLs BEFORE spawn). `attested` fronts the service with the gate's
|
|
78
|
+
* loopback attestation proxy and REQUIRES `fingerprint` — the
|
|
79
|
+
* environment marker the proxy stamps and reviewed adapters must
|
|
80
|
+
* declare (GF-13). `target` marks the attested service whose proxy URL
|
|
81
|
+
* becomes the run's attested target (at most one per document).
|
|
82
|
+
*/
|
|
83
|
+
export const RuntimeServiceSchema = z
|
|
84
|
+
.object({
|
|
85
|
+
id: z.string().regex(/^[a-z][a-z0-9-]*$/, 'service id must be lowercase kebab-case'),
|
|
86
|
+
command: z.string().min(1),
|
|
87
|
+
env: z.record(z.string(), z.string()).optional(),
|
|
88
|
+
attested: z.boolean().optional(),
|
|
89
|
+
fingerprint: z.string().min(1).optional(),
|
|
90
|
+
target: z.boolean().optional(),
|
|
91
|
+
ready: RuntimeReadinessSchema,
|
|
92
|
+
})
|
|
93
|
+
.strict()
|
|
94
|
+
.superRefine((service, ctx) => {
|
|
95
|
+
if (service.attested === true && service.fingerprint === undefined) {
|
|
96
|
+
ctx.addIssue({
|
|
97
|
+
code: 'custom',
|
|
98
|
+
path: ['fingerprint'],
|
|
99
|
+
message: `attested service '${service.id}' requires 'fingerprint' (the GF-13 environment marker the proxy stamps)`,
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
if (service.target === true && service.attested !== true) {
|
|
103
|
+
ctx.addIssue({
|
|
104
|
+
code: 'custom',
|
|
105
|
+
path: ['target'],
|
|
106
|
+
message: `service '${service.id}' marks target: true — only an attested service can be the attested target`,
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
/**
|
|
111
|
+
* The `.gateforge/runtime.yml` document. ABSENT means the owner has not
|
|
112
|
+
* declared a staged runtime: pre-commit then runs with NO dependency
|
|
113
|
+
* bridge and NO services (fail closed — discovery needing installed
|
|
114
|
+
* dependencies blocks honestly instead of silently reusing the
|
|
115
|
+
* worktree's environment).
|
|
116
|
+
*/
|
|
117
|
+
export const RuntimeConfigSchema = z
|
|
118
|
+
.object({
|
|
119
|
+
schemaVersion: SchemaVersionField,
|
|
120
|
+
/** Preparation executed INSIDE the materialized candidate checkout. */
|
|
121
|
+
prepare: z
|
|
122
|
+
.object({
|
|
123
|
+
/** Command to run in the checkout (package-manager install, build). */
|
|
124
|
+
command: z.string().min(1).optional(),
|
|
125
|
+
/**
|
|
126
|
+
* Repo-relative dependency directories explicitly allowed to be
|
|
127
|
+
* reused from the user repository (linked, never copied as
|
|
128
|
+
* candidate source). The ONLY sanctioned dependency bridge.
|
|
129
|
+
*/
|
|
130
|
+
reuse: z.array(RuntimeReusePathSchema).optional(),
|
|
131
|
+
timeoutSeconds: z.number().int().min(1).max(3600).optional(),
|
|
132
|
+
})
|
|
133
|
+
.strict()
|
|
134
|
+
.optional(),
|
|
135
|
+
/** Candidate-owned services to start, probe, and clean up. */
|
|
136
|
+
services: z.array(RuntimeServiceSchema).optional(),
|
|
137
|
+
/** Operator environment variable names allowed through to commands/services. */
|
|
138
|
+
envAllowlist: z.array(z.string().min(1)).optional(),
|
|
139
|
+
/** Whole-run execution budget handed to the supervised gate. */
|
|
140
|
+
executionTimeoutSeconds: z.number().int().min(1).max(3600).optional(),
|
|
141
|
+
})
|
|
142
|
+
.strict()
|
|
143
|
+
.superRefine((runtime, ctx) => {
|
|
144
|
+
const services = runtime.services ?? [];
|
|
145
|
+
const seen = new Set();
|
|
146
|
+
for (let index = 0; index < services.length; index += 1) {
|
|
147
|
+
const service = services[index];
|
|
148
|
+
if (service === undefined)
|
|
149
|
+
continue;
|
|
150
|
+
if (seen.has(service.id)) {
|
|
151
|
+
ctx.addIssue({
|
|
152
|
+
code: 'custom',
|
|
153
|
+
path: ['services', index, 'id'],
|
|
154
|
+
message: `duplicate service id '${service.id}' — service addressing must be unambiguous`,
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
seen.add(service.id);
|
|
158
|
+
}
|
|
159
|
+
const targets = services.filter((service) => service.target === true);
|
|
160
|
+
if (targets.length > 1) {
|
|
161
|
+
ctx.addIssue({
|
|
162
|
+
code: 'custom',
|
|
163
|
+
path: ['services'],
|
|
164
|
+
message: `at most one service may mark target: true (got ${String(targets.length)})`,
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
});
|
|
168
|
+
//# sourceMappingURL=runtime-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-config.js","sourceRoot":"","sources":["../../src/schemas/runtime-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -70,6 +70,8 @@ export declare const CauseCodeSchema: z.ZodEnum<{
|
|
|
70
70
|
OBSERVATION_SCOPE_INCOMPLETE: "OBSERVATION_SCOPE_INCOMPLETE";
|
|
71
71
|
BEHAVIOR_UNEXPECTED_EFFECT: "BEHAVIOR_UNEXPECTED_EFFECT";
|
|
72
72
|
ENFORCEMENT_BOUNDARY_UNVERIFIED: "ENFORCEMENT_BOUNDARY_UNVERIFIED";
|
|
73
|
+
RUNTIME_PREPARATION_FAILED: "RUNTIME_PREPARATION_FAILED";
|
|
74
|
+
RUNTIME_READINESS_FAILED: "RUNTIME_READINESS_FAILED";
|
|
73
75
|
}>;
|
|
74
76
|
/** Inferred cause-code union. */
|
|
75
77
|
export type CauseCode = z.infer<typeof CauseCodeSchema>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verdict.d.ts","sourceRoot":"","sources":["../../src/schemas/verdict.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;;GAIG;AACH,eAAO,MAAM,aAAa;;;;;;;;EAQxB,CAAC;AAEH,8BAA8B;AAC9B,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAEpD,iEAAiE;AACjE,eAAO,MAAM,sBAAsB;;;;;;;;kBASxB,CAAC;AAEZ,wCAAwC;AACxC,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe
|
|
1
|
+
{"version":3,"file":"verdict.d.ts","sourceRoot":"","sources":["../../src/schemas/verdict.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;;GAIG;AACH,eAAO,MAAM,aAAa;;;;;;;;EAQxB,CAAC;AAEH,8BAA8B;AAC9B,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAEpD,iEAAiE;AACjE,eAAO,MAAM,sBAAsB;;;;;;;;kBASxB,CAAC;AAEZ,wCAAwC;AACxC,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgC1B,CAAC;AAEH,iCAAiC;AACjC,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAiDjE,CAAC"}
|
package/dist/schemas/verdict.js
CHANGED
|
@@ -68,6 +68,8 @@ export const CauseCodeSchema = z.enum([
|
|
|
68
68
|
'OBSERVATION_SCOPE_INCOMPLETE',
|
|
69
69
|
'BEHAVIOR_UNEXPECTED_EFFECT',
|
|
70
70
|
'ENFORCEMENT_BOUNDARY_UNVERIFIED',
|
|
71
|
+
'RUNTIME_PREPARATION_FAILED',
|
|
72
|
+
'RUNTIME_READINESS_FAILED',
|
|
71
73
|
]);
|
|
72
74
|
/**
|
|
73
75
|
* The plan §5.4 next action per cause code. Text, JSON, and SARIF
|
|
@@ -109,5 +111,9 @@ export const CAUSE_NEXT_ACTIONS = Object.freeze({
|
|
|
109
111
|
OBSERVATION_SCOPE_INCOMPLETE: 'Supply a working trusted observer or fix collection',
|
|
110
112
|
BEHAVIOR_UNEXPECTED_EFFECT: 'Fix application side effect',
|
|
111
113
|
ENFORCEMENT_BOUNDARY_UNVERIFIED: 'Owner provisions/verifies runtime',
|
|
114
|
+
RUNTIME_PREPARATION_FAILED: 'Repair the tracked `runtime.prepare` command (its failure log is under run state `runtime/`) — ' +
|
|
115
|
+
'the candidate runtime must build or install before the gate can execute',
|
|
116
|
+
RUNTIME_READINESS_FAILED: 'Repair the tracked `runtime.services` command or readiness probe — the candidate ' +
|
|
117
|
+
'runtime must become ready before evidence is trusted',
|
|
112
118
|
});
|
|
113
119
|
//# sourceMappingURL=verdict.js.map
|