@openwop/spec-artifacts 2.8.2 → 2.8.3

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/CORPUS-STAMP.json CHANGED
@@ -1,17 +1,17 @@
1
1
  {
2
2
  "_comment": "Provenance of @openwop/spec-artifacts (RFC 0168 §D.2). files: SHA-256 per file; the conformance suite compares the installed peer against dist/spec-artifacts.lock.json at start.",
3
3
  "package": "@openwop/spec-artifacts",
4
- "version": "2.8.2",
5
- "corpusTag": "v2.8.2",
4
+ "version": "2.8.3",
5
+ "corpusTag": "v2.8.3",
6
6
  "files": {
7
7
  "api/.redocly.lint-ignore.yaml": "bf5a8350b88a72fa43f59605ed8d903ed24b6cfccda5e45509c9f6ed9ee4e712",
8
8
  "api/asyncapi.yaml": "d5ecb9ee6114582be3b1f662c84bfac9ae96dae7bacb853e461168f70a8e1c7d",
9
9
  "api/grpc/openwop.proto": "c3e72bb17cba514ee98feb6434e6c9b6ea6795bfd086489ec69fd882dd1ad977",
10
10
  "api/openapi.yaml": "39081c59fb696159806b0f2f9a42e7e9ff830d622fcf2ad4159b21357580a955",
11
11
  "api/redocly.yaml": "b0604c89b2ca6d5076ec25725c539dad44a741a811fe524439ee6daef8baa09f",
12
- "api/seams-v2.yaml": "296a5283690fc422d525815abc780eacd3b6ab7c0fe04e3d4ea72f460f9fabb6",
13
- "api/v2/asyncapi.yaml": "21407d943fd706afe9e5c4b5703e453fbd86a8594428014d49b71eb35b937d7c",
14
- "api/v2/openapi.yaml": "704e81cd815e8aab818e0dd7dba1b744499e3e9d1f2ad4d7d528161d34a671ae",
12
+ "api/seams-v2.yaml": "64deea9efd193ce9c885b2e05586fd1cd5c45c5eb1a0ffa075ee3ceaa983c039",
13
+ "api/v2/asyncapi.yaml": "c9217395cc0acb0acd6e2bc29e3a9beb305b3e6fab08be3214eb18b69856298f",
14
+ "api/v2/openapi.yaml": "7649ddd91c669937781f2ec7234b4b02345f27e919a8d25258ab74f03a543f4a",
15
15
  "api/v2/redocly.yaml": "1e66b60e6118ad11a823bb620678be464d99dfe50a40e3e6f93ec9429b88b34c",
16
16
  "schemas/README.md": "0c0b737ffcf8f30e7d2809cec8a498232de710f41443212922ad8337cdde0b51",
17
17
  "schemas/a2a-task-state.schema.json": "c9365918f993f943b4b619d42551eb066a1ed33a08d895d51b395432a5b1f1bc",
@@ -141,7 +141,7 @@
141
141
  "schemas/v2/envelopes/schema.request.schema.json": "be2c5f7aa881cdd252ccff47ac02193659e1393633a1541f4297383205d384a2",
142
142
  "schemas/v2/envelopes/schema.response.schema.json": "d049a081267c06c28879c331b147f3ed821b14ccfd93005c67aff64db0a8c68e",
143
143
  "schemas/v2/envelopes/ui.a2ui-surface.schema.json": "0a06fbbdc8ba797a6818c79336a98e211ac5ba5747945b4e4098072cd3974d79",
144
- "schemas/v2/error-envelope.schema.json": "9c8f747e5bea81943d70e0930bc7d26586a4c3a3d90be77f46359b19b7e56cbe",
144
+ "schemas/v2/error-envelope.schema.json": "b2c6b673c14dd7c0603d0862f4bf0dad00e401c88c418914753bcd744d8400f5",
145
145
  "schemas/v2/eval-summary.schema.json": "9d31025752d0f67ad3b8a32e82a5314972c530ef9f780dd82e484ae8c5131198",
146
146
  "schemas/v2/export-bundle.schema.json": "bd28905a7729437ab7f2ad8bb33e13a371b2bf5605a7eb2962a0d246de312d69",
147
147
  "schemas/v2/form-content-pack-manifest.schema.json": "461529e4287ec3b15a9fbcde57226a1c6f17ea3ae71b33b418e6f595ff0619fe",
@@ -201,7 +201,7 @@
201
201
  "schemas/workspace-file.schema.json": "464de85c2a068243084ee9c1d969bc7cd5d8f7948574e58450d6493c38a0e1e4",
202
202
  "spec/v1/alias-detectors.json": "e90916db12d2297e2e560b2d54d2c4702d6cb3bef7179a575844687a7ec17262",
203
203
  "spec/v1/capability-declaration-classes.json": "e7729aed5c4b4e1dd02abab0530f14cc95f5d4070fe51fb139e7f5cccefa00c6",
204
- "spec/v1/core-standard-manifest.json": "c6d57dec530f5b37f0f1db857db923d1cbd88606cf8ae6b6cbebdb54e35aa950",
204
+ "spec/v1/core-standard-manifest.json": "540b87d21baa032b986e68a13ed07ddc2c62519baf5f16395126d0420e8266ed",
205
205
  "spec/v1/deprecations.json": "c81c8f71460936c8d489d8270477c7661cf4a5d7b7bad86c98899750b5656027",
206
206
  "spec/v1/deprecations.schema.json": "18c87e78bedc210431f795ae44c5b5d202f2f3317850d5cf86867d4f1fa1cdfb",
207
207
  "spec/v1/event-codemap.json": "3da60d884157793a360da532a9fcbbfb5285636db325a74cec94b34622186d97",
@@ -217,7 +217,7 @@
217
217
  "spec/v2/core/capabilities.md": "9e81d578e177f9875499677d22207df909e59e3d4ddaa3d90f18a7035cfb31f4",
218
218
  "spec/v2/core/conformance.md": "a451c0a2ba79d93c55e540ccef480eba7de9602d59bbb03eead05daafde0beac",
219
219
  "spec/v2/core/connection-packs.md": "2e53c92476f68304139faf0c370874dc27bbba56a127a07e0906ff06edbb8ff1",
220
- "spec/v2/core/errors.md": "c3ac131dff970ab7574629d72735ace52cc56cd4a7ab5d1206ce91f382bc9a68",
220
+ "spec/v2/core/errors.md": "6b6a1480ed889013172d8ce8c6985e321d2f4f73e1d9fae0bac9b961d0dd1a8c",
221
221
  "spec/v2/core/events.md": "6ab8c727df3ebc5a60de3837c82a0075b4357d6f7e28435c6f80585687d41a76",
222
222
  "spec/v2/core/form-content-packs.md": "d4c5295dfd28972be205c87c34d0d34ced64f4a2561ebff7f9d24b436d83df25",
223
223
  "spec/v2/core/headers.md": "14cdf4ae9ee7d80eebfd426d7c3552e577baea0300915cd4bb3a68e8588195a8",
@@ -236,7 +236,7 @@
236
236
  "spec/v2/core/workflow-chain-packs.md": "26bb65721f826285b7d90c3cb62fa7e9fb2414c1bc6e0fd25b33209168c3102e",
237
237
  "spec/v2/declaration.json": "facd8b8466ea86b61325670450a1205c672e844e0dbcd9d9392ef0eb2021cca3",
238
238
  "spec/v2/declaration.schema.json": "c86e3083fb9789c1958ecb4576cc6f71aa90e6f339521139238543ed08211dd4",
239
- "spec/v2/errors.json": "4ff032033f02d7e3fb4204581456408ba5e7642b438c1f349bbd1c264e63e419",
239
+ "spec/v2/errors.json": "aac91b12f954cc90574d310070ae3c651b131055d4389d2c6155242763765195",
240
240
  "spec/v2/event-codemap.json": "37869a03cdfd8758b57e6f350641a6ebbd383231cebda51f5473ad85f94ab74c",
241
241
  "spec/v2/event-codemap.schema.json": "b173f2a9bcc0bf9b62a474ce3b91e1431d597e64fd1560fc58662cd8606eaf9c",
242
242
  "spec/v2/ext/README.md": "ff91a503e0795e1b898e37d9e445add2d5975529723f7b32b2599b60a24c1ae3",
@@ -273,8 +273,8 @@
273
273
  "spec/v2/path-manifest.json": "c123c9fd77dc1b3f9c2e9346ace80cdae007e6511138894956abda01e61ec1c6",
274
274
  "spec/v2/peer-dependency-aliases.json": "d10299280abee08258502925bc327293ee413e0108cd6e6ec75ff6110653308d",
275
275
  "spec/v2/profiles.json": "0636f19fceae625390003a347e70ef4797d84766b5c24ce8a02cea52aadebca4",
276
- "spec/v2/release.json": "0bcbacf7697213dced197b2bc0cf8ee0af61786db4518eb39aad9524c1a74d80",
276
+ "spec/v2/release.json": "35e41f5f136dacf24a5d14a271e987fc6955b821c9708bd9ff5895ef09ab9324",
277
277
  "spec/v2/retention-floors.json": "eaf3722d95c79947af1d4269ef85117e126518c588cfcf1a2b21b97269f51624"
278
278
  },
279
- "corpusCommit": "ae9a19cf3e20a12f2d0ab08eb194f191c1609613"
279
+ "corpusCommit": "9eb4c793dad242f5e0231e168085d1d5e6bc1598"
280
280
  }
