@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.
Files changed (44) hide show
  1. package/README.md +53 -5
  2. package/dist/cli.js +7 -0
  3. package/dist/config/define-config.d.ts +50 -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/load.d.ts +1 -1
  7. package/dist/config/load.d.ts.map +1 -1
  8. package/dist/config/load.js.map +1 -1
  9. package/dist/index.d.ts +1 -1
  10. package/dist/report/matrix.d.ts +6 -5
  11. package/dist/report/matrix.d.ts.map +1 -1
  12. package/dist/report/matrix.js +29 -28
  13. package/dist/report/matrix.js.map +1 -1
  14. package/dist/report/render.d.ts +8 -0
  15. package/dist/report/render.d.ts.map +1 -1
  16. package/dist/report/render.js +28 -0
  17. package/dist/report/render.js.map +1 -1
  18. package/dist/runtime/client.d.ts +12 -1
  19. package/dist/runtime/client.d.ts.map +1 -1
  20. package/dist/runtime/client.js +17 -2
  21. package/dist/runtime/client.js.map +1 -1
  22. package/dist/runtime/profile.d.ts +30 -0
  23. package/dist/runtime/profile.d.ts.map +1 -0
  24. package/dist/runtime/profile.js +46 -0
  25. package/dist/runtime/profile.js.map +1 -0
  26. package/dist/runtime/rate-limit.d.ts +53 -0
  27. package/dist/runtime/rate-limit.d.ts.map +1 -0
  28. package/dist/runtime/rate-limit.js +165 -0
  29. package/dist/runtime/rate-limit.js.map +1 -0
  30. package/dist/runtime/run.d.ts +15 -1
  31. package/dist/runtime/run.d.ts.map +1 -1
  32. package/dist/runtime/run.js +131 -48
  33. package/dist/runtime/run.js.map +1 -1
  34. package/dist/spec/extensions.d.ts +11 -0
  35. package/dist/spec/extensions.d.ts.map +1 -1
  36. package/dist/spec/extensions.js +15 -0
  37. package/dist/spec/extensions.js.map +1 -1
  38. package/dist/spec/graph.d.ts +2 -1
  39. package/dist/spec/graph.d.ts.map +1 -1
  40. package/dist/spec/graph.js +2 -1
  41. package/dist/spec/graph.js.map +1 -1
  42. package/labs/README.md +1 -1
  43. package/labs/{anyrow.config.ts → oob-auth.config.ts} +9 -9
  44. 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
- These are **parsed onto the operation model**. They are **not yet consulted by `oat run`** — there is no `--profile`. Document them for the model/`plan` output. Replay safety is tested from a documented `Idempotency-Key` header (`idempotency.replay-does-not-duplicate`), not from `x-idempotent`.
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": "weft",
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 later check that builds on a warp primitive).
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/anyrow.config.ts`, `labs/annotated-openapi.yaml`.
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;AA2JH;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,YAAY,CAAC,MAAiB;IAC7C,OAAO,MAAM,CAAA;AACd,CAAC"}
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"}
@@ -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?: NodeJS.ProcessEnv): T;
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,UAAwB,GAAG,CAAC,CAmBhF"}
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"}
@@ -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,MAAyB,OAAO,CAAC,GAAG;IAC5E,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"}
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";
@@ -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 is a loom: warp windows on one cohort, weft cells woven only if the warp holds.
5
- * Several entities add a second graph on top — `x-invalidate` edges from a writer to another
6
- * entity's read surface. That is the claim `invalidation.declared-route-changes` actually tests.
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 = "warp" | "weft" | "surface" | "auth" | "schema" | "spec";
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`: weft cell woven from this warp. */
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":"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"}
1
+ {"version":3,"file":"matrix.d.ts","sourceRoot":"","sources":["../../src/report/matrix.ts"],"names":[],"mappings":"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"}
@@ -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 is a loom: warp windows on one cohort, weft cells woven only if the warp holds.
5
- * Several entities add a second graph on top — `x-invalidate` edges from a writer to another
6
- * entity's read surface. That is the claim `invalidation.declared-route-changes` actually tests.
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: "weft",
44
- filter: "warp",
45
- "page / count": "warp",
44
+ composition: "composition",
45
+ filter: "axis",
46
+ "page / count": "axis",
46
47
  schema: "schema",
47
- search: "warp",
48
- select: "warp",
49
- sort: "warp",
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: "weft composition cell woven from this warp window",
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 is an independent loom. " +
326
- "`invalidate` edges are x-invalidate claims. failed = two windows disagreed. " +
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: "this document has no window for the check",
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 window that disagreed. Weft cells that use it stood down — they are not extra defects.`;
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 independent window agreed.`;
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 === "warp" ||
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 windows"}</div>
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>not woven</span></div>
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>no window</span></div>
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 ? "loom" : `loom — ${focus.name}`}</div>
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>not woven — waiting on a snapped thread</span>
593
- <span><i class="swatch skipped"></i>no window in this document</span>
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 window that applied.
730
- ${failed.length === 0 ? "Showing the loom for one writer, not 200 pins." : `Showing ${failed.length} entities that disagreed.`}
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 loom for ${esc(focus.name)}">
857
- <text x="48" y="24" fill="#9aa3b2" font-size="11" letter-spacing="2" font-family="IBM Plex Mono, monospace">WINDOWS</text>
858
- <text x="360" y="24" fill="#9aa3b2" font-size="11" letter-spacing="2" font-family="IBM Plex Mono, monospace">WARP</text>
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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"}