@openwop/spec-artifacts 2.0.0-rc.10 → 2.0.0-rc.12
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/capabilities.schema.json +40 -1
- package/spec/v1/core-standard-manifest.json +2 -2
- package/spec/v1/extensions.json +3 -2
- 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.12",
|
|
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": "4e443d61b3466da934f5afea3253f5dff0f8131f7201eb9f6102aebcf9d9b238",
|
|
13
|
+
"api/v2/asyncapi.yaml": "39862fff36dcc6bafe779c56b4b1b7e5147bf5cc213a8ebee99320cefe41fe81",
|
|
14
|
+
"api/v2/openapi.yaml": "8ac2bf487ab382ce9063ede04daa0bdcbf14da28af6aceb5fa9daa10024795da",
|
|
15
15
|
"api/v2/redocly.yaml": "1e66b60e6118ad11a823bb620678be464d99dfe50a40e3e6f93ec9429b88b34c",
|
|
16
16
|
"schemas/README.md": "0c0b737ffcf8f30e7d2809cec8a498232de710f41443212922ad8337cdde0b51",
|
|
17
17
|
"schemas/a2a-task-state.schema.json": "c9365918f993f943b4b619d42551eb066a1ed33a08d895d51b395432a5b1f1bc",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"schemas/artifact-type-pack-manifest.schema.json": "13932ea58e819e01b3a0cc7a65590b70683dd5fe9208fc06c64c339943d3c4ce",
|
|
32
32
|
"schemas/audit-verify-result.schema.json": "e8fd013fb610ba5db27ab0113ec2eb18e7da5f9310dd3de2dd3dc87a259c21fe",
|
|
33
33
|
"schemas/budget-policy.schema.json": "3d4fe30ae129fe136ab9ece395f2a2a42a76360786b1b9a1d5f1cbc753eb5b39",
|
|
34
|
-
"schemas/capabilities.schema.json": "
|
|
34
|
+
"schemas/capabilities.schema.json": "b413e0235cad412081df09234237e0f322a85903b7411b91aaff54032e946671",
|
|
35
35
|
"schemas/certification-bundle-v2.schema.json": "2f85530dd04824a15810c94e96869362dee1e78396eca21fdd18e5501416bb7d",
|
|
36
36
|
"schemas/channel-presence-payload.schema.json": "f9d0ef4219814c2b765baf3e68cbe5eea2cb42379f516a93a0459dcd5f7db47e",
|
|
37
37
|
"schemas/channel-written-payload.schema.json": "54723a56bc5a35232f64544ca686ac1ac959a5fb05b32b2401facca6b3ef51a3",
|
|
@@ -198,12 +198,12 @@
|
|
|
198
198
|
"schemas/workspace-file.schema.json": "464de85c2a068243084ee9c1d969bc7cd5d8f7948574e58450d6493c38a0e1e4",
|
|
199
199
|
"spec/v1/alias-detectors.json": "fee4594ef49953953ffcd0b3813300067d16b3e65ebff2aac722034ac9b3f545",
|
|
200
200
|
"spec/v1/capability-declaration-classes.json": "e7729aed5c4b4e1dd02abab0530f14cc95f5d4070fe51fb139e7f5cccefa00c6",
|
|
201
|
-
"spec/v1/core-standard-manifest.json": "
|
|
201
|
+
"spec/v1/core-standard-manifest.json": "2fcd8083ac9a1ebf8ef0b83aebbcb9c19e4d217d54e46fa4db2c020494964da1",
|
|
202
202
|
"spec/v1/deprecations.json": "520d79927a8ed43ccf62c207a7cf6cf7b19b16e00bbbbdf0410667e939c19d85",
|
|
203
203
|
"spec/v1/deprecations.schema.json": "4cdbbb8eb9c0092913a5704c943880f0c8581bcf0f640a7df5a84105d53c8aee",
|
|
204
204
|
"spec/v1/event-codemap.json": "3da60d884157793a360da532a9fcbbfb5285636db325a74cec94b34622186d97",
|
|
205
205
|
"spec/v1/event-codemap.schema.json": "d52caf29071e3784d4c20259cdbd5a7b533986548a440bb632a80b82cadd7ea5",
|
|
206
|
-
"spec/v1/extensions.json": "
|
|
206
|
+
"spec/v1/extensions.json": "79a60754aa16cbdbdb604f8e5c00038af535a1690a4d07bd5ff7c38f0256a7bc",
|
|
207
207
|
"spec/v1/gaps.json": "96ca051cb20f1a669b355d67a89421c56fef28aa5e6710c9519f592f26af33a3",
|
|
208
208
|
"spec/v1/gaps.schema.json": "8fd83259f556553c9df0f53e7a82ca8c2a4771d471197f69b4e2ae0ceeacfd66",
|
|
209
209
|
"spec/v1/migrations.json": "8839497d6a4830b53fa7867014a8336f0d725ef2346352e54fb580b7947897af",
|
|
@@ -228,7 +228,7 @@
|
|
|
228
228
|
"spec/v2/path-manifest.json": "034152e09b1458c66810d4050e20a273b2b9b8fe2d92b66e8b819477de58a1be",
|
|
229
229
|
"spec/v2/peer-dependency-aliases.json": "d10299280abee08258502925bc327293ee413e0108cd6e6ec75ff6110653308d",
|
|
230
230
|
"spec/v2/profiles.json": "1f0ee40491131cf561ef19a0394c47ba476b4567514fe16befb6cada4a10a5a4",
|
|
231
|
-
"spec/v2/release.json": "
|
|
231
|
+
"spec/v2/release.json": "4f2df9ae2dc2975624da0cd2be429b4c6d4575de1c97bb860144f458063cc8ee"
|
|
232
232
|
},
|
|
233
|
-
"corpusCommit": "
|
|
233
|
+
"corpusCommit": "88ee26171cb6c6e2f4d74576e09a559099b5f284"
|
|
234
234
|
}
|
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.12
|
|
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.12
|
|
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.12
|
|
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.12",
|
|
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": {
|
|
@@ -1089,7 +1089,7 @@
|
|
|
1089
1089
|
"confidenceEscalationFloor": {
|
|
1090
1090
|
"type": "number",
|
|
1091
1091
|
"minimum": 0.5,
|
|
1092
|
-
"maximum": 1
|
|
1092
|
+
"maximum": 1,
|
|
1093
1093
|
"description": "RFC 0039 §A. Operator-declared confidence floor at or above the spec floor of 0.5; when an OrchestratorDecision carries `confidence` below this floor, the host MUST escalate via a `clarify` or `escalate` interrupt instead of executing the decision. Absent: the spec floor 0.5 applies. Values < 0.5 are non-conformant; values > 1.0 are nonsense. Applies only when `version >= 2`."
|
|
1094
1094
|
},
|
|
1095
1095
|
"confidenceEscalationInterruptKind": {
|
|
@@ -4154,6 +4154,45 @@
|
|
|
4154
4154
|
"description": "RFC 0114. Host delivers RFC 6902 (`a2ui-surface-delta-frame.schema.json`) delta frames over the run event stream to subscribers that negotiate `?a2uiDelta=1`; the full surface is materialized for everyone else, the event-log read, and replay. The recorded `ui.a2ui-surface` envelope stays full. The consumer re-validates the post-patch surface against the closed `catalogVersion` catalog before render and falls back fail-closed on any apply/validation failure (the host then re-materializes full)."
|
|
4155
4155
|
}
|
|
4156
4156
|
}
|
|
4157
|
+
},
|
|
4158
|
+
"signingKeys": {
|
|
4159
|
+
"type": "array",
|
|
4160
|
+
"description": "RFC 0168 §E.2, v1.x additive half (the same shape RFC 0179 used for root `preferredVersion`). The public keys this host signs certification bundles with; a bundle signature names a `keyId` and a verifier resolves it HERE. OPTIONAL in v1.x. It belongs on the v1 root and not only the v2 root because a certification bundle is v3 REGARDLESS OF MAJOR: under the one-package decision (RFC 0168 §D.3) a v1 host measured by a 2.x suite at `--target-major 1` emits a v3 bundle whose signature needs attribution exactly as much as a v2 host does, and a v1-only host has only this document to hand a verifier. Without it, every v1 host bundle is permanently unattributable: the signature attests INTEGRITY only — that the bundle was not altered after signing — and says nothing about who signed it, because a signer can mint a keypair and a key id at will. A host that publishes no key MUST NOT be read as having made a verifiable claim.",
|
|
4161
|
+
"items": {
|
|
4162
|
+
"type": "object",
|
|
4163
|
+
"required": [
|
|
4164
|
+
"keyId",
|
|
4165
|
+
"alg",
|
|
4166
|
+
"publicKey"
|
|
4167
|
+
],
|
|
4168
|
+
"properties": {
|
|
4169
|
+
"keyId": {
|
|
4170
|
+
"type": "string",
|
|
4171
|
+
"pattern": "^[A-Za-z0-9._~-]{1,128}$",
|
|
4172
|
+
"description": "The identifier a bundle signature carries in `signature.keyId`. Unique within this array."
|
|
4173
|
+
},
|
|
4174
|
+
"alg": {
|
|
4175
|
+
"const": "ed25519",
|
|
4176
|
+
"description": "RFC 0168 §E.2 fixes the attestation algorithm; no other value is defined."
|
|
4177
|
+
},
|
|
4178
|
+
"publicKey": {
|
|
4179
|
+
"type": "string",
|
|
4180
|
+
"pattern": "^[A-Za-z0-9_-]{43}$",
|
|
4181
|
+
"description": "The Ed25519 public key: raw 32 bytes, base64url, unpadded — NOT PEM. One encoding on purpose; admitting two would mean every verifier handles both. Note that a plausible 43-character string can still fail to import as a curve point, so a publisher SHOULD verify the value imports as a real Ed25519 key rather than only checking its shape."
|
|
4182
|
+
},
|
|
4183
|
+
"use": {
|
|
4184
|
+
"enum": [
|
|
4185
|
+
"certification-bundle"
|
|
4186
|
+
],
|
|
4187
|
+
"description": "What the key signs. Closed, so a future use is an explicit addition rather than a reinterpretation of a key already published for something else."
|
|
4188
|
+
},
|
|
4189
|
+
"retiredAt": {
|
|
4190
|
+
"type": "string",
|
|
4191
|
+
"format": "date-time",
|
|
4192
|
+
"description": "When the key stopped signing. A retired key MUST stay listed: dropping it silently invalidates every bundle it already signed, which is the opposite of what an evidence trail is for."
|
|
4193
|
+
}
|
|
4194
|
+
}
|
|
4195
|
+
}
|
|
4157
4196
|
}
|
|
4158
4197
|
},
|
|
4159
4198
|
"additionalProperties": true
|
|
@@ -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.12"
|
|
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": "fbd655af804a8f986605dcf2995684e51c0fecedcb88e91740baa90a2c9ce2a6"
|
|
423
423
|
}
|
package/spec/v1/extensions.json
CHANGED
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"rfc": "0155 \u00a7C",
|
|
38
38
|
"coverage": {
|
|
39
39
|
"rule": "Derived by scripts/generate-extension-registry-coverage.mjs from the top-level keys of schemas/capabilities.schema.json. coreFields = the openwop-discovery-core predicate fields (profiles.md); metadataFields = keys that describe the document or host rather than gate an optional feature (each carries its rationale in metadataRationale; a key that gates behaviour may not be listed there); covered = extension families reached by some record capabilityPath; uncovered = every other family. Uncovered means no registry record exists \u2014 not that the family is non-compliant. Regenerate with --write; the gate runs --check.",
|
|
40
|
-
"familiesTotal":
|
|
40
|
+
"familiesTotal": 93,
|
|
41
41
|
"coreFields": [
|
|
42
42
|
"limits",
|
|
43
43
|
"protocolVersion",
|
|
@@ -153,7 +153,8 @@
|
|
|
153
153
|
"workspace"
|
|
154
154
|
],
|
|
155
155
|
"uncovered": [
|
|
156
|
-
"preferredVersion"
|
|
156
|
+
"preferredVersion",
|
|
157
|
+
"signingKeys"
|
|
157
158
|
]
|
|
158
159
|
},
|
|
159
160
|
"extensions": [
|
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.12",
|
|
4
4
|
"corpusTag": null,
|
|
5
5
|
"updated": "2026-09-03"
|
|
6
6
|
}
|