@openwop/spec-artifacts 2.3.0 → 2.3.2

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.3.0",
5
- "corpusTag": "v2.3.0",
4
+ "version": "2.3.2",
5
+ "corpusTag": "v2.3.2",
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": "4d90674341e8de143a3149d58303ae79e46dc44a1b1287a779a4690885775f9e",
13
- "api/v2/asyncapi.yaml": "680960e1acaf412175cb57f5eaceb2bd42a443c216fb4f4be6394f7fc095f7cf",
14
- "api/v2/openapi.yaml": "7cdd4e2aa97d8b042df5f0d53943d56b83c1ad00f0c9687fa0ab9e8d9dc9d822",
12
+ "api/seams-v2.yaml": "7c79a7846a32c54f4281bf62dc00f7fa98d512da21d5665f29ab1e184eecb07e",
13
+ "api/v2/asyncapi.yaml": "ca998bb1cfc15d0f43ca113e329eec688fcaf8cfa058d9d146678baa6a7ae88b",
14
+ "api/v2/openapi.yaml": "107e30840cc96f0ba8ff01bc84614b4e6d5ca59502141b586acc1f9c67fc7ac1",
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": "72d3332fad8fa36d07439c830acf352eefc6da2379374faa2ebbe49e98b8cb08",
144
+ "schemas/v2/error-envelope.schema.json": "9c8f747e5bea81943d70e0930bc7d26586a4c3a3d90be77f46359b19b7e56cbe",
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": "307884e57946703b6f86ec283034bf56beb68bea4a000743ebbc9eebeed31b07",
@@ -169,7 +169,7 @@
169
169
  "schemas/v2/residency.schema.json": "3fd23c9732beb140504e81560fc426eb6764d547e56da5fb92c5a5c7bf04db3a",
170
170
  "schemas/v2/run-ancestry-response.schema.json": "334c17f2062dea62726ca1d07b8be3f169cdc422af843c1def5fb317039814c9",
171
171
  "schemas/v2/run-diff-response.schema.json": "8bdb2045c274580038bd74781f7d062f5049839797c164a89de4ed89edc53a74",
172
- "schemas/v2/run-event-payloads.schema.json": "72f48eacb8aa3ed9b2f33c33de1f993c4cff4e086f943fd5793a1bb73c42335d",
172
+ "schemas/v2/run-event-payloads.schema.json": "29dec16f0d40c9022c169d4d413742ddd775a3d8c895d3a60ccc093e2a872439",
173
173
  "schemas/v2/run-event.schema.json": "1a9946374af9323b71635d00fed22abe02c300fa2cf3ae3e9c30f3e553e408ec",
174
174
  "schemas/v2/run-list-response.schema.json": "c2dbc34768dcf64528914a213aa3cb55952e8e3e90a64b04a9423b2a19749d38",
175
175
  "schemas/v2/run-options.schema.json": "f0e9f494d80086c2ed2cf9fe87df54e5b4e66601699c4a1089f4edbc7ba58867",
@@ -200,8 +200,8 @@
200
200
  "schemas/workspace-file.schema.json": "464de85c2a068243084ee9c1d969bc7cd5d8f7948574e58450d6493c38a0e1e4",
201
201
  "spec/v1/alias-detectors.json": "fee4594ef49953953ffcd0b3813300067d16b3e65ebff2aac722034ac9b3f545",
202
202
  "spec/v1/capability-declaration-classes.json": "e7729aed5c4b4e1dd02abab0530f14cc95f5d4070fe51fb139e7f5cccefa00c6",
203
- "spec/v1/core-standard-manifest.json": "353689969f787aafdc836925f762fb988640e6cef14924bc0b6af7d7c02ed7a8",
204
- "spec/v1/deprecations.json": "a2022c2d6eb501bf406b5d75fe2d431a3fe0158e8509125d2453985eb1bf511a",
203
+ "spec/v1/core-standard-manifest.json": "bc852483ed0fe13b8d1898aa146794b05ab370d5c336bd26a8d25b25ae69b464",
204
+ "spec/v1/deprecations.json": "508071308e762c281807b487e8f3840a1a69b978071894593e18f2e2d3e4b5c0",
205
205
  "spec/v1/deprecations.schema.json": "18c87e78bedc210431f795ae44c5b5d202f2f3317850d5cf86867d4f1fa1cdfb",
206
206
  "spec/v1/event-codemap.json": "3da60d884157793a360da532a9fcbbfb5285636db325a74cec94b34622186d97",
