@lovrozagar/oat 0.12.20 → 0.13.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 (94) hide show
  1. package/README.md +6 -1
  2. package/dist/cli.js +1 -0
  3. package/dist/config/define-config.d.ts +77 -0
  4. package/dist/config/define-config.d.ts.map +1 -1
  5. package/dist/config/define-config.js.map +1 -1
  6. package/dist/config/validate.d.ts.map +1 -1
  7. package/dist/config/validate.js +1 -0
  8. package/dist/config/validate.js.map +1 -1
  9. package/dist/conformance/suite.d.ts.map +1 -1
  10. package/dist/conformance/suite.js +3 -0
  11. package/dist/conformance/suite.js.map +1 -1
  12. package/dist/index.d.ts +1 -1
  13. package/dist/reference/defects.d.ts +7 -0
  14. package/dist/reference/defects.d.ts.map +1 -1
  15. package/dist/reference/defects.js +7 -0
  16. package/dist/reference/defects.js.map +1 -1
  17. package/dist/reference/http.js +1 -1
  18. package/dist/reference/http.js.map +1 -1
  19. package/dist/report/render.js +3 -3
  20. package/dist/report/render.js.map +1 -1
  21. package/dist/runtime/auth.d.ts +12 -0
  22. package/dist/runtime/auth.d.ts.map +1 -1
  23. package/dist/runtime/auth.js +5 -5
  24. package/dist/runtime/auth.js.map +1 -1
  25. package/dist/runtime/check-costs.d.ts.map +1 -1
  26. package/dist/runtime/check-costs.js +1 -0
  27. package/dist/runtime/check-costs.js.map +1 -1
  28. package/dist/runtime/check-ids.d.ts +1 -1
  29. package/dist/runtime/check-ids.d.ts.map +1 -1
  30. package/dist/runtime/check-ids.js +1 -0
  31. package/dist/runtime/check-ids.js.map +1 -1
  32. package/dist/runtime/checks.d.ts.map +1 -1
  33. package/dist/runtime/checks.js +199 -48
  34. package/dist/runtime/checks.js.map +1 -1
  35. package/dist/runtime/client.d.ts +2 -0
  36. package/dist/runtime/client.d.ts.map +1 -1
  37. package/dist/runtime/client.js +6 -1
  38. package/dist/runtime/client.js.map +1 -1
  39. package/dist/runtime/contract.d.ts +52 -0
  40. package/dist/runtime/contract.d.ts.map +1 -0
  41. package/dist/runtime/contract.js +247 -0
  42. package/dist/runtime/contract.js.map +1 -0
  43. package/dist/runtime/disposable.d.ts +26 -10
  44. package/dist/runtime/disposable.d.ts.map +1 -1
  45. package/dist/runtime/disposable.js +287 -145
  46. package/dist/runtime/disposable.js.map +1 -1
  47. package/dist/runtime/effects.d.ts +1 -1
  48. package/dist/runtime/effects.d.ts.map +1 -1
  49. package/dist/runtime/evidence.d.ts +21 -0
  50. package/dist/runtime/evidence.d.ts.map +1 -0
  51. package/dist/runtime/evidence.js +168 -0
  52. package/dist/runtime/evidence.js.map +1 -0
  53. package/dist/runtime/path.d.ts +6 -0
  54. package/dist/runtime/path.d.ts.map +1 -1
  55. package/dist/runtime/path.js +46 -0
  56. package/dist/runtime/path.js.map +1 -1
  57. package/dist/runtime/run.d.ts +3 -1
  58. package/dist/runtime/run.d.ts.map +1 -1
  59. package/dist/runtime/run.js +97 -14
  60. package/dist/runtime/run.js.map +1 -1
  61. package/dist/runtime/scenario.d.ts +35 -0
  62. package/dist/runtime/scenario.d.ts.map +1 -0
  63. package/dist/runtime/scenario.js +319 -0
  64. package/dist/runtime/scenario.js.map +1 -0
  65. package/dist/runtime/scope.d.ts +28 -0
  66. package/dist/runtime/scope.d.ts.map +1 -1
  67. package/dist/runtime/scope.js +31 -4
  68. package/dist/runtime/scope.js.map +1 -1
  69. package/dist/runtime/teardown.d.ts +3 -0
  70. package/dist/runtime/teardown.d.ts.map +1 -1
  71. package/dist/runtime/teardown.js +7 -1
  72. package/dist/runtime/teardown.js.map +1 -1
  73. package/dist/runtime/transcript.d.ts.map +1 -1
  74. package/dist/runtime/transcript.js +9 -5
  75. package/dist/runtime/transcript.js.map +1 -1
  76. package/dist/spec/collection.d.ts +2 -1
  77. package/dist/spec/collection.d.ts.map +1 -1
  78. package/dist/spec/collection.js +13 -2
  79. package/dist/spec/collection.js.map +1 -1
  80. package/dist/spec/extensions.d.ts +6 -0
  81. package/dist/spec/extensions.d.ts.map +1 -1
  82. package/dist/spec/extensions.js +9 -1
  83. package/dist/spec/extensions.js.map +1 -1
  84. package/dist/spec/graph.d.ts +8 -0
  85. package/dist/spec/graph.d.ts.map +1 -1
  86. package/dist/spec/graph.js +44 -2
  87. package/dist/spec/graph.js.map +1 -1
  88. package/dist/spec/tag-schema.d.ts.map +1 -1
  89. package/dist/spec/tag-schema.js +2 -1
  90. package/dist/spec/tag-schema.js.map +1 -1
  91. package/docs/configuration.md +43 -1
  92. package/docs/reports.md +19 -1
  93. package/docs/tags.md +7 -2
  94. package/package.json +14 -14
