@gate-forge/core 0.4.0 → 0.6.1
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/baselines/index.js +1 -1
- package/dist/baselines/index.js.map +1 -1
- 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 +3 -1
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +16 -0
- package/dist/config/index.js.map +1 -1
- package/dist/fingerprints.d.ts +35 -4
- package/dist/fingerprints.d.ts.map +1 -1
- package/dist/fingerprints.js +58 -5
- package/dist/fingerprints.js.map +1 -1
- package/dist/index.d.ts +46 -14
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +40 -12
- package/dist/index.js.map +1 -1
- package/dist/mapping/resolve.d.ts +6 -2
- package/dist/mapping/resolve.d.ts.map +1 -1
- package/dist/mapping/resolve.js +122 -17
- package/dist/mapping/resolve.js.map +1 -1
- package/dist/policy/behavior.d.ts +44 -0
- package/dist/policy/behavior.d.ts.map +1 -0
- package/dist/policy/behavior.js +373 -0
- package/dist/policy/behavior.js.map +1 -0
- package/dist/policy/coverage.d.ts +4 -3
- package/dist/policy/coverage.d.ts.map +1 -1
- package/dist/policy/coverage.js +12 -6
- package/dist/policy/coverage.js.map +1 -1
- package/dist/policy/evaluate.d.ts +23 -0
- package/dist/policy/evaluate.d.ts.map +1 -1
- package/dist/policy/index.d.ts +1 -0
- package/dist/policy/index.d.ts.map +1 -1
- package/dist/policy/index.js +1 -0
- package/dist/policy/index.js.map +1 -1
- package/dist/receipt/index.d.ts +56 -4
- package/dist/receipt/index.d.ts.map +1 -1
- package/dist/receipt/index.js +139 -5
- package/dist/receipt/index.js.map +1 -1
- package/dist/report/index.js +4 -19
- package/dist/report/index.js.map +1 -1
- package/dist/schemas/behavior-catalog.d.ts +2868 -0
- package/dist/schemas/behavior-catalog.d.ts.map +1 -0
- package/dist/schemas/behavior-catalog.js +103 -0
- package/dist/schemas/behavior-catalog.js.map +1 -0
- package/dist/schemas/behavior-evidence.d.ts +174 -0
- package/dist/schemas/behavior-evidence.d.ts.map +1 -0
- package/dist/schemas/behavior-evidence.js +157 -0
- package/dist/schemas/behavior-evidence.js.map +1 -0
- package/dist/schemas/behavior-policy.d.ts +6214 -0
- package/dist/schemas/behavior-policy.d.ts.map +1 -0
- package/dist/schemas/behavior-policy.js +896 -0
- package/dist/schemas/behavior-policy.js.map +1 -0
- 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/execution-result.d.ts +4 -4
- package/dist/schemas/gate-receipt.d.ts +10 -3
- package/dist/schemas/gate-receipt.d.ts.map +1 -1
- package/dist/schemas/gate-receipt.js +46 -3
- package/dist/schemas/gate-receipt.js.map +1 -1
- package/dist/schemas/index.d.ts +3 -0
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/schemas/index.js +3 -0
- package/dist/schemas/index.js.map +1 -1
- package/dist/schemas/obligation.d.ts +1 -0
- package/dist/schemas/obligation.d.ts.map +1 -1
- package/dist/schemas/obligation.js +9 -0
- package/dist/schemas/obligation.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/test-catalog.d.ts +20 -2
- package/dist/schemas/test-catalog.d.ts.map +1 -1
- package/dist/schemas/test-catalog.js +13 -0
- package/dist/schemas/test-catalog.js.map +1 -1
- package/dist/schemas/test-map.d.ts +4 -0
- package/dist/schemas/test-map.d.ts.map +1 -1
- package/dist/schemas/test-map.js +24 -1
- package/dist/schemas/test-map.js.map +1 -1
- package/dist/schemas/verdict.d.ts +11 -0
- package/dist/schemas/verdict.d.ts.map +1 -1
- package/dist/schemas/verdict.js +33 -6
- package/dist/schemas/verdict.js.map +1 -1
- package/dist/testing/gate-runner.d.ts.map +1 -1
- package/dist/testing/gate-runner.js +2 -7
- package/dist/testing/gate-runner.js.map +1 -1
- package/dist/verdict/behavior.d.ts +87 -0
- package/dist/verdict/behavior.d.ts.map +1 -0
- package/dist/verdict/behavior.js +1328 -0
- package/dist/verdict/behavior.js.map +1 -0
- package/dist/verdict/evaluate.d.ts +10 -0
- package/dist/verdict/evaluate.d.ts.map +1 -1
- package/dist/verdict/evaluate.js +188 -27
- package/dist/verdict/evaluate.js.map +1 -1
- package/dist/verdict/index.d.ts +6 -0
- package/dist/verdict/index.d.ts.map +1 -1
- package/dist/verdict/index.js +6 -0
- package/dist/verdict/index.js.map +1 -1
- package/dist/verdict/pack-verifiers.d.ts.map +1 -1
- package/dist/verdict/pack-verifiers.js +124 -33
- package/dist/verdict/pack-verifiers.js.map +1 -1
- package/package.json +1 -1
|
@@ -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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"}
|
|
@@ -38,10 +38,23 @@ export type TestRunner = z.infer<typeof TestRunnerSchema>;
|
|
|
38
38
|
* the witness stamps the channel only for obligations registered
|
|
39
39
|
* `server-e2e` on the verifier-key supervisor surface, and the verdict
|
|
40
40
|
* engine admits `channel: 'server'` records only with that stamp.
|
|
41
|
+
*
|
|
42
|
+
* `observed-e2e` (Observe channel, Phase 2) declares an existing
|
|
43
|
+
* SUITE-DRIVEN browser test whose persistence evidence is the witness's
|
|
44
|
+
* own observation of the test's proxied traffic plus an independent
|
|
45
|
+
* adapter read: the test keeps driving `page`, the witness watches the
|
|
46
|
+
* session proxy and reads state itself. Weaker than `browser-e2e`
|
|
47
|
+
* (the engine never typed the form — `page.evaluate(fetch)` still fools
|
|
48
|
+
* "UI was used"), stronger than a bare assertion (a faked 2xx or a
|
|
49
|
+
* seeded row cannot satisfy: the mutation exchange must be proxied and
|
|
50
|
+
* the adapter read must echo it). Declaring it over an inferred
|
|
51
|
+
* `browser-e2e` is a refinement, never a contradiction; over any other
|
|
52
|
+
* inferred kind it stays contradictory.
|
|
41
53
|
*/
|
|
42
54
|
export declare const TestKindSchema: z.ZodEnum<{
|
|
43
55
|
unknown: "unknown";
|
|
44
56
|
"browser-e2e": "browser-e2e";
|
|
57
|
+
"observed-e2e": "observed-e2e";
|
|
45
58
|
"server-e2e": "server-e2e";
|
|
46
59
|
"api-e2e": "api-e2e";
|
|
47
60
|
unit: "unit";
|
|
@@ -95,6 +108,7 @@ export declare const KindSignalSchema: z.ZodObject<{
|
|
|
95
108
|
kind: z.ZodEnum<{
|
|
96
109
|
unknown: "unknown";
|
|
97
110
|
"browser-e2e": "browser-e2e";
|
|
111
|
+
"observed-e2e": "observed-e2e";
|
|
98
112
|
"server-e2e": "server-e2e";
|
|
99
113
|
"api-e2e": "api-e2e";
|
|
100
114
|
unit: "unit";
|
|
@@ -202,6 +216,7 @@ export declare const TestCatalogEntrySchema: z.ZodObject<{
|
|
|
202
216
|
inferredKind: z.ZodEnum<{
|
|
203
217
|
unknown: "unknown";
|
|
204
218
|
"browser-e2e": "browser-e2e";
|
|
219
|
+
"observed-e2e": "observed-e2e";
|
|
205
220
|
"server-e2e": "server-e2e";
|
|
206
221
|
"api-e2e": "api-e2e";
|
|
207
222
|
unit: "unit";
|
|
@@ -219,6 +234,7 @@ export declare const TestCatalogEntrySchema: z.ZodObject<{
|
|
|
219
234
|
kind: z.ZodEnum<{
|
|
220
235
|
unknown: "unknown";
|
|
221
236
|
"browser-e2e": "browser-e2e";
|
|
237
|
+
"observed-e2e": "observed-e2e";
|
|
222
238
|
"server-e2e": "server-e2e";
|
|
223
239
|
"api-e2e": "api-e2e";
|
|
224
240
|
unit: "unit";
|
|
@@ -291,9 +307,9 @@ export declare const RunnerSummarySchema: z.ZodObject<{
|
|
|
291
307
|
runner: z.ZodString;
|
|
292
308
|
name: z.ZodString;
|
|
293
309
|
status: z.ZodEnum<{
|
|
310
|
+
registered: "registered";
|
|
294
311
|
discovered: "discovered";
|
|
295
312
|
unavailable: "unavailable";
|
|
296
|
-
registered: "registered";
|
|
297
313
|
}>;
|
|
298
314
|
detail: z.ZodString;
|
|
299
315
|
}, z.core.$strict>;
|
|
@@ -340,6 +356,7 @@ export declare const TestCatalogSchema: z.ZodObject<{
|
|
|
340
356
|
inferredKind: z.ZodEnum<{
|
|
341
357
|
unknown: "unknown";
|
|
342
358
|
"browser-e2e": "browser-e2e";
|
|
359
|
+
"observed-e2e": "observed-e2e";
|
|
343
360
|
"server-e2e": "server-e2e";
|
|
344
361
|
"api-e2e": "api-e2e";
|
|
345
362
|
unit: "unit";
|
|
@@ -357,6 +374,7 @@ export declare const TestCatalogSchema: z.ZodObject<{
|
|
|
357
374
|
kind: z.ZodEnum<{
|
|
358
375
|
unknown: "unknown";
|
|
359
376
|
"browser-e2e": "browser-e2e";
|
|
377
|
+
"observed-e2e": "observed-e2e";
|
|
360
378
|
"server-e2e": "server-e2e";
|
|
361
379
|
"api-e2e": "api-e2e";
|
|
362
380
|
unit: "unit";
|
|
@@ -434,9 +452,9 @@ export declare const TestCatalogSchema: z.ZodObject<{
|
|
|
434
452
|
runner: z.ZodString;
|
|
435
453
|
name: z.ZodString;
|
|
436
454
|
status: z.ZodEnum<{
|
|
455
|
+
registered: "registered";
|
|
437
456
|
discovered: "discovered";
|
|
438
457
|
unavailable: "unavailable";
|
|
439
|
-
registered: "registered";
|
|
440
458
|
}>;
|
|
441
459
|
detail: z.ZodString;
|
|
442
460
|
}, z.core.$strict>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-catalog.d.ts","sourceRoot":"","sources":["../../src/schemas/test-catalog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,sEAAsE;AACtE,eAAO,MAAM,sBAAsB,mCAAoC,CAAC;AAExE;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,aAAoB,CAAC;AAElD,iCAAiC;AACjC,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D
|
|
1
|
+
{"version":3,"file":"test-catalog.d.ts","sourceRoot":"","sources":["../../src/schemas/test-catalog.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,9 +37,22 @@ export const TestRunnerSchema = z.string().min(1);
|
|
|
37
37
|
* the witness stamps the channel only for obligations registered
|
|
38
38
|
* `server-e2e` on the verifier-key supervisor surface, and the verdict
|
|
39
39
|
* engine admits `channel: 'server'` records only with that stamp.
|
|
40
|
+
*
|
|
41
|
+
* `observed-e2e` (Observe channel, Phase 2) declares an existing
|
|
42
|
+
* SUITE-DRIVEN browser test whose persistence evidence is the witness's
|
|
43
|
+
* own observation of the test's proxied traffic plus an independent
|
|
44
|
+
* adapter read: the test keeps driving `page`, the witness watches the
|
|
45
|
+
* session proxy and reads state itself. Weaker than `browser-e2e`
|
|
46
|
+
* (the engine never typed the form — `page.evaluate(fetch)` still fools
|
|
47
|
+
* "UI was used"), stronger than a bare assertion (a faked 2xx or a
|
|
48
|
+
* seeded row cannot satisfy: the mutation exchange must be proxied and
|
|
49
|
+
* the adapter read must echo it). Declaring it over an inferred
|
|
50
|
+
* `browser-e2e` is a refinement, never a contradiction; over any other
|
|
51
|
+
* inferred kind it stays contradictory.
|
|
40
52
|
*/
|
|
41
53
|
export const TestKindSchema = z.enum([
|
|
42
54
|
'browser-e2e',
|
|
55
|
+
'observed-e2e',
|
|
43
56
|
'server-e2e',
|
|
44
57
|
'api-e2e',
|
|
45
58
|
'unit',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-catalog.js","sourceRoot":"","sources":["../../src/schemas/test-catalog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjE,sEAAsE;AACtE,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAU,CAAC;AAExE;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAKlD
|
|
1
|
+
{"version":3,"file":"test-catalog.js","sourceRoot":"","sources":["../../src/schemas/test-catalog.ts"],"names":[],"mappings":"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"}
|
|
@@ -53,6 +53,7 @@ export declare const TestMapEntrySchema: z.ZodObject<{
|
|
|
53
53
|
kind: z.ZodOptional<z.ZodEnum<{
|
|
54
54
|
unknown: "unknown";
|
|
55
55
|
"browser-e2e": "browser-e2e";
|
|
56
|
+
"observed-e2e": "observed-e2e";
|
|
56
57
|
"server-e2e": "server-e2e";
|
|
57
58
|
"api-e2e": "api-e2e";
|
|
58
59
|
unit: "unit";
|
|
@@ -61,6 +62,7 @@ export declare const TestMapEntrySchema: z.ZodObject<{
|
|
|
61
62
|
}>>;
|
|
62
63
|
categories: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
63
64
|
claims: z.ZodArray<z.ZodString>;
|
|
65
|
+
caseIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
64
66
|
reason: z.ZodString;
|
|
65
67
|
}, z.core.$strict>;
|
|
66
68
|
/** Inferred test-map-entry type. */
|
|
@@ -83,6 +85,7 @@ export declare const TestMapSchema: z.ZodObject<{
|
|
|
83
85
|
kind: z.ZodOptional<z.ZodEnum<{
|
|
84
86
|
unknown: "unknown";
|
|
85
87
|
"browser-e2e": "browser-e2e";
|
|
88
|
+
"observed-e2e": "observed-e2e";
|
|
86
89
|
"server-e2e": "server-e2e";
|
|
87
90
|
"api-e2e": "api-e2e";
|
|
88
91
|
unit: "unit";
|
|
@@ -91,6 +94,7 @@ export declare const TestMapSchema: z.ZodObject<{
|
|
|
91
94
|
}>>;
|
|
92
95
|
categories: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
93
96
|
claims: z.ZodArray<z.ZodString>;
|
|
97
|
+
caseIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
94
98
|
reason: z.ZodString;
|
|
95
99
|
}, z.core.$strict>>;
|
|
96
100
|
}, z.core.$strict>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-map.d.ts","sourceRoot":"","sources":["../../src/schemas/test-map.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB;;;;;kBAWpB,CAAC;AAEZ,mCAAmC;AACnC,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;;;GAIG;AACH,eAAO,MAAM,kBAAkB
|
|
1
|
+
{"version":3,"file":"test-map.d.ts","sourceRoot":"","sources":["../../src/schemas/test-map.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB;;;;;kBAWpB,CAAC;AAEZ,mCAAmC;AACnC,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;;;GAIG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;kBAuC3B,CAAC;AAEL,oCAAoC;AACpC,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;;;GAIG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;kBA4BtB,CAAC;AAEL,uCAAuC;AACvC,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC"}
|
package/dist/schemas/test-map.js
CHANGED
|
@@ -61,13 +61,36 @@ export const TestMapEntrySchema = z
|
|
|
61
61
|
categories: z.array(z.string().min(1)).optional(),
|
|
62
62
|
/** Claimed obligation ids — at least one; `'*'` never parses. */
|
|
63
63
|
claims: z.array(ObligationIdSchema).min(1, 'every mapping entry must claim at least one obligation'),
|
|
64
|
+
/**
|
|
65
|
+
* Compiled behavior case ids this declaration intends to execute.
|
|
66
|
+
* Optional: absence is not proof. Duplicate ids fail closed.
|
|
67
|
+
*/
|
|
68
|
+
caseIds: z.array(z.string().min(1)).optional(),
|
|
64
69
|
/** Required free-text why (a declaration must be reviewable). */
|
|
65
70
|
reason: z
|
|
66
71
|
.string()
|
|
67
72
|
.trim()
|
|
68
73
|
.min(8, 'reason is required free text (at least 8 characters) explaining the declaration'),
|
|
69
74
|
})
|
|
70
|
-
.strict()
|
|
75
|
+
.strict()
|
|
76
|
+
.superRefine((entry, ctx) => {
|
|
77
|
+
if (entry.caseIds === undefined)
|
|
78
|
+
return;
|
|
79
|
+
const seen = new Set();
|
|
80
|
+
for (let index = 0; index < entry.caseIds.length; index += 1) {
|
|
81
|
+
const id = entry.caseIds[index];
|
|
82
|
+
if (id === undefined)
|
|
83
|
+
continue;
|
|
84
|
+
if (seen.has(id)) {
|
|
85
|
+
ctx.addIssue({
|
|
86
|
+
code: 'custom',
|
|
87
|
+
path: ['caseIds', index],
|
|
88
|
+
message: `duplicate case id '${id}'`,
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
seen.add(id);
|
|
92
|
+
}
|
|
93
|
+
});
|
|
71
94
|
/**
|
|
72
95
|
* The `.gateforge/test-map.yml` document (plan §5.3): a tracked,
|
|
73
96
|
* versioned sidecar of mapping declarations. Duplicate keys fail the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-map.js","sourceRoot":"","sources":["../../src/schemas/test-map.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC;KAChC,MAAM,CAAC;IACN,yDAAyD;IACzD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,iFAAiF;IACjF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACrC,sDAAsD;IACtD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,6DAA6D;IAC7D,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CACjD,CAAC;KACD,MAAM,EAAE,CAAC;AAKZ;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC;KAChC,MAAM,CAAC;IACN,mEAAmE;IACnE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACtB,sDAAsD;IACtD,QAAQ,EAAE,kBAAkB;IAC5B,wEAAwE;IACxE,IAAI,EAAE,cAAc,CAAC,QAAQ,EAAE;IAC/B,gEAAgE;IAChE,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACjD,iEAAiE;IACjE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,wDAAwD,CAAC;IACpG,iEAAiE;IACjE,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,IAAI,EAAE;SACN,GAAG,CAAC,CAAC,EAAE,iFAAiF,CAAC;CAC7F,CAAC;KACD,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"test-map.js","sourceRoot":"","sources":["../../src/schemas/test-map.ts"],"names":[],"mappings":"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"}
|
|
@@ -61,6 +61,17 @@ export declare const CauseCodeSchema: z.ZodEnum<{
|
|
|
61
61
|
DIAGNOSTIC_TEST_FAILURE: "DIAGNOSTIC_TEST_FAILURE";
|
|
62
62
|
DIAGNOSTIC_RUN_INCOMPLETE: "DIAGNOSTIC_RUN_INCOMPLETE";
|
|
63
63
|
DIAGNOSTIC_RESULT_STALE: "DIAGNOSTIC_RESULT_STALE";
|
|
64
|
+
ENDPOINT_BEHAVIOR_MISSING: "ENDPOINT_BEHAVIOR_MISSING";
|
|
65
|
+
BEHAVIOR_REFERENCE_STALE: "BEHAVIOR_REFERENCE_STALE";
|
|
66
|
+
BEHAVIOR_CASE_UNMAPPED: "BEHAVIOR_CASE_UNMAPPED";
|
|
67
|
+
BEHAVIOR_CASE_MISSING: "BEHAVIOR_CASE_MISSING";
|
|
68
|
+
BEHAVIOR_BINDING_MISMATCH: "BEHAVIOR_BINDING_MISMATCH";
|
|
69
|
+
BEHAVIOR_EFFECT_MISMATCH: "BEHAVIOR_EFFECT_MISMATCH";
|
|
70
|
+
OBSERVATION_SCOPE_INCOMPLETE: "OBSERVATION_SCOPE_INCOMPLETE";
|
|
71
|
+
BEHAVIOR_UNEXPECTED_EFFECT: "BEHAVIOR_UNEXPECTED_EFFECT";
|
|
72
|
+
ENFORCEMENT_BOUNDARY_UNVERIFIED: "ENFORCEMENT_BOUNDARY_UNVERIFIED";
|
|
73
|
+
RUNTIME_PREPARATION_FAILED: "RUNTIME_PREPARATION_FAILED";
|
|
74
|
+
RUNTIME_READINESS_FAILED: "RUNTIME_READINESS_FAILED";
|
|
64
75
|
}>;
|
|
65
76
|
/** Inferred cause-code union. */
|
|
66
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
|
@@ -59,6 +59,17 @@ export const CauseCodeSchema = z.enum([
|
|
|
59
59
|
'DIAGNOSTIC_TEST_FAILURE',
|
|
60
60
|
'DIAGNOSTIC_RUN_INCOMPLETE',
|
|
61
61
|
'DIAGNOSTIC_RESULT_STALE',
|
|
62
|
+
'ENDPOINT_BEHAVIOR_MISSING',
|
|
63
|
+
'BEHAVIOR_REFERENCE_STALE',
|
|
64
|
+
'BEHAVIOR_CASE_UNMAPPED',
|
|
65
|
+
'BEHAVIOR_CASE_MISSING',
|
|
66
|
+
'BEHAVIOR_BINDING_MISMATCH',
|
|
67
|
+
'BEHAVIOR_EFFECT_MISMATCH',
|
|
68
|
+
'OBSERVATION_SCOPE_INCOMPLETE',
|
|
69
|
+
'BEHAVIOR_UNEXPECTED_EFFECT',
|
|
70
|
+
'ENFORCEMENT_BOUNDARY_UNVERIFIED',
|
|
71
|
+
'RUNTIME_PREPARATION_FAILED',
|
|
72
|
+
'RUNTIME_READINESS_FAILED',
|
|
62
73
|
]);
|
|
63
74
|
/**
|
|
64
75
|
* The plan §5.4 next action per cause code. Text, JSON, and SARIF
|
|
@@ -68,25 +79,41 @@ export const CauseCodeSchema = z.enum([
|
|
|
68
79
|
export const CAUSE_NEXT_ACTIONS = Object.freeze({
|
|
69
80
|
TEST_INVENTORY_INCOMPLETE: 'Repair discovery or register a supported adapter',
|
|
70
81
|
TEST_KIND_UNKNOWN: 'Inspect and declare its kind',
|
|
71
|
-
TEST_MAPPING_MISSING: '
|
|
72
|
-
'
|
|
82
|
+
TEST_MAPPING_MISSING: 'Overlay: write `tests/e2e/gateforge/<resource>.<op>.spec.js`. Do not `tests mark` as a fix ' +
|
|
83
|
+
'— that cannot satisfy the obligation.',
|
|
73
84
|
TEST_MAPPING_AMBIGUOUS: 'Correct the exact mapping',
|
|
74
85
|
TEST_MAPPING_STALE: 'Correct the exact mapping',
|
|
75
|
-
EVIDENCE_NOT_COLLECTED: '
|
|
76
|
-
|
|
86
|
+
EVIDENCE_NOT_COLLECTED: 'Write an overlay test in `tests/e2e/gateforge/` using the Gateforge Playwright fixture ' +
|
|
87
|
+
'(`evidence.ui.*` + `persistence.verify`). Do not rewrite existing journeys. Mappings ' +
|
|
88
|
+
'(`tests mark`) are intent, not proof.',
|
|
89
|
+
VERIFIER_UNSUPPORTED: 'Remove this contract from `.gateforge/policies.yml` or drop the pack. Do not add tests.',
|
|
77
90
|
TEST_NOT_EXECUTED: 'Run or repair the selected suite',
|
|
78
91
|
TEST_FAILED: 'Run or repair the selected suite',
|
|
79
92
|
RUN_INCOMPLETE: 'Run or repair the selected suite',
|
|
80
93
|
EVIDENCE_STALE: 'Rerun for the exact candidate',
|
|
81
|
-
CHANGE_UNMAPPED: 'Map the
|
|
94
|
+
CHANGE_UNMAPPED: 'Map detection or add an overlay test for the changed resource. Do not weaken policy.',
|
|
82
95
|
EVIDENCE_SCOPE_INCOMPLETE: 'Map a test to the uncovered obligation (`gateforge tests mark`) or run full scope ' +
|
|
83
96
|
'(`test-gates --changed` without `--scope changed`)',
|
|
84
97
|
ENFORCEMENT_UNTRUSTED: 'Repair enforcement setup',
|
|
85
98
|
EVIDENCE_VALUE_MISMATCH: 'Fix the mutation path or correct the mapping',
|
|
86
99
|
SERVER_PROBE_UNAVAILABLE: 'Export/repair the adapter server probe (probeServer) so the witness can observe the database engine-side',
|
|
87
|
-
CRUD_COVERAGE_MISSING: '
|
|
100
|
+
CRUD_COVERAGE_MISSING: 'Owner: add an overlay test, or record a disposition in trusted `coveragePolicy` ' +
|
|
101
|
+
'(agents must not edit coveragePolicy).',
|
|
88
102
|
DIAGNOSTIC_TEST_FAILURE: 'Inspect the named test, assertion, and relevant application code',
|
|
89
103
|
DIAGNOSTIC_RUN_INCOMPLETE: 'Repair the run; an incomplete diagnostic run never displays as passing',
|
|
90
104
|
DIAGNOSTIC_RESULT_STALE: 'Rerun the diagnostic suite for the exact candidate',
|
|
105
|
+
ENDPOINT_BEHAVIOR_MISSING: 'Owner defines endpoint behavior; agent cannot exclude it',
|
|
106
|
+
BEHAVIOR_REFERENCE_STALE: 'Repair reviewed references and rerun',
|
|
107
|
+
BEHAVIOR_CASE_UNMAPPED: 'Reuse/map a suitable test, or add thin overlay proof',
|
|
108
|
+
BEHAVIOR_CASE_MISSING: 'Execute the case through its required channel',
|
|
109
|
+
BEHAVIOR_BINDING_MISMATCH: 'Repair wrong path/record binding; no label changes as proof',
|
|
110
|
+
BEHAVIOR_EFFECT_MISMATCH: 'Fix the application or owner-reviewed expectation',
|
|
111
|
+
OBSERVATION_SCOPE_INCOMPLETE: 'Supply a working trusted observer or fix collection',
|
|
112
|
+
BEHAVIOR_UNEXPECTED_EFFECT: 'Fix application side effect',
|
|
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',
|
|
91
118
|
});
|
|
92
119
|
//# sourceMappingURL=verdict.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verdict.js","sourceRoot":"","sources":["../../src/schemas/verdict.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC;IAClC,WAAW;IACX,SAAS;IACT,SAAS;IACT,cAAc;IACd,YAAY;IACZ,QAAQ;IACR,OAAO;CACR,CAAC,CAAC;AAKH,iEAAiE;AACjE,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC;KACpC,MAAM,CAAC;IACN,kEAAkE;IAClE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,uDAAuD;IACvD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,4CAA4C;IAC5C,QAAQ,EAAE,cAAc;CACzB,CAAC;KACD,MAAM,EAAE,CAAC;AAKZ;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC;IACpC,2BAA2B;IAC3B,mBAAmB;IACnB,sBAAsB;IACtB,wBAAwB;IACxB,oBAAoB;IACpB,wBAAwB;IACxB,sBAAsB;IACtB,mBAAmB;IACnB,aAAa;IACb,gBAAgB;IAChB,gBAAgB;IAChB,iBAAiB;IACjB,2BAA2B;IAC3B,uBAAuB;IACvB,yBAAyB;IACzB,0BAA0B;IAC1B,uBAAuB;IACvB,yBAAyB;IACzB,2BAA2B;IAC3B,yBAAyB;
|
|
1
|
+
{"version":3,"file":"verdict.js","sourceRoot":"","sources":["../../src/schemas/verdict.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC;IAClC,WAAW;IACX,SAAS;IACT,SAAS;IACT,cAAc;IACd,YAAY;IACZ,QAAQ;IACR,OAAO;CACR,CAAC,CAAC;AAKH,iEAAiE;AACjE,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC;KACpC,MAAM,CAAC;IACN,kEAAkE;IAClE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,uDAAuD;IACvD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,4CAA4C;IAC5C,QAAQ,EAAE,cAAc;CACzB,CAAC;KACD,MAAM,EAAE,CAAC;AAKZ;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC;IACpC,2BAA2B;IAC3B,mBAAmB;IACnB,sBAAsB;IACtB,wBAAwB;IACxB,oBAAoB;IACpB,wBAAwB;IACxB,sBAAsB;IACtB,mBAAmB;IACnB,aAAa;IACb,gBAAgB;IAChB,gBAAgB;IAChB,iBAAiB;IACjB,2BAA2B;IAC3B,uBAAuB;IACvB,yBAAyB;IACzB,0BAA0B;IAC1B,uBAAuB;IACvB,yBAAyB;IACzB,2BAA2B;IAC3B,yBAAyB;IACzB,2BAA2B;IAC3B,0BAA0B;IAC1B,wBAAwB;IACxB,uBAAuB;IACvB,2BAA2B;IAC3B,0BAA0B;IAC1B,8BAA8B;IAC9B,4BAA4B;IAC5B,iCAAiC;IACjC,4BAA4B;IAC5B,0BAA0B;CAC3B,CAAC,CAAC;AAKH;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAwC,MAAM,CAAC,MAAM,CAAC;IACnF,yBAAyB,EAAE,kDAAkD;IAC7E,iBAAiB,EAAE,8BAA8B;IACjD,oBAAoB,EAClB,6FAA6F;QAC7F,uCAAuC;IACzC,sBAAsB,EAAE,2BAA2B;IACnD,kBAAkB,EAAE,2BAA2B;IAC/C,sBAAsB,EACpB,yFAAyF;QACzF,uFAAuF;QACvF,uCAAuC;IACzC,oBAAoB,EAClB,yFAAyF;IAC3F,iBAAiB,EAAE,kCAAkC;IACrD,WAAW,EAAE,kCAAkC;IAC/C,cAAc,EAAE,kCAAkC;IAClD,cAAc,EAAE,+BAA+B;IAC/C,eAAe,EACb,sFAAsF;IACxF,yBAAyB,EACvB,oFAAoF;QACpF,oDAAoD;IACtD,qBAAqB,EAAE,0BAA0B;IACjD,uBAAuB,EAAE,8CAA8C;IACvE,wBAAwB,EACtB,0GAA0G;IAC5G,qBAAqB,EACnB,kFAAkF;QAClF,wCAAwC;IAC1C,uBAAuB,EAAE,kEAAkE;IAC3F,yBAAyB,EACvB,wEAAwE;IAC1E,uBAAuB,EAAE,oDAAoD;IAC7E,yBAAyB,EAAE,0DAA0D;IACrF,wBAAwB,EAAE,sCAAsC;IAChE,sBAAsB,EAAE,sDAAsD;IAC9E,qBAAqB,EAAE,+CAA+C;IACtE,yBAAyB,EAAE,6DAA6D;IACxF,wBAAwB,EAAE,mDAAmD;IAC7E,4BAA4B,EAAE,qDAAqD;IACnF,0BAA0B,EAAE,6BAA6B;IACzD,+BAA+B,EAAE,mCAAmC;IACpE,0BAA0B,EACxB,iGAAiG;QACjG,yEAAyE;IAC3E,wBAAwB,EACtB,mFAAmF;QACnF,sDAAsD;CACzD,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gate-runner.d.ts","sourceRoot":"","sources":["../../src/testing/gate-runner.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"gate-runner.d.ts","sourceRoot":"","sources":["../../src/testing/gate-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import { randomUUID } from 'node:crypto';
|
|
17
17
|
import { buildResourceGraph, compareStrings } from '../graph/index.js';
|
|
18
|
-
import {
|
|
18
|
+
import { fingerprintObligation } from '../fingerprints.js';
|
|
19
19
|
import { evaluatePolicies } from '../policy/index.js';
|
|
20
20
|
import { runClassification } from '../classifier/bind.js';
|
|
21
21
|
import { RunManifestSchema } from '../schemas/run-manifest.js';
|
|
@@ -129,12 +129,7 @@ export function runGates(input) {
|
|
|
129
129
|
resourceId: obligation.resourceId,
|
|
130
130
|
contract: obligation.contract,
|
|
131
131
|
policyId: obligation.policyId,
|
|
132
|
-
fingerprint:
|
|
133
|
-
resourceId: obligation.resourceId,
|
|
134
|
-
contract: obligation.contract,
|
|
135
|
-
policyId: obligation.policyId,
|
|
136
|
-
lifecycle: obligation.lifecycle,
|
|
137
|
-
}),
|
|
132
|
+
fingerprint: fingerprintObligation(obligation),
|
|
138
133
|
verdict: outcome.verdict,
|
|
139
134
|
reason: outcome.reason,
|
|
140
135
|
recordIds: [...outcome.recordIds].sort(compareStrings),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gate-runner.js","sourceRoot":"","sources":["../../src/testing/gate-runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"gate-runner.js","sourceRoot":"","sources":["../../src/testing/gate-runner.ts"],"names":[],"mappings":"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"}
|