@gate-forge/core 0.7.1 → 0.9.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 (141) hide show
  1. package/dist/classifier/bind.d.ts +2 -0
  2. package/dist/classifier/bind.d.ts.map +1 -1
  3. package/dist/classifier/bind.js +8 -0
  4. package/dist/classifier/bind.js.map +1 -1
  5. package/dist/classifier/classify.d.ts +2 -0
  6. package/dist/classifier/classify.d.ts.map +1 -1
  7. package/dist/classifier/classify.js +127 -2
  8. package/dist/classifier/classify.js.map +1 -1
  9. package/dist/classifier/index.d.ts +2 -2
  10. package/dist/classifier/index.d.ts.map +1 -1
  11. package/dist/classifier/index.js +1 -1
  12. package/dist/classifier/index.js.map +1 -1
  13. package/dist/classifier/schema.d.ts +54 -0
  14. package/dist/classifier/schema.d.ts.map +1 -1
  15. package/dist/classifier/schema.js +17 -0
  16. package/dist/classifier/schema.js.map +1 -1
  17. package/dist/config/index.d.ts +186 -0
  18. package/dist/config/index.d.ts.map +1 -1
  19. package/dist/config/index.js +327 -1
  20. package/dist/config/index.js.map +1 -1
  21. package/dist/graph/schema.d.ts +34 -0
  22. package/dist/graph/schema.d.ts.map +1 -1
  23. package/dist/index.d.ts +80 -10
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +58 -6
  26. package/dist/index.js.map +1 -1
  27. package/dist/mapping/resolve.d.ts +32 -1
  28. package/dist/mapping/resolve.d.ts.map +1 -1
  29. package/dist/mapping/resolve.js +297 -65
  30. package/dist/mapping/resolve.js.map +1 -1
  31. package/dist/policy/evaluate.d.ts +30 -0
  32. package/dist/policy/evaluate.d.ts.map +1 -1
  33. package/dist/policy/evaluate.js +22 -12
  34. package/dist/policy/evaluate.js.map +1 -1
  35. package/dist/quarantine/index.d.ts +82 -0
  36. package/dist/quarantine/index.d.ts.map +1 -0
  37. package/dist/quarantine/index.js +194 -0
  38. package/dist/quarantine/index.js.map +1 -0
  39. package/dist/receipt/index.d.ts +65 -1
  40. package/dist/receipt/index.d.ts.map +1 -1
  41. package/dist/receipt/index.js +115 -1
  42. package/dist/receipt/index.js.map +1 -1
  43. package/dist/report/human-message.d.ts +33 -0
  44. package/dist/report/human-message.d.ts.map +1 -0
  45. package/dist/report/human-message.js +33 -0
  46. package/dist/report/human-message.js.map +1 -0
  47. package/dist/report/index.d.ts +183 -9
  48. package/dist/report/index.d.ts.map +1 -1
  49. package/dist/report/index.js +317 -23
  50. package/dist/report/index.js.map +1 -1
  51. package/dist/schemas/adoption.d.ts +2 -0
  52. package/dist/schemas/adoption.d.ts.map +1 -1
  53. package/dist/schemas/adoption.js +6 -0
  54. package/dist/schemas/adoption.js.map +1 -1
  55. package/dist/schemas/behavior-catalog.d.ts +12 -0
  56. package/dist/schemas/behavior-catalog.d.ts.map +1 -1
  57. package/dist/schemas/behavior-evidence.d.ts +40 -0
  58. package/dist/schemas/behavior-evidence.d.ts.map +1 -1
  59. package/dist/schemas/behavior-evidence.js +9 -0
  60. package/dist/schemas/behavior-evidence.js.map +1 -1
  61. package/dist/schemas/behavior-policy.d.ts +26 -0
  62. package/dist/schemas/behavior-policy.d.ts.map +1 -1
  63. package/dist/schemas/behavior-policy.js +37 -1
  64. package/dist/schemas/behavior-policy.js.map +1 -1
  65. package/dist/schemas/execution-result.d.ts +17 -5
  66. package/dist/schemas/execution-result.d.ts.map +1 -1
  67. package/dist/schemas/execution-result.js +57 -2
  68. package/dist/schemas/execution-result.js.map +1 -1
  69. package/dist/schemas/gate-receipt.d.ts +25 -2
  70. package/dist/schemas/gate-receipt.d.ts.map +1 -1
  71. package/dist/schemas/gate-receipt.js +181 -2
  72. package/dist/schemas/gate-receipt.js.map +1 -1
  73. package/dist/schemas/index.d.ts +2 -0
  74. package/dist/schemas/index.d.ts.map +1 -1
  75. package/dist/schemas/index.js +2 -0
  76. package/dist/schemas/index.js.map +1 -1
  77. package/dist/schemas/policy.d.ts +19 -0
  78. package/dist/schemas/policy.d.ts.map +1 -1
  79. package/dist/schemas/policy.js +36 -0
  80. package/dist/schemas/policy.js.map +1 -1
  81. package/dist/schemas/quarantine.d.ts +25 -0
  82. package/dist/schemas/quarantine.d.ts.map +1 -0
  83. package/dist/schemas/quarantine.js +34 -0
  84. package/dist/schemas/quarantine.js.map +1 -0
  85. package/dist/schemas/queue-observer.d.ts +195 -0
  86. package/dist/schemas/queue-observer.d.ts.map +1 -0
  87. package/dist/schemas/queue-observer.js +190 -0
  88. package/dist/schemas/queue-observer.js.map +1 -0
  89. package/dist/schemas/run-record.d.ts +57 -0
  90. package/dist/schemas/run-record.d.ts.map +1 -0
  91. package/dist/schemas/run-record.js +108 -0
  92. package/dist/schemas/run-record.js.map +1 -0
  93. package/dist/schemas/runtime-config.d.ts +67 -0
  94. package/dist/schemas/runtime-config.d.ts.map +1 -1
  95. package/dist/schemas/runtime-config.js +75 -1
  96. package/dist/schemas/runtime-config.js.map +1 -1
  97. package/dist/schemas/signature-profile.d.ts +99 -0
  98. package/dist/schemas/signature-profile.d.ts.map +1 -0
  99. package/dist/schemas/signature-profile.js +197 -0
  100. package/dist/schemas/signature-profile.js.map +1 -0
  101. package/dist/schemas/test-map.d.ts +4 -0
  102. package/dist/schemas/test-map.d.ts.map +1 -1
  103. package/dist/schemas/test-map.js +12 -0
  104. package/dist/schemas/test-map.js.map +1 -1
  105. package/dist/schemas/verdict.d.ts +19 -4
  106. package/dist/schemas/verdict.d.ts.map +1 -1
  107. package/dist/schemas/verdict.js +42 -5
  108. package/dist/schemas/verdict.js.map +1 -1
  109. package/dist/strictness.d.ts +102 -0
  110. package/dist/strictness.d.ts.map +1 -0
  111. package/dist/strictness.js +92 -0
  112. package/dist/strictness.js.map +1 -0
  113. package/dist/supervision/index.js +6 -6
  114. package/dist/supervision/index.js.map +1 -1
  115. package/dist/twin-paths.d.ts +125 -0
  116. package/dist/twin-paths.d.ts.map +1 -0
  117. package/dist/twin-paths.js +233 -0
  118. package/dist/twin-paths.js.map +1 -0
  119. package/dist/verdict/behavior.d.ts.map +1 -1
  120. package/dist/verdict/behavior.js +284 -10
  121. package/dist/verdict/behavior.js.map +1 -1
  122. package/dist/verdict/cause.d.ts.map +1 -1
  123. package/dist/verdict/cause.js +18 -0
  124. package/dist/verdict/cause.js.map +1 -1
  125. package/dist/verdict/evaluate.d.ts +62 -0
  126. package/dist/verdict/evaluate.d.ts.map +1 -1
  127. package/dist/verdict/evaluate.js +300 -13
  128. package/dist/verdict/evaluate.js.map +1 -1
  129. package/dist/verdict/index.d.ts +3 -3
  130. package/dist/verdict/index.d.ts.map +1 -1
  131. package/dist/verdict/index.js +3 -3
  132. package/dist/verdict/index.js.map +1 -1
  133. package/dist/verdict/pack-verifiers.d.ts +17 -3
  134. package/dist/verdict/pack-verifiers.d.ts.map +1 -1
  135. package/dist/verdict/pack-verifiers.js +47 -8
  136. package/dist/verdict/pack-verifiers.js.map +1 -1
  137. package/dist/verdict/registry.d.ts +19 -0
  138. package/dist/verdict/registry.d.ts.map +1 -1
  139. package/dist/verdict/registry.js +21 -0
  140. package/dist/verdict/registry.js.map +1 -1
  141. package/package.json +1 -1
