@gate-forge/core 0.10.3 → 0.11.0

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.
Files changed (44) hide show
  1. package/dist/classifier/bind.d.ts +2 -2
  2. package/dist/classifier/bind.d.ts.map +1 -1
  3. package/dist/classifier/classify.d.ts +2 -2
  4. package/dist/classifier/classify.d.ts.map +1 -1
  5. package/dist/classifier/classify.js.map +1 -1
  6. package/dist/config/index.d.ts +294 -3
  7. package/dist/config/index.d.ts.map +1 -1
  8. package/dist/config/index.js +137 -0
  9. package/dist/config/index.js.map +1 -1
  10. package/dist/index.d.ts +51 -9
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +40 -6
  13. package/dist/index.js.map +1 -1
  14. package/dist/policy/business-rules.d.ts +143 -0
  15. package/dist/policy/business-rules.d.ts.map +1 -0
  16. package/dist/policy/business-rules.js +314 -0
  17. package/dist/policy/business-rules.js.map +1 -0
  18. package/dist/policy/evaluate.d.ts +8 -0
  19. package/dist/policy/evaluate.d.ts.map +1 -1
  20. package/dist/policy/index.d.ts +1 -0
  21. package/dist/policy/index.d.ts.map +1 -1
  22. package/dist/policy/index.js +1 -0
  23. package/dist/policy/index.js.map +1 -1
  24. package/dist/schemas/business-rules.d.ts +215 -0
  25. package/dist/schemas/business-rules.d.ts.map +1 -0
  26. package/dist/schemas/business-rules.js +227 -0
  27. package/dist/schemas/business-rules.js.map +1 -0
  28. package/dist/schemas/classification-policy.d.ts +74 -11
  29. package/dist/schemas/classification-policy.d.ts.map +1 -1
  30. package/dist/schemas/classification-policy.js +62 -28
  31. package/dist/schemas/classification-policy.js.map +1 -1
  32. package/dist/schemas/scan-config.d.ts +94 -0
  33. package/dist/schemas/scan-config.d.ts.map +1 -0
  34. package/dist/schemas/scan-config.js +101 -0
  35. package/dist/schemas/scan-config.js.map +1 -0
  36. package/dist/schemas/test-catalog.d.ts +12 -12
  37. package/dist/schemas/test-map.d.ts +4 -4
  38. package/dist/schemas/verdict.d.ts +4 -0
  39. package/dist/schemas/verdict.d.ts.map +1 -1
  40. package/dist/schemas/verdict.js +13 -0
  41. package/dist/schemas/verdict.js.map +1 -1
  42. package/dist/testing/gate-runner.d.ts +2 -2
  43. package/dist/testing/gate-runner.d.ts.map +1 -1
  44. package/package.json +1 -1