207
207
  "spec/v1/event-codemap.schema.json": "d05933b2e88103aff51a2f774df97b9bda065e0fc88dbd9b114cc47a32189174",
@@ -216,8 +216,8 @@
216
216
  "spec/v2/core/capabilities.md": "c5107a4964e487c20bbb5254cfe1f706e0d9ba7e34da9070bc43b50b385e7948",
217
217
  "spec/v2/core/conformance.md": "622084e3c74c4549087f4d861b1bb98cec201a0c5aec23788d27f53a355fde3b",
218
218
  "spec/v2/core/connection-packs.md": "1d759681e2962f5103228c52c45f24607ed4bb9ae73e30605f690c1d5a59e9ee",
219
- "spec/v2/core/errors.md": "74fdb5862f432a831cf0c2eadbe0c8cca6b2660ec578180ae33db54773a1df28",
220
- "spec/v2/core/events.md": "8162bb96730ef8a98b19eb180a0251a107fd629d993fe57345dacf81e53561ca",
219
+ "spec/v2/core/errors.md": "ad85fc830139e587f20deabf88297b91b1fb6ce31e80d5442624a650246ab16e",
220
+ "spec/v2/core/events.md": "20112f459e7f1bcab0e93fbfc2e28719ecd1435228e87c5476b9eaa691558603",
221
221
  "spec/v2/core/form-content-packs.md": "6ffaae85d4550be48dd53fb6e2959af8aceb35bd87c5343b722885084f197713",
222
222
  "spec/v2/core/headers.md": "2dd67d71673539e16612f09f3f2513a384f6566052d7cd8a00885885689854c2",
223
223
  "spec/v2/core/idempotency.md": "b86c352d964aebad532727f314e26ed2177d49de382076fa64d3162e2f56118d",
@@ -235,9 +235,10 @@
235
235
  "spec/v2/core/workflow-chain-packs.md": "ef2b07d2d99334eaec0cc370314e2ad2f84ea58deb699e5d92e6e52d6056613f",
236
236
  "spec/v2/declaration.json": "a09bac61c1b825e4a77b5abc0f86f1f8c20c381e0650eb08c2f6d0ef0aaec1dc",
237
237
  "spec/v2/declaration.schema.json": "c86e3083fb9789c1958ecb4576cc6f71aa90e6f339521139238543ed08211dd4",
238
- "spec/v2/errors.json": "f179414a92f30b5dadf26e9e57699649a67324bd7186d5287647d17605d137d3",
238
+ "spec/v2/errors.json": "4ff032033f02d7e3fb4204581456408ba5e7642b438c1f349bbd1c264e63e419",
239
239
  "spec/v2/event-codemap.json": "37869a03cdfd8758b57e6f350641a6ebbd383231cebda51f5473ad85f94ab74c",
240
240
  "spec/v2/event-codemap.schema.json": "b173f2a9bcc0bf9b62a474ce3b91e1431d597e64fd1560fc58662cd8606eaf9c",
241
+ "spec/v2/ext/README.md": "c7dea12c48772047f18b111e73be1c236460e72d9bf98026351d148a2ac4f608",
241
242
  "spec/v2/ext/a2uiSurface/README.md": "176cb0542e1c236ffcd6d682536ba0081242684444e2dec790abd480a44a571e",
242
243
  "spec/v2/ext/brand/README.md": "1a80102a9cd766dcb6098c999e552af88f5b83c88951acde18d17cc0b29aa09d",
243
244
  "spec/v2/ext/canvas/README.md": "a2d5f28523753e8e85cc9042db39faf9207a2eebce1a8553be22e341f7ea58d9",
@@ -245,16 +246,16 @@
245
246
  "spec/v2/ext/coordination/README.md": "a193aa9a59a2d9ac8d2e9775e5be40c29b6f7476ffef35231dbab49377af9207",
246
247
  "spec/v2/ext/dataIntegration/README.md": "8361c626ed9f77dc48a3bcaa0c9f769cb6706632941014700f7683efe0918bd1",
247
248
  "spec/v2/ext/entities/README.md": "c3bf6c59ddf2255c22a522e689f6e7a11646fbcd309b17699b6cf69a4e2e0f91",