@@ -32,6 +32,33 @@
32
32
  import { compareStrings } from '../graph/util.js';
33
33
  import { ClaimSchema } from '../schemas/claim.js';
34
34
  import { CAUSE_NEXT_ACTIONS } from '../schemas/verdict.js';
35
+ /**
36
+ * Drops every binding whose test is owner-quarantined. A quarantined
37
+ * test proves nothing, so its
38
+ * coverage claim disappears from the mapping surface: an obligation it
39
+ * alone covered becomes uncovered and therefore stays `missing`. The
40
+ * problems list is preserved verbatim — a quarantine never hides a
41
+ * mapping problem.
42
+ *
43
+ * Args:
44
+ * resolution: the resolved mappings of this run.
45
+ * quarantinedKeys: logical test keys the owner quarantined.
46
+ *
47
+ * Returns:
48
+ * ResolvedMappings: the same document without quarantined bindings,
49
+ * with the same deterministic per-obligation ordering.
50
+ */
51
+ export function withoutQuarantinedBindings(resolution, quarantinedKeys) {
52
+ if (quarantinedKeys.size === 0)
53
+ return resolution;
54
+ return {
55
+ obligations: resolution.obligations.map((obligation) => ({
56
+ obligationId: obligation.obligationId,
57
+ bindings: obligation.bindings.filter((binding) => !quarantinedKeys.has(binding.logicalKey)),
58
+ })),
59
+ problems: resolution.problems,
60
+ };
61
+ }
35
62
  /** Sort rank of binding origins (declared first, hints last). */