@@ -0,0 +1,101 @@
1
+ /**
2
+ * `scan:` — the SCANNER settings section of `.gateforge.yml` (0.11.0).
3
+ *
4
+ * These four settings used to live in `classification-policy.yml`
5
+ * (`scanRoots`, `coverage`, `declarations`, `volatileFields`). They moved
6
+ * here for ONE reason: they are not owner ANSWERS, they are machine-wide
7
+ * scan configuration, and the answers file now holds exactly the answers.
8
+ * They are still inside the owner-approved policy digest, because
9
+ * `.gateforge.yml` is a trusted-policy input like every other declaration
10
+ * there — the move changes which document an agent has to edit, never who
11
+ * has to approve it.
12
+ *
13
+ * The section also carries the two detector configuration documents that
14
+ * used to be their own files (`scan.httpClients`, was
15
+ * `.gateforge/http-clients.json`; `scan.fastapi`, was
16
+ * `.gateforge/fastapi.json`), for the same reason and with the same
17
+ * rule: the SHAPE is checked here, the RULES by the detector that applies
18
+ * them (one validation source, unchanged from the readers that have always
19
+ * guarded them).
20
+ */
21
+ import { z } from 'zod';
22
+ import { CoverageRuleSchema } from './classification-policy.js';
23
+ /**
24
+ * One owner-declared HTTP client-scan section (was
25
+ * `.gateforge/http-clients.json`). Shape here; the client-symbol /
26
+ * wrapper / URL-builder / same-origin rules are validated by pack-http's
27
+ * own reader, which is the single source of truth for that document.
28
+ */
29
+ export const HttpClientsScanSectionSchema = z
30
+ .object({
31
+ /** Instance symbols exposing verb methods, e.g. `['apiClient']`. */
32
+ clientSymbols: z.array(z.unknown()).optional(),
33
+ /** Wrapper callables with the concrete method they always issue. */
34
+ wrapperFunctions: z.array(z.unknown()).optional(),
35
+ /** Pure URL builders with an optional literal base. */
36
+ urlBuilders: z.array(z.unknown()).optional(),
37
+ /** Absolute-URL hosts treated as same-origin. */
38
+ sameOriginHosts: z.array(z.unknown()).optional(),
39
+ /** Globs limiting client-call scanning. */
40
+ clientScanRoots: z.array(z.unknown()).optional(),
41
+ /** Globs limiting generic server-route scanning. */
42
+ serverScanRoots: z.array(z.unknown()).optional(),
43
+ })
44
+ .strict();
45
+ /**
46
+ * One owner-declared FastAPI scan section (was `.gateforge/fastapi.json`):
47
+ * repo-root-relative directories acting as Python import roots.
48
+ */
49
+ export const FastapiScanSectionSchema = z
50
+ .object({
51
+ /** Repo-root-relative import roots for ABSOLUTE imports. */
52
+ importRoots: z.array(z.unknown()).optional(),
53
+ })
54
+ .strict();
55
+ /**
56
+ * The `scan:` section of `.gateforge.yml`. REQUIRED: a repository without
57
+ * it has not answered "what does a closed-world proof have to cover", and
58
+ * defaulting that would silently weaken every suppressive decision. The
59
+ * key lives in `.gateforge.yml`, so it is inside the trusted policy
60
+ * digest exactly like the settings it replaces.
61
+ */
62
+ export const ScanConfigSchema = z
63
+ .object({
64
+ /**
65
+ * Repo-root-relative globs defining the scope a closed-world proof
66
+ * must cover. A non-empty list is the prerequisite of every
67
+ * complete-scan attestation (ADR 0003 D4).
68
+ */
69
+ scanRoots: z.array(z.string().min(1)).min(1),
70
+ /**
71
+ * Coverage requirements for COMPLETE-scan proofs (ADR 0003 D4). A
72
+ * closed-world attestation holds only when every rule's detector is
73
+ * configured, reports coverage, and covers every applicable requested
74
+ * file. Declaring none means no scan is provably complete — closed-
75
+ * world proofs stay unavailable (fail closed).
76
+ */
77
+ coverage: z.array(CoverageRuleSchema).optional(),
78
+ /**
79
+ * Supported source declaration syntax: the machine-readable keys
80
+ * detectors may translate into declaration signals (e.g.
81
+ * `internality: 'gateforge:internal'`).
82
+ */
83
+ declarations: z.record(z.string(), z.string().min(1)),
84
+ /**
85
+ * Bookkeeping columns that never satisfy an update by themselves
86
+ * (mirrors the verdict engine's `updateableFields` fail-closed rule).
87
+ */
88
+ volatileFields: z.array(z.string().min(1)),
89
+ /** HTTP client-scan settings (was `.gateforge/http-clients.json`). */
90
+ httpClients: HttpClientsScanSectionSchema.optional(),
91
+ /** FastAPI import roots (was `.gateforge/fastapi.json`). */
92
+ fastapi: FastapiScanSectionSchema.optional(),
93
+ })
94
+ .strict();
95
+ /** The scanner keys that used to live in `classification-policy.yml`. */
96
+ export const MOVED_SCANNER_KEYS = ['scanRoots', 'coverage', 'declarations', 'volatileFields'];
97
+ /** Whether `key` is one of the scanner settings that moved to `.gateforge.yml`. */
98
+ export function isMovedScannerKey(key) {
99
+ return MOVED_SCANNER_KEYS.includes(key);
100
+ }
101
+ //# sourceMappingURL=scan-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scan-config.js","sourceRoot":"","sources":["../../src/schemas/scan-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAGhE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC;KAC1C,MAAM,CAAC;IACN,oEAAoE;IACpE,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC9C,oEAAoE;IACpE,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IACjD,uDAAuD;IACvD,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC5C,iDAAiD;IACjD,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IAChD,2CAA2C;IAC3C,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IAChD,oDAAoD;IACpD,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;CACjD,CAAC;KACD,MAAM,EAAE,CAAC;AAKZ;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC;KACtC,MAAM,CAAC;IACN,4DAA4D;IAC5D,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;CAC7C,CAAC;KACD,MAAM,EAAE,CAAC;AAKZ;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC;KAC9B,MAAM,CAAC;IACN;;;;OAIG;IACH,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5C;;;;;;OAMG;IACH,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,QAAQ,EAAE;IAChD;;;;OAIG;IACH,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACrD;;;OAGG;IACH,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC1C,sEAAsE;IACtE,WAAW,EAAE,4BAA4B,CAAC,QAAQ,EAAE;IACpD,4DAA4D;IAC5D,OAAO,EAAE,wBAAwB,CAAC,QAAQ,EAAE;CAC7C,CAAC;KACD,MAAM,EAAE,CAAC;AAKZ,yEAAyE;AACzE,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB,CAAU,CAAC;AAKvG,mFAAmF;AACnF,MAAM,UAAU,iBAAiB,CAAC,GAAW;IAC3C,OAAQ,kBAAwC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AACjE,CAAC"}
@@ -55,10 +55,10 @@ export declare const TestKindSchema: z.ZodEnum<{
55
55
  unknown: "unknown";
56
56
  "browser-e2e": "browser-e2e";
57
57
  "observed-e2e": "observed-e2e";
58
- "server-e2e": "server-e2e";
59
- "api-e2e": "api-e2e";
60
58
  unit: "unit";
61
59
  integration: "integration";
60
+ "server-e2e": "server-e2e";
61
+ "api-e2e": "api-e2e";
62
62
  component: "component";
63
63
  }>;
