@openwop/spec-artifacts 2.0.0-rc.51 → 2.0.0-rc.53
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 +9 -9
- package/api/seams-v2.yaml +1 -1
- package/api/v2/asyncapi.yaml +1 -1
- package/api/v2/openapi.yaml +1 -1
- package/package.json +1 -1
- package/schemas/v2/run-event-payloads.schema.json +13 -4
- package/spec/v1/core-standard-manifest.json +2 -2
- package/spec/v2/id-field-bindings.json +4 -3
- package/spec/v2/release.json +1 -1
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.
|
|
4
|
+
"version": "2.0.0-rc.53",
|
|
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": "
|
|
13
|
-
"api/v2/asyncapi.yaml": "
|
|
14
|
-
"api/v2/openapi.yaml": "
|
|
12
|
+
"api/seams-v2.yaml": "44b449eba2eb915b84aadf3c3d0f06bdf7e0b8ade2952b6a17711459d7b3999e",
|
|
13
|
+
"api/v2/asyncapi.yaml": "6e4ad967752e5c6e87c48f656f4f4cbe3f85423faebc69ab60bd3bf9bf2b329e",
|
|
14
|
+
"api/v2/openapi.yaml": "aa8ee2c55604517ac9b2ac7923ad8a957f9fa4bc331bf1b91cdd5236933d6921",
|
|
15
15
|
"api/v2/redocly.yaml": "1e66b60e6118ad11a823bb620678be464d99dfe50a40e3e6f93ec9429b88b34c",
|
|
16
16
|
"schemas/README.md": "0c0b737ffcf8f30e7d2809cec8a498232de710f41443212922ad8337cdde0b51",
|
|
17
17
|
"schemas/a2a-task-state.schema.json": "c9365918f993f943b4b619d42551eb066a1ed33a08d895d51b395432a5b1f1bc",
|
|
@@ -169,7 +169,7 @@
|
|
|
169
169
|
"schemas/v2/residency.schema.json": "af2658a7104cbcacd0e20a91226271c4a77f91ef46ae97612768fe743e6091d8",
|
|
170
170
|
"schemas/v2/run-ancestry-response.schema.json": "907e36341ba83a2147a5d76963950b6dcd47506b663ecbccae9dfa553f3724d3",
|
|
171
171
|
"schemas/v2/run-diff-response.schema.json": "6ab6cd265dc7e0a2086c6659c46aa0e7b43e6302949f0adac5d7deb1c7c0ecd3",
|
|
172
|
-
"schemas/v2/run-event-payloads.schema.json": "
|
|
172
|
+
"schemas/v2/run-event-payloads.schema.json": "3a7161af78b0dd2730309371f5ea8b889d92a37c708db05e4354209f12ffbe30",
|
|
173
173
|
"schemas/v2/run-event.schema.json": "1a9946374af9323b71635d00fed22abe02c300fa2cf3ae3e9c30f3e553e408ec",
|
|
174
174
|
"schemas/v2/run-options.schema.json": "ff240805478158cbd2f661979c5eb4f5eda11f9c053b7ba587cb0211a9252d74",
|
|
175
175
|
"schemas/v2/run-orchestrator-decided-event.schema.json": "bb76e15ff72e669f12938684033b55dc567470e1a378e19ffc3fa0e4034ab5a7",
|
|
@@ -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": "
|
|
202
|
+
"spec/v1/core-standard-manifest.json": "c7f3665189cd982747f26b98dfa977293c0c359a1fb986a3a5a3b8b95f9edd83",
|
|
203
203
|
"spec/v1/deprecations.json": "1d5acb69a9b8ccb57275a95605f74aef1d920685f8407c9d382a46b59dc803bb",
|
|
204
204
|
"spec/v1/deprecations.schema.json": "18c87e78bedc210431f795ae44c5b5d202f2f3317850d5cf86867d4f1fa1cdfb",
|
|
205
205
|
"spec/v1/event-codemap.json": "3da60d884157793a360da532a9fcbbfb5285636db325a74cec94b34622186d97",
|
|
@@ -226,12 +226,12 @@
|
|
|
226
226
|
"spec/v2/facets/replay.schema.json": "0a5aefb0108c708c6794fadd533cf256709704c4f16dbf44cd63fa8980c78018",
|
|
227
227
|
"spec/v2/facets/sandbox.schema.json": "e75f54486d387b2d089791aa93b5093cd1450f1920753a0f97fc23acdfe978ed",
|
|
228
228
|
"spec/v2/facets/webhooks.schema.json": "0b766033ef4b4c6c2ac6f9979a19843ba024d3a1d1576972dcb55aaba52f1b9a",
|
|
229
|
-
"spec/v2/id-field-bindings.json": "
|
|
229
|
+
"spec/v2/id-field-bindings.json": "d9d1f8e266660b581f11020b9511a65c677e026b1a71ada870682ad77e18555d",
|
|
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": "
|
|
233
|
+
"spec/v2/release.json": "6be17bd4ee80838e3ee85dd7372a88532835448832fccd6b7834a5f1f0c6b326",
|
|
234
234
|
"spec/v2/retention-floors.json": "eaf3722d95c79947af1d4269ef85117e126518c588cfcf1a2b21b97269f51624"
|
|
235
235
|
},
|
|
236
|
-
"corpusCommit": "
|
|
236
|
+
"corpusCommit": "693550295565e5f6072c9a852a3ea499275396fb"
|
|
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.
|
|
4
|
+
version: 2.0.0-rc.53
|
|
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
|
package/api/v2/asyncapi.yaml
CHANGED
|
@@ -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.
|
|
4
|
+
version: 2.0.0-rc.53
|
|
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
|
package/api/v2/openapi.yaml
CHANGED
|
@@ -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.
|
|
4
|
+
version: 2.0.0-rc.53
|
|
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.0.0-rc.
|
|
3
|
+
"version": "2.0.0-rc.53",
|
|
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": {
|
|
@@ -1106,7 +1106,7 @@
|
|
|
1106
1106
|
},
|
|
1107
1107
|
"runPaused": {
|
|
1108
1108
|
"type": "object",
|
|
1109
|
-
"description": "Emitted when the run is paused (manual pause / cap.breached pause-and-checkpoint).",
|
|
1109
|
+
"description": "Emitted when the run is paused (manual pause / cap.breached pause-and-checkpoint). runs.md \u00a7Pause and resume: with drainPolicy immediate the snapshot is taken between events \u2014 the interrupted attempt has no terminal node event and a host MUST NOT record node.failed for it; the resumed run's node.started is a fresh attempt. interruptedNodeId / interruptedAttempt name the attempt that was cut, for debug consumers.",
|
|
1110
1110
|
"properties": {
|
|
1111
1111
|
"reason": {
|
|
1112
1112
|
"type": "string"
|
|
@@ -1114,10 +1114,19 @@
|
|
|
1114
1114
|
"drainPolicy": {
|
|
1115
1115
|
"type": "string",
|
|
1116
1116
|
"enum": [
|
|
1117
|
-
"
|
|
1118
|
-
"
|
|
1117
|
+
"immediate",
|
|
1118
|
+
"drain-current-node"
|
|
1119
1119
|
],
|
|
1120
|
-
"description": "
|
|
1120
|
+
"description": "Echoes the pauseRun request's drainPolicy (runs.md \u00a7Pause and resume; api/v2/openapi.yaml). rc.52: the enum was seeded as drain | interrupt with a provenance note pointing at v1 text that never said it; v1's event carries no drainPolicy."
|
|
1121
|
+
},
|
|
1122
|
+
"interruptedNodeId": {
|
|
1123
|
+
"$ref": "ids.schema.json#/$defs/nodeId",
|
|
1124
|
+
"description": "With drainPolicy immediate: the node whose attempt was cut between events. Absent when nothing was executing."
|
|
1125
|
+
},
|
|
1126
|
+
"interruptedAttempt": {
|
|
1127
|
+
"type": "integer",
|
|
1128
|
+
"minimum": 1,
|
|
1129
|
+
"description": "The attempt number that was cut; the resumed run's node.started begins a fresh attempt."
|
|
1121
1130
|
}
|
|
1122
1131
|
},
|
|
1123
1132
|
"additionalProperties": false
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"provenance": {
|
|
5
5
|
"suite": {
|
|
6
6
|
"package": "@openwop/openwop-conformance",
|
|
7
|
-
"version": "2.0.0-rc.
|
|
7
|
+
"version": "2.0.0-rc.53"
|
|
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": "
|
|
422
|
+
"digest": "cc2729defac0fe2b7d3602f44a2837b7491e39c7a204285b39d53602c34ed3f2"
|
|
423
423
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
-
"//": "The explicit coverage map for spec/v2/core/identity.md
|
|
3
|
+
"//": "The explicit coverage map for spec/v2/core/identity.md §5 ('every id field in every v2 schema and every api/v2/openapi.yaml parameter and response body MUST $ref its kind'). It exists because the obvious check — fire when a property NAME equals a $def name — enforces §5 only where naming happens to align. 88 *Id properties live in schemas/v2/; only 20 share a name with a kind. childRunId sat as {type:string,minLength:1} in the same file where parentRunId was correctly $ref'd, so a child run's identifier carried no tenant segment for the mandatory 403 id_tenant_mismatch refusal to read. A name-matching check would have reported green over it. Every *Id property MUST appear here exactly once: under `bindings` (it IS that kind and MUST $ref it) or under `notAKind` (nothing in ids.schema.json governs it, with the reason). A property in neither fails the check, so a new id field cannot be added without someone deciding which it is. PLURAL ARRAYS: a `*Ids` property is covered through its `items` schema, which MUST $ref the kind. The first version of this map saw only `/Id$/`, and a tier-1 host found `POST /runs:bulk-cancel` taking runIds[] from the body untyped — every tenant-bound id a v2 client owned answered not_found, silently.",
|
|
4
4
|
"bindings": {
|
|
5
5
|
"agentId": "agentId",
|
|
6
6
|
"artifactTypeId": "typeId",
|
|
@@ -48,7 +48,8 @@
|
|
|
48
48
|
"triggerSubscriptionId": "subscriptionId",
|
|
49
49
|
"typeId": "typeId",
|
|
50
50
|
"workflowId": "workflowId",
|
|
51
|
-
"workspaceId": "workspaceId"
|
|
51
|
+
"workspaceId": "workspaceId",
|
|
52
|
+
"interruptedNodeId": "nodeId"
|
|
52
53
|
},
|
|
53
54
|
"notAKind": {
|
|
54
55
|
"annotationId": "no openwop id kind governs this surface; the grammar is the owning schema's own",
|
|
@@ -79,7 +80,7 @@
|
|
|
79
80
|
"memoryId": "no openwop id kind governs this surface; the grammar is the owning schema's own",
|
|
80
81
|
"mergedIds": "memory-entry ids (agentMemoryConsolidated); no openwop id kind governs memory entries",
|
|
81
82
|
"messageId": "no openwop id kind governs this surface; the grammar is the owning schema's own",
|
|
82
|
-
"nextWorkerIds": "a UNION
|
|
83
|
+
"nextWorkerIds": "a UNION — \"worker node-ids OR agent-ids\", so no single kind can bind it; binding to either would reject the other legitimate form",
|
|
83
84
|
"outputId": "no openwop id kind governs this surface; the grammar is the owning schema's own",
|
|
84
85
|
"pageId": "no openwop id kind governs this surface; the grammar is the owning schema's own",
|
|
85
86
|
"parentDepartmentId": "no openwop id kind governs this surface; the grammar is the owning schema's own",
|
package/spec/v2/release.json
CHANGED
|
@@ -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.
|
|
3
|
+
"version": "2.0.0-rc.53",
|
|
4
4
|
"corpusTag": null,
|
|
5
5
|
"updated": "2026-09-03"
|
|
6
6
|
}
|