248
- "spec/v2/ext/grpc-transport/README.md": "7fa692715744d6573443f994c521cbff0bf0be2e81ffdbb01e42f58f32a3ffaf",
249
+ "spec/v2/ext/grpc-transport/README.md": "9913c3f5433b719533e0721af477917bf7a993372388aa800be8bff9d4f8e203",
249
250
  "spec/v2/ext/kanban/README.md": "6792926f7f0cb8a4dcb0acdedb86a1988574fb0b5de164b37159dfe3ba35f908",
250
251
  "spec/v2/ext/knowledge/README.md": "d2615320c7de4aec279f276381376a8881e962dd4e86b1435462d742dd00a52f",
251
252
  "spec/v2/ext/launchStudio/README.md": "bfe417e774689773f3bbced9fdfa0c18809577aa6040a1312d914c821beed026",
252
253
  "spec/v2/ext/messaging/README.md": "8a4702935483ce7900c0ee14793f9dfbeeb09d5e43f8943c946f8f94de2efa6f",
253
- "spec/v2/ext/portability/README.md": "d9caf3dd723212676a0dd7f847284ce8aa3f0f5ebd4b273580c34a260ece96d7",
254
- "spec/v2/ext/provider-idempotency/README.md": "c7620aadaf4e7ded997487c917e1583c8bc9ba20aa5353476d66f229207dbd1a",
254
+ "spec/v2/ext/portability/README.md": "7525fdc595b05dfd0b2bd22e2f7b3a13302164ebf49e4327c2e29e9da80766f4",
255
+ "spec/v2/ext/provider-idempotency/README.md": "5efa5b220e22d8f9a93918d20d3be0c698445d828693c8e487f37abc39bfca7c",
255
256
  "spec/v2/ext/provider-idempotency/registry.json": "5b5fecad604fb4ab38da39f5abe697a4e57b05406c398f8afeb377331b2bd965",
256
257
  "spec/v2/ext/restTransport/README.md": "b39f4d1ddbabd72dd945a39e90218d8413e46baea1269798b96dffb4e429cb4f",
257
- "spec/v2/ext/sandbox-runtime-notes/README.md": "36c5517082b1cce0f1ccec5153e4bea10144bba88503b3b023f920444f3c15e6",
258
+ "spec/v2/ext/sandbox-runtime-notes/README.md": "bd0c4ca4d0fbcba2ae948a02ddc768f50b08a33d9f0622efa1c9e2b7beab2969",
258
259
  "spec/v2/ext/webResearch/README.md": "941dfe8323fd536791167f9fc7d119dd4e165bb7937e3382a19f15cda3d9f19a",
259
260
  "spec/v2/facets/a2a.schema.json": "6b0bceddec6d18d5115aa7d04720a0cc1ad7a9a0a78f53c208b34becaba5d16e",
260
261
  "spec/v2/facets/aiProviders.schema.json": "0c76e48e5d487b5be3b3ab1f6512a4e206c840ee5087d1336c7d7e2853b58d03",
@@ -270,8 +271,8 @@
270
271
  "spec/v2/path-manifest.json": "a6f4e652e866889e8bde815874062f62929aee95dc8e58e7152c56adee262163",
271
272
  "spec/v2/peer-dependency-aliases.json": "d10299280abee08258502925bc327293ee413e0108cd6e6ec75ff6110653308d",
272
273
  "spec/v2/profiles.json": "0636f19fceae625390003a347e70ef4797d84766b5c24ce8a02cea52aadebca4",
273
- "spec/v2/release.json": "4dac86d9d990d76f5e0971eb5e1b55d366ad9372e07e68a67a4012dce56be377",
274
+ "spec/v2/release.json": "7b9a9aa90aa93dcf69076cd0a47c08043f6cf02b104280ab906deb0058c2caad",
274
275
  "spec/v2/retention-floors.json": "eaf3722d95c79947af1d4269ef85117e126518c588cfcf1a2b21b97269f51624"
275
276
  },
276
- "corpusCommit": "c4d3f8528dc380210f87a94d595fff246775c00a"
277
+ "corpusCommit": "bad44bb22b53e538ec05e867299c4c2dddbfee5f"
277
278
  }
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.3.0
4
+ version: 2.3.2
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.3.0
4
+ version: 2.3.2
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.3.0
4
+ version: 2.3.2
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.3.0",
3
+ "version": "2.3.2",
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). 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).",
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).",
6
6
  "type": "object",
7
7
  "additionalProperties": false,