64
64
  /** Inferred test-kind type. */
@@ -109,10 +109,10 @@ export declare const KindSignalSchema: z.ZodObject<{
109
109
  unknown: "unknown";
110
110
  "browser-e2e": "browser-e2e";
111
111
  "observed-e2e": "observed-e2e";
112
- "server-e2e": "server-e2e";
113
- "api-e2e": "api-e2e";
114
112
  unit: "unit";
115
113
  integration: "integration";
114
+ "server-e2e": "server-e2e";
115
+ "api-e2e": "api-e2e";
116
116
  component: "component";
117
117
  }>;
118
118
  }, z.core.$strict>;
@@ -217,10 +217,10 @@ export declare const TestCatalogEntrySchema: z.ZodObject<{
217
217
  unknown: "unknown";
218
218
  "browser-e2e": "browser-e2e";
219
219
  "observed-e2e": "observed-e2e";
220
- "server-e2e": "server-e2e";
221
- "api-e2e": "api-e2e";
222
220
  unit: "unit";
223
221
  integration: "integration";
222
+ "server-e2e": "server-e2e";
223
+ "api-e2e": "api-e2e";
224
224
  component: "component";
225
225
  }>;
226
226
  kindSignals: z.ZodArray<z.ZodObject<{
@@ -235,10 +235,10 @@ export declare const TestCatalogEntrySchema: z.ZodObject<{
235
235
  unknown: "unknown";
236
236
  "browser-e2e": "browser-e2e";
237
237
  "observed-e2e": "observed-e2e";
238
- "server-e2e": "server-e2e";
239
- "api-e2e": "api-e2e";
240
238
  unit: "unit";
241
239
  integration: "integration";
240
+ "server-e2e": "server-e2e";
241
+ "api-e2e": "api-e2e";
242
242
  component: "component";
243
243
  }>;
244
244
  }, z.core.$strict>>;
