@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.
Files changed (106) hide show
  1. package/dist/baselines/index.js +1 -1
  2. package/dist/baselines/index.js.map +1 -1
  3. package/dist/classifier/classify.d.ts +1 -0
  4. package/dist/classifier/classify.d.ts.map +1 -1
  5. package/dist/classifier/classify.js +66 -10
  6. package/dist/classifier/classify.js.map +1 -1
  7. package/dist/config/index.d.ts +3 -1
  8. package/dist/config/index.d.ts.map +1 -1
  9. package/dist/config/index.js +16 -0
  10. package/dist/config/index.js.map +1 -1
  11. package/dist/fingerprints.d.ts +35 -4
  12. package/dist/fingerprints.d.ts.map +1 -1
  13. package/dist/fingerprints.js +58 -5
  14. package/dist/fingerprints.js.map +1 -1
  15. package/dist/index.d.ts +46 -14
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +40 -12
  18. package/dist/index.js.map +1 -1
  19. package/dist/mapping/resolve.d.ts +6 -2
  20. package/dist/mapping/resolve.d.ts.map +1 -1
  21. package/dist/mapping/resolve.js +122 -17
  22. package/dist/mapping/resolve.js.map +1 -1
  23. package/dist/policy/behavior.d.ts +44 -0
  24. package/dist/policy/behavior.d.ts.map +1 -0
  25. package/dist/policy/behavior.js +373 -0
  26. package/dist/policy/behavior.js.map +1 -0
  27. package/dist/policy/coverage.d.ts +4 -3
  28. package/dist/policy/coverage.d.ts.map +1 -1
  29. package/dist/policy/coverage.js +12 -6
  30. package/dist/policy/coverage.js.map +1 -1
  31. package/dist/policy/evaluate.d.ts +23 -0
  32. package/dist/policy/evaluate.d.ts.map +1 -1
  33. package/dist/policy/index.d.ts +1 -0
  34. package/dist/policy/index.d.ts.map +1 -1
  35. package/dist/policy/index.js +1 -0
  36. package/dist/policy/index.js.map +1 -1
  37. package/dist/receipt/index.d.ts +56 -4
  38. package/dist/receipt/index.d.ts.map +1 -1
  39. package/dist/receipt/index.js +139 -5
  40. package/dist/receipt/index.js.map +1 -1
  41. package/dist/report/index.js +4 -19
  42. package/dist/report/index.js.map +1 -1
  43. package/dist/schemas/behavior-catalog.d.ts +2868 -0
  44. package/dist/schemas/behavior-catalog.d.ts.map +1 -0
  45. package/dist/schemas/behavior-catalog.js +103 -0
  46. package/dist/schemas/behavior-catalog.js.map +1 -0
  47. package/dist/schemas/behavior-evidence.d.ts +174 -0
  48. package/dist/schemas/behavior-evidence.d.ts.map +1 -0
  49. package/dist/schemas/behavior-evidence.js +157 -0
  50. package/dist/schemas/behavior-evidence.js.map +1 -0
  51. package/dist/schemas/behavior-policy.d.ts +6214 -0
  52. package/dist/schemas/behavior-policy.d.ts.map +1 -0
  53. package/dist/schemas/behavior-policy.js +896 -0
  54. package/dist/schemas/behavior-policy.js.map +1 -0
  55. package/dist/schemas/classification-policy.d.ts +52 -0
  56. package/dist/schemas/classification-policy.d.ts.map +1 -1
  57. package/dist/schemas/classification-policy.js +93 -0
  58. package/dist/schemas/classification-policy.js.map +1 -1
  59. package/dist/schemas/execution-result.d.ts +4 -4
  60. package/dist/schemas/gate-receipt.d.ts +10 -3
  61. package/dist/schemas/gate-receipt.d.ts.map +1 -1
  62. package/dist/schemas/gate-receipt.js +46 -3
  63. package/dist/schemas/gate-receipt.js.map +1 -1
  64. package/dist/schemas/index.d.ts +3 -0
  65. package/dist/schemas/index.d.ts.map +1 -1
  66. package/dist/schemas/index.js +3 -0
  67. package/dist/schemas/index.js.map +1 -1
  68. package/dist/schemas/obligation.d.ts +1 -0
  69. package/dist/schemas/obligation.d.ts.map +1 -1
  70. package/dist/schemas/obligation.js +9 -0
  71. package/dist/schemas/obligation.js.map +1 -1
  72. package/dist/schemas/runtime-config.d.ts +103 -0
  73. package/dist/schemas/runtime-config.d.ts.map +1 -0
  74. package/dist/schemas/runtime-config.js +168 -0
  75. package/dist/schemas/runtime-config.js.map +1 -0
  76. package/dist/schemas/test-catalog.d.ts +20 -2
  77. package/dist/schemas/test-catalog.d.ts.map +1 -1
  78. package/dist/schemas/test-catalog.js +13 -0
  79. package/dist/schemas/test-catalog.js.map +1 -1
  80. package/dist/schemas/test-map.d.ts +4 -0
  81. package/dist/schemas/test-map.d.ts.map +1 -1
  82. package/dist/schemas/test-map.js +24 -1
  83. package/dist/schemas/test-map.js.map +1 -1
  84. package/dist/schemas/verdict.d.ts +11 -0
  85. package/dist/schemas/verdict.d.ts.map +1 -1
  86. package/dist/schemas/verdict.js +33 -6
  87. package/dist/schemas/verdict.js.map +1 -1
  88. package/dist/testing/gate-runner.d.ts.map +1 -1
  89. package/dist/testing/gate-runner.js +2 -7
  90. package/dist/testing/gate-runner.js.map +1 -1
  91. package/dist/verdict/behavior.d.ts +87 -0
  92. package/dist/verdict/behavior.d.ts.map +1 -0
  93. package/dist/verdict/behavior.js +1328 -0
  94. package/dist/verdict/behavior.js.map +1 -0
  95. package/dist/verdict/evaluate.d.ts +10 -0
  96. package/dist/verdict/evaluate.d.ts.map +1 -1
  97. package/dist/verdict/evaluate.js +188 -27
  98. package/dist/verdict/evaluate.js.map +1 -1
  99. package/dist/verdict/index.d.ts +6 -0
  100. package/dist/verdict/index.d.ts.map +1 -1
  101. package/dist/verdict/index.js +6 -0
  102. package/dist/verdict/index.js.map +1 -1
  103. package/dist/verdict/pack-verifiers.d.ts.map +1 -1
  104. package/dist/verdict/pack-verifiers.js +124 -33
  105. package/dist/verdict/pack-verifiers.js.map +1 -1
  106. package/package.json +1 -1