8
8
  "required": [
@@ -107,6 +107,7 @@
107
107
  "client_version_unsupported",
108
108
  "rate_limited",
109
109
  "event_type_unmapped",
110
+ "payload_unprojectable",
110
111
  "internal_error",
111
112
  "pack_load_failure",
112
113
  "credential_unavailable",
@@ -164,6 +165,36 @@
164
165
  "additionalProperties": true,
165
166
  "x-openwop-error": "run_state_conflict"
166
167
  },
168
+ {
169
+ "type": "object",
170
+ "additionalProperties": false,
171
+ "required": [
172
+ "type",
173
+ "keys"
174
+ ],
175
+ "properties": {
176
+ "type": {
177
+ "type": "string",
178
+ "description": "the event type whose payload could not be projected"
179
+ },
180
+ "keys": {
181
+ "type": "array",
182
+ "items": {
183
+ "type": "string"
184
+ },
185
+ "minItems": 1,
186
+ "description": "the property names the host could neither carry nor seat"
187
+ },
188
+ "eventId": {
189
+ "$ref": "ids.schema.json#/$defs/eventId"
190
+ },
191
+ "sequence": {
192
+ "type": "integer",
193
+ "minimum": 0
194
+ }
195
+ },
196
+ "x-openwop-error": "payload_unprojectable"
197
+ },
167
198
  {
168
199
  "type": "object",
169
200
  "additionalProperties": true
@@ -264,6 +295,7 @@
264
295
  "client_version_unsupported": 426,
265
296
  "rate_limited": 429,
266
297
  "event_type_unmapped": 500,
298
+ "payload_unprojectable": 500,
267
299
  "internal_error": 500,
268
300
  "pack_load_failure": 500,
269
301
  "credential_unavailable": 501,
@@ -1444,7 +1444,7 @@
1444
1444
  "action": {
1445
1445
  "type": "string",
1446
1446
  "enum": ["accept", "reject", "refine", "edit-accept", "timeout"],
1447
- "description": "RFC 0183 \u00a7A.1 \u2014 the ApprovalResume action applied at resolution (interrupt.md \u00a7ApprovalResume). OPTIONAL: this def serves all eight interrupt kinds and only approval-kind resolutions have an action. A host recording `refine` MUST carry `refineFeedback`; one recording `edit-accept` MUST carry `editedArtifactData`."
1447
+ "description": "RFC 0183 \u00a7A.1 \u2014 the ApprovalResume action applied at resolution (interrupt.md \u00a7ApprovalResume). OPTIONAL: this def serves all eight interrupt kinds and only approval-kind resolutions have an action. A host recording `refine` MUST carry `refineFeedback`; one recording `edit-accept` MUST carry `editedArtifactData`. RECORD-ONLY VALUE: `timeout` is minted by the host's own timer branch and MUST NOT be accepted on a resume request — v1 interrupt.md:165 already says it is host-internal, a sentinel and not a resume. A client that could post it could disguise a decision as expiry while `resolvedBy` named them; on a timeout row `resolvedBy` is the host's subject or absent (RFC 0183 §Unresolved 1, resolved 2026-09-17; witnessed by a tier-2 host's route tests)."
1448
1448
  },
1449
1449
  "refineFeedback": {
1450
1450
  "type": "object",
@@ -4,7 +4,7 @@
4
4
  "provenance": {
5
5
  "suite": {
6
6
  "package": "@openwop/openwop-conformance",
7
- "version": "2.3.0"
7
+ "version": "2.3.2"
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": "925375b1021d4f14d902495b55fbef4e3f59444cff8e48c33c195b6cd229717d"
422
+ "digest": "8ca0ec1b640633e708fa9d8600e9bb8b7a66ca0edfb4b0945f01ba26726eb02c"
423
423
  }
@@ -66,7 +66,8 @@
66
66
  "file": "spec/v1/profiles.md",
67
67
  "token": "alias `openwop-core` (deprecated)"
68
68
  }
69
- ]
69
+ ],
70
+ "removalTrigger": "v2.0-cut"
70
71
  },
71
72
  {
72
73
  "id": "openwop.deprecation.channel-prefix-conventions",
@@ -84,7 +85,8 @@
84
85
  "file": "spec/v1/channels-and-reducers.md",
85
86
  "token": "the prefix conventions become a back-compat layer that the spec deprecates over time"
86
87
  }
87
- ]
88
+ ],
89
+ "removalTrigger": "v2.0-cut"
88
90
  },
89
91
  {
90
92
  "id": "openwop.deprecation.a2a-bare-supported",
@@ -101,7 +103,8 @@
101
103
  "file": "spec/v1/a2a-integration.md",
102
104
  "token": "`supported: true` without `protocolVersions` is deprecate"
103
105
  }
