@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
@@ -22,8 +22,87 @@ import { canonicalJson } from '../canonical-json.js';
22
22
  import { fingerprintObligation } from '../fingerprints.js';
23
23
  import { compareStrings } from '../graph/util.js';
24
24
  import { BLOCKING_VERDICTS } from '../verdict/index.js';
25
+ import { ENGINE_UPGRADE_REFUSAL_PREFIX, humanMessage } from './human-message.js';
25
26
  /** The official SARIF 2.1.0 (errata 01) JSON schema location. */
26
27
  const SARIF_SCHEMA_URI = 'https://docs.oasis-open.org/sarif/sarif/v2.1.0/errata01/os/schemas/sarif-schema-2.1.0.json';
28
+ /** How many failing tests the text report names inline. */
29
+ const MAX_LOCAL_FAILURES = 3;
30
+ /** The longest first error line the text report prints. */
31
+ const MAX_ERROR_LINE = 200;
32
+ /**
33
+ * The first line of a runner error message, bounded. The message is
34
+ * already credential-screened by the caller, so this only trims and
35
+ * caps it; a message that carries no line at all yields '' and the
36
+ * report names the test without inventing a reason.
37
+ *
38
+ * Args:
39
+ * message: the guarded runner error message.
40
+ *
41
+ * Returns:
42
+ * string: the first non-empty line, truncated; '' when there is none.
43
+ */
44
+ function firstErrorLine(message) {
45
+ const first = message.split('\n').find((line) => line.trim().length > 0)?.trim() ?? '';
46
+ return first.length > MAX_ERROR_LINE ? `${first.slice(0, MAX_ERROR_LINE)}…` : first;
47
+ }
48
+ /**
49
+ * The reason prefix the baseline forgiveness stamps on every verdict it
50
+ * re-grades. Shared so the split is read back from what the evaluator
51
+ * actually did, never from a second baseline-loading path.
52
+ */
53
+ export const BASELINE_VERDICT_REASON = 'baselined:';
54
+ /** Whether one graded verdict blocks the run (exit 1). */
55
+ function isBlockingVerdict(verdict) {
56
+ return BLOCKING_VERDICTS.includes(verdict.verdict);
57
+ }
58
+ /**
59
+ * Next action for an obligation that IS declared-mapped but has no
60
+ * consulted record: the declaration is done, the missing half is the
61
+ * witnessed evidence, so the action names the command that collects it
62
+ * instead of the generic "write a test" advice.
63
+ */
64
+ const MAPPED_NOT_WITNESSED_NEXT_ACTION = 'the mapping is declared; run `gateforge test-gates --changed` so its witnessed evidence covers this change';
65
+ /**
66
+ * THE repository-debt definition (plan §2, "One blocking number").
67
+ *
68
+ * Every surface that reports debt derives it here, from the GRADED
69
+ * verdicts, so a run can never show two different counts: the split is
70
+ * what the evaluator did, never a recount beside it. `baselined` is
71
+ * read back from the reason the baseline forgiveness stamped on the
72
+ * verdicts it re-graded, and `newlyBlocking` is exactly what THIS
73
+ * run's exit code blocks on — the graded surface, never the whole
74
+ * repository. A changed- or named-scope run that grades nothing
75
+ * blocking therefore reports 0, with the debt it never observed named
76
+ * apart as `notGradedBlocking`; a full-scope run reports 0 only when
77
+ * nothing blocks. Two subtractions are deliberately absent: total minus
78
+ * baselined (which printed `0 new blocking` next to real blockers) and
79
+ * total minus scope (which would call a green slice's untouched debt
80
+ * new).
81
+ *
82
+ * Args:
83
+ * verdicts: the whole-repository verdicts the report describes.
84
+ * findings: the whole-repository blocking entries the report describes.
85
+ * gradedVerdicts: the verdicts this run graded (the graded surface).
86
+ * gradedFindings: the blocking entries this run graded.
87
+ * unclaimed: registered obligations with no claim row.
88
+ *
89
+ * Returns:
90
+ * RepositoryDebt: the debt every surface must report.
91
+ */
92
+ export function repositoryDebtOf(input) {
93
+ const gradedIds = new Set(input.gradedVerdicts.map((verdict) => verdict.obligation.id));
94
+ const notGradedBlocking = input.verdicts.filter((verdict) => isBlockingVerdict(verdict) && !gradedIds.has(verdict.obligation.id)).length;
95
+ const blockingEntries = input.findings.length;
96
+ return {
97
+ obligations: input.verdicts.length,
98
+ blocking: input.verdicts.filter(isBlockingVerdict).length + blockingEntries,
99
+ blockingEntries,
100
+ unclaimed: input.unclaimed,
101
+ baselined: input.verdicts.filter((verdict) => verdict.verdict === 'waived' && (verdict.reason ?? '').startsWith(BASELINE_VERDICT_REASON)).length,
102
+ newlyBlocking: input.gradedVerdicts.filter(isBlockingVerdict).length + input.gradedFindings.length,
103
+ notGradedBlocking,
104
+ };
105
+ }
27
106
  /**
28
107
  * Maps a run outcome to its exit code: 2 for config/usage errors,
29
108
  * 1 when any blocking verdict or blocking entry exists, else 0
@@ -58,7 +137,14 @@ export function runExitCode(input) {
58
137
  */