36
63
  const ORIGIN_RANK = Object.freeze({
37
64
  native: 0,
@@ -45,6 +72,7 @@ const PROBLEM_RANK = Object.freeze({
45
72
  TEST_MAPPING_STALE: 1,
46
73
  TEST_KIND_UNKNOWN: 2,
47
74
  BEHAVIOR_CASE_UNMAPPED: 3,
75
+ TEST_INVENTORY_INCOMPLETE: 4,
48
76
  });
49
77
  /** Test kinds that claim end-to-end proof (mocking disqualifies them, §3.2). */
50
78
  const E2E_KINDS = new Set(['browser-e2e', 'observed-e2e', 'api-e2e']);
@@ -140,32 +168,50 @@ export function resolveTestMappings(input) {
140
168
  }
141
169
  continue;
142
170
  }
143
- // Stale declaration (§5.2): the selector no longer matches the
144
- // catalog. Name what vanished; suggest a migration on a rename.
171
+ // A failed native load means absence from this file's catalog is
172
+ // inconclusive. Keep independent registry errors visible.
145
173
  if (matched.length === 0) {
146
- const renameTarget = input.catalog.entries.find((row) => row.file === entry.selector.file &&
147
- row.titlePath.join('>') === (entry.selector.titlePath ?? []).join('>'));
148
- const sameFile = input.catalog.entries.filter((row) => row.file === entry.selector.file);
149
- const vanished = renameTarget !== undefined
150
- ? `the test now appears as key '${renameTarget.logicalKey}' — migrate the declaration to ` +
151
- 'the new key (never silently transfer the old declaration or its proof)'
152
- : sameFile.length > 0
153
- ? `the file still exists but its title path changed (current: ${sameFile
154
- .slice(0, 3)
155
- .map((row) => `'${row.titlePath.join('>')}'`)
156
- .join(', ')})`
157
- : `the file '${entry.selector.file}' has no catalog rows anymore`;
158
- for (const obligationId of claims) {
159
- if (!registry.has(obligationId))
160
- continue;
161
- pushProblem({
162
- cause: 'TEST_MAPPING_STALE',
163
- obligationId,
164
- detail: `sidecar key '${entry.key}' no longer matches the catalog ` +
165
- `(selector ${entry.selector.runner}/${entry.selector.project ?? '*'}:` +
166
- `${entry.selector.file}:${(entry.selector.titlePath ?? []).join('>')}): ${vanished}`,
167
- locations: renameTarget !== undefined ? [renameTarget.sourceLocation] : [],
168
- });
174
+ const nativeLoadFailed = entry.selector.runner === 'playwright' &&
175
+ (input.nativeEnumerationFailed === true ||
176
+ input.nativeErrorFiles?.includes(entry.selector.file) === true);
177
+ if (nativeLoadFailed) {
178
+ for (const obligationId of claims) {
179
+ if (!registry.has(obligationId)) {
180
+ pushProblem({
181
+ cause: 'TEST_MAPPING_STALE',
182
+ obligationId,
183
+ detail: `sidecar entry '${entry.key}' claims '${obligationId}', which is not in the current ` +
184
+ 'obligation registry (the obligation vanished or the id is misspelled); correct the mapping',
185
+ locations: [{ file: entry.selector.file, line: 1, col: 0 }],
186
+ });
187
+ }
188
+ }
189
+ }
190
+ else {
191
+ const renameTarget = input.catalog.entries.find((row) => row.file === entry.selector.file &&
192
+ row.titlePath.join('>') === (entry.selector.titlePath ?? []).join('>'));
193
+ const sameFile = input.catalog.entries.filter((row) => row.file === entry.selector.file);
194
+ const vanished = renameTarget !== undefined
195
+ ? `the test now appears as key '${renameTarget.logicalKey}' — migrate the declaration to ` +
196
+ 'the new key (never silently transfer the old declaration or its proof)'
197
+ : sameFile.length > 0
198
+ ? `the file still exists but its title path changed (current: ${sameFile
199
+ .slice(0, 3)
200
+ .map((row) => `'${row.titlePath.join('>')}'`)
201
+ .join(', ')})`
202
+ : `the file '${entry.selector.file}' has no catalog rows anymore`;
203
+ for (const obligationId of claims) {
204
+ if (!registry.has(obligationId))
205
+ continue;
206
+ pushProblem({
207
+ cause: 'TEST_MAPPING_STALE',
208
+ obligationId,
209
+ detail: `sidecar key '${entry.key}' no longer matches the catalog ` +
210
+ `(selector ${entry.selector.runner}/${entry.selector.project ?? '*'}:` +
211
+ `${entry.selector.file}:${(entry.selector.titlePath ?? []).join('>')}): ${vanished}`,
212
+ locations: renameTarget !== undefined ? [renameTarget.sourceLocation] : [],
213
+ });
214
+ }
169
215
  }
170
216
  continue;
171
217
  }
@@ -365,7 +411,10 @@ export function resolveTestMappings(input) {
365
411
  continue; // a declared mapping exists — inference adds nothing
366
412
  }
367
413
  const map = bindings ?? bindingsFor(obligationId);
368
- for (const candidate of inferredCandidates(obligationId, input.catalog)) {
414
+ // No route hints here: this surface is the DECLARED evidence, and an
415
+ // inferred binding is a suggestion, never graded. The ranked,
416
+ // route-aware candidate list is produced by `mappingSuggestions`.
417
+ for (const candidate of inferredCandidates(obligationId, input.catalog, [])) {
369
418
  if (map.has(candidate.row.logicalKey))
370
419
  continue;
371
420
  map.set(candidate.row.logicalKey, {
@@ -419,38 +468,180 @@ export function resolveTestMappings(input) {
419
468
  return { obligations, problems: problems.map((problem) => ({ ...problem, locations: [...problem.locations] })) };
420
469
  }
421
470
  /**
422
- * Deterministic token inference (plan Phase 3 item 2): obligation
423
- * resource-id tokens (`tenant.accounts` → `tenant`, `accounts`) matched
424
- * against catalog rows' files, title paths, and category labels. Signals
425
- * feed SUGGESTIONS only — an inference never writes a mapping (§5.3).
471
+ * Evidence weights for candidate ranking (plan 2026-09-13 §5.3: a
472
+ * suggestion is a SIGNAL, never hidden probability). Every weight is
473
+ * documented and additive, so the printed reason always explains the
474
+ * order: an explicit tag beats a route path segment, a route segment
475
+ * beats a bare resource token, and a mocked folder subtracts.
426
476
  */
427
- function inferredCandidates(obligationId, catalog) {
477
+ const CANDIDATE_SCORE = Object.freeze({
478
+ explicitTag: 100,
479
+ titleResourceToken: 30,
480
+ titleOperationToken: 25,
481
+ titleRouteSegment: 20,
482
+ fileResourceToken: 15,
483
+ fileRouteSegment: 10,
484
+ categoryToken: 10,
485
+ realFolder: 10,
486
+ mockedSuppression: -30,
487
+ });
488
+ /**
489
+ * Title words that stand for an obligation's operation segment
490
+ * (`…:persistence:delete` → `delete`, `remove`, …). Generic English,
491
+ * never a consumer name.
492
+ */
493
+ const OPERATION_TITLE_WORDS = Object.freeze({
494
+ create: Object.freeze(['create', 'add', 'new', 'post', 'insert']),
495
+ read: Object.freeze(['read', 'get', 'list', 'show', 'fetch', 'display', 'loads']),
496
+ update: Object.freeze(['update', 'edit', 'modify', 'change', 'patch', 'put', 'saves']),
497
+ delete: Object.freeze(['delete', 'remove', 'destroy', 'archive', 'clears']),
498
+ });
499
+ /** Path segments that carry no resource meaning in a route hint. */
500
+ const ROUTE_FILLER_SEGMENTS = Object.freeze({
501
+ api: true,
502
+ rest: true,
503
+ http: true,
504
+ https: true,
505
+ index: true,
506
+ gateway: true,
507
+ service: true,
508
+ });
509
+ /**
510
+ * The route segments of one obligation's hints worth matching against a
511
+ * test's title/file: no path parameters, no version or filler segments.
512
+ */
513
+ function routeSegmentsOf(hints) {
514
+ const segments = [];
515
+ for (const hint of hints) {
516
+ const path = hint.replace(/^[A-Za-z]+\s+/, '');
517
+ for (const raw of path.split('/')) {
518
+ const segment = raw.trim().toLowerCase();
519
+ if (segment.length < 3)
520
+ continue;
521
+ if (segment.startsWith('{') || segment.endsWith('}'))
522
+ continue;
523
+ if (/^v\d+$/.test(segment))
524
+ continue;
525
+ if (ROUTE_FILLER_SEGMENTS[segment] === true)
526
+ continue;
527
+ segments.push(segment);
528
+ }
529
+ }
530
+ return [...new Set(segments)];
531
+ }
532
+ /** The operation segment of an obligation id (`…:persistence:delete`). */
533
+ function operationOf(obligationId) {
534
+ const parts = obligationId.split(':');
535
+ return (parts[parts.length - 1] ?? '').toLowerCase();
536
+ }
537
+ /** Words of a title path, split on non-letters. */
538
+ function titleWords(titlePath) {
539
+ return titlePath
540
+ .join(' ')
541
+ .toLowerCase()
542
+ .split(/[^a-z0-9]+/)
543
+ .filter((word) => word.length > 2);
544
+ }
545
+ /** The resource token an explicit `@crud(<resource>)`/`@gateforge(<…>)` tag names. */
546
+ function explicitTagTokens(titlePath) {
547
+ const tokens = [];
548
+ for (const segment of titlePath) {
549
+ for (const match of segment.matchAll(/@(?:crud|gateforge|resource|op)\(([^)]*)\)/g)) {
550
+ for (const token of (match[1] ?? '').split(/[^A-Za-z0-9]+/)) {
551
+ if (token.length > 2)
552
+ tokens.push(token.toLowerCase());
553
+ }
554
+ }
555
+ }
556
+ return tokens;
557
+ }
558
+ /**
559
+ * Scores ONE catalog row against one obligation by the evidence the row
560
+ * carries, and explains every contributing signal in plain words.
561
+ *
562
+ * Args:
563
+ * obligationId: the obligation the row is a candidate for.
564
+ * row: the catalog row under consideration.
565
+ * routes: the obligation's route hints (e.g. `GET /api/v2/accounts`).
566
+ *
567
+ * Returns:
568
+ * {score, why}: the additive evidence score and its human reasons.
569
+ */
570
+ function candidateEvidence(obligationId, row, routes) {
428
571
  const resourceId = obligationId.slice(0, Math.max(0, obligationId.indexOf(':')));
429
572
  const tokens = resourceId
430
573
  .split(/[.\-_]/)
431
574
  .map((token) => token.toLowerCase())
432
575
  .filter((token) => token.length > 2);
433
- if (tokens.length === 0)
434
- return [];
576
+ const why = [];
577
+ let score = 0;
578
+ const file = row.file.toLowerCase();
579
+ const title = row.titlePath.join('>').toLowerCase();
580
+ const words = titleWords(row.titlePath);
581
+ const tagTokens = explicitTagTokens(row.titlePath);
582
+ const operationWords = OPERATION_TITLE_WORDS[operationOf(obligationId)] ?? [];
583
+ const routeSegments = routeSegmentsOf(routes);
584
+ for (const token of tokens) {
585
+ if (tagTokens.includes(token)) {
586
+ score += CANDIDATE_SCORE['explicitTag'] ?? 0;
587
+ why.push(`explicit tag names this obligation's resource '${token}'`);
588
+ continue;
589
+ }
590
+ if (title.includes(token)) {
591
+ score += CANDIDATE_SCORE['titleResourceToken'] ?? 0;
592
+ why.push(`resource token '${token}' matches the test title path`);
593
+ }
594
+ else if (file.includes(token)) {
595
+ score += CANDIDATE_SCORE['fileResourceToken'] ?? 0;
596
+ why.push(`resource token '${token}' matches the test file '${row.file}'`);
597
+ }
598
+ else if (row.categorySignals.some((signal) => signal.label.toLowerCase().includes(token))) {
599
+ score += CANDIDATE_SCORE['categoryToken'] ?? 0;
600
+ why.push(`resource token '${token}' matches a category label`);
601
+ }
602
+ }
603
+ const operation = operationOf(obligationId);
604
+ if (operation.length > 2 && operationWords.some((word) => words.includes(word))) {
605
+ score += CANDIDATE_SCORE['titleOperationToken'] ?? 0;
606
+ why.push(`title names the obligation's operation '${operation}'`);
607
+ }
608
+ for (const segment of routeSegments) {
609
+ if (title.includes(segment)) {
610
+ score += CANDIDATE_SCORE['titleRouteSegment'] ?? 0;
611
+ why.push(`title mentions the obligation's route segment '${segment}'`);
612
+ }
613
+ else if (file.includes(segment)) {
614
+ score += CANDIDATE_SCORE['fileRouteSegment'] ?? 0;
615
+ why.push(`test file mentions the obligation's route segment '${segment}'`);
616
+ }
617
+ }
618
+ if (row.file.split('/').some((segment) => segment.toLowerCase() === 'real')) {
619
+ score += CANDIDATE_SCORE['realFolder'] ?? 0;
620
+ why.push("lives in a 'real' folder (unmocked)");
621
+ }
622
+ if (row.suppressionSignals.some((signal) => signal.kind === 'mock')) {
623
+ score += CANDIDATE_SCORE['mockedSuppression'] ?? 0;
624
+ why.push('mocks the system under test (weaker evidence)');
625
+ }
626
+ return { score, why };
627
+ }
628
+ /**
629
+ * Deterministic token inference (plan Phase 3 item 2): obligation
630
+ * resource-id tokens (`tenant.accounts` → `tenant`, `accounts`) matched
631
+ * against catalog rows' files, title paths, and category labels, plus the
632
+ * obligation's operation and route hints. Candidates are ordered by
633
+ * evidence score (strongest first), then by logical key for stability.
634
+ * Signals feed SUGGESTIONS only — an inference never writes a mapping (§5.3).
635
+ */
636
+ function inferredCandidates(obligationId, catalog, routes) {
435
637
  const candidates = [];
436
638
  for (const row of catalog.entries) {
437
- const why = [];
438
- const title = row.titlePath.join('>').toLowerCase();
439
- for (const token of tokens) {
440
- if (row.file.toLowerCase().includes(token)) {
441
- why.push(`resource token '${token}' matches the test file '${row.file}'`);
442
- }
443
- else if (title.includes(token)) {
444
- why.push(`resource token '${token}' matches the test title path`);
445
- }
446
- else if (row.categorySignals.some((signal) => signal.label.toLowerCase().includes(token))) {
447
- why.push(`resource token '${token}' matches a category label`);
448
- }
449
- }
450
- if (why.length > 0)
451
- candidates.push({ row, why });
639
+ const evidence = candidateEvidence(obligationId, row, routes);
640
+ if (evidence.why.length === 0)
641
+ continue;
642
+ candidates.push({ row, why: evidence.why, score: evidence.score });
452
643
  }
453
- return candidates.sort((a, b) => compareStrings(a.row.logicalKey, b.row.logicalKey));
644
+ return candidates.sort((a, b) => b.score - a.score || compareStrings(a.row.logicalKey, b.row.logicalKey));
454
645
  }
455
646
  /**
456
647
  * Observe-channel guidance for one candidate row (Phase 2): tells the
@@ -483,6 +674,40 @@ const SUGGESTION_RANK = Object.freeze({
483
674
  TEST_MAPPING_STALE: 2,
484
675
  TEST_MAPPING_AMBIGUOUS: 3,
485
676
  });
677
+ /**
678
+ * The ONE instruction for a mapping suggestion: when the strongest
679
+ * candidate is an existing suite-driven browser test, the next step is to
680
+ * MARK that test `observed-e2e` and run it with the witness — writing a
681
+ * new overlay test while a fitting test already exists is the advice the
682
+ * owner got wrong in 0.8.0. The overlay instruction is what remains when
683
+ * no existing test fits the obligation (`newTestNeeded`).
684
+ *
685
+ * Args:
686
+ * obligationId: the obligation the suggestion is about.
687
+ * candidate: the top-ranked candidate, when one exists.
688
+ *
689
+ * Returns:
690
+ * string: the suggestion's next action.
691
+ */
692
+ function reuseNextAction(obligationId, candidate) {
693
+ if (candidate === undefined)
694
+ return CAUSE_NEXT_ACTIONS['TEST_MAPPING_MISSING'] ?? '';
695
+ return (`mark the existing test as observed-e2e and run it with the witness — ` +
696
+ `\`gateforge tests mark --test ${candidate.logicalKey} --kind observed-e2e ` +
697
+ `--obligation ${obligationId} --reason "existing suite-driven browser test"\`, ` +
698
+ `then \`gateforge test-gates --changed\` to collect its witnessed evidence`);
699
+ }
700
+ /**
701
+ * Scores, orders, and numbers one obligation's candidate rows: evidence
702
+ * score first (strongest match ranks #1), logical key second for
703
+ * determinism. Every candidate carries its score and rank so the JSON
704
+ * surface keeps the full ranked list.
705
+ */
706
+ function rankCandidates(candidates) {
707
+ return [...candidates]
708
+ .sort((a, b) => b.score - a.score || compareStrings(a.logicalKey, b.logicalKey))
709
+ .map((candidate, index) => ({ ...candidate, rank: index + 1 }));
710
+ }
486
711
  /**
487
712
  * Produces per-obligation reuse suggestions ordered by reuse (plan
488
713
  * Phase 3 item 6). Obligations with a clean DECLARED mapping produce no
@@ -516,14 +741,15 @@ export function mappingSuggestions(input) {
516
741
  }
517
742
  const stale = problems.find((problem) => problem.cause === 'TEST_MAPPING_STALE');
518
743
  if (stale !== undefined) {
519
- const candidates = inferredCandidates(obligationId, input.catalog).map((candidate) => {
744
+ const candidates = rankCandidates(inferredCandidates(obligationId, input.catalog, input.routeHints?.get(obligationId) ?? []).map((candidate) => {
520
745
  const hint = observeHintForRow(candidate.row);
521
746
  return {
522
747
  logicalKey: candidate.row.logicalKey,
523
748
  file: candidate.row.file,
524
749
  why: [...candidate.why, ...(hint !== null ? [hint] : [])],
750
+ score: candidate.score,
525
751
  };
526
- });
752
+ }));
527
753
  suggestions.push({
528
754
  obligationId,
529
755
  cause: 'TEST_MAPPING_STALE',
@@ -540,13 +766,16 @@ export function mappingSuggestions(input) {
540
766
  suggestions.push({
541
767
  obligationId,
542
768
  cause: 'TEST_KIND_UNKNOWN',
543
- candidates: declared
544
- .map((binding) => ({
545
- logicalKey: binding.logicalKey,
546
- file: binding.instances[0]?.file ?? '',
547
- why: ['mapped by declaration, but its kind is unknown'],
548
- }))
549
- .sort((a, b) => compareStrings(a.logicalKey, b.logicalKey)),
769
+ candidates: rankCandidates(declared.map((binding) => {
770
+ const row = rowsByKey.get(binding.logicalKey);
771
+ const evidence = row === undefined ? { score: 0, why: [] } : candidateEvidence(obligationId, row, input.routeHints?.get(obligationId) ?? []);
772
+ return {
773
+ logicalKey: binding.logicalKey,
774
+ file: binding.instances[0]?.file ?? '',
775
+ why: ['mapped by declaration, but its kind is unknown', ...evidence.why],
776
+ score: evidence.score,
777
+ };
778
+ })),
550
779
  missingEvidence: 'a declared kind for the connected test (code analysis could not classify it)',
551
780
  nextAction: CAUSE_NEXT_ACTIONS['TEST_KIND_UNKNOWN'],
552
781
  newTestNeeded: false,
@@ -555,19 +784,22 @@ export function mappingSuggestions(input) {
555
784
  }
556
785
  if (declared.length > 0)
557
786
  continue; // declared + clean: the gap is execution, not mapping
558
- const candidates = bindings
559
- .map((binding) => {
560
- const hint = observeHintForRow(rowsByKey.get(binding.logicalKey));
787
+ const candidates = rankCandidates(bindings.map((binding) => {
788
+ const row = rowsByKey.get(binding.logicalKey);
789
+ const hint = observeHintForRow(row);
561
790
  const base = binding.origin === 'inferred' || binding.origin === 'prior-run'
562
791
  ? (binding.reason ?? binding.origin)
563
792
  : `bound by native annotation (${binding.logicalKey})`;
793
+ const evidence = row === undefined
794
+ ? { score: 0, why: [] }
795
+ : candidateEvidence(obligationId, row, input.routeHints?.get(obligationId) ?? []);
564
796
  return {
565
797
  logicalKey: binding.logicalKey,
566
798
  file: binding.instances[0]?.file ?? '',
567
- why: hint !== null ? [base, hint] : [base],
799
+ why: [base, ...evidence.why, ...(hint !== null ? [hint] : [])],
800
+ score: evidence.score,
568
801
  };
569
- })
570
- .sort((a, b) => compareStrings(a.logicalKey, b.logicalKey));
802
+ }));
571
803
  suggestions.push({
572
804
  obligationId,
573
805
  cause: 'TEST_MAPPING_MISSING',
@@ -575,7 +807,7 @@ export function mappingSuggestions(input) {
575
807
  missingEvidence: candidates.length > 0
576
808
  ? 'a DECLARED mapping and witnessed evidence for this change (a mapping declares intent; it supplies no test result)'
577
809
  : 'a declared mapping to any existing test — no candidate survived resolution',
578
- nextAction: CAUSE_NEXT_ACTIONS['TEST_MAPPING_MISSING'],
810
+ nextAction: reuseNextAction(obligationId, candidates[0]),
579
811
  newTestNeeded: candidates.length === 0,
580
812
  });
581
813
  }
@@ -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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"}
@@ -71,6 +71,7 @@ export declare const BlockingEntrySchema: z.ZodObject<{
71
71
  TEST_MAPPING_MISSING: "TEST_MAPPING_MISSING";
72
72
  TEST_MAPPING_AMBIGUOUS: "TEST_MAPPING_AMBIGUOUS";
73
73
  TEST_MAPPING_STALE: "TEST_MAPPING_STALE";
74
+ TEST_MAP_OUT_OF_SYNC: "TEST_MAP_OUT_OF_SYNC";
74
75
  EVIDENCE_NOT_COLLECTED: "EVIDENCE_NOT_COLLECTED";
75
76
  VERIFIER_UNSUPPORTED: "VERIFIER_UNSUPPORTED";
76
77
  TEST_NOT_EXECUTED: "TEST_NOT_EXECUTED";
@@ -97,6 +98,20 @@ export declare const BlockingEntrySchema: z.ZodObject<{
97
98
  ENFORCEMENT_BOUNDARY_UNVERIFIED: "ENFORCEMENT_BOUNDARY_UNVERIFIED";
98
99
  RUNTIME_PREPARATION_FAILED: "RUNTIME_PREPARATION_FAILED";
99
100
  RUNTIME_READINESS_FAILED: "RUNTIME_READINESS_FAILED";
101
+ QUARANTINE_EXPIRED: "QUARANTINE_EXPIRED";
102
+ MIGRATION_MISSING: "MIGRATION_MISSING";
103
+ MIGRATION_LINEAGE_BROKEN: "MIGRATION_LINEAGE_BROKEN";
104
+ MIGRATION_DOWNGRADE_NOOP: "MIGRATION_DOWNGRADE_NOOP";
105
+ MIGRATION_DRIFT: "MIGRATION_DRIFT";
106
+ MIGRATION_ROUNDTRIP_FAILED: "MIGRATION_ROUNDTRIP_FAILED";
107
+ MIGRATION_DATA_LOST: "MIGRATION_DATA_LOST";
108
+ MIGRATION_CONFLICT: "MIGRATION_CONFLICT";
109
+ MIGRATION_SCRATCH_UNSAFE: "MIGRATION_SCRATCH_UNSAFE";
110
+ ADAPTER_CANNOT_WITNESS: "ADAPTER_CANNOT_WITNESS";
111
+ ADAPTER_VOLATILE_FIELD_SKIPPED: "ADAPTER_VOLATILE_FIELD_SKIPPED";
112
+ RESOURCE_SINGLETON_PER_TENANT: "RESOURCE_SINGLETON_PER_TENANT";
113
+ RESPONSE_FIELD_MISSING_FROM_MODEL: "RESPONSE_FIELD_MISSING_FROM_MODEL";
114
+ TWIN_PATH_DIVERGENT: "TWIN_PATH_DIVERGENT";
100
115
  }>>>;
101
116
  nextAction: z.ZodOptional<z.ZodNullable<z.ZodString>>;
102
117
  }, z.core.$strict>;
@@ -193,6 +208,7 @@ export declare const PolicyEvaluationResultSchema: z.ZodObject<{
193
208
  TEST_MAPPING_MISSING: "TEST_MAPPING_MISSING";
194
209
  TEST_MAPPING_AMBIGUOUS: "TEST_MAPPING_AMBIGUOUS";
195
210
  TEST_MAPPING_STALE: "TEST_MAPPING_STALE";
211
+ TEST_MAP_OUT_OF_SYNC: "TEST_MAP_OUT_OF_SYNC";
196
212
  EVIDENCE_NOT_COLLECTED: "EVIDENCE_NOT_COLLECTED";
197
213
  VERIFIER_UNSUPPORTED: "VERIFIER_UNSUPPORTED";
198
214
  TEST_NOT_EXECUTED: "TEST_NOT_EXECUTED";
@@ -219,6 +235,20 @@ export declare const PolicyEvaluationResultSchema: z.ZodObject<{
219
235
  ENFORCEMENT_BOUNDARY_UNVERIFIED: "ENFORCEMENT_BOUNDARY_UNVERIFIED";
220
236
  RUNTIME_PREPARATION_FAILED: "RUNTIME_PREPARATION_FAILED";
221
237
  RUNTIME_READINESS_FAILED: "RUNTIME_READINESS_FAILED";
238
+ QUARANTINE_EXPIRED: "QUARANTINE_EXPIRED";
239
+ MIGRATION_MISSING: "MIGRATION_MISSING";
240
+ MIGRATION_LINEAGE_BROKEN: "MIGRATION_LINEAGE_BROKEN";
241
+ MIGRATION_DOWNGRADE_NOOP: "MIGRATION_DOWNGRADE_NOOP";
242
+ MIGRATION_DRIFT: "MIGRATION_DRIFT";
243
+ MIGRATION_ROUNDTRIP_FAILED: "MIGRATION_ROUNDTRIP_FAILED";
244
+ MIGRATION_DATA_LOST: "MIGRATION_DATA_LOST";
245
+ MIGRATION_CONFLICT: "MIGRATION_CONFLICT";
246
+ MIGRATION_SCRATCH_UNSAFE: "MIGRATION_SCRATCH_UNSAFE";
247
+ ADAPTER_CANNOT_WITNESS: "ADAPTER_CANNOT_WITNESS";
248
+ ADAPTER_VOLATILE_FIELD_SKIPPED: "ADAPTER_VOLATILE_FIELD_SKIPPED";
249
+ RESOURCE_SINGLETON_PER_TENANT: "RESOURCE_SINGLETON_PER_TENANT";
250
+ RESPONSE_FIELD_MISSING_FROM_MODEL: "RESPONSE_FIELD_MISSING_FROM_MODEL";
251
+ TWIN_PATH_DIVERGENT: "TWIN_PATH_DIVERGENT";
222
252
  }>>>;
223
253
  nextAction: z.ZodOptional<z.ZodNullable<z.ZodString>>;
224
254
  }, z.core.$strict>>;