104
- ]
106
+ ],
107
+ "removalTrigger": "v2.0-cut"
105
108
  },
106
109
  {
107
110
  "id": "openwop.deprecation.mcp-bare-supported",
@@ -118,7 +121,8 @@
118
121
  "file": "spec/v1/mcp-integration.md",
119
122
  "token": "Unqualified `supported: true` is deprecated"
120
123
  }
121
- ]
124
+ ],
125
+ "removalTrigger": "v2.0-cut"
122
126
  },
123
127
  {
124
128
  "id": "openwop.deprecation.config-output-artifact-type",
@@ -135,7 +139,8 @@
135
139
  "file": "schemas/workflow-definition.schema.json",
136
140
  "token": "replaces the deprecated config.outputArtifactType bag"
137
141
  }
138
- ]
142
+ ],
143
+ "removalTrigger": "v2.0-cut"
139
144
  },
140
145
  {
141
146
  "id": "openwop.deprecation.config-chat-card",
@@ -152,7 +157,8 @@
152
157
  "file": "schemas/workflow-definition.schema.json",
153
158
  "token": "replaces the deprecated config.chatCard bag entry"
154
159
  }
155
- ]
160
+ ],
161
+ "removalTrigger": "v2.0-cut"
156
162
  },
157
163
  {
158
164
  "id": "openwop.deprecation.auth-subject-linking-flag",
@@ -173,7 +179,8 @@
173
179
  "file": "RFCS/0164-mandatory-subject-linking.md",
174
180
  "token": "deprecated toward v2"
175
181
  }
176
- ]
182
+ ],
183
+ "removalTrigger": "v2.0-cut"
177
184
  },
178
185
  {
179
186
  "id": "openwop.deprecation.certification-bundle-v1",
@@ -194,7 +201,8 @@
194
201
  "file": "COMPATIBILITY.md",
195
202
  "token": "ceases to substantiate a new certification after the 90-day migration window"
196
203
  }
197
- ]
204
+ ],
205
+ "removalTrigger": "v2.0-cut"
198
206
  },
199
207
  {
200
208
  "id": "openwop.deprecation.capabilities-etag-header",
@@ -238,7 +246,8 @@
238
246
  "file": "spec/v1/capabilities.md",
239
247
  "token": "contractProvenance"
240
248
  }
241
- ]
249
+ ],
250
+ "removalTrigger": "v2.0-cut"
242
251
  },
243
252
  {
244
253
  "id": "openwop.deprecation.webhook-x-header-family",
@@ -260,7 +269,8 @@
260
269
  "file": "RFCS/0165-v2-preparation-wire-shapes.md",
261
270
  "token": "\u00a7C.1 Webhook headers"
262
271
  }
263
- ]
272
+ ],
273
+ "removalTrigger": "v2.0-cut"
264
274
  },
265
275
  {
266
276
  "id": "openwop.deprecation.interrupt-token-409-410-overlap",
@@ -282,7 +292,8 @@
282
292
  "file": "spec/v1/interrupt-profiles.md",
283
293
  "token": "MUST return `410"
284
294
  }
285
- ]
295
+ ],
296
+ "removalTrigger": "v2.0-cut"
286
297
  },
287
298
  {
288
299
  "id": "openwop.deprecation.engine-version-type-split",
@@ -304,7 +315,8 @@
304
315
  "file": "schemas/capabilities.schema.json",
305
316
  "token": "\"engineVersion\""
306
317
  }
307
- ]
318
+ ],
319
+ "removalTrigger": "v2.0-cut"
308
320
  },
309
321
  {
310
322
  "id": "openwop.deprecation.poll-cursor-since",
@@ -322,7 +334,8 @@
322
334
  "file": "spec/v1/version-negotiation.md",
323
335
  "token": "hosts MAY also accept `since`"
324
336
  }
325
- ]
337
+ ],
338
+ "removalTrigger": "v2.0-cut"
326
339
  },
327
340
  {
328
341
  "id": "openwop.deprecation.custom-request-headers-x-family",
@@ -348,7 +361,8 @@
348
361
  "file": "api/openapi.yaml",
349
362
  "token": "X-Pack-Sha"
350
363
  }
351
- ]
364
+ ],
365
+ "removalTrigger": "v2.0-cut"
352
366
  },