@@ -44,9 +44,22 @@ const PROBLEM_RANK = Object.freeze({
44
44
  TEST_MAPPING_AMBIGUOUS: 0,
45
45
  TEST_MAPPING_STALE: 1,
46
46
  TEST_KIND_UNKNOWN: 2,
47
+ BEHAVIOR_CASE_UNMAPPED: 3,
47
48
  });
48
49
  /** Test kinds that claim end-to-end proof (mocking disqualifies them, §3.2). */
49
- const E2E_KINDS = new Set(['browser-e2e', 'api-e2e']);
50
+ const E2E_KINDS = new Set(['browser-e2e', 'observed-e2e', 'api-e2e']);
51
+ /**
52
+ * Whether a sidecar kind declaration is a refinement of the inferred
53
+ * kind rather than a contradiction (§5.3, Observe channel): declaring
54
+ * `observed-e2e` over an inferred `browser-e2e` keeps the browser
55
+ * journey and only weakens the proof channel (suite-driven instead of
56
+ * engine-driven) — allowed. Every other kind mismatch (including
57
+ * `observed-e2e` over `api-e2e`, whose Node-side traffic never transits
58
+ * the session proxy) stays contradictory.
59
+ */
60
+ function isKindRefinement(declared, inferred) {
61
+ return declared === 'observed-e2e' && inferred === 'browser-e2e';
62
+ }
50
63
  /**
51
64
  * Whether a catalog row matches a sidecar selector exactly (§5.2: line
52
65
  * numbers and digests are never identity inputs).
@@ -203,7 +216,10 @@ export function resolveTestMappings(input) {
203
216
  continue;
204
217
  }
205
218
  const strong = row.kindSignals[0];
206
- if (row.inferredKind !== 'unknown' && row.kindSignals.length > 0 && entry.kind !== row.inferredKind) {
219
+ if (row.inferredKind !== 'unknown' &&
220
+ row.kindSignals.length > 0 &&
221
+ entry.kind !== row.inferredKind &&
222
+ !isKindRefinement(entry.kind, row.inferredKind)) {
207
223
  for (const obligationId of claims) {
208
224
  pushProblem({
209
225
  cause: 'TEST_MAPPING_AMBIGUOUS',
@@ -217,6 +233,31 @@ export function resolveTestMappings(input) {
217
233
  }
218
234
  }
219
235
  }
236
+ const resolvedCaseIds = [];
237
+ for (const rawId of entry.caseIds ?? []) {
238
+ const compiled = (input.behaviorCatalog?.cases ?? []).find((item) => item.caseId === rawId || item.definition.id === rawId);
239
+ if (compiled === undefined) {
240
+ pushProblem({
241
+ cause: 'TEST_MAPPING_STALE',
242
+ obligationId: claims[0] ?? null,
243
+ detail: `sidecar entry '${entry.key}' names case '${rawId}', which is not in the current ` +
244
+ 'behavior catalog (stale or foreign); correct the mapping',
245
+ locations: [matched[0]?.sourceLocation ?? { file: entry.selector.file, line: 1, col: 0 }],
246
+ });
247
+ continue;
248
+ }
249
+ if (!compiled.obligationIds.some((id) => claims.includes(id))) {
250
+ pushProblem({
251
+ cause: 'TEST_MAPPING_STALE',
252
+ obligationId: compiled.obligationIds[0] ?? null,
253
+ detail: `sidecar entry '${entry.key}' names case '${rawId}' which does not belong to any of ` +
254
+ "this entry's claimed obligations",
255
+ locations: [matched[0]?.sourceLocation ?? { file: entry.selector.file, line: 1, col: 0 }],
256
+ });
257
+ continue;
258
+ }
259
+ resolvedCaseIds.push(compiled.caseId);
260
+ }
220
261
  // Bind the declaration (many-to-many allowed). Ambiguity problems
221
262
  // above stay visible; the binding itself is data for suggestions.
222
263
  for (const obligationId of claims) {
@@ -231,6 +272,10 @@ export function resolveTestMappings(input) {
231
272
  categories: [...new Set(entry.categories ?? [])].sort(compareStrings),
232
273
  reason: entry.reason,
233
274
  sourceLocation: matched[0]?.sourceLocation ?? null,
275
+ caseIds: resolvedCaseIds.filter((caseId) => {
276
+ const compiled = (input.behaviorCatalog?.cases ?? []).find((item) => item.caseId === caseId);
277
+ return compiled?.obligationIds.includes(obligationId) ?? false;
278
+ }),
234
279
  });
235
280
  }
236
281
  }
@@ -272,9 +317,6 @@ export function resolveTestMappings(input) {
272
317
  });
273
318
  continue;
274
319
  }
275
- // Exact duplicate of a sidecar declaration (same obligation, same
276
- // test file) → dedupe idempotently: the sidecar binding (a superset:
277
- // reason/kind/categories) stands, the native row adds nothing.
278
320
  const instances = input.catalog.entries
279
321
  .filter((row) => row.file === claim.testFile)
280
322
  .sort((a, b) => compareStrings(a.logicalKey, b.logicalKey));
@@ -292,6 +334,7 @@ export function resolveTestMappings(input) {
292
334
  categories: [],
293
335
  reason: null,
294
336
  sourceLocation: claim.location ?? null,
337
+ caseIds: [],
295
338
  });
296
339
  }
297
340
  // --- prior-run hints (suggestions only, never grading) -------------------
@@ -312,6 +355,7 @@ export function resolveTestMappings(input) {
312
355
  categories: [],
313
356
  reason: 'a prior run bound this test to the obligation (a hint only — it never satisfies a new run)',
314
357
  sourceLocation: row.sourceLocation,
358
+ caseIds: [],
315
359
  });
316
360
  }
317
361
  // --- inference (NEVER auto-writes a mapping; suggestions only) -----------
@@ -333,9 +377,38 @@ export function resolveTestMappings(input) {
333
377
  categories: candidate.row.categorySignals.map((signal) => signal.label).sort(compareStrings),
334
378
  reason: `inferred, never auto-declared: ${candidate.why.join('; ')}`,
335
379
  sourceLocation: candidate.row.sourceLocation,
380
+ caseIds: [],
336
381
  });
337
382
  }
338
383
  }
384
+ if (input.behaviorCatalog !== undefined && input.behaviorCatalog !== null) {
385
+ const mappedCases = new Map();
386
+ for (const obligationId of obligationIdsSorted) {
387
+ const ids = new Set();
388
+ for (const binding of byObligation.get(obligationId)?.values() ?? []) {
389
+ if (binding.origin !== 'sidecar')
390
+ continue;
391
+ for (const caseId of binding.caseIds ?? [])
392
+ ids.add(caseId);
393
+ }
394
+ mappedCases.set(obligationId, ids);
395
+ }
396
+ for (const [obligationId, required] of Object.entries(input.behaviorCatalog.requirements)) {
397
+ const mapped = mappedCases.get(obligationId) ?? new Set();
398
+ for (const caseId of required) {
399
+ if (mapped.has(caseId))
400
+ continue;
401
+ const compiled = input.behaviorCatalog.cases.find((item) => item.caseId === caseId);
402
+ pushProblem({
403
+ cause: 'BEHAVIOR_CASE_UNMAPPED',
404
+ obligationId,
405
+ detail: `required case '${compiled?.definition.id ?? caseId}' for '${obligationId}' has no current ` +
406
+ 'declared test mapping',
407
+ locations: [],
408
+ });
409
+ }
410
+ }
411
+ }
339
412
  const obligations = obligationIdsSorted.map((obligationId) => ({
340
413
  obligationId,
341
414
  bindings: [...(byObligation.get(obligationId)?.values() ?? [])].sort((a, b) => ORIGIN_RANK[a.origin] - ORIGIN_RANK[b.origin] || compareStrings(a.logicalKey, b.logicalKey)),
@@ -379,6 +452,30 @@ function inferredCandidates(obligationId, catalog) {
379
452
  }
380
453
  return candidates.sort((a, b) => compareStrings(a.row.logicalKey, b.row.logicalKey));
381
454
  }
455
+ /**
456
+ * Observe-channel guidance for one candidate row (Phase 2): tells the
457
+ * agent WHICH proof path fits the candidate's code shape. A
458
+ * suite-driven browser test (browser-fixture signal, no gateforge
459
+ * fixture, no mocking) proves via `observed-e2e` — the witness watches
460
+ * its proxy traffic and reads state itself, so no rewrite is needed. A
461
+ * gateforge-fixture test proves via the overlay path (engine-driven).
462
+ * Returns null when no channel guidance applies (non-browser rows).
463
+ */
464
+ function observeHintForRow(row) {
465
+ if (row === undefined || row.inferredKind !== 'browser-e2e')
466
+ return null;
467
+ if (row.suppressionSignals.some((signal) => signal.kind === 'mock'))
468
+ return null;
469
+ const usesFixture = row.kindSignals.some((signal) => signal.ruleId === 'gateforge-fixture');
470
+ if (usesFixture) {
471
+ return 'uses the gateforge evidence fixture — overlay path: the engine drives proof, no rewrite needed';
472
+ }
473
+ if (row.kindSignals.some((signal) => signal.ruleId === 'browser-fixture')) {
474
+ return 'suite-driven browser test — declare kind observed-e2e to prove it via the Observe channel ' +
475
+ '(the witness watches its proxy traffic and reads state itself; do not rewrite it onto the fixture)';
476
+ }
477
+ return null;
478
+ }
382
479
  /** Suggestion order = reuse order (connect → declare kind → repair stale → repair conflict). */
