@openwop/spec-artifacts 2.0.0-rc.47 → 2.0.0-rc.49

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,7 +1,7 @@
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.0.0-rc.47",
4
+ "version": "2.0.0-rc.49",
5
5
  "corpusTag": null,
6
6
  "files": {
7
7
  "api/.redocly.lint-ignore.yaml": "bf5a8350b88a72fa43f59605ed8d903ed24b6cfccda5e45509c9f6ed9ee4e712",
@@ -9,9 +9,9 @@
9
9
  "api/grpc/openwop.proto": "c3e72bb17cba514ee98feb6434e6c9b6ea6795bfd086489ec69fd882dd1ad977",
10
10
  "api/openapi.yaml": "39081c59fb696159806b0f2f9a42e7e9ff830d622fcf2ad4159b21357580a955",
11
11
  "api/redocly.yaml": "b0604c89b2ca6d5076ec25725c539dad44a741a811fe524439ee6daef8baa09f",
12
- "api/seams-v2.yaml": "261192d83c24610ddc6608d1945a3c5ead744a217256215ddec1542fc8736fa4",
13
- "api/v2/asyncapi.yaml": "d88f8e208244ce79bc3cc43b4e531bb6b3ca366e3f3ccc1cccd4dbe611171db3",
14
- "api/v2/openapi.yaml": "48498431525577ad9057448140c7e75c426b3d040af95f751c591994b0832cef",
12
+ "api/seams-v2.yaml": "93ecc218d08555eeac0d652768b78050ae7a4847301ddc6664c7415ab12e038a",
13
+ "api/v2/asyncapi.yaml": "bec2259c5ce9ea7c0935093bdae856570b83d2242d5e298b0b6a8684424a7a83",
14
+ "api/v2/openapi.yaml": "fc4ee6fdf254f2b414038be709acaeaa6f283505ad8545d1ec6b53d83d1bea25",
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": "c08241b74e41f4e3524c25f1c611195ed0e79b49a8ecf63e304add67070bdce5",
144
+ "schemas/v2/error-envelope.schema.json": "2e09ac2c32a0c0b7098b0ffeaa2822b5dd82b69c23bb3c07d6be2053e2102b19",
145
145
  "schemas/v2/eval-summary.schema.json": "bcb165148531d33b7dc01de83da3a049d19ebbef6d12300b17a234c7b03d77d9",
146
146
  "schemas/v2/export-bundle.schema.json": "bd28905a7729437ab7f2ad8bb33e13a371b2bf5605a7eb2962a0d246de312d69",
147
147
  "schemas/v2/form-content-pack-manifest.schema.json": "307884e57946703b6f86ec283034bf56beb68bea4a000743ebbc9eebeed31b07",
@@ -171,7 +171,7 @@
171
171
  "schemas/v2/run-diff-response.schema.json": "6ab6cd265dc7e0a2086c6659c46aa0e7b43e6302949f0adac5d7deb1c7c0ecd3",
172
172
  "schemas/v2/run-event-payloads.schema.json": "10f56762616535d01f411afdd98a70ecafc0a961f77aa68cf164b1da458464b4",
173
173
  "schemas/v2/run-event.schema.json": "1a9946374af9323b71635d00fed22abe02c300fa2cf3ae3e9c30f3e553e408ec",
174
- "schemas/v2/run-options.schema.json": "6d6052596ab0f17acfb00fdfc89907da7724f952e5ffbe1f81d94ba23d4c77cd",
174
+ "schemas/v2/run-options.schema.json": "ff240805478158cbd2f661979c5eb4f5eda11f9c053b7ba587cb0211a9252d74",
175
175
  "schemas/v2/run-orchestrator-decided-event.schema.json": "bb76e15ff72e669f12938684033b55dc567470e1a378e19ffc3fa0e4034ab5a7",
176
176
  "schemas/v2/run-snapshot.schema.json": "0ee8a50c6be210db415a7c4345298e70a6ae3dd0dd764ccc514bc1c501437586",
177
177
  "schemas/v2/security-advisory.schema.json": "6a382f737730a738d634266315e9d335e5760020a0cdd9f30727c2f987a01770",
@@ -199,7 +199,7 @@
199
199
  "schemas/workspace-file.schema.json": "464de85c2a068243084ee9c1d969bc7cd5d8f7948574e58450d6493c38a0e1e4",
200
200
  "spec/v1/alias-detectors.json": "fee4594ef49953953ffcd0b3813300067d16b3e65ebff2aac722034ac9b3f545",
201
201
  "spec/v1/capability-declaration-classes.json": "e7729aed5c4b4e1dd02abab0530f14cc95f5d4070fe51fb139e7f5cccefa00c6",
202
- "spec/v1/core-standard-manifest.json": "c1c51901a9edea30480c4fe3948855043825fc95355385fcfcf052587efb7319",
202
+ "spec/v1/core-standard-manifest.json": "790bd9d6f00c2d258c0d66d56ed1aea0e0edf8d3b8d1ca7aa70db393b252ee48",
203
203
  "spec/v1/deprecations.json": "1d5acb69a9b8ccb57275a95605f74aef1d920685f8407c9d382a46b59dc803bb",
204
204
  "spec/v1/deprecations.schema.json": "18c87e78bedc210431f795ae44c5b5d202f2f3317850d5cf86867d4f1fa1cdfb",
205
205
  "spec/v1/event-codemap.json": "3da60d884157793a360da532a9fcbbfb5285636db325a74cec94b34622186d97",
@@ -213,7 +213,7 @@
213
213
  "spec/v1/spec-gaps.json": "6cc9962c6b969f632e07a78b52a4f61447ff579e2990cbae989866f584a86042",
214
214
  "spec/v2/declaration.json": "c15a6a8f08ebd326d1b60398d93d7f7d5abe5c1b8284874fdb13b59f44443210",
215
215
  "spec/v2/declaration.schema.json": "b0881a76228dfbd1b85a2ec7b7259a60197f768344535cdb475db6ff719b0e54",
216
- "spec/v2/errors.json": "c2dd3fa0401efa0dc78da3b21e32b58a89ed5114cebdde96d3eb999a702118f0",
216
+ "spec/v2/errors.json": "63583dec5a4b6de0bacc2894b0752b3da128a0afed80f3dc244e552bc0dd0e55",
217
217
  "spec/v2/event-codemap.json": "37869a03cdfd8758b57e6f350641a6ebbd383231cebda51f5473ad85f94ab74c",
218
218
  "spec/v2/event-codemap.schema.json": "ce2d0ca085d7668d7ef745d2560b385ec6881d24a6d4b47c49931986b2ba642d",
219
219
  "spec/v2/ext/provider-idempotency/registry.json": "5b5fecad604fb4ab38da39f5abe697a4e57b05406c398f8afeb377331b2bd965",
@@ -230,8 +230,8 @@
230
230
  "spec/v2/path-manifest.json": "034152e09b1458c66810d4050e20a273b2b9b8fe2d92b66e8b819477de58a1be",
231
231
  "spec/v2/peer-dependency-aliases.json": "d10299280abee08258502925bc327293ee413e0108cd6e6ec75ff6110653308d",
232
232
  "spec/v2/profiles.json": "5019ac8209540bfbeee9c3232530d4e599be0ab926d817ff48edcec8419eb209",
233
- "spec/v2/release.json": "a58243063a8b46f46653cd2a8eaf1916661e43e93094e680465d4c7241071de1",
233
+ "spec/v2/release.json": "0c1e10938fd53b0b4798e9ac7c92727c3d5c83643847cbb1da91a6920800f27f",
234
234
  "spec/v2/retention-floors.json": "eaf3722d95c79947af1d4269ef85117e126518c588cfcf1a2b21b97269f51624"
235
235
  },