@@ -0,0 +1,319 @@
1
+ /**
2
+ * Declared flows. The matrix reaches what the document lets it infer; a scenario is the config
3
+ * saying how to reach the rest — a passkey ceremony, a paid checkout, an invite accepted by a
4
+ * second user. oat runs the steps and grades what they observed. It never learns the product.
5
+ */
6
+ import { interpolate, jwtClaims, resolveOutOfBandValue, resolveRequest, } from "./auth.js";
7
+ import { cookiesFromRecordedHeaders, describeSaveAs, readSaveAs } from "./cookies.js";
8
+ import { readAll, readPath } from "./path.js";
9
+ export function scenarioCheckId(scenario) {
10
+ return `scenario.${scenario.id}`;
11
+ }
12
+ function isExternal(step) {
13
+ return "external" in step;
14
+ }
15
+ function isOutOfBand(step) {
16
+ return "outOfBand" in step;
17
+ }
18
+ function stepOperation(step) {
19
+ return "operationId" in step && typeof step.operationId === "string" ? step.operationId : undefined;
20
+ }
21
+ /** Fails fast on a scenario that names what it cannot grade — before any request is sent. */
22
+ export function assertScenarios(scenarios, known) {
23
+ const seen = new Set();
24
+ for (const scenario of scenarios) {
25
+ if (seen.has(scenario.id))
26
+ throw new Error(`oat: two scenarios share the id "${scenario.id}"`);
27
+ seen.add(scenario.id);
28
+ const called = new Set(scenario.steps.map(stepOperation).filter((id) => id !== undefined));
29
+ for (const id of called) {
30
+ if (!known(id))
31
+ throw new Error(`oat: scenario "${scenario.id}" calls ${id}, which is not in the document`);
32
+ }
33
+ for (const id of scenario.covers) {
34
+ if (!called.has(id))
35
+ throw new Error(`oat: scenario "${scenario.id}" covers ${id} but no step calls it`);
36
+ }
37
+ }
38
+ }
39
+ /** `"30s"`, `"500ms"`, `"2m"`. */
40
+ function durationMs(text) {
41
+ const match = /^(\d+(?:\.\d+)?)(ms|s|m)$/.exec(text.trim());
42
+ if (match === null)
43
+ throw new Error(`oat: "${text}" is not a duration (use 500ms, 30s or 2m)`);
44
+ const value = Number(match[1]);
45
+ return match[2] === "ms" ? value : match[2] === "s" ? value * 1000 : value * 60_000;
46
+ }
47
+ function expected(assert, scope) {
48
+ const from = String(interpolate(assert.from, scope));
49
+ if (assert.equals !== undefined)
50
+ return { from, mode: "equals", value: String(interpolate(assert.equals, scope)) };
51
+ if (assert.contains !== undefined)
52
+ return { from, mode: "contains", value: String(interpolate(assert.contains, scope)) };
53
+ if (assert.excludes !== undefined)
54
+ return { from, mode: "excludes", value: String(interpolate(assert.excludes, scope)) };
55
+ throw new Error(`oat: an assert on ${assert.from} needs equals, contains or excludes`);
56
+ }
57
+ /** The values at `from`: a JSON path into the body, or `header:Name` / `cookie:name` as saveAs reads them. */
58
+ function observed(exchange, from) {
59
+ if (describeSaveAs(from).kind === "json")
60
+ return readAll(exchange.responseBody, from);
61
+ const value = readSaveAs(from, {
62
+ body: exchange.responseBody,
63
+ cookies: exchange.cookies ?? cookiesFromRecordedHeaders(exchange.responseHeaders),
64
+ headers: exchange.responseHeaders,
65
+ readJson: readPath,
66
+ });
67
+ return value === undefined ? [] : [value];
68
+ }
69
+ function holds(exchange, path, want) {
70
+ const nodes = observed(exchange, path).map((node) => (typeof node === "string" ? node : JSON.stringify(node)));
71
+ if (want.mode === "excludes")
72
+ return !nodes.includes(want.value);
73
+ return nodes.some((text) => (want.mode === "equals" ? text === want.value : text.includes(want.value)));
74
+ }
75
+ function succeeded(step, exchange) {
76
+ const accepted = step.expect ?? [];
77
+ if (accepted.length > 0)
78
+ return accepted.includes(exchange.status);
79
+ return exchange.status >= 200 && exchange.status < 300;
80
+ }
81
+ class StepFailure extends Error {
82
+ evidence;
83
+ blames;
84
+ constructor(message, evidence, blames) {
85
+ super(message);
86
+ this.evidence = evidence;
87
+ this.blames = blames;
88
+ }
89
+ }
90
+ export async function runScenarios(input) {
91
+ const sleep = input.sleep ?? ((ms) => new Promise((resolve) => setTimeout(resolve, ms)));
92
+ for (const scenario of input.scenarios) {
93
+ const graded = scenario.covers.filter((id) => input.mode === "full" || input.inScope(id));
94
+ const touches = scenario.steps.some((step) => {
95
+ const id = stepOperation(step);
96
+ return id !== undefined && input.inScope(id);
97
+ });
98
+ if (graded.length === 0 && !touches)
99
+ continue;
100
+ const check = scenarioCheckId(scenario);
101
+ input.checksRun.add(check);
102
+ const principalOf = (id) => {
103
+ const found = input.principals.get(id);
104
+ if (found === undefined)
105
+ throw new Error(`oat: scenario "${scenario.id}" names principal "${id}", which is not configured`);
106
+ return found;
107
+ };
108
+ const own = principalOf(scenario.principal ?? input.defaultPrincipal);
109
+ const headers = own.headers;
110
+ const context = {
111
+ client: input.client,
112
+ hooks: input.hooks,
113
+ model: input.model,
114
+ principalId: scenario.principal ?? input.defaultPrincipal,
115
+ ...(input.originClients === undefined ? {} : { originClients: input.originClients }),
116
+ ...(input.outOfBand === undefined ? {} : { outOfBand: input.outOfBand }),
117
+ };
118
+ /* The principal's roots (organization, project …) are there from the first step, as in the matrix. */
119
+ const scope = { ...own.roots };
120
+ /* Values a response or a hook handed back, kept whole: a field that is exactly `{name}`
121
+ * sends the object itself (a WebAuthn credential), or the number or boolean with its type,
122
+ * not its string form. */
123
+ const objects = new Map();
124
+ const withObjects = (value) => {
125
+ if (typeof value === "string") {
126
+ const name = /^\{([A-Za-z0-9_]+)\}$/.exec(value)?.[1];
127
+ return name !== undefined && objects.has(name) ? objects.get(name) : value;
128
+ }
129
+ if (Array.isArray(value))
130
+ return value.map(withObjects);
131
+ if (value !== null && typeof value === "object") {
132
+ return Object.fromEntries(Object.entries(value).map(([key, item]) => [key, withObjects(item)]));
133
+ }
134
+ return value;
135
+ };
136
+ const calls = new Map();
137
+ const observed = new Map();
138
+ let stoppedAt = null;
139
+ for (const [index, step] of scenario.steps.entries()) {
140
+ try {
141
+ await runStep(step, index);
142
+ }
143
+ catch (error) {
144
+ const failure = error instanceof StepFailure
145
+ ? error
146
+ : new StepFailure(error instanceof Error ? error.message : String(error), [], []);
147
+ stoppedAt = { failure, index };
148
+ break;
149
+ }
150
+ }
151
+ const failedOps = new Set(stoppedAt?.failure.blames.filter((id) => graded.includes(id)) ?? []);
152
+ for (const id of graded) {
153
+ if (failedOps.has(id))
154
+ continue;
155
+ const call = calls.get(id);
156
+ if (call === undefined)
157
+ continue;
158
+ input.grades.graded([id], check);
159
+ const observation = observed.get(id);
160
+ input.grades.prove(id, observation === undefined ? { call: call.seq } : { call: call.seq, observation });
161
+ }
162
+ if (stoppedAt === null)
163
+ continue;
164
+ const where = `scenario "${scenario.id}" stopped at step ${stoppedAt.index + 1}`;
165
+ if (failedOps.size > 0) {
166
+ input.grades.graded([...failedOps], check);
167
+ input.findings
168
+ .attributed([...failedOps])
169
+ .ownedBy(check)
170
+ .backend(check, scenario.id, `${where}: ${stoppedAt.failure.message}`, stoppedAt.failure.message, stoppedAt.failure.evidence);
171
+ }
172
+ const unreached = graded.filter((id) => !failedOps.has(id) && !calls.has(id));
173
+ if (unreached.length > 0) {
174
+ input.findings
175
+ .attributed(unreached)
176
+ .ownedBy(check)
177
+ .blocked(check, scenario.id, `${where} before calling it`, `${where}: ${stoppedAt.failure.message}`);
178
+ }
179
+ async function runStep(step, index) {
180
+ for (const [name, literal] of Object.entries("bind" in step && step.bind !== undefined ? step.bind : {})) {
181
+ scope[name] = String(interpolate(literal, scope));
182
+ }
183
+ if (isOutOfBand(step)) {
184
+ const address = String(interpolate(step.outOfBand.address, scope));
185
+ scope[step.outOfBand.as] = await resolveOutOfBandValue(input.hooks.resolveOutOfBand, address, step.outOfBand.kind, {
186
+ headers: headers(),
187
+ label: `scenario "${scenario.id}"`,
188
+ scope: { ...scope },
189
+ ...(input.outOfBand === undefined ? {} : { outOfBand: input.outOfBand }),
190
+ });
191
+ return;
192
+ }
193
+ if (isExternal(step)) {
194
+ if (input.hooks.external === undefined) {
195
+ throw new StepFailure(`step ${index + 1} needs hooks.external for "${step.external}"`, [], []);
196
+ }
197
+ const value = await input.hooks.external(step.external, interpolate(withObjects(step.input ?? {}), scope));
198
+ if (value === null || value === "") {
199
+ throw new StepFailure(`hooks.external("${step.external}") returned nothing`, [], []);
200
+ }
201
+ scope[step.as] = value;
202
+ if (/^\s*[[{]/.test(value)) {
203
+ try {
204
+ objects.set(step.as, JSON.parse(value));
205
+ }
206
+ catch {
207
+ /* A string that only looks like JSON stays a string. */
208
+ }
209
+ }
210
+ return;
211
+ }
212
+ const own = stepOperation(step);
213
+ const deadline = step.poll === undefined ? 0 : Date.now() + durationMs(step.poll.within);
214
+ let waitMs = step.poll?.everyMs ?? 500;
215
+ for (;;) {
216
+ const request = await resolveRequest(step.body === undefined ? step : { ...step, body: withObjects(step.body) }, context, scope, index);
217
+ const exchange = await request.client.request(request.method, request.path, {
218
+ ...(request.body === undefined ? {} : { body: request.body }),
219
+ ...(request.contentType === undefined ? {} : { contentType: request.contentType }),
220
+ headers: {
221
+ ...(step.anonymous === true
222
+ ? {}
223
+ : step.principal === undefined
224
+ ? headers()
225
+ : principalOf(step.principal).headers()),
226
+ ...request.headers,
227
+ },
228
+ ...(request.query === undefined ? {} : { query: request.query }),
229
+ ...(own === undefined ? {} : { operationId: own }),
230
+ ...(request.redirect === undefined ? {} : { redirect: request.redirect }),
231
+ });
232
+ const ok = succeeded(step, exchange);
233
+ const want = step.assert === undefined ? null : expected(step.assert, scope);
234
+ const shown = ok && (step.assert === undefined || want === null || holds(exchange, want.from, want));
235
+ if (shown) {
236
+ record(step, exchange, own, want);
237
+ return;
238
+ }
239
+ if (Date.now() < deadline) {
240
+ await sleep(waitMs);
241
+ waitMs = Math.min(waitMs * 2, 5_000);
242
+ continue;
243
+ }
244
+ const proves = [...(step.assert?.observes ?? []), ...(own === undefined ? [] : [own])];
245
+ const earlier = proves
246
+ .map((id) => calls.get(id))
247
+ .filter((call) => call !== undefined && call !== exchange);
248
+ if (!ok) {
249
+ throw new StepFailure(`${request.method} ${request.path} returned ${exchange.status}`, [...earlier, exchange], own === undefined ? [] : [own]);
250
+ }
251
+ throw new StepFailure(`${request.method} ${request.path} did not show ${want?.mode} "${want?.value}" at ${want?.from}`, [...earlier, exchange], proves);
252
+ }
253
+ }
254
+ function record(step, exchange, own, want) {
255
+ /* An observed call keeps its pair; a later repeat of the operation proves nothing new. */
256
+ if (own !== undefined && !observed.has(own))
257
+ calls.set(own, exchange);
258
+ const cookies = exchange.cookies ?? cookiesFromRecordedHeaders(exchange.responseHeaders);
259
+ for (const [name, template] of Object.entries(step.saveAs ?? {})) {
260
+ const path = String(interpolate(template, scope));
261
+ const value = readSaveAs(path, {
262
+ body: exchange.responseBody,
263
+ cookies,
264
+ headers: exchange.responseHeaders,
265
+ readJson: readPath,
266
+ });
267
+ if (value === undefined || value === null) {
268
+ throw new StepFailure(`saveAs.${name} = "${path}" is not in the response`, [exchange], own === undefined ? [] : [own]);
269
+ }
270
+ if (typeof value === "object") {
271
+ objects.set(name, value);
272
+ scope[name] = JSON.stringify(value);
273
+ }
274
+ else {
275
+ if (typeof value === "number" || typeof value === "boolean")
276
+ objects.set(name, value);
277
+ else
278
+ objects.delete(name);
279
+ scope[name] = String(value);
280
+ }
281
+ }
282
+ if (step.saveClaimsFrom !== undefined) {
283
+ const from = step.saveClaimsFrom.token;
284
+ const token = !from.startsWith("$") && scope[from] !== undefined ? scope[from] : readPath(exchange.responseBody, from);
285
+ const claims = typeof token === "string" ? jwtClaims(token) : null;
286
+ if (claims === null) {
287
+ throw new StepFailure(`saveClaimsFrom: no JWT at ${from}`, [exchange], own === undefined ? [] : [own]);
288
+ }
289
+ for (const [name, claim] of Object.entries(step.saveClaimsFrom.bind)) {
290
+ const value = readPath(claims, claim);
291
+ if (value === undefined || value === null) {
292
+ throw new StepFailure(`saveClaimsFrom: the token carries no "${claim}"`, [exchange], own === undefined ? [] : [own]);
293
+ }
294
+ scope[name] = String(value);
295
+ }
296
+ }
297
+ if (step.assert === undefined || want === null)
298
+ return;
299
+ const observation = want.mode === "excludes"
300
+ ? {
301
+ absent: true,
302
+ path: want.from,
303
+ seq: exchange.seq,
304
+ value: want.value,
305
+ }
306
+ : { path: want.from, seq: exchange.seq, value: want.value };
307
+ /* A write's own response is its claim, not a later read of it: it proves nothing about itself. */
308
+ const reads = /^(GET|HEAD)$/i.test(exchange.method);
309
+ for (const id of [...(step.assert.observes ?? []), ...(own === undefined ? [] : [own])]) {
310
+ if (!calls.has(id))
311
+ continue;
312
+ if (calls.get(id) === exchange && !reads)
313
+ continue;
314
+ observed.set(id, observation);
315
+ }
316
+ }
317
+ }
318
+ }
319
+ //# sourceMappingURL=scenario.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scenario.js","sourceRoot":"","sources":["../../src/runtime/scenario.ts"],"names":[],"mappings":"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"}
@@ -78,6 +78,31 @@ export interface OperationCoverage {
78
78
  findings: number;
79
79
  /** Why it was not graded, when it was not. */
80
80
  reason: string | null;
81
+ /**
82
+ * How a pass was proven. `verified`: a later exchange shows a value from the call.
83
+ * `contract`: the call got a documented success and its body matched the schema.
84
+ */
85
+ tier?: PassTier;
86
+ /** The exchanges behind a pass. */
87
+ evidence?: PassEvidence;
88
+ }
89
+ export type PassTier = "contract" | "verified";
90
+ /** Exchanges by `seq`, which is unique within a run; the journal saves each with its `seq`. */
91
+ export interface PassEvidence {
92
+ call: number;
93
+ /**
94
+ * A later exchange holding `value` at `path`. For a delete: a later read of the same resource
95
+ * answering `status`, or a later list of its collection where `value` is `absent`.
96
+ */
97
+ observation?: {
98
+ seq: number;
99
+ path: string;
100
+ value: string;
101
+ absent?: true;
102
+ } | {
103
+ seq: number;
104
+ status: number;
105
+ };
81
106
  }
82
107
  /** An operation a targeted run called without grading it. */
83
108
  export interface SupportUse {
@@ -112,9 +137,12 @@ export declare class GradeLedger {
112
137
  readonly ran: Map<string, Set<string>>;
113
138
  readonly suppressed: Map<string, Set<string>>;
114
139
  readonly needs: Map<string, Set<string>>;
140
+ readonly evidence: Map<string, PassEvidence>;
115
141
  graded(operations: readonly string[], check: string): void;
116
142
  suppress(operations: readonly string[], check: string): void;
117
143
  skipped(operations: readonly string[], needs: string): void;
144
+ /** The call behind a pass, and the later read that showed it. An observation is never downgraded. */
145
+ prove(operation: string, evidence: PassEvidence): void;
118
146
  }
119
147
  /** The operation an exchange hit, preferring literal segments over parameters on a tie. */
120
148
  export declare function operationFor(model: SpecModel, method: string, url: string, baseUrl: string): OperationModel | null;
@@ -1 +1 @@
1
- {"version":3,"file":"scope.d.ts","sourceRoot":"","sources":["../../src/runtime/scope.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scope.d.ts","sourceRoot":"","sources":["../../src/runtime/scope.ts"],"names":[],"mappings":"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"}
@@ -255,6 +255,7 @@ export class GradeLedger {
255
255
  ran = new Map();
256
256
  suppressed = new Map();
257
257
  needs = new Map();
258
+ evidence = new Map();
258
259
  #add(map, operations, value) {
259
260
  for (const op of operations) {
260
261
  const set = map.get(op) ?? new Set();
@@ -271,6 +272,13 @@ export class GradeLedger {
271
272
  skipped(operations, needs) {
272
273
  this.#add(this.needs, operations, needs);
273
274
  }
275
+ /** The call behind a pass, and the later read that showed it. An observation is never downgraded. */
276
+ prove(operation, evidence) {
277
+ const known = this.evidence.get(operation);
278
+ if (known?.observation !== undefined && evidence.observation === undefined)
279
+ return;
280
+ this.evidence.set(operation, evidence);
281
+ }
274
282
  }
275
283
  const NOT_DEFECTS = new Set(["COVERAGE_GAP", "BLOCKED"]);
276
284
  /** The operation an exchange hit, preferring literal segments over parameters on a tie. */
@@ -327,9 +335,17 @@ export function buildScopeReport(input) {
327
335
  const ran = ledger.ran.get(operationId) ?? new Set();
328
336
  const gapFindings = input.findings.filter((f) => mine(f.operations) && f.verdict === "COVERAGE_GAP" && ran.has(f.check));
329
337
  const gaps = [...new Set(gapFindings.map((f) => f.check))].filter((check) => !failed.includes(check)).sort();
330
- const passed = [...ran]
331
- .filter((check) => !failed.includes(check) && !inconclusive.includes(check) && !gaps.includes(check))
332
- .sort();
338
+ /* A pass rests on a request that reached this operation and succeeded. A check that graded it
339
+ * without one (a rate-limit or bookkeeping check over a route nothing called) proves nothing. */
340
+ const succeeded = input.transcript.some((exchange) => exchange.status >= 200 &&
341
+ exchange.status < 400 &&
342
+ (exchange.operationId ?? operationFor(model, exchange.method, exchange.url, input.baseUrl)?.operationId) ===
343
+ operationId);
344
+ const passed = succeeded
345
+ ? [...ran]
346
+ .filter((check) => !failed.includes(check) && !inconclusive.includes(check) && !gaps.includes(check))
347
+ .sort()
348
+ : [];
333
349
  const suppressed = [...(ledger.suppressed.get(operationId) ?? [])].sort();
334
350
  const status = statusOf(passed.length, failed.length, inconclusive.length, suppressed.length > 0 || blocked.length > 0);
335
351
  let reason = null;
@@ -341,8 +357,15 @@ export function buildScopeReport(input) {
341
357
  (op !== undefined && !graded.has(operationId) ? untestableReason(op, model, input.authCreates) : undefined);
342
358
  const needs = [...(ledger.needs.get(operationId) ?? [])];
343
359
  const emptyList = needs.find((need) => need === "the list returned no id");
360
+ /* The contract call actually tried this operation; what stopped it beats a static guess. */
361
+ const tried = needs.find((need) => /^(contract call|destructive call|unresolved |the second user|no way to sign up)/.test(need));
362
+ const uncalled = ran.size > 0 && !succeeded ? `graded by checks, but no request to ${operationId} succeeded` : undefined;
344
363
  reason =
345
- statically ??
364
+ uncalled ??
365
+ emptyList ??
366
+ (statically !== undefined && tried !== undefined ? `${statically}; ${tried}` : undefined) ??
367
+ tried ??
368
+ statically ??
346
369
  (gapFindings[0] === undefined ? undefined : `coverage gap: ${gapFindings[0].summary}`) ??
347
370
  (emptyList !== undefined
348
371
  ? emptyList
@@ -350,6 +373,7 @@ export function buildScopeReport(input) {
350
373
  ? `no check applied: needs ${needs.slice(0, 3).join("; ")}`
351
374
  : "no check exercised it");
352
375
  }
376
+ const evidence = status === "passed" ? ledger.evidence.get(operationId) : undefined;
353
377
  return {
354
378
  checks: { failed, gaps, inconclusive, passed, suppressed },
355
379
  entity: op?.entity ?? null,
@@ -357,6 +381,9 @@ export function buildScopeReport(input) {
357
381
  operationId,
358
382
  reason,
359
383
  status,
384
+ ...(evidence === undefined
385
+ ? {}
386
+ : { evidence, tier: evidence.observation === undefined ? "contract" : "verified" }),
360
387
  };
361
388
  });
362
389
  const support = new Map();
@@ -1 +1 @@
1
- {"version":3,"file":"scope.js","sourceRoot":"","sources":["../../src/runtime/scope.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scope.js","sourceRoot":"","sources":["../../src/runtime/scope.ts"],"names":[],"mappings":"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"}
@@ -43,7 +43,10 @@ export declare class Ledger {
43
43
  private readonly items;
44
44
  private readonly seen;
45
45
  record(entity: string, id: string, scope: Record<string, string>, owner: Owner): void;
46
+ /** Records waiting to be removed. */
46
47
  get size(): number;
48
+ /** Every record the run made, removed or not. */
49
+ get recorded(): number;
47
50
  entries(): readonly Disposable[];
48
51
  unwind(model: SpecModel, client: Client, fallbacks: (owner: Owner) => Owner[], onItem?: (done: number, total: number, item: Disposable) => void): Promise<TeardownReport>;
49
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"teardown.d.ts","sourceRoot":"","sources":["../../src/runtime/teardown.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAkB,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAIzC,qEAAqE;AACrE,MAAM,WAAW,KAAK;IACrB,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACrC;AAED,MAAM,WAAW,UAAU;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd,EAAE,EAAE,MAAM,CAAA;IACV,4DAA4D;IAC5D,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC7B,wFAAwF;IACxF,KAAK,EAAE,KAAK,CAAA;CACZ;AAED,MAAM,WAAW,cAAc;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC7D,WAAW,EAAE,MAAM,EAAE,CAAA;CACrB;AAED;;;;;;;;GAQG;AACH,qBAAa,MAAM;IAClB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmB;IACzC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAoB;IAEzC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;IAQrF,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,OAAO,IAAI,SAAS,UAAU,EAAE;IAI1B,MAAM,CACX,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,MAAM,EAGd,SAAS,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,KAAK,EAAE,EACpC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI,GAC9D,OAAO,CAAC,cAAc,CAAC;CA8E1B;AAuBD,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAqBhF"}
1
+ {"version":3,"file":"teardown.d.ts","sourceRoot":"","sources":["../../src/runtime/teardown.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAkB,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAIzC,qEAAqE;AACrE,MAAM,WAAW,KAAK;IACrB,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACrC;AAED,MAAM,WAAW,UAAU;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd,EAAE,EAAE,MAAM,CAAA;IACV,4DAA4D;IAC5D,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC7B,wFAAwF;IACxF,KAAK,EAAE,KAAK,CAAA;CACZ;AAED,MAAM,WAAW,cAAc;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC7D,WAAW,EAAE,MAAM,EAAE,CAAA;CACrB;AAED;;;;;;;;GAQG;AACH,qBAAa,MAAM;IAClB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmB;IACzC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAoB;IAEzC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;IAQrF,qCAAqC;IACrC,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,iDAAiD;IACjD,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,OAAO,IAAI,SAAS,UAAU,EAAE;IAI1B,MAAM,CACX,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,MAAM,EAGd,SAAS,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,KAAK,EAAE,EACpC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI,GAC9D,OAAO,CAAC,cAAc,CAAC;CA+E1B;AAuBD,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAqBhF"}