383
480
  const SUGGESTION_RANK = Object.freeze({
384
481
  TEST_MAPPING_MISSING: 0,
@@ -400,6 +497,7 @@ const SUGGESTION_RANK = Object.freeze({
400
497
  */
401
498
  export function mappingSuggestions(input) {
402
499
  const byId = new Map(input.resolution.obligations.map((entry) => [entry.obligationId, entry.bindings]));
500
+ const rowsByKey = new Map(input.catalog.entries.map((row) => [row.logicalKey, row]));
403
501
  const suggestions = [];
404
502
  for (const obligationId of [...input.obligationIds].sort(compareStrings)) {
405
503
  const bindings = byId.get(obligationId) ?? [];
@@ -418,11 +516,14 @@ export function mappingSuggestions(input) {
418
516
  }
419
517
  const stale = problems.find((problem) => problem.cause === 'TEST_MAPPING_STALE');
420
518
  if (stale !== undefined) {
421
- const candidates = inferredCandidates(obligationId, input.catalog).map((candidate) => ({
422
- logicalKey: candidate.row.logicalKey,
423
- file: candidate.row.file,
424
- why: candidate.why,
425
- }));
519
+ const candidates = inferredCandidates(obligationId, input.catalog).map((candidate) => {
520
+ const hint = observeHintForRow(candidate.row);
521
+ return {
522
+ logicalKey: candidate.row.logicalKey,
523
+ file: candidate.row.file,
524
+ why: [...candidate.why, ...(hint !== null ? [hint] : [])],
525
+ };
526
+ });
426
527
  suggestions.push({
427
528
  obligationId,
428
529
  cause: 'TEST_MAPPING_STALE',
@@ -455,13 +556,17 @@ export function mappingSuggestions(input) {
455
556
  if (declared.length > 0)
456
557
  continue; // declared + clean: the gap is execution, not mapping
457
558
  const candidates = bindings
458
- .map((binding) => ({
459
- logicalKey: binding.logicalKey,
460
- file: binding.instances[0]?.file ?? '',
461
- why: binding.origin === 'inferred' || binding.origin === 'prior-run'
462
- ? [binding.reason ?? binding.origin]
463
- : [`bound by native annotation (${binding.logicalKey})`],
464
- }))
559
+ .map((binding) => {
560
+ const hint = observeHintForRow(rowsByKey.get(binding.logicalKey));
561
+ const base = binding.origin === 'inferred' || binding.origin === 'prior-run'
562
+ ? (binding.reason ?? binding.origin)
563
+ : `bound by native annotation (${binding.logicalKey})`;
564
+ return {
565
+ logicalKey: binding.logicalKey,
566
+ file: binding.instances[0]?.file ?? '',
567
+ why: hint !== null ? [base, hint] : [base],
568
+ };
569
+ })
465
570
  .sort((a, b) => compareStrings(a.logicalKey, b.logicalKey));
466
571
  suggestions.push({
467
572
  obligationId,
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/mapping/resolve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/mapping/resolve.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ import { type ResourceGraph } from '../graph/schema.js';
2
+ import { type BehaviorCatalog } from '../schemas/behavior-catalog.js';
3
+ import { type BehaviorPolicy } from '../schemas/behavior-policy.js';
4
+ import { type Obligation } from '../schemas/obligation.js';
5
+ import { type BlockingEntry } from './evaluate.js';
6
+ /** Policy id stamped on every obligation compiled from a behavior document. */
7
+ export declare const BEHAVIOR_POLICY_ID = "behavior-policy";
8
+ /** Canonical empty-catalog digest (never an omitted field). */
9
+ export declare const EMPTY_BEHAVIOR_CATALOG_DIGEST: string;
10
+ /** Input to {@link compileBehaviorPolicy}. */
11
+ export interface CompileBehaviorPolicyInput {
12
+ /** Built resource graph (classified endpoints and business resources). */
13
+ graph: ResourceGraph;
14
+ /** Already-parsed behavior document. */
15
+ policy: BehaviorPolicy;
16
+ }
17
+ /** Deterministic compiler output. */
18
+ export interface CompileBehaviorPolicyResult {
19
+ catalog: BehaviorCatalog;
20
+ obligations: Obligation[];
21
+ blocking: BlockingEntry[];
22
+ }
23
+ /**
24
+ * Parses unknown input as a behavior policy. Unknown versions, extra
25
+ * keys, and semantic schema failures are config errors (exit 2).
26
+ *
27
+ * Args:
28
+ * input (unknown): decoded YAML/JSON document.
29
+ *
30
+ * Returns:
31
+ * BehaviorPolicy: the validated document.
32
+ */
33
+ export declare function parseBehaviorPolicy(input: unknown): BehaviorPolicy;
34
+ /**
35
+ * Compiles a validated behavior policy against the current graph.
36
+ *
37
+ * Args:
38
+ * input (CompileBehaviorPolicyInput): graph plus validated policy.
39
+ *
40
+ * Returns:
41
+ * CompileBehaviorPolicyResult: catalog, obligations, blocking entries.
42
+ */
43
+ export declare function compileBehaviorPolicy(input: CompileBehaviorPolicyInput): CompileBehaviorPolicyResult;
44
+ //# sourceMappingURL=behavior.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"behavior.d.ts","sourceRoot":"","sources":["../../src/policy/behavior.ts"],"names":[],"mappings":"AAWA,OAAO,EAAmD,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEzG,OAAO,EAIL,KAAK,eAAe,EAErB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAQL,KAAK,cAAc,EAIpB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE7E,OAAO,EAGL,KAAK,aAAa,EACnB,MAAM,eAAe,CAAC;AAEvB,+EAA+E;AAC/E,eAAO,MAAM,kBAAkB,oBAAoB,CAAC;AAEpD,+DAA+D;AAC/D,eAAO,MAAM,6BAA6B,QAMxC,CAAC;AAEH,8CAA8C;AAC9C,MAAM,WAAW,0BAA0B;IACzC,0EAA0E;IAC1E,KAAK,EAAE,aAAa,CAAC;IACrB,wCAAwC;IACxC,MAAM,EAAE,cAAc,CAAC;CACxB;AAED,qCAAqC;AACrC,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,eAAe,CAAC;IACzB,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,QAAQ,EAAE,aAAa,EAAE,CAAC;CAC3B;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,cAAc,CAUlE;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,0BAA0B,GAAG,2BAA2B,CAqNpG"}