236
- "corpusCommit": "ad53400d97752f80dd8115d534202329ed5e88df"
236
+ "corpusCommit": "67da501622b8d75dff385cb7f20ff8b96f6dd311"
237
237
  }
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.0.0-rc.47
4
+ version: 2.0.0-rc.49
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.0.0-rc.47
4
+ version: 2.0.0-rc.49
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.0.0-rc.47
4
+ version: 2.0.0-rc.49
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
@@ -90,8 +90,10 @@ paths:
90
90
  required: false
91
91
  schema:
92
92
  type: string
93
- description: RFC 0165 §C.2. Standard conditional request against the discovery document's `ETag`; a matching value
94
- SHOULD yield `304 Not Modified`.
93
+ description: 'RFC 0165 §C.2; runs.md §Snapshot. Standard conditional request against any resource that carries an
94
+ `ETag` the discovery document (capabilities.md §1) and the run snapshot (runs.md §Snapshot): a matching value
95
+ MUST yield `304 Not Modified` with no body, and the 304 carries `OpenWOP-Version` like every response (versioning.md
96
+ §1.4).'
95
97
  - $ref: '#/components/parameters/OpenWOPVersion'
96
98
  responses:
97
99
  '200':
@@ -350,13 +352,10 @@ paths:
350
352
  required: false
351
353
  schema:
352
354
  type: string