@@ -357,10 +357,10 @@ export declare const TestCatalogSchema: z.ZodObject<{
357
357
  unknown: "unknown";
358
358
  "browser-e2e": "browser-e2e";
359
359
  "observed-e2e": "observed-e2e";
360
- "server-e2e": "server-e2e";
361
- "api-e2e": "api-e2e";
362
360
  unit: "unit";
363
361
  integration: "integration";
362
+ "server-e2e": "server-e2e";
363
+ "api-e2e": "api-e2e";
364
364
  component: "component";
365
365
  }>;
366
366
  kindSignals: z.ZodArray<z.ZodObject<{
@@ -375,10 +375,10 @@ export declare const TestCatalogSchema: z.ZodObject<{
375
375
  unknown: "unknown";
376
376
  "browser-e2e": "browser-e2e";
377
377
  "observed-e2e": "observed-e2e";
378
- "server-e2e": "server-e2e";
379
- "api-e2e": "api-e2e";
380
378
  unit: "unit";
381
379
  integration: "integration";
380
+ "server-e2e": "server-e2e";
381
+ "api-e2e": "api-e2e";
382
382
  component: "component";
383
383
  }>;
384
384
  }, z.core.$strict>>;
@@ -54,10 +54,10 @@ export declare const TestMapEntrySchema: z.ZodObject<{
54
54
  unknown: "unknown";
55
55
  "browser-e2e": "browser-e2e";
56
56
  "observed-e2e": "observed-e2e";
57
- "server-e2e": "server-e2e";
58
- "api-e2e": "api-e2e";
59
57
  unit: "unit";
60
58
  integration: "integration";
59
+ "server-e2e": "server-e2e";
60
+ "api-e2e": "api-e2e";
61
61
  component: "component";
62
62
  }>>;
63
63
  source: z.ZodOptional<z.ZodLiteral<"annotation">>;
@@ -88,10 +88,10 @@ export declare const TestMapSchema: z.ZodObject<{
88
88
  unknown: "unknown";
89
89
  "browser-e2e": "browser-e2e";
90
90
  "observed-e2e": "observed-e2e";
91
- "server-e2e": "server-e2e";
92
- "api-e2e": "api-e2e";
93
91
  unit: "unit";
94
92
  integration: "integration";
93
+ "server-e2e": "server-e2e";
94
+ "api-e2e": "api-e2e";
95
95
  component: "component";
96
96
  }>>;
97
97
  source: z.ZodOptional<z.ZodLiteral<"annotation">>;
@@ -87,6 +87,10 @@ export declare const CauseCodeSchema: z.ZodEnum<{
87
87
  RESOURCE_SINGLETON_PER_TENANT: "RESOURCE_SINGLETON_PER_TENANT";
88
88
  RESPONSE_FIELD_MISSING_FROM_MODEL: "RESPONSE_FIELD_MISSING_FROM_MODEL";
89
89
  TWIN_PATH_DIVERGENT: "TWIN_PATH_DIVERGENT";
90
+ BUSINESS_RULE_TEST_MISSING: "BUSINESS_RULE_TEST_MISSING";
91
+ BUSINESS_RULE_TEST_TYPE_MISMATCH: "BUSINESS_RULE_TEST_TYPE_MISMATCH";
92
+ BUSINESS_RULE_TEST_UNPROVEN: "BUSINESS_RULE_TEST_UNPROVEN";
93
+ BUSINESS_RULE_TEST_FAILING: "BUSINESS_RULE_TEST_FAILING";
90
94
  }>;
91
95
  /** Inferred cause-code union. */