package/api/seams-v2.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  openapi: 3.1.0
2
2
  info:
3
3
  title: OpenWOP conformance seams profile (openwop-conformance-seams-v2)
4
- version: 2.8.2
4
+ version: 2.8.3
5
5
  description: 'GENERATED by scripts/derive-v2-api.py. RFC 0168 §C: the seams are a versioned conformance profile with their
6
6
  own document and path space (/conformance/seams/…), validated against the canonical v2 schemas with no tolerance path,
7
7
  forbidden from the capability namespace (a host advertises the profile, never a testSeams flag). This document carries
@@ -1,7 +1,7 @@
1
1
  asyncapi: 3.1.0
2
2
  info:
3
3
  title: OpenWOP v2 event streams
4
- version: 2.8.2
4
+ version: 2.8.3
5
5
  description: GENERATED by scripts/derive-v2-api.py (RFC 0171 §E.1, RFC 0172 §C.2). One run-events channel whose address
6
6
  is the OpenAPI path key; the server pathname is empty (bare origin). streamMode is a pattern over the closed set and its
7
7
  comma-separated combinations (`values` never combines). hostEvents has a real address (RFC 0171 §E.1) — the documented
@@ -1,7 +1,7 @@
1
1
  openapi: 3.1.0
2
2
  info:
3
3
  title: OpenWOP v2 API
4
- version: 2.8.2
4
+ version: 2.8.3
5
5
  summary: REST surface for declaring, executing, suspending, resuming, and observing multi-step workflows.
6
6
  description: GENERATED by scripts/derive-v2-api.py from api/openapi.yaml and the RFC 0167 children (v2 charter Phase 3,
7
7
  P3-C). Bare origin, unversioned path keys, negotiation by `OpenWOP-Version` + `protocolVersions[]` (RFC 0172 §A). No seam
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openwop/spec-artifacts",
3
- "version": "2.8.2",
3
+ "version": "2.8.3",
4
4
  "description": "The OpenWOP machine-readable contract: api/ (OpenAPI, AsyncAPI, the seams profile), schemas/ (v1 and v2 JSON Schemas), the spec/v1 and spec/v2 registries (errors, event codemap, declaration, deprecations, migrations, gaps) and CORPUS-STAMP.json — published from the openwop/openwop corpus tag; the peer dependency @openwop/openwop-conformance digest-checks at start (RFC 0168 §D.2).",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -2,7 +2,7 @@
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "https://openwop.dev/spec/v2/error-envelope.schema.json",
4
4
  "title": "ErrorEnvelope (v2)",
5
- "description": "GENERATED from spec/v2/errors.json by scripts/generate-error-envelope.mjs (RFC 0171 §B.1). 98 registered codes; vendor codes match ^(?!openwop\\.)[a-z][a-z0-9]*(-[a-z0-9]+)*\\.[a-z][a-z0-9_]*$. Consumers MUST accept an unknown registered member and MUST NOT act on it (RFC 0171 §A.5).",
5
+ "description": "GENERATED from spec/v2/errors.json by scripts/generate-error-envelope.mjs (RFC 0171 §B.1). 99 registered codes; vendor codes match ^(?!openwop\\.)[a-z][a-z0-9]*(-[a-z0-9]+)*\\.[a-z][a-z0-9_]*$. Consumers MUST accept an unknown registered member and MUST NOT act on it (RFC 0171 §A.5).",
6
6
  "type": "object",