353
367
  {
354
368
  "id": "openwop.deprecation.replay-fork-boolean",
@@ -369,7 +383,8 @@
369
383
  "file": "spec/v1/capabilities.md",
370
384
  "token": "modes"
371
385
  }
372
- ]
386
+ ],
387
+ "removalTrigger": "v2.0-cut"
373
388
  },
374
389
  {
375
390
  "id": "openwop.deprecation.debug-bundle-seq",
@@ -386,7 +401,8 @@
386
401
  "file": "schemas/debug-bundle.schema.json",
387
402
  "token": "Legacy alias for `sequence`"
388
403
  }
389
- ]
404
+ ],
405
+ "removalTrigger": "v2.0-cut"
390
406
  },
391
407
  {
392
408
  "id": "openwop.deprecation.credential-provider-key",
@@ -403,7 +419,8 @@
403
419
  "file": "spec/v1/node-packs.md",
404
420
  "token": "credentialProvider"
405
421
  }
406
- ]
422
+ ],
423
+ "removalTrigger": "v2.0-cut"
407
424
  },
408
425
  {
409
426
  "id": "openwop.deprecation.manifest-public-key-ref",
@@ -420,7 +437,8 @@
420
437
  "file": "schemas/registry-version-manifest.schema.json",
421
438
  "token": "publicKeyRef"
422
439
  }
423
- ]
440
+ ],
441
+ "removalTrigger": "v2.0-cut"
424
442
  },
425
443
  {
426
444
  "id": "openwop.deprecation.legacy-interrupt-payloads",
@@ -441,7 +459,8 @@
441
459
  "file": "schemas/run-event-payloads.schema.json",
442
460
  "token": "clarificationRequested"
443
461
  }
444
- ]
462
+ ],
463
+ "removalTrigger": "v2.0-cut"
445
464
  },
446
465
  {
447
466
  "id": "openwop.deprecation.a2a-0-3-legacy-profile",
@@ -462,7 +481,8 @@
462
481
  "file": "RFCS/0152-a2a-1-0-versioned-composition.md",
463
482
  "token": "legacy"
464
483
  }
465
- ]
484
+ ],
485
+ "removalTrigger": "v2.0-cut"
466
486
  },
467
487
  {
468
488
  "id": "openwop.deprecation.mcp-2025-06-18-legacy-profile",
@@ -483,7 +503,8 @@
483
503
  "file": "RFCS/0153-mcp-2026-07-28-versioned-composition.md",
484
504
  "token": "legacy"
485
505
  }
486
- ]
506
+ ],
507
+ "removalTrigger": "v2.0-cut"
487
508
  },
488
509
  {
489
510
  "id": "openwop.deprecation.sdk-webhook-signature-header",
@@ -500,7 +521,8 @@
500
521
  "file": "RFCS/0165-v2-preparation-wire-shapes.md",
501
522
  "token": "openwop-Webhook-Signature"
502
523
  }
503
- ]
524
+ ],
525
+ "removalTrigger": "v2.0-cut"
504
526
  },
505
527
  {
506
528
  "id": "openwop.deprecation.undeclared-host-extension-families",
@@ -518,7 +540,8 @@
518
540
  "file": "spec/v1/capability-declaration-classes.json",
519
541
  "token": "\"class\": \"extension\""
520
542
  }
521
- ]
543
+ ],
544
+ "removalTrigger": "v2.0-cut"
522
545
  },
523
546
  {
524
547
  "id": "openwop.deprecation.v1-path-prefix",
@@ -536,19 +559,20 @@
536
559
  "file": "spec/v1/rest-endpoints.md",
537
560
  "token": "All paths under `/v1/` are versioned"
538
561
  }
539
- ]
562
+ ],
563
+ "removalTrigger": "v2.0-cut"
540
564
  },
541
565
  {
542
566
  "id": "openwop.deprecation.gap-local-alias",
543
- "status": "proposed",
567
+ "status": "deprecated",
544
568
  "surface": "the per-RFC `G<n>` local gap id as the register's ID column",
545
569
  "kind": "prose-convention",
546
- "deprecatedIn": null,
570
+ "deprecatedIn": "RFC 0178 (v2.0)",
547
571
  "authority": "RFC 0178 \u00a7B.2 (the `openwop.gap.<rfc>.<n>` id is canonical; `G<n>` is an alias until 2.1)",
548
572
  "removeIn": "2.1",
549
573
  "replacement": "`openwop.gap.<rfc>.<n>` in the ID column",
550
574
  "codemod": null,
551
- "note": "Proposed: the alias survives through 2.0 so v1 register citations keep resolving; removed at 2.1.",
575
+ "note": "Proposed: the alias survives through 2.0 so v1 register citations keep resolving; removed at 2.1. Status flipped proposed\u2192deprecated 2026-09-17: the surface has no occurrence in spec/v2, schemas/v2 or api/v2 (token grep, W7).",
552
576
  "sources": [
553
577
  {
554
578
  "file": "spec/v1/gaps.schema.json",
@@ -572,7 +596,8 @@
572
596
  "file": "schemas/registry-version-manifest.schema.json",
573
597
  "token": "Advisory: this version is deprecated"
574
598
  }
575
- ]
599
+ ],
600
+ "removalTrigger": "v2.0-cut"
576
601
  },