92
96
  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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+C1B,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,CAiFjE,CAAC"}
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmD1B,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,CA8FjE,CAAC"}
@@ -85,6 +85,10 @@ export const CauseCodeSchema = z.enum([
85
85
  'RESOURCE_SINGLETON_PER_TENANT',
86
86
  'RESPONSE_FIELD_MISSING_FROM_MODEL',
87
87
  'TWIN_PATH_DIVERGENT',
88
+ 'BUSINESS_RULE_TEST_MISSING',
89
+ 'BUSINESS_RULE_TEST_TYPE_MISMATCH',
90
+ 'BUSINESS_RULE_TEST_UNPROVEN',
91
+ 'BUSINESS_RULE_TEST_FAILING',
88
92
  ]);
89
93
  /**
90
94
  * The plan §5.4 next action per cause code. Text, JSON, and SARIF
@@ -152,5 +156,14 @@ export const CAUSE_NEXT_ACTIONS = Object.freeze({
152
156
  'response model (or read the one it declares). A test that mocks the response proves nothing ' +
153
157
  'about this read',
154
158
  TWIN_PATH_DIVERGENT: 'Make the raw test and its witnessed twin send the same request: align the shared helper defaults, or map the pair with `twinOf`',
159
+ BUSINESS_RULE_TEST_MISSING: 'Write the test the rule names (a starter is printed by `gateforge next`), then map it with ' +
160
+ '`gateforge tests mark --rule <rule>/<case> --test <file>#<title> --kind <kind> --reason "…"`. ' +
161
+ 'A mapping alone is a declaration, never a proof.',
162
+ BUSINESS_RULE_TEST_TYPE_MISMATCH: 'Map a test of the type the rule names (`gateforge tests explain` lists the accepted kinds): a ' +
163
+ 'weaker test kind never satisfies a stronger rule type.',
164
+ BUSINESS_RULE_TEST_UNPROVEN: 'Run the mapped test under supervision for this exact candidate (`gateforge test-gates`). A case ' +
165
+ 'with no passing, witnessed run is `unproven`, never satisfied.',
166
+ BUSINESS_RULE_TEST_FAILING: 'Fix the mapped test or the behaviour it proves: every mapped test of a case must pass (a green ' +
167
+ 'sibling never forgives a red one).',
155
168
  });
156
169
  //# sourceMappingURL=verdict.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"verdict.js","sourceRoot":"","sources":["../../src/schemas/verdict.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verdict.js","sourceRoot":"","sources":["../../src/schemas/verdict.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import type { DetectorOutput, GraphFinding, ResourceGraph } from '../graph/index
2
2
  import type { PolicyEvaluationResult } from '../policy/index.js';
3
3
  import type { Claim } from '../schemas/claim.js';
4
4
  import type { Classification } from '../schemas/classification.js';
5
- import type { ClassificationPolicy } from '../schemas/classification-policy.js';
5
+ import type { ClassifierPolicy } from '../schemas/scan-config.js';
6
6
  import type { PolicyFile } from '../schemas/policy.js';
7
7
  import type { EvidenceRecord } from '../schemas/evidence.js';
8
8
  import type { Obligation } from '../schemas/obligation.js';
@@ -60,7 +60,7 @@ export interface RunGatesInput {
60
60
  * deterministically from detector signals on every run — there is no
61
61
  * manual classifications document.
62
62
  */
63
- classificationPolicy: ClassificationPolicy;
63
+ classificationPolicy: ClassifierPolicy;
64
64
  /** Policies document (`.gateforge/policies.yml` content). */
65
65
  policies: PolicyFile;
66
66
  /** The obligation evaluator (pin #9). */
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gate-forge/core",
3
- "version": "0.10.3",
3
+ "version": "0.11.0",
4
4
  "license": "Apache-2.0",
5
5
  "description": "Gateforge core: artifact schemas, canonical JSON, fingerprints, config loading.",
6
6
  "type": "module",