353
- description: 'RFC 0115. Conditional revalidation. When this carries the
354
-
355
- current `ETag`, the host responds `304 Not Modified` with no
356
-
357
- body (capability-gated on `restTransport.conditionalRunGet`).
358
-
359
- '
355
+ description: 'RFC 0165 §C.2; runs.md §Snapshot. Standard conditional request against any resource that carries an
356
+ `ETag` — the discovery document (capabilities.md §1) and the run snapshot (runs.md §Snapshot): a matching value
357
+ MUST yield `304 Not Modified` with no body, and the 304 carries `OpenWOP-Version` like every response (versioning.md
358
+ §1.4).'
360
359
  - $ref: '#/components/parameters/OpenWOPVersion'
361
360
  responses:
362
361
  '200':
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openwop/spec-artifacts",
3
- "version": "2.0.0-rc.47",
3
+ "version": "2.0.0-rc.49",
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 \u2014 published from the openwop/openwop corpus tag; the peer dependency @openwop/openwop-conformance digest-checks at start (RFC 0168 \u00a7D.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). 96 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). 97 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": [
@@ -80,6 +80,7 @@
80
80
  "replay_memory_snapshot_unavailable",
81
81
  "run_already_active",
82
82
  "run_terminal",
83
+ "run_state_conflict",
83
84
  "version_conflict",
84
85
  "workspace_conflict",
85
86
  "interrupt_cancelled",
@@ -124,9 +125,26 @@
124
125
  "minLength": 1
125
126
  },
126
127
  "details": {
127
- "type": "object",
128
- "additionalProperties": true,
129
- "description": "Error-specific contextual data. No code has registered a details schema yet (errors.json rows carry details: null); when one does, this becomes a oneOf discriminated on error."
128
+ "oneOf": [
129
+ {
130
+ "type": "object",
131
+ "required": [
132
+ "runStatus"
133
+ ],
134
+ "properties": {
135
+ "runStatus": {
136
+ "type": "string",
137
+ "description": "The run status that refused the transition (runs.md §Pause and resume)."
138
+ }
139
+ },
140
+ "additionalProperties": true,
141
+ "x-openwop-error": "run_state_conflict"
142
+ },
143
+ {
144
+ "type": "object",
145
+ "additionalProperties": true
146
+ }
147
+ ]
130
148
  }
131
149
  },
132
150
  "x-openwop-http-status": {
@@ -195,6 +213,7 @@
195
213
  "replay_memory_snapshot_unavailable": 409,
196
214
  "run_already_active": 409,
197
215
  "run_terminal": 409,
216
+ "run_state_conflict": 409,
198
217
  "version_conflict": 409,
199
218
  "workspace_conflict": 409,
200
219
  "interrupt_cancelled": 410,
@@ -17,7 +17,7 @@
17
17
  },
18
18
  "maxItems": 100,
19
19
  "uniqueItems": false,
20
- "description": "Free-form caller tags for filtering/correlation. Server SHOULD enforce maxItems=100 and per-tag maxLength=256."
20
+ "description": "Free-form caller tags for filtering/correlation. A host MUST NOT reject a tag on format and MUST answer 400 validation_error over maxItems=100 or per-tag maxLength=256 (runs.md §Run options)."
21
21
  },
22
22
  "metadata": {
23
23
  "type": "object",
@@ -4,7 +4,7 @@
4
4
  "provenance": {
5
5
  "suite": {
6
6
  "package": "@openwop/openwop-conformance",
7
- "version": "2.0.0-rc.47"
7
+ "version": "2.0.0-rc.49"
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": "96daf0ac9cb78fe829afacb184c680c880cdd835926691f66d2b800592bf9a33"
422
+ "digest": "8f19b1374c8ff2e0c0d69a57a751b60178b25ad6721b9eddf3f6bf7eb09bad35"
423
423
  }
@@ -590,6 +590,27 @@
590
590
  "since": "1.0",
591
591
  "source": "spec/v1/rest-endpoints.md (a mutation on a terminal run)"
592
592
  },
593
+ {
594
+ "code": "run_state_conflict",
595
+ "httpStatus": 409,
596
+ "statusSource": "v2 decision",
597
+ "retriable": false,
598
+ "details": {
599
+ "type": "object",
600
+ "required": [
601
+ "runStatus"
602
+ ],
603
+ "properties": {
604
+ "runStatus": {
605
+ "type": "string",
606
+ "description": "The run status that refused the transition (runs.md \u00a7Pause and resume)."
607
+ }
608
+ },
609
+ "additionalProperties": true
610
+ },
611
+ "since": "2.0",
612
+ "source": "spec/v2/core/runs.md \u00a7Pause and resume"
613
+ },
593
614
  {
594
615
  "code": "version_conflict",
595
616
  "httpStatus": 409,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$comment": "RFC 0172 \u00a7D.1 \u2014 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.0.0-rc.47",
3
+ "version": "2.0.0-rc.49",
4
4
  "corpusTag": null,
5
5
  "updated": "2026-09-03"
6
6
  }