577
602
  {
578
603
  "id": "openwop.deprecation.interrupt-token-unversioned",
@@ -590,7 +615,8 @@
590
615
  "file": "spec/v1/interrupt.md",
591
616
  "token": "hmac_sha256(secret, payload)"
592
617
  }
593
- ]
618
+ ],
619
+ "removalTrigger": "v2.0-cut"
594
620
  },
595
621
  {
596
622
  "id": "openwop.deprecation.error-details-retry-after-spellings",
@@ -612,7 +638,8 @@
612
638
  "file": "spec/v1/production-profile.md",
613
639
  "token": "retryAfter"
614
640
  }
615
- ]
641
+ ],
642
+ "removalTrigger": "v2.0-cut"
616
643
  },
617
644
  {
618
645
  "id": "openwop.deprecation.configurable-dotted-keys",
@@ -630,7 +657,8 @@
630
657
  "file": "spec/v1/run-options.md",
631
658
  "token": "ai.credentialRef"
632
659
  }
633
- ]
660
+ ],
661
+ "removalTrigger": "v2.0-cut"
634
662
  },
635
663
  {
636
664
  "id": "openwop.deprecation.security-opt-in-flags",
@@ -656,25 +684,27 @@
656
684
  "file": "schemas/capabilities.schema.json",
657
685
  "token": "approverRouting"
658
686
  }
659
- ]
687
+ ],
688
+ "removalTrigger": "v2.0-cut"
660
689
  },
661
690
  {
662
691
  "id": "openwop.deprecation.supported-transports-field",
663
- "status": "proposed",
692
+ "status": "deprecated",
664
693
  "surface": "`supportedTransports[]` at the discovery root (`rest | mcp | a2a | grpc`)",
665
694
  "kind": "discovery-field",
666
- "deprecatedIn": null,
695
+ "deprecatedIn": "RFC 0175 (v2.0)",
667
696
  "authority": "RFC 0175 \u00a7B.1 (REST is the wire; A2A and MCP are compositions with first-class facets; gRPC is demoted)",
668
697
  "removeIn": "2.0",
669
698
  "replacement": "none; `a2a.*` and `mcp.*` facets",
670
699
  "codemod": "openwop.codemod.discovery-document-v2",
671
- "note": "Proposed: nothing in the corpus reads the `mcp` or `a2a` members (profiles.md reads only `rest`).",
700
+ "note": "Proposed: nothing in the corpus reads the `mcp` or `a2a` members (profiles.md reads only `rest`). Status flipped proposed\u2192deprecated 2026-09-17: the surface has no occurrence in spec/v2, schemas/v2 or api/v2 (token grep, W7).",
672
701
  "sources": [
673
702
  {
674
703
  "file": "spec/v1/capabilities.md",
675
704
  "token": "supportedTransports"
676
705
  }
677
- ]
706
+ ],
707
+ "removalTrigger": "v2.0-cut"
678
708
  },
679
709
  {
680
710
  "id": "openwop.deprecation.grpc-transport-core",
@@ -692,7 +722,8 @@
692
722
  "file": "spec/v1/grpc-transport.md",
693
723
  "token": "REST + SSE remains the REQUIRED wire surface"
694
724
  }
695
- ]
725
+ ],
726
+ "removalTrigger": "v2.0-cut"
696
727
  },
697
728
  {
698
729
  "id": "openwop.deprecation.well-known-wop-alias",
@@ -732,7 +763,8 @@
732
763
  "file": "spec/v1/node-packs.md",
733
764
  "token": "`engines.openwop`"
734
765
  }
735
- ]
766
+ ],
767
+ "removalTrigger": "v2.0-cut"
736
768
  },