59
138
  export function renderRun(verdicts, options) {
60
139
  const entries = [...verdicts].sort((a, b) => compareStrings(a.obligation.id, b.obligation.id));
61
- const blocking = [...(options.blocking ?? [])].sort((a, b) => compareStrings(a.kind, b.kind) ||
140
+ const blocking = [...(options.blocking ?? [])].sort((a, b) =>
141
+ // An engine-upgrade refusal leads every other blocker: it names the
142
+ // single cause (the receipt was sealed by another engine) that one
143
+ // command fixes, and the rest of the run's blocking is downstream of
144
+ // the same stale inputs.
145
+ Number(b.detail.startsWith(ENGINE_UPGRADE_REFUSAL_PREFIX)) -
146
+ Number(a.detail.startsWith(ENGINE_UPGRADE_REFUSAL_PREFIX)) ||
147
+ compareStrings(a.kind, b.kind) ||
62
148
  compareStrings(a.resourceId ?? '', b.resourceId ?? '') ||
63
149
  compareStrings(a.detail, b.detail));
64
150
  // The report documents are JSON-safe by construction; the assertion
@@ -73,6 +159,25 @@ export function renderRun(verdicts, options) {
73
159
  return textReport(entries, options, blocking);
74
160
  throw new Error(`renderRun: unknown format '${String(options.format)}'`);
75
161
  }
162
+ /**
163
+ * Orders lifecycle derivations by resource and canonical operation order.
164
+ *
165
+ * Args:
166
+ * entries: lifecycle derivation records from classification.
167
+ *
168
+ * Returns:
169
+ * LifecycleDerivationReportEntry[]: a sorted copy for stable reports.
170
+ */
171
+ function orderedLifecycleDerivations(entries) {
172
+ const operationOrder = {
173
+ read: 0,
174
+ update: 1,
175
+ delete: 2,
176
+ };
177
+ return [...entries].sort((left, right) => compareStrings(left.resourceId ?? left.resourceName, right.resourceId ?? right.resourceName) ||
178
+ compareStrings(left.resourceName, right.resourceName) ||
179
+ operationOrder[left.operation] - operationOrder[right.operation]);
180
+ }
76
181
  /** Per-verdict summary counts keyed by verdict name. */
77
182
  function summarize(entries) {
78
183
  const counts = {
@@ -115,6 +220,15 @@ function jsonReport(entries, options, blocking) {
115
220
  ...(options.baseline.classificationBlocked !== undefined
116
221
  ? { baselinedClassificationBlocked: options.baseline.classificationBlocked }
117
222
  : {}),
223
+ ...(options.baseline.adoptedAt !== undefined
224
+ ? { adoptedBaselineAt: options.baseline.adoptedAt }
225
+ : {}),
226
+ ...(options.baseline.ageDays !== undefined
227
+ ? { adoptedBaselineAgeDays: options.baseline.ageDays }
228
+ : {}),
229
+ ...(options.baseline.neverWitnessed !== undefined
230
+ ? { neverWitnessedBaselinedObligations: options.baseline.neverWitnessed }
231
+ : {}),
118
232
  }
119
233
  : {}),
120
234
  },
@@ -122,6 +236,13 @@ function jsonReport(entries, options, blocking) {
122
236
  // the scope expanded. Output-only — never part of the snapshot digest.
123
237
  scope: { mode: scope.mode, expandedBecause: [...scope.expandedBecause] },
124
238
  verdicts: entries.map((entry) => {
239
+ const message = humanMessage({
240
+ id: entry.obligation.resourceId,
241
+ cause: entry.cause,
242
+ nextAction: entry.nextAction,
243
+ reason: entry.reason,
244
+ type: entry.verdict,
245
+ });
125
246
  const record = {
126
247
  obligationId: entry.obligation.id,
127
248
  resourceId: entry.obligation.resourceId,
@@ -129,21 +250,39 @@ function jsonReport(entries, options, blocking) {
129
250
  policyId: entry.obligation.policyId,
130
251
  verdict: entry.verdict,
131
252
  reason: entry.reason,
132
- // Stable plan §5.4 cause + next action (ADR 0005): null when the
133
- // verdict is clean or no honest mapping exists yet.
134
253
  cause: entry.cause ?? null,
135
254
  nextAction: entry.nextAction ?? null,
136
255
  recordIds: entry.recordIds,
137
256
  fingerprint: fingerprintObligation(entry.obligation),
138
257
  trustTier: entry.trustTier,
258
+ message,
139
259
  };
260
+ if (entry.declaredTests !== undefined && entry.declaredTests.length > 0) {
261
+ record['declaredTests'] = [...entry.declaredTests];
262
+ record['mappingState'] = entry.recordIds.length > 0 ? 'declared' : 'declared-not-witnessed';
263
+ }
264
+ if (entry.inScopeBecause !== undefined) {
265
+ record['inScopeBecause'] = entry.inScopeBecause;
266
+ }
140
267
  if (entry.detector !== undefined && entry.detector !== null) {
141
268
  record['detector'] = entry.detector;
142
269
  }
143
270
  return record;
144
271
  }),
145
- blocking,
272
+ blocking: blocking.map((entry) => ({
273
+ ...entry,
274
+ message: humanMessage({
275
+ id: entry.resourceId ?? entry.name ?? undefined,
276
+ cause: entry.cause,
277
+ nextAction: entry.nextAction,
278
+ detail: entry.detail,
279
+ type: entry.kind,
280
+ }),
281
+ })),
146
282
  };
283
+ if (options.advisories !== undefined && options.advisories.length > 0) {
284
+ report['advisories'] = options.advisories;
285
+ }
147
286
  if (options.run !== undefined) {
148
287
  report['run'] = options.run;
149
288
  }
@@ -154,10 +293,27 @@ function jsonReport(entries, options, blocking) {
154
293
  // Canonical JSON sorts keys, so insertion order is irrelevant.
155
294
  report['classifications'] = options.classificationTraces;
156
295
  }
296
+ if (options.lifecycleDerivation !== undefined && options.lifecycleDerivation.length > 0) {
297
+ report['lifecycleDerivation'] = orderedLifecycleDerivations(options.lifecycleDerivation);
298
+ }
157
299
  if (options.execution !== undefined)
158
300
  report['execution'] = options.execution;
159
301
  if (options.diagnosticContext !== undefined)
160
302
  report['diagnosticContext'] = options.diagnosticContext;
303
+ if (options.engine !== undefined)
304
+ report['engine'] = options.engine;
305
+ if (options.outcome !== undefined)
306
+ report['outcome'] = options.outcome;
307
+ if (options.chaos !== undefined) {
308
+ report['chaos'] = {
309
+ seed: options.chaos.seed,
310
+ maxDelayMs: options.chaos.maxDelayMs,
311
+ reorder: options.chaos.reorder,
312
+ ...(options.chaos.schedule !== undefined ? { schedule: options.chaos.schedule } : {}),
313
+ };
314
+ }
315
+ if (options.selectors !== undefined)
316
+ report['selectors'] = options.selectors;
161
317
  return report;
162
318
  }
163
319
  /** Builds the SARIF 2.1.0 projection (pin #10). */
@@ -227,6 +383,9 @@ function sarifReport(entries, options) {
227
383
  scope: { mode: scope.mode, expandedBecause: [...scope.expandedBecause] },
228
384
  ...(options.execution === undefined ? {} : { execution: options.execution }),
229
385
  ...(options.diagnosticContext === undefined ? {} : { diagnosticContext: options.diagnosticContext }),
386
+ ...(options.lifecycleDerivation === undefined || options.lifecycleDerivation.length === 0
387
+ ? {}
388
+ : { lifecycleDerivation: orderedLifecycleDerivations(options.lifecycleDerivation) }),
230
389
  },
231
390
  // Blocking policy entries (unclassified/unresolved resources,
232
391
  // detector findings, stale references) are not obligation
@@ -235,21 +394,34 @@ function sarifReport(entries, options) {
235
394
  // never silently omitted from the projection.
236
395
  invocations: [
237
396
  {
238
- toolExecutionNotifications: (options.blocking ?? []).map((entry) => ({
239
- level: 'error',
240
- message: {
241
- text: `[${entry.kind}] ${entry.resourceId ?? entry.name ?? '<unnamed>'} — ${entry.detail}`,
242
- },
243
- properties: {
244
- kind: entry.kind,
245
- // Stable plan §5.4 cause + next action when the entry
246
- // carries one (coverage/strict-enforcement findings).
247
- ...(entry.cause !== undefined && entry.cause !== null
248
- ? { cause: entry.cause, nextAction: entry.nextAction ?? null }
249
- : {}),
250
- ...(entry.location !== null ? { location: entry.location } : {}),
251
- },
252
- })),
397
+ toolExecutionNotifications: [
398
+ ...(options.blocking ?? []).map((entry) => ({
399
+ level: 'error',
400
+ message: {
401
+ text: `[${entry.kind}] ${entry.resourceId ?? entry.name ?? '<unnamed>'} — ${entry.detail}`,
402
+ },
403
+ properties: {
404
+ kind: entry.kind,
405
+ ...(entry.cause !== undefined && entry.cause !== null
406
+ ? { cause: entry.cause, nextAction: entry.nextAction ?? null }
407
+ : {}),
408
+ ...(entry.location !== null ? { location: entry.location } : {}),
409
+ },
410
+ })),
411
+ ...(options.advisories ?? []).map((entry) => ({
412
+ level: 'warning',
413
+ message: {
414
+ text: `[${entry.cause ?? entry.name ?? 'advisory'}] ${entry.detail}`,
415
+ },
416
+ properties: {
417
+ kind: entry.kind,
418
+ ...(entry.cause !== undefined && entry.cause !== null
419
+ ? { cause: entry.cause, nextAction: entry.nextAction ?? null }
420
+ : {}),
421
+ ...(entry.location !== null ? { location: entry.location } : {}),
422
+ },
423
+ })),
424
+ ],
253
425
  },
254
426
  ],
255
427
  results,
@@ -269,6 +441,21 @@ function textReport(entries, options, blocking) {
269
441
  blocking.length;
270
442
  lines.push(`gateforge run: ${entries.length} obligation(s) — ` +
271
443
  `${counts.satisfied} satisfied, ${counts.waived} waived, ${blockingCount} blocking`);
444
+ if (options.engineLine !== undefined) {
445
+ lines.push(options.engineLine);
446
+ }
447
+ else if (options.engine !== undefined) {
448
+ lines.push(`engine: ${options.engine.version} from ${options.engine.source}`);
449
+ if (options.engine.unpublished)
450
+ lines.push('unpublished engine: CI will not have this code');
451
+ }
452
+ if (options.chaos !== undefined) {
453
+ // The one line that makes a red chaos run explainable and
454
+ // replayable: the seed IS the schedule, and the owner never has to
455
+ // guess which run produced the failure they are looking at.
456
+ lines.push(`timing chaos: seed ${String(options.chaos.seed)} (max delay ${String(options.chaos.maxDelayMs)} ms, ` +
457
+ `reorder ${options.chaos.reorder ? 'on' : 'off'}) — replay with --chaos ${String(options.chaos.seed)}`);
458
+ }
272
459
  const scope = options.scope;
273
460
  if (scope !== undefined && scope.expandedBecause.length > 0) {
274
461
  lines.push(`scope: all obligations; expanded because ${[...scope.expandedBecause].join(', ')}`);
@@ -280,11 +467,44 @@ function textReport(entries, options, blocking) {
280
467
  lines.push(`selected tests: ${execution.selectedTests.passed} passed, ${execution.selectedTests.failed} failed ` +
281
468
  `(selected ${execution.selectedTests.selected}; ${execution.selectedTests.skipped} skipped; ` +
282
469
  `${execution.selectedTests.expectedFailures} expected failures)`);
470
+ // A local run has no progress stream (it is OFF unless CI or a flag
471
+ // asks for it), so without these lines a red run states a count and
472
+ // never a reason. At most three are named inline — enough to see
473
+ // what broke — and the rest are exactly one command away.
474
+ const failures = options.failedTests ?? [];
475
+ if (failures.length > 0) {
476
+ for (const failure of failures.slice(0, MAX_LOCAL_FAILURES)) {
477
+ const reason = firstErrorLine(failure.message);
478
+ lines.push(`failed test: ${failure.title}${reason === '' ? '' : ` — ${reason}`}`);
479
+ }
480
+ const rest = failures.length - MAX_LOCAL_FAILURES;
481
+ if (rest > 0) {
482
+ lines.push(`… ${String(rest)} more — run with \`--progress stderr\` to print every failure as it happens`);
483
+ }
484
+ }
283
485
  lines.push(`selected claims: ${execution.selectedClaims.satisfied} satisfied, ${execution.selectedClaims.blocking} blocking ` +
284
486
  `(selected ${execution.selectedClaims.selected}; ${execution.selectedClaims.blockingEntries} blocking entries; ` +
285
487
  `${execution.selectedClaims.waived} waived)`);
286
- lines.push(`repository debt: ${execution.repositoryDebt.blocking} blocking / ${execution.repositoryDebt.obligations} obligations ` +
488
+ // The line never prints a bare "blocking" count that differs from
489
+ // the gate line: the baselined and the new debt are named apart,
490
+ // and "new blocking" is what THIS run's exit code blocks on.
491
+ lines.push(`repository debt: ${execution.repositoryDebt.baselined} known (baselined), ` +
492
+ `${execution.repositoryDebt.newlyBlocking} new blocking / ${execution.repositoryDebt.obligations} obligations ` +
287
493
  `(${execution.repositoryDebt.unclaimed} unclaimed; ${execution.repositoryDebt.blockingEntries} blocking entries)`);
494
+ // A slice run grades only its own surface. Debt outside it is real
495
+ // and reported, but it is not what this run blocks on — say so with
496
+ // its own words instead of counting it as new.
497
+ if (execution.repositoryDebt.notGradedBlocking > 0) {
498
+ lines.push(`not graded by this ${execution.scope}-scope run: ${execution.repositoryDebt.notGradedBlocking} blocking obligation(s) — ` +
499
+ 'this run never observed them; a full run grades them');
500
+ }
501
+ // A named run grades ONLY the selection it executed. Say the
502
+ // remainder out loud, so a green named run is never misread as a
503
+ // whole-repository verdict.
504
+ if (execution.scope === 'named') {
505
+ lines.push(`not graded in a named run: ${Math.max(0, execution.repositoryDebt.obligations - execution.selectedClaims.selected)} obligation(s) — ` +
506
+ 'a hand-picked selection never observed them; run the full suite for repository-wide verdicts');
507
+ }
288
508
  }
289
509
  if (options.diagnosticContext !== undefined) {
290
510
  const context = options.diagnosticContext;
@@ -296,6 +516,33 @@ function textReport(entries, options, blocking) {
296
516
  `approvalDigest=${context.docsExclusions.approvalDigest ?? '<missing>'} ` +
297
517
  `guarantee="${context.docsExclusions.guarantee}"`);
298
518
  }
519
+ if (context.cacheExclusions !== undefined) {
520
+ lines.push(`Python cache exclusions: files=${context.cacheExclusions.files.join(',')} ` +
521
+ `approvalStatus=${context.cacheExclusions.approvalStatus} ` +
522
+ `approvalDigest=${context.cacheExclusions.approvalDigest ?? '<missing>'} ` +
523
+ `guarantee=\"${context.cacheExclusions.guarantee}\"`);
524
+ }
525
+ }
526
+ if (options.lifecycleDerivation !== undefined && options.lifecycleDerivation.length > 0) {
527
+ const grouped = new Map();
528
+ for (const entry of orderedLifecycleDerivations(options.lifecycleDerivation)) {
529
+ const key = `${entry.resourceId ?? ''}\u0000${entry.resourceName}`;
530
+ const records = grouped.get(key);
531
+ if (records === undefined)
532
+ grouped.set(key, [entry]);
533
+ else
534
+ records.push(entry);
535
+ }
536
+ lines.push('', 'lifecycle derivation (detector facts):');
537
+ for (const records of grouped.values()) {
538
+ const first = records[0];
539
+ if (first === undefined)
540
+ continue;
541
+ const detail = records
542
+ .map((entry) => `${entry.operation}: ${entry.disposition} (${entry.reason}) — ${entry.detail}`)
543
+ .join('; ');
544
+ lines.push(` ${first.resourceId ?? first.resourceName}: ${detail}`);
545
+ }
299
546
  }
300
547
  if (options.waiverCounts !== undefined) {
301
548
  const wc = options.waiverCounts;
@@ -303,11 +550,14 @@ function textReport(entries, options, blocking) {
303
550
  `${wc.staleOwner} stale-owner`);
304
551
  }
305
552
  if (options.baseline !== undefined) {
306
- lines.push(`baseline (adopted): ${options.baseline.obligations} obligation(s) + ` +
553
+ lines.push(`adopted baseline: ${options.baseline.obligations} obligation(s) + ` +
307
554
  `${options.baseline.blockingEntries} blocking entry(ies)` +
308
555
  (options.baseline.classificationBlocked !== undefined
309
556
  ? ` + ${options.baseline.classificationBlocked} classification-blocked resource(s)`
310
557
  : '') +
558
+ (options.baseline.ageDays !== undefined
559
+ ? `; age: ${options.baseline.ageDays} day(s); never witnessed: ${options.baseline.neverWitnessed ?? 0}`
560
+ : '') +
311
561
  ` forgiven — shrink-only: resolve debt, then 'gateforge baseline update'`);
312
562
  }
313
563
  for (const entry of entries) {
@@ -321,13 +571,46 @@ function textReport(entries, options, blocking) {
321
571
  lines.push(` policy: ${entry.obligation.policyId}`);
322
572
  lines.push(` obligation: ${entry.obligation.id}`);
323
573
  lines.push(` fingerprint: ${fingerprintObligation(entry.obligation)}`);
574
+ lines.push(` message: ${humanMessage({
575
+ id: entry.obligation.resourceId,
576
+ cause: entry.cause,
577
+ nextAction: entry.nextAction,
578
+ reason: entry.reason,
579
+ type: entry.verdict,
580
+ })}`);
581
+ if (entry.inScopeBecause !== undefined) {
582
+ lines.push(` in scope because: ${entry.inScopeBecause.join(', ') || '<no changed source path>'}`);
583
+ }
324
584
  lines.push(` evidence gap: ${entry.reason ?? '<none>'}`);
585
+ const declaredTests = entry.declaredTests ?? [];
586
+ const mappedNotWitnessed = declaredTests.length > 0 && entry.recordIds.length === 0;
587
+ if (declaredTests.length > 0) {
588
+ lines.push(` mapped to: ${declaredTests.join(', ')}${mappedNotWitnessed ? ' (not yet witnessed)' : ''}`);
589
+ }
325
590
  if (entry.cause !== undefined && entry.cause !== null) {
326
591
  lines.push(` cause: ${entry.cause}`);
327
- lines.push(` next action: ${entry.nextAction ?? '<none>'}`);
592
+ // The cause's own next action stays in the shared table; what
593
+ // changes here is PRESENTATION: with a declaration on file and no
594
+ // records consumed, the honest action is collecting the witnessed
595
+ // evidence for that declaration, not writing another test.
596
+ lines.push(` next action: ${mappedNotWitnessed ? MAPPED_NOT_WITNESSED_NEXT_ACTION : (entry.nextAction ?? '<none>')}`);
328
597
  }
329
598
  lines.push(` records: ${entry.recordIds.length > 0 ? entry.recordIds.join(', ') : '<none consulted>'}`);
330
599
  }
600
+ if (options.advisories !== undefined && options.advisories.length > 0) {
601
+ lines.push('');
602
+ lines.push('advisories (non-blocking):');
603
+ for (const entry of options.advisories) {
604
+ const where = entry.location !== null ? ` at ${entry.location.file}:${entry.location.line}` : '';
605
+ lines.push(` ${humanMessage({
606
+ id: entry.resourceId ?? entry.name ?? undefined,
607
+ cause: entry.cause,
608
+ nextAction: entry.nextAction,
609
+ detail: entry.detail,
610
+ type: entry.kind,
611
+ })}${where}`);
612
+ }
613
+ }
331
614
  if (blocking.length > 0) {
332
615
  lines.push('');
333
616
  lines.push('blocking entries (unclassified/unresolved/findings/stale references):');
@@ -336,7 +619,13 @@ function textReport(entries, options, blocking) {
336
619
  const cause = entry.cause !== undefined && entry.cause !== null
337
620
  ? ` (cause: ${entry.cause} → ${entry.nextAction ?? 'no action available'})`
338
621
  : '';
339
- lines.push(` [${entry.kind}] ${entry.resourceId ?? entry.name ?? '<unnamed>'} — ${entry.detail}${where}${cause}`);
622
+ lines.push(` ${humanMessage({
623
+ id: entry.resourceId ?? entry.name ?? undefined,
624
+ cause: entry.cause,
625
+ nextAction: entry.nextAction,
626
+ detail: entry.detail,
627
+ type: entry.kind,
628
+ })}${where}`);
340
629
  }
341
630
  }
342
631
  if (options.classificationTraces !== undefined) {
@@ -365,6 +654,11 @@ function textReport(entries, options, blocking) {
365
654
  }
366
655
  lines.push('');
367
656
  lines.push(`exit code: ${runExitCode({ verdicts: entries, blocking })}`);
657
+ if (options.outcome === 'partial-selection' && options.execution !== undefined) {
658
+ lines.push(`Tests: ${options.execution.selectedTests.passed} passed.`);
659
+ lines.push(`Claims: ${options.execution.selectedClaims.satisfied} satisfied.`);
660
+ lines.push('Receipt: not sealed — partial selection (expected)');
661
+ }
368
662
  return `${lines.join('\n')}\n`;
369
663
  }
370
664
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/report/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/report/index.ts"],"names":[],"mappings":"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"}
@@ -34,6 +34,8 @@ export declare const AdoptionRecordSchema: z.ZodObject<{
34
34
  adopted: z.ZodNumber;
35
35
  proven: z.ZodNumber;
36
36
  classificationBlocked: z.ZodOptional<z.ZodArray<z.ZodString>>;
37
+ obligationFingerprintsById: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
38
+ obligationSourcesById: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString>>>;
37
39
  }, z.core.$strict>;
38
40
  /** Inferred adoption-record shape. */
39
41
  export type AdoptionRecord = z.infer<typeof AdoptionRecordSchema>;
@@ -1 +1 @@
1
- {"version":3,"file":"adoption.d.ts","sourceRoot":"","sources":["../../src/schemas/adoption.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;;;GAKG;AACH,eAAO,MAAM,8BAA8B,yBAA6B,CAAC;AAEzE,uEAAuE;AACvE,eAAO,MAAM,oBAAoB;;;;;;;kBAuD7B,CAAC;AAEL,sCAAsC;AACtC,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
1
+ {"version":3,"file":"adoption.d.ts","sourceRoot":"","sources":["../../src/schemas/adoption.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;;;GAKG;AACH,eAAO,MAAM,8BAA8B,yBAA6B,CAAC;AAEzE,uEAAuE;AACvE,eAAO,MAAM,oBAAoB;;;;;;;;;kBA6D7B,CAAC;AAEL,sCAAsC;AACtC,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
@@ -55,6 +55,12 @@ export const AdoptionRecordSchema = z
55
55
  * carries a real classification; NEW blocked resources never enter.
56
56
  */
57
57
  classificationBlocked: ClassificationBlockedIdsSchema.optional(),
58
+ /** Baseline obligation fingerprints indexed by stable obligation id; absent on older records. */
59
+ obligationFingerprintsById: z
60
+ .record(z.string().min(1), z.string().regex(/^[0-9a-f]{64}$/))
61
+ .optional(),
62
+ /** Source files for indexed obligations, used only to explain baseline drift. */
63
+ obligationSourcesById: z.record(z.string().min(1), z.array(z.string().min(1))).optional(),
58
64
  })
59
65
  .strict()
60
66
  .superRefine((record, ctx) => {
@@ -1 +1 @@
1
- {"version":3,"file":"adoption.js","sourceRoot":"","sources":["../../src/schemas/adoption.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAEzE,uEAAuE;AACvE,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC;KAClC,MAAM,CAAC;IACN,aAAa,EAAE,kBAAkB;IACjC,iEAAiE;IACjE,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE;IAC3B,mEAAmE;IACnE,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,KAAK,CAAC,gBAAgB,EAAE,6CAA6C,CAAC;SACtE,QAAQ,EAAE;IACb,0EAA0E;IAC1E,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAChC,uEAAuE;IACvE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/B;;;;;;;;;;;OAWG;IACH,qBAAqB,EAAE,8BAA8B,CAAC,QAAQ,EAAE;CACjE,CAAC;KACD,MAAM,EAAE;KACR,WAAW,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;IAC3B,MAAM,GAAG,GAAG,MAAM,CAAC,qBAAqB,CAAC;IACzC,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO;IAC9B,MAAM,MAAM,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC/B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,GAAG,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACnD,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3B,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;YACzB,GAAG,CAAC,QAAQ,CAAC;gBACX,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,uBAAuB,EAAE,KAAK,CAAC;gBACtC,OAAO,EACL,kDAAkD,GAAG,QAAQ;oBAC7D,aAAa,GAAG,KAAK,GAAG,SAAS,GAAG,OAAO,GAAG,GAAG;aACpD,CAAC,CAAC;YACH,MAAM;QACR,CAAC;QACD,IAAI,KAAK,GAAG,CAAC,IAAI,OAAO,KAAK,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;YAC5C,GAAG,CAAC,QAAQ,CAAC;gBACX,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,uBAAuB,EAAE,KAAK,CAAC;gBACtC,OAAO,EAAE,iDAAiD,OAAO,GAAG;aACrE,CAAC,CAAC;YACH,MAAM;QACR,CAAC;IACH,CAAC;AACH,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"adoption.js","sourceRoot":"","sources":["../../src/schemas/adoption.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAEzE,uEAAuE;AACvE,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC;KAClC,MAAM,CAAC;IACN,aAAa,EAAE,kBAAkB;IACjC,iEAAiE;IACjE,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE;IAC3B,mEAAmE;IACnE,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,KAAK,CAAC,gBAAgB,EAAE,6CAA6C,CAAC;SACtE,QAAQ,EAAE;IACb,0EAA0E;IAC1E,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAChC,uEAAuE;IACvE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/B;;;;;;;;;;;OAWG;IACH,qBAAqB,EAAE,8BAA8B,CAAC,QAAQ,EAAE;IAChE,iGAAiG;IACjG,0BAA0B,EAAE,CAAC;SAC1B,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;SAC7D,QAAQ,EAAE;IACb,iFAAiF;IACjF,qBAAqB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC1F,CAAC;KACD,MAAM,EAAE;KACR,WAAW,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;IAC3B,MAAM,GAAG,GAAG,MAAM,CAAC,qBAAqB,CAAC;IACzC,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO;IAC9B,MAAM,MAAM,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC/B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,GAAG,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACnD,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3B,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;YACzB,GAAG,CAAC,QAAQ,CAAC;gBACX,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,uBAAuB,EAAE,KAAK,CAAC;gBACtC,OAAO,EACL,kDAAkD,GAAG,QAAQ;oBAC7D,aAAa,GAAG,KAAK,GAAG,SAAS,GAAG,OAAO,GAAG,GAAG;aACpD,CAAC,CAAC;YACH,MAAM;QACR,CAAC;QACD,IAAI,KAAK,GAAG,CAAC,IAAI,OAAO,KAAK,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;YAC5C,GAAG,CAAC,QAAQ,CAAC;gBACX,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,uBAAuB,EAAE,KAAK,CAAC;gBACtC,OAAO,EAAE,iDAAiD,OAAO,GAAG;aACrE,CAAC,CAAC;YACH,MAAM;QACR,CAAC;IACH,CAAC;AACH,CAAC,CAAC,CAAC"}