7
7
  "additionalProperties": false,
8
8
  "required": [
@@ -52,6 +52,7 @@
52
52
  "sender_constraint_missing",
53
53
  "unauthenticated",
54
54
  "credential_forbidden",
55
+ "credential_scope_forbidden",
55
56
  "delegation_scope_amplified",
56
57
  "forbidden",
57
58
  "force_engine_version_forbidden",
@@ -240,6 +241,7 @@
240
241
  "sender_constraint_missing": 401,
241
242
  "unauthenticated": 401,
242
243
  "credential_forbidden": 403,
244
+ "credential_scope_forbidden": 403,
243
245
  "delegation_scope_amplified": 403,
244
246
  "forbidden": 403,
245
247
  "force_engine_version_forbidden": 403,
@@ -4,7 +4,7 @@
4
4
  "provenance": {
5
5
  "suite": {
6
6
  "package": "@openwop/openwop-conformance",
7
- "version": "2.8.2"
7
+ "version": "2.8.3"
8
8
  },
9
9
  "note": "Derived from the corpus at generation time. Regenerate with --write; verify with --check."
10
10
  },
@@ -419,5 +419,5 @@
419
419
  "$id": "https://openwop.dev/spec/v1/workspace-file.schema.json"
420
420
  }
421
421
  ],
422
- "digest": "2d5e2eb843ab9d9c6affb0d9219cfd08e43e4c7bd0a091617613d04d43e993ee"
422
+ "digest": "18e2a55ecea063b7e2c1d4c4ac5160499cb6143b7a81e1af914867c41f5e447f"
423
423
  }