737
769
  {
738
770
  "id": "openwop.deprecation.pack-peer-dependency-aliases",
@@ -755,21 +787,22 @@
755
787
  },
756
788
  {
757
789
  "id": "openwop.deprecation.manifest-signing-method",
758
- "status": "proposed",
790
+ "status": "deprecated",
759
791
  "surface": "`signing.method: manual | ed25519 | sigstore` \u2014 two values the schema calls synonymous that the verifier treats as signatures over different bytes",
760
792
  "kind": "schema-field",
761
- "deprecatedIn": null,
793
+ "deprecatedIn": "RFC 0177 (v2.0)",
762
794
  "authority": "RFC 0177 \u00a7C.3 (one `signing.scheme: ed25519-canonical-json`)",
763
795
  "removeIn": "2.0",
764
796
  "replacement": "`signing.scheme`",
765
797
  "codemod": "openwop.codemod.pack-manifest-v2",
766
- "note": "Proposed: the codemod refuses `ed25519` and `sigstore` \u2014 those packs are re-signed in `registry/v2/`, never relabeled.",
798
+ "note": "Proposed: the codemod refuses `ed25519` and `sigstore` \u2014 those packs are re-signed in `registry/v2/`, never relabeled. Status flipped proposed\u2192deprecated 2026-09-17: the surface has no occurrence in spec/v2, schemas/v2 or api/v2 (token grep, W7).",
767
799
  "sources": [
768
800
  {
769
801
  "file": "schemas/registry-version-manifest.schema.json",
770
802
  "token": "synonymous in practice"
771
803
  }
772
- ]
804
+ ],
805
+ "removalTrigger": "v2.0-cut"
773
806
  },
774
807
  {
775
808
  "id": "openwop.deprecation.connection-provider-version-precedence",
@@ -787,25 +820,27 @@
787
820
  "file": "spec/v1/connection-packs.md",
788
821
  "token": "greater-than-or-equal to the built-in's"
789
822
  }
790
- ]
823
+ ],
824
+ "removalTrigger": "v2.0-cut"
791
825
  },
792
826
  {
793
827
  "id": "openwop.deprecation.seam-operations-in-canonical-api",
794
- "status": "proposed",
828
+ "status": "deprecated",
795
829
  "surface": "the nine `/v1/host/sample/*`, `/v1/host/workspace/files*` and `/v1/packs-test/*` seam/test operations in `api/openapi.yaml` and `spec/v1/operation-path-manifest.json`, and the `testSeams` discovery-flag proposals",
796
830
  "kind": "path",
797
- "deprecatedIn": null,
831
+ "deprecatedIn": "RFC 0168 (v2.0)",
798
832
  "authority": "RFC 0168 \u00a7C (seams are the profile `openwop-conformance-seams-v2` with `api/seams-v2.yaml`; forbidden from the capability namespace)",
799
833
  "removeIn": "2.0",
800
834
  "replacement": "`api/seams-v2.yaml`; `profiles[]` membership",
801
835
  "codemod": null,
802
- "note": "Proposed: a generated document, not a persisted artifact.",
836
+ "note": "Proposed: a generated document, not a persisted artifact. Status flipped proposed\u2192deprecated 2026-09-17: the surface has no occurrence in spec/v2, schemas/v2 or api/v2 (token grep, W7).",
803
837
  "sources": [
804
838
  {
805
839
  "file": "spec/v1/operation-path-manifest.json",
806
840
  "token": "/v1/host/sample/a2a/tasks/{taskId}"
807
841
  }
808
- ]
842
+ ],
843
+ "removalTrigger": "v2.0-cut"
809
844
  },
810
845
  {
811
846
  "id": "openwop.deprecation.coherence-scenarios-in-host-bundle",
@@ -823,7 +858,8 @@
823
858
  "file": "conformance/src/lib/scenario-disposition.ts",
824
859
  "token": "See lib/spec-coherence.ts for why not a new disposition value"
825
860
  }
826
- ]
861
+ ],
862
+ "removalTrigger": "v2.0-cut"
827
863
  },
828
864
  {
829
865
  "id": "openwop.deprecation.suite-vendored-corpus",
@@ -841,7 +877,8 @@
841
877
  "file": "conformance/README.md",
842
878
  "token": "The vendored contract is digest-checked"
843
879
  }
844
- ]
880
+ ],
881
+ "removalTrigger": "v2.0-cut"
845
882
  },
846
883
  {
847
884
  "id": "openwop.deprecation.certification-bundle-v2-open-root",