@lovrozagar/oat 0.1.1 → 0.2.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.
- package/README.md +53 -5
- package/dist/cli.js +7 -0
- package/dist/config/define-config.d.ts +50 -0
- package/dist/config/define-config.d.ts.map +1 -1
- package/dist/config/define-config.js.map +1 -1
- package/dist/config/load.d.ts +1 -1
- package/dist/config/load.d.ts.map +1 -1
- package/dist/config/load.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/report/matrix.d.ts +6 -5
- package/dist/report/matrix.d.ts.map +1 -1
- package/dist/report/matrix.js +29 -28
- package/dist/report/matrix.js.map +1 -1
- package/dist/report/render.d.ts +8 -0
- package/dist/report/render.d.ts.map +1 -1
- package/dist/report/render.js +28 -0
- package/dist/report/render.js.map +1 -1
- package/dist/runtime/client.d.ts +12 -1
- package/dist/runtime/client.d.ts.map +1 -1
- package/dist/runtime/client.js +17 -2
- package/dist/runtime/client.js.map +1 -1
- package/dist/runtime/profile.d.ts +30 -0
- package/dist/runtime/profile.d.ts.map +1 -0
- package/dist/runtime/profile.js +46 -0
- package/dist/runtime/profile.js.map +1 -0
- package/dist/runtime/rate-limit.d.ts +53 -0
- package/dist/runtime/rate-limit.d.ts.map +1 -0
- package/dist/runtime/rate-limit.js +165 -0
- package/dist/runtime/rate-limit.js.map +1 -0
- package/dist/runtime/run.d.ts +15 -1
- package/dist/runtime/run.d.ts.map +1 -1
- package/dist/runtime/run.js +131 -48
- package/dist/runtime/run.js.map +1 -1
- package/dist/spec/extensions.d.ts +11 -0
- package/dist/spec/extensions.d.ts.map +1 -1
- package/dist/spec/extensions.js +15 -0
- package/dist/spec/extensions.js.map +1 -1
- package/dist/spec/graph.d.ts +2 -1
- package/dist/spec/graph.d.ts.map +1 -1
- package/dist/spec/graph.js +2 -1
- package/dist/spec/graph.js.map +1 -1
- package/labs/README.md +1 -1
- package/labs/{anyrow.config.ts → oob-auth.config.ts} +9 -9
- package/package.json +11 -6
package/README.md
CHANGED
|
@@ -1001,7 +1001,55 @@ x-idempotent: true
|
|
|
1001
1001
|
x-fresh-principal: true
|
|
1002
1002
|
```
|
|
1003
1003
|
|
|
1004
|
-
|
|
1004
|
+
`x-cost` and `x-destructive` are consulted by `--profile` (below). `x-idempotent` and `x-fresh-principal` are parsed onto the operation model for the `plan`/`doctor` output but not yet consulted anywhere else. Replay safety is tested from a documented `Idempotency-Key` header (`idempotency.replay-does-not-duplicate`), not from `x-idempotent`.
|
|
1005
|
+
|
|
1006
|
+
### `--profile` — cost gating
|
|
1007
|
+
|
|
1008
|
+
```bash
|
|
1009
|
+
oat run --config oat.config.ts --profile cheap
|
|
1010
|
+
```
|
|
1011
|
+
|
|
1012
|
+
A profile restricts which operations a run is allowed to touch, filtering on `x-cost` and `x-destructive`. Two exist without being declared anywhere: `full` (no gating — the default, today's behaviour if you never mention a profile) and `cheap` (`{ maxCost: "low" }`). Reach for a profile when some operations are expensive to call every run — an extraction endpoint billed per request, a bulk job, anything you don't want fired on every `oat run`.
|
|
1013
|
+
|
|
1014
|
+
Anything more specific than a cost band is a named entry in config:
|
|
1015
|
+
|
|
1016
|
+
```ts
|
|
1017
|
+
export default defineConfig({
|
|
1018
|
+
// ...
|
|
1019
|
+
profiles: {
|
|
1020
|
+
// skip everything above "low" cost, same as the built-in "cheap"
|
|
1021
|
+
cheap: { maxCost: "low" },
|
|
1022
|
+
// skip destructive operations and two specific extraction endpoints
|
|
1023
|
+
safe: { excludeDestructive: true, exclude: ["report.extract", "report.summarize"] },
|
|
1024
|
+
},
|
|
1025
|
+
profile: "safe", // --profile on the CLI overrides this
|
|
1026
|
+
})
|
|
1027
|
+
```
|
|
1028
|
+
|
|
1029
|
+
An excluded operation never silently narrows what gets reported. Excluding an entity's `create` degrades that entity the same way a real seeding failure does — a `COVERAGE_GAP` naming the reason, then read-only checks run against whatever the list route already returns; `BLOCKED` if nothing exists to fall back on. Excluding `read`/`update`/`delete` individually stands down just the checks that need that one operation. The run summary states what a profile skipped: `skipped 12 operation(s) under --profile cheap (12 high-cost)` — the same principle as `did not apply` for a coverage gap: a report that only shows what ran invites the reader to assume the rest was verified.
|
|
1030
|
+
|
|
1031
|
+
### `x-rate-limit` — pacing oat's own traffic
|
|
1032
|
+
|
|
1033
|
+
```yaml
|
|
1034
|
+
x-rate-limit: { category: ai, rps: 3 }
|
|
1035
|
+
```
|
|
1036
|
+
|
|
1037
|
+
Groups operations sharing one throughput budget (`category`) and optionally the rate itself (`rps`). Without this, oat's matrix can hammer a `login` or paid-inference route past its real limit, collect 429s, and report them as backend defects — exactly the false-positive class that erodes trust fastest. With it, requests to that category are paced through a token bucket before they fire.
|
|
1038
|
+
|
|
1039
|
+
A 429 is only ever reported when the request that drew it was demonstrably under the _declared_ rate — oat's own bucket had a free token, so it did not have to wait for one. A 429 that arrived only after oat's bucket made the request wait means oat's own rate model was too generous, which is paced around, never reported.
|
|
1040
|
+
|
|
1041
|
+
`config.rateLimits` is checked first and needs no tag at all — it is what keeps oat usable against a backend that has not adopted `x-rate-limit` yet, or against an environment (staging, usually) whose real limit differs from what the document claims for production. A 429 against a config-supplied rate is never a finding: it is the operator's own belief about the environment, not a claim the API made.
|
|
1042
|
+
|
|
1043
|
+
```ts
|
|
1044
|
+
export default defineConfig({
|
|
1045
|
+
// ...
|
|
1046
|
+
rateLimits: [
|
|
1047
|
+
{ match: "POST /v1/auth/login", rps: 2 },
|
|
1048
|
+
{ match: "auth.login", rps: 2 }, // operationId works too
|
|
1049
|
+
{ match: "category:ai", rps: 1 }, // overrides every x-rate-limit-tagged "ai" operation at once
|
|
1050
|
+
],
|
|
1051
|
+
})
|
|
1052
|
+
```
|
|
1005
1053
|
|
|
1006
1054
|
## Checks
|
|
1007
1055
|
|
|
@@ -1223,7 +1271,7 @@ Gate in CI on process exit code, or on `findings` whose `verdict` is not `COVERA
|
|
|
1223
1271
|
{
|
|
1224
1272
|
"id": "product/patch.minimality",
|
|
1225
1273
|
"group": "product",
|
|
1226
|
-
"layer": "
|
|
1274
|
+
"layer": "axis",
|
|
1227
1275
|
"status": "failed",
|
|
1228
1276
|
"verdict": "BACKEND_BUG",
|
|
1229
1277
|
"summary": "…"
|
|
@@ -1245,7 +1293,7 @@ Gate in CI on process exit code, or on `findings` whose `verdict` is not `COVERA
|
|
|
1245
1293
|
}
|
|
1246
1294
|
```
|
|
1247
1295
|
|
|
1248
|
-
Cell `status`: `held` (passed), `failed`, `blocked`, `skipped`. Edge `kind`: `dependsOn` (cascade) or `uses` (a
|
|
1296
|
+
Cell `status`: `held` (passed), `failed`, `blocked`, `skipped`. Edge `kind`: `dependsOn` (cascade) or `uses` (a composition check built from a single-axis check).
|
|
1249
1297
|
|
|
1250
1298
|
### `issue-repro/<entity>-<check>.sh`
|
|
1251
1299
|
|
|
@@ -1449,8 +1497,8 @@ These are deliberate. An agent should not invent a flag for them.
|
|
|
1449
1497
|
- **JSON request bodies only.** Multipart, form, file upload, and XML are not sent. Those operations will fail to seed or will not apply.
|
|
1450
1498
|
- **No webhook / callback / link-object following.**
|
|
1451
1499
|
- **External `$ref`s are not fetched.** In-document `$ref`s are.
|
|
1452
|
-
- **No `--profile` / `x-cost` gating.** High-cost operations still run if they are create/list/read/update/delete.
|
|
1453
1500
|
- **`x-idempotent` is not the idempotency check.** The check keys off a documented `Idempotency-Key` header.
|
|
1501
|
+
- **Rate-limit pacing only covers requests oat itself sends.** It cannot see traffic from anything else hitting the backend at the same time, so a shared budget can still trip even when oat's own share was within the declared rate.
|
|
1454
1502
|
- **Equality filter grammar** cannot express `neq` / `gt` / `like` / `and` / `or`. Those checks did-not-apply, they do not fail.
|
|
1455
1503
|
- **`or()` is postgrest-only.**
|
|
1456
1504
|
- **Concurrency > 1 on nested graphs invents pagination bugs.** Use `1`.
|
|
@@ -1486,7 +1534,7 @@ Runtime dependencies of a run against _your_ API: `ajv`, `ajv-formats`, `yaml`.
|
|
|
1486
1534
|
|
|
1487
1535
|
[`labs/`](./labs) is a family of real Hono + Cloudflare D1 backends this repo uses to iterate oat (correct worlds and planted bugs). Schema is generated from [`labs/worlds/catalog.ts`](./labs/worlds/catalog.ts). See [`labs/README.md`](./labs/README.md). You do not need labs to test your own API.
|
|
1488
1536
|
|
|
1489
|
-
Shipped in the npm package for copy-paste: `labs/local.config.ts`, `labs/minimal.config.ts`, `labs/
|
|
1537
|
+
Shipped in the npm package for copy-paste: `labs/local.config.ts`, `labs/minimal.config.ts`, `labs/oob-auth.config.ts`, `labs/annotated-openapi.yaml`.
|
|
1490
1538
|
|
|
1491
1539
|
## License
|
|
1492
1540
|
|
package/dist/cli.js
CHANGED
|
@@ -42,6 +42,7 @@ Flags
|
|
|
42
42
|
--spec OpenAPI document, http(s) URL or filesystem path
|
|
43
43
|
--base-url backend under test, overriding the config
|
|
44
44
|
--only comma-separated entity names to restrict the run to
|
|
45
|
+
--profile named profile gating which operations run (built-in: full, cheap)
|
|
45
46
|
--seed integer seed for fixture generation (default 1)
|
|
46
47
|
--out output directory for the report (default ./oat-out)
|
|
47
48
|
--keep-fixtures leave created records in place instead of tearing them down
|
|
@@ -77,6 +78,7 @@ async function commandRun(flags) {
|
|
|
77
78
|
.map((s) => s.trim())
|
|
78
79
|
.filter(Boolean);
|
|
79
80
|
const only = onlyFromFlag ?? config.only?.filter((name) => name.trim() !== "");
|
|
81
|
+
const profile = str(flags, "profile") ?? config.profile;
|
|
80
82
|
/* No cast: the config's principal type *is* the runtime's, so a mistake here is a compile
|
|
81
83
|
* error in the user's own config rather than a surprise mid-run. */
|
|
82
84
|
const principals = config.principals ?? [];
|
|
@@ -131,6 +133,9 @@ async function commandRun(flags) {
|
|
|
131
133
|
...(config.roots === undefined ? {} : { roots: config.roots }),
|
|
132
134
|
...(config.cohortSize === undefined ? {} : { cohortSize: config.cohortSize }),
|
|
133
135
|
...(only === undefined || only.length === 0 ? {} : { only }),
|
|
136
|
+
...(profile === undefined ? {} : { profile }),
|
|
137
|
+
...(config.profiles === undefined ? {} : { profiles: config.profiles }),
|
|
138
|
+
...(config.rateLimits === undefined ? {} : { rateLimits: config.rateLimits }),
|
|
134
139
|
keepFixtures: flags["keep-fixtures"] === true || config.keepFixtures === true,
|
|
135
140
|
concurrency: Number.parseInt(str(flags, "concurrency") ?? "", 10) || config.concurrency || 1,
|
|
136
141
|
maxInFlight: Number.parseInt(str(flags, "max-in-flight") ?? "", 10) || config.maxInFlight || 4,
|
|
@@ -156,6 +161,8 @@ async function commandRun(flags) {
|
|
|
156
161
|
entitiesTested: result.entitiesTested,
|
|
157
162
|
findings: result.findings,
|
|
158
163
|
model: result.model,
|
|
164
|
+
profile: result.profile,
|
|
165
|
+
profileExclusions: result.profileExclusions,
|
|
159
166
|
startedAt,
|
|
160
167
|
};
|
|
161
168
|
/* Wipe both the old name and the current one. A leftover script from a previous
|
|
@@ -117,6 +117,43 @@ export interface Hooks {
|
|
|
117
117
|
*/
|
|
118
118
|
teardownPrincipal?: (address: string) => Promise<void>;
|
|
119
119
|
}
|
|
120
|
+
/**
|
|
121
|
+
* Which operations a run is allowed to touch, filtering on what `x-cost` / `x-destructive`
|
|
122
|
+
* already declare (parsed onto every `OperationModel`, unconsulted until a profile selects one).
|
|
123
|
+
*
|
|
124
|
+
* Two profiles always exist without being declared here: `"full"` (no gating — today's default
|
|
125
|
+
* behaviour) and `"cheap"` (`{ maxCost: "low" }`). Anything more specific than a cost band —
|
|
126
|
+
* "skip the extraction endpoints that call a paid inference API" — is a named entry here.
|
|
127
|
+
*/
|
|
128
|
+
export interface ProfileSpec {
|
|
129
|
+
/** Inclusive ceiling. An operation costing more than this is excluded. */
|
|
130
|
+
maxCost?: "low" | "medium" | "high";
|
|
131
|
+
/** Excludes every operation declaring `x-destructive: true`. */
|
|
132
|
+
excludeDestructive?: boolean;
|
|
133
|
+
/** Exact `operationId`s to exclude regardless of cost or destructiveness — the escape hatch. */
|
|
134
|
+
exclude?: string[];
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* A path/operation matcher paired with a rate, independent of any `x-rate-limit` tag — this is
|
|
138
|
+
* what keeps oat able to pace itself against a backend that has not adopted the tag yet, or
|
|
139
|
+
* against an environment (staging, usually) whose real limit differs from what the document
|
|
140
|
+
* claims for production.
|
|
141
|
+
*/
|
|
142
|
+
export interface RateLimitSpec {
|
|
143
|
+
/**
|
|
144
|
+
* One of: an exact `operationId`; a path pattern such as `/v1/auth/*` (optionally prefixed
|
|
145
|
+
* with a method, `POST /v1/auth/login`), `*` matching one path segment; or `category:<name>`
|
|
146
|
+
* to target every operation whose `x-rate-limit` tag declares that category, without
|
|
147
|
+
* enumerating its routes.
|
|
148
|
+
*/
|
|
149
|
+
match: string;
|
|
150
|
+
rps: number;
|
|
151
|
+
/**
|
|
152
|
+
* Bucket name to share with a tag-declared category — lets one rule override the rate for an
|
|
153
|
+
* entire category. Defaults to `match`, so a route-scoped rule still works standalone.
|
|
154
|
+
*/
|
|
155
|
+
category?: string;
|
|
156
|
+
}
|
|
120
157
|
export interface OatConfig {
|
|
121
158
|
/** OpenAPI document — an http(s) URL or a filesystem path. JSON or YAML. */
|
|
122
159
|
spec: string;
|
|
@@ -142,6 +179,19 @@ export interface OatConfig {
|
|
|
142
179
|
maxInFlight?: number;
|
|
143
180
|
/** Restrict the run to these entity names. */
|
|
144
181
|
only?: string[];
|
|
182
|
+
/**
|
|
183
|
+
* Named profiles this run can select between, keyed by name. `"full"` and `"cheap"` exist
|
|
184
|
+
* implicitly and need no entry here; add one only for a profile a cost band can't express.
|
|
185
|
+
*/
|
|
186
|
+
profiles?: Record<string, ProfileSpec>;
|
|
187
|
+
/** Active profile by name. `--profile` on the CLI overrides this. Defaults to `"full"`. */
|
|
188
|
+
profile?: string;
|
|
189
|
+
/**
|
|
190
|
+
* Paces requests per category so oat's own traffic never trips a documented rate limit and
|
|
191
|
+
* reports the trip as a backend defect. Checked before `x-rate-limit` tags for the same
|
|
192
|
+
* request — the environment-specific belief wins over the document's general claim.
|
|
193
|
+
*/
|
|
194
|
+
rateLimits?: RateLimitSpec[];
|
|
145
195
|
/** Leave created records in place instead of tearing them down. */
|
|
146
196
|
keepFixtures?: boolean;
|
|
147
197
|
/** Report destination. Defaults to `./oat-out`. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define-config.d.ts","sourceRoot":"","sources":["../../src/config/define-config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"define-config.d.ts","sourceRoot":"","sources":["../../src/config/define-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define-config.js","sourceRoot":"","sources":["../../src/config/define-config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"define-config.js","sourceRoot":"","sources":["../../src/config/define-config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAmNH;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,YAAY,CAAC,MAAiB;IAC7C,OAAO,MAAM,CAAA;AACd,CAAC"}
|
package/dist/config/load.d.ts
CHANGED
|
@@ -6,5 +6,5 @@
|
|
|
6
6
|
import type { OatConfig } from "./define-config.ts";
|
|
7
7
|
export declare function loadConfig(path: string): Promise<OatConfig>;
|
|
8
8
|
/** Env-var interpolation so configs can carry `${API_TOKEN}` without embedding secrets. */
|
|
9
|
-
export declare function interpolate<T>(value: T, env?:
|
|
9
|
+
export declare function interpolate<T>(value: T, env?: Record<string, string | undefined>): T;
|
|
10
10
|
//# sourceMappingURL=load.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load.d.ts","sourceRoot":"","sources":["../../src/config/load.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAEnD,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CA0BjE;AAED,2FAA2F;AAC3F,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,GAAE,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"load.d.ts","sourceRoot":"","sources":["../../src/config/load.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAEnD,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CA0BjE;AAED,2FAA2F;AAC3F,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GAAG,CAAC,CAmBjG"}
|
package/dist/config/load.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load.js","sourceRoot":"","sources":["../../src/config/load.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;;;;;;;;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAGxC,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAY;IAC5C,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAA;IAEvE,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAc,CAAA;IACjE,CAAC;IAED,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,CAAC,MAAM,MAAM,kCAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAC,CAE7C,CAAA;QACb,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAA;QACvC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACnD,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAA;QACvD,CAAC;QACD,OAAO,MAAM,CAAA;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACtE,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,oCAAoC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACpF,MAAM,IAAI,KAAK,CACd,oBAAoB,IAAI,0DAA0D;gBACjF,uEAAuE,CACxE,CAAA;QACF,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,8BAA8B,IAAI,KAAK,OAAO,EAAE,CAAC,CAAA;IAClE,CAAC;AACF,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,WAAW,CAAI,KAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"load.js","sourceRoot":"","sources":["../../src/config/load.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;;;;;;;;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAGxC,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAY;IAC5C,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAA;IAEvE,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAc,CAAA;IACjE,CAAC;IAED,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,CAAC,MAAM,MAAM,kCAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAC,CAE7C,CAAA;QACb,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAA;QACvC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACnD,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAA;QACvD,CAAC;QACD,OAAO,MAAM,CAAA;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACtE,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,oCAAoC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACpF,MAAM,IAAI,KAAK,CACd,oBAAoB,IAAI,0DAA0D;gBACjF,uEAAuE,CACxE,CAAA;QACF,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,8BAA8B,IAAI,KAAK,OAAO,EAAE,CAAC,CAAA;IAClE,CAAC;AACF,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,WAAW,CAAI,KAAQ,EAAE,MAA0C,OAAO,CAAC,GAAG;IAC7F,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC,OAAO,CAAC,sBAAsB,EAAE,CAAC,KAAK,EAAE,IAAY,EAAE,EAAE;YACpE,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,CAAA;YAC1B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,wCAAwC,CAAC,CAAA;YAC3F,CAAC;YACD,OAAO,QAAQ,CAAA;QAChB,CAAC,CAAM,CAAA;IACR,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAM,CAAA;IACjF,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACjD,MAAM,GAAG,GAA4B,EAAE,CAAA;QACvC,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC,EAAE,CAAC;YAC5E,GAAG,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QAClC,CAAC;QACD,OAAO,GAAQ,CAAA;IAChB,CAAC;IACD,OAAO,KAAK,CAAA;AACb,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { defineConfig } from "./config/define-config.ts";
|
|
2
|
-
export type { AuthFlow, AuthStep, Hooks, OatConfig, OperationStep, OutOfBandRequest, OutOfBandStep, Principal, RequestStep, } from "./config/define-config.ts";
|
|
2
|
+
export type { AuthFlow, AuthStep, Hooks, OatConfig, OperationStep, OutOfBandRequest, OutOfBandStep, Principal, ProfileSpec, RateLimitSpec, RequestStep, } from "./config/define-config.ts";
|
|
3
3
|
export { loadConfig } from "./config/load.ts";
|
|
4
4
|
export { deriveCollectionShape, deriveIdentity } from "./spec/collection.ts";
|
|
5
5
|
export type { CollectionShape } from "./spec/collection.ts";
|
package/dist/report/matrix.d.ts
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Poster + machine graph of how oat crossed the entities in a run.
|
|
3
3
|
*
|
|
4
|
-
* One entity
|
|
5
|
-
*
|
|
6
|
-
*
|
|
4
|
+
* One entity gets its own graph: single-axis checks (filter, sort, search, select, page/count)
|
|
5
|
+
* on one cohort, composition checks that only run once every axis they combine has held. Several
|
|
6
|
+
* entities add a second graph on top — `x-invalidate` edges from a writer to another entity's
|
|
7
|
+
* read surface. That is the claim `invalidation.declared-route-changes` actually tests.
|
|
7
8
|
*/
|
|
8
9
|
import type { ReportInput } from "./render.ts";
|
|
9
10
|
export type CellStatus = "held" | "failed" | "blocked" | "skipped";
|
|
10
|
-
export type MatrixLayer = "
|
|
11
|
+
export type MatrixLayer = "axis" | "composition" | "surface" | "auth" | "schema" | "spec";
|
|
11
12
|
export interface MatrixView {
|
|
12
13
|
entity: string;
|
|
13
14
|
baseUrl: string;
|
|
@@ -39,7 +40,7 @@ export interface MatrixGraphNode {
|
|
|
39
40
|
export interface MatrixGraphEdge {
|
|
40
41
|
from: string;
|
|
41
42
|
to: string;
|
|
42
|
-
/** `dependsOn`: if `from` failed, `to` is blocked. `uses`:
|
|
43
|
+
/** `dependsOn`: if `from` failed, `to` is blocked. `uses`: a composition check built from `from`. */
|
|
43
44
|
kind: "dependsOn" | "uses";
|
|
44
45
|
}
|
|
45
46
|
export interface InvalidateLink {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"matrix.d.ts","sourceRoot":"","sources":["../../src/report/matrix.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"matrix.d.ts","sourceRoot":"","sources":["../../src/report/matrix.ts"],"names":[],"mappings":"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"}
|
package/dist/report/matrix.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Poster + machine graph of how oat crossed the entities in a run.
|
|
3
3
|
*
|
|
4
|
-
* One entity
|
|
5
|
-
*
|
|
6
|
-
*
|
|
4
|
+
* One entity gets its own graph: single-axis checks (filter, sort, search, select, page/count)
|
|
5
|
+
* on one cohort, composition checks that only run once every axis they combine has held. Several
|
|
6
|
+
* entities add a second graph on top — `x-invalidate` edges from a writer to another entity's
|
|
7
|
+
* read surface. That is the claim `invalidation.declared-route-changes` actually tests.
|
|
7
8
|
*/
|
|
8
9
|
import { CHECKS } from "../runtime/checks.js";
|
|
9
10
|
const NODE_ORDER = [
|
|
@@ -40,13 +41,13 @@ const USES = [
|
|
|
40
41
|
{ from: "query.search-and-filter-compose", to: "query.filter-search-select-compose" },
|
|
41
42
|
];
|
|
42
43
|
const GROUP_LAYER = {
|
|
43
|
-
composition: "
|
|
44
|
-
filter: "
|
|
45
|
-
"page / count": "
|
|
44
|
+
composition: "composition",
|
|
45
|
+
filter: "axis",
|
|
46
|
+
"page / count": "axis",
|
|
46
47
|
schema: "schema",
|
|
47
|
-
search: "
|
|
48
|
-
select: "
|
|
49
|
-
sort: "
|
|
48
|
+
search: "axis",
|
|
49
|
+
select: "axis",
|
|
50
|
+
sort: "axis",
|
|
50
51
|
"spec promise": "spec",
|
|
51
52
|
"who may see it": "auth",
|
|
52
53
|
"write / surface": "surface",
|
|
@@ -320,16 +321,16 @@ function assembleGraph(baseUrl, generatedAt, entities, invalidate) {
|
|
|
320
321
|
edges: {
|
|
321
322
|
dependsOn: "if `from` failed, `to` is blocked. Do not treat blocked as a second defect.",
|
|
322
323
|
invalidate: "a write on `fromEntity` is declared to change `toRoute` on `toEntity`. `cross` is the case the invalidation check probes.",
|
|
323
|
-
uses: "
|
|
324
|
+
uses: "`to` is a composition check (e.g. query.axes-compose) built from the single-axis check `from`.",
|
|
324
325
|
},
|
|
325
|
-
purpose: "How oat crossed the entities in this run. Each entity
|
|
326
|
-
"`invalidate` edges are x-invalidate claims. failed = two
|
|
327
|
-
"blocked = a dependsOn already failed — not a second defect.",
|
|
326
|
+
purpose: "How oat crossed the entities in this run. Each entity's checks are tracked independently. " +
|
|
327
|
+
"`invalidate` edges are x-invalidate claims. failed = two projections of the same fact " +
|
|
328
|
+
"disagreed. blocked = a dependsOn check already failed — not a second defect.",
|
|
328
329
|
status: {
|
|
329
330
|
blocked: "not evaluated; a dependsOn check already failed",
|
|
330
331
|
failed: "two projections of the same fact disagreed — a finding",
|
|
331
332
|
held: "tested, and the projections agreed",
|
|
332
|
-
skipped: "
|
|
333
|
+
skipped: "the document does not support this check",
|
|
333
334
|
},
|
|
334
335
|
},
|
|
335
336
|
summary,
|
|
@@ -377,7 +378,7 @@ function thesisFor(entities, cross) {
|
|
|
377
378
|
const first = failed[0];
|
|
378
379
|
if (first === undefined)
|
|
379
380
|
return "";
|
|
380
|
-
return `${first.name} had a
|
|
381
|
+
return `${first.name} had a check that disagreed. Composition checks that depend on it stood down — not extra defects.`;
|
|
381
382
|
}
|
|
382
383
|
if (entities.length === 1 && cross.length === 0) {
|
|
383
384
|
return "One entity. Invalidate stays on its own read surface, so the cross-entity check did not apply.";
|
|
@@ -390,7 +391,7 @@ function thesisFor(entities, cross) {
|
|
|
390
391
|
const pairs = unique(cross.map((l) => `${l.fromEntity} writes must change ${l.toEntity}`));
|
|
391
392
|
return `${entities.length} entities. ${pairs.join("; ")} — that claim was tested, not believed.`;
|
|
392
393
|
}
|
|
393
|
-
return `${entities.length} entities. Every
|
|
394
|
+
return `${entities.length} entities. Every check that applied agreed.`;
|
|
394
395
|
}
|
|
395
396
|
function unique(values) {
|
|
396
397
|
return [...new Set(values)];
|
|
@@ -425,7 +426,7 @@ function mermaidFromGraph(entities, invalidate) {
|
|
|
425
426
|
continue;
|
|
426
427
|
const sid = mid(`${focus.name}__${spec.id}`);
|
|
427
428
|
lines.push(` ${sid}["${spec.label}"]`);
|
|
428
|
-
if (node.layer === "
|
|
429
|
+
if (node.layer === "axis" ||
|
|
429
430
|
spec.id === "list.read-after-write" ||
|
|
430
431
|
spec.id === "tenant.item-not-readable-cross-tenant") {
|
|
431
432
|
lines.push(` ${mid(focus.name)} --> ${sid}`);
|
|
@@ -559,15 +560,15 @@ function renderPoster(graph) {
|
|
|
559
560
|
<article class="poster">
|
|
560
561
|
<header>
|
|
561
562
|
<div>
|
|
562
|
-
<div class="kicker">${multi ? "many entities · invalidate is an edge" : "same fact · many
|
|
563
|
+
<div class="kicker">${multi ? "many entities · invalidate is an edge" : "same fact · many checks"}</div>
|
|
563
564
|
<h1>${headerTitle(graph)}</h1>
|
|
564
565
|
<p class="thesis">${esc(graph.thesis)}</p>
|
|
565
566
|
</div>
|
|
566
567
|
<div class="counts">
|
|
567
568
|
<div class="failed"><b>${graph.counts.failed}</b><span>disagreed</span></div>
|
|
568
|
-
<div class="blocked"><b>${graph.counts.blocked}</b><span>
|
|
569
|
+
<div class="blocked"><b>${graph.counts.blocked}</b><span>blocked</span></div>
|
|
569
570
|
<div class="held"><b>${graph.counts.held}</b><span>agreed</span></div>
|
|
570
|
-
<div class="skipped"><b>${graph.counts.skipped}</b><span>
|
|
571
|
+
<div class="skipped"><b>${graph.counts.skipped}</b><span>did not apply</span></div>
|
|
571
572
|
</div>
|
|
572
573
|
</header>
|
|
573
574
|
|
|
@@ -584,13 +585,13 @@ function renderPoster(graph) {
|
|
|
584
585
|
${crowded ? forestSummary(graph) : ""}
|
|
585
586
|
|
|
586
587
|
<div class="stage">
|
|
587
|
-
<div class="stage-label">${focus === undefined ? "
|
|
588
|
+
<div class="stage-label">${focus === undefined ? "checks" : `checks — ${focus.name}`}</div>
|
|
588
589
|
${loom}
|
|
589
590
|
<div class="legend">
|
|
590
591
|
<span><i class="swatch held"></i>agreed</span>
|
|
591
592
|
<span><i class="swatch failed"></i>disagreed — a finding</span>
|
|
592
|
-
<span><i class="swatch blocked"></i>
|
|
593
|
-
<span><i class="swatch skipped"></i>no
|
|
593
|
+
<span><i class="swatch blocked"></i>blocked — an earlier check it depends on already failed</span>
|
|
594
|
+
<span><i class="swatch skipped"></i>did not apply — the document has no support for this check</span>
|
|
594
595
|
</div>
|
|
595
596
|
</div>
|
|
596
597
|
|
|
@@ -726,8 +727,8 @@ function forestSummary(graph) {
|
|
|
726
727
|
</div>`;
|
|
727
728
|
});
|
|
728
729
|
return `<div class="crowd-note">
|
|
729
|
-
${held.length} entities agreed on every
|
|
730
|
-
${failed.length === 0 ? "Showing the
|
|
730
|
+
${held.length} entities agreed on every check that applied.
|
|
731
|
+
${failed.length === 0 ? "Showing the detail view for one writer, not all 200 entities." : `Showing ${failed.length} entities that disagreed.`}
|
|
731
732
|
</div>
|
|
732
733
|
${cards.length > 0 ? `<div class="cards">${cards.join("")}</div>` : ""}`;
|
|
733
734
|
}
|
|
@@ -853,9 +854,9 @@ function loomSvg(focus) {
|
|
|
853
854
|
const status = st(pt.id);
|
|
854
855
|
return box(pt, spec?.label ?? pt.id, status === "failed" ? "disagreed" : status === "blocked" ? "" : (spec?.hint ?? ""), status);
|
|
855
856
|
});
|
|
856
|
-
return `<svg viewBox="0 0 1120 540" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Query
|
|
857
|
-
<text x="48" y="24" fill="#9aa3b2" font-size="11" letter-spacing="2" font-family="IBM Plex Mono, monospace">
|
|
858
|
-
<text x="360" y="24" fill="#9aa3b2" font-size="11" letter-spacing="2" font-family="IBM Plex Mono, monospace">
|
|
857
|
+
return `<svg viewBox="0 0 1120 540" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Query checks for ${esc(focus.name)}">
|
|
858
|
+
<text x="48" y="24" fill="#9aa3b2" font-size="11" letter-spacing="2" font-family="IBM Plex Mono, monospace">READS</text>
|
|
859
|
+
<text x="360" y="24" fill="#9aa3b2" font-size="11" letter-spacing="2" font-family="IBM Plex Mono, monospace">AXES</text>
|
|
859
860
|
<text x="650" y="24" fill="#9aa3b2" font-size="11" letter-spacing="2" font-family="IBM Plex Mono, monospace">PAIRS</text>
|
|
860
861
|
<text x="930" y="24" fill="#9aa3b2" font-size="11" letter-spacing="2" font-family="IBM Plex Mono, monospace">TRIPLES</text>
|
|
861
862
|
${lines.join("\n")}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"matrix.js","sourceRoot":"","sources":["../../src/report/matrix.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"matrix.js","sourceRoot":"","sources":["../../src/report/matrix.ts"],"names":[],"mappings":"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"}
|