@@ -8,7 +8,7 @@ Every error a v2 host returns is a row in one registry. A client routes on `erro
8
8
 
9
9
  ## The registry
10
10
 
11
- `spec/v2/errors.json` holds one row per code: `{ code, httpStatus, retriable, details, since, deprecated? }` plus the provenance fields `statusSource` and `source`. It registers **98** codes. `schemas/v2/error-envelope.schema.json` is GENERATED from it and MUST NOT be edited by hand.
11
+ `spec/v2/errors.json` holds one row per code: `{ code, httpStatus, retriable, details, since, deprecated? }` plus the provenance fields `statusSource` and `source`. It registers **99** codes. `schemas/v2/error-envelope.schema.json` is GENERATED from it and MUST NOT be edited by hand.
12
12
 
13
13
  A host MUST return a registered code, or a vendor code, in every error response. A vendor code MUST match `^(?!openwop\.)[a-z][a-z0-9]*(-[a-z0-9]+)*\.[a-z][a-z0-9_]*$` with its first segment an org registered in `spec/v2/declaration.json`; `openwop.` is reserved. The registry grows by the closed-enum rule in overview.md §0: a producer MUST NOT emit an unregistered member, and a consumer MUST accept an unknown registered member and MUST NOT act on it.
14
14
 
@@ -28,7 +28,7 @@ An interrupt has one code per state: a token or run-scoped resolve against an in
28
28
 
29
29
  ## Codes by HTTP status
30
30
 
31
- Generated from `spec/v2/errors.json` (98 codes; `retriable` and `statusSource` are in the registry).
31
+ Generated from `spec/v2/errors.json` (99 codes; `retriable` and `statusSource` are in the registry).
32
32
 
33
33
  Code | Status
34
34
  --- | ---
@@ -69,6 +69,7 @@ Code | Status
69
69
  `sender_constraint_missing` | 401
70
70
  `unauthenticated` | 401
71
71
  `credential_forbidden` | 403
72
+ `credential_scope_forbidden` | 403
72
73
  `delegation_scope_amplified` | 403
73
74
  `forbidden` | 403
74
75
  `force_engine_version_forbidden` | 403
@@ -96,22 +97,22 @@ Code | Status
96
97
  `replay_diverged_at_refusal` | 409
97
98
  `replay_memory_snapshot_unavailable` | 409
98
99
  `run_already_active` | 409
99
- `run_terminal` | 409
100
100
  `run_state_conflict` | 409
101
+ `run_terminal` | 409
101
102
  `version_conflict` | 409
102
103
  `workspace_conflict` | 409
103
104
  `interrupt_cancelled` | 410
104
105
  `interrupt_expired` | 410
105
- `workspace_too_large` | 413
106
106
  `payload_too_large` | 413
107
+ `workspace_too_large` | 413
107
108
  `unsupported_media_type` | 415
108
109
  `capability_not_provided` | 422
109
110
  `capability_required` | 422
110
111
  `credential_required` | 422
111
112
  `envelope_invalid` | 422
112
113
  `envelope_refusal` | 422
113
- `fork_point_invalid` | 422
114
114
  `envelope_truncation_unrecoverable` | 422
115
+ `fork_point_invalid` | 422
115
116
  `loop_limit_exceeded` | 422
116
117
  `mcp_mrtr_rounds_exceeded` | 422
117
118
  `pack_runtime_requirement_unmet` | 422
@@ -125,8 +126,8 @@ Code | Status
125
126
  `rate_limited` | 429
126
127
  `event_type_unmapped` | 500
127
128
  `internal_error` | 500
128
- `payload_unprojectable` | 500
129
129
  `pack_load_failure` | 500
130
+ `payload_unprojectable` | 500
130
131
  `credential_unavailable` | 501
131
132
  `pack_registry_unreachable` | 503
132
- `runner_unavailable` | 503
133
+ `runner_unavailable` | 503
@@ -2,7 +2,7 @@
2
2
  "$schema": "https://openwop.dev/spec/v2/errors.schema.json",
3
3
  "$comment": "RFC 0171 §B.1 — the error registry: one row per code {code, httpStatus, retriable, details, since, deprecated?}. schemas/v2/error-envelope.schema.json is GENERATED from it (scripts/generate-error-envelope.mjs). Retry timing lives in Retry-After only (§B.2). statusSource records whether the status was stated in v1 prose, a v1 convention, or decided here. details is null until a code's details schema is registered (a null row means details is an open object for that code — closure over details is the RFC 0171 Phase 3 follow-up G-row).",
4
4
  "version": "2.0",
5
- "updated": "2026-09-17",
5
+ "updated": "2026-09-18",
6
6
  "vendorCodePattern": "^(?!openwop\\.)[a-z][a-z0-9]*(-[a-z0-9]+)*\\.[a-z][a-z0-9_]*$",
7
7
  "rows": [
8
8
  {
@@ -360,6 +360,15 @@
360
360
  "since": "1.0",
361
361
  "source": "spec/v1/rest-endpoints.md §Error response shape"
362
362
  },
363
+ {
364
+ "code": "credential_scope_forbidden",
365
+ "httpStatus": 403,
366
+ "statusSource": "v1 prose",
367
+ "retriable": false,
368
+ "details": null,
369
+ "since": "1.0",
370
+ "source": "spec/v1/capabilities.md §B.8"
371
+ },
363
372
  {
364
373
  "code": "delegation_scope_amplified",
365
374
  "httpStatus": 403,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$comment": "RFC 0172 §D.1 — the one release identity the v2 artifacts derive from. `version` is the next corpus tag `v<version>` (the publish workflow's coordinated-release tag pattern `v*`; RFC 0172's `openwop/v2.<minor>.<patch>` spelling is amended to this at its flip). api/v2/*.yaml info.version, the suite's 2.x version and @openwop/spec-artifacts read it. Bumped by the release PR that cuts the tag, never by hand elsewhere.",
3
- "version": "2.8.2",
4
- "corpusTag": "v2.8.2",
3
+ "version": "2.8.3",
4
+ "corpusTag": "v2.8.3",
5
5
  "updated": "2026-09-18"
6
6
  }