@openwop/spec-artifacts 2.0.0-rc.0 → 2.0.0-rc.10
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 +21 -21
- package/api/seams-v2.yaml +216 -3
- package/api/v2/asyncapi.yaml +1 -1
- package/api/v2/openapi.yaml +1 -1
- package/package.json +18 -5
- package/schemas/certification-bundle-v2.schema.json +119 -27
- package/schemas/v2/capabilities.schema.json +66 -0
- package/schemas/v2/certification-bundle.schema.json +45 -4
- package/schemas/v2/error-envelope.schema.json +5 -1
- package/schemas/v2/ids.schema.json +118 -21
- package/schemas/v2/node-pack-manifest.schema.json +10 -0
- package/schemas/v2/registry-version-manifest.schema.json +9 -27
- package/schemas/v2/run-event-payloads.schema.json +1 -1
- package/schemas/v2/run-event.schema.json +4 -127
- package/schemas/v2/run-snapshot.schema.json +22 -1
- package/spec/v1/core-standard-manifest.json +2 -2
- package/spec/v1/gaps.json +20 -20
- package/spec/v2/declaration.json +8 -0
- package/spec/v2/errors.json +18 -0
- package/spec/v2/facets/webhooks.schema.json +24 -1
- package/spec/v2/release.json +2 -2
package/spec/v1/gaps.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "./gaps.schema.json",
|
|
3
3
|
"version": 1,
|
|
4
|
-
"updated": "2026-09-
|
|
4
|
+
"updated": "2026-09-04",
|
|
5
5
|
"witnessClasses": [
|
|
6
6
|
"witnessable-unaided",
|
|
7
7
|
"witnessable-gated",
|
|
@@ -9523,7 +9523,7 @@
|
|
|
9523
9523
|
"surface": "The `extensions.<org>.<name>` org form (short vs reverse-DNS).",
|
|
9524
9524
|
"witness": "claims-check",
|
|
9525
9525
|
"requirementId": null,
|
|
9526
|
-
"disposition": "
|
|
9526
|
+
"disposition": "closed",
|
|
9527
9527
|
"target": null,
|
|
9528
9528
|
"sources": [
|
|
9529
9529
|
{
|
|
@@ -9540,8 +9540,8 @@
|
|
|
9540
9540
|
"surface": "`host-capabilities.md:2186` says a host MUST NOT advertise `host.workspace`; `agent-workspace.md:27` and `capabilities.schema.json:2979` make advertising it the gate for an Accepted surface (RFC 0059). A v1.x prose contradiction, out of this RFC's v2 scope.",
|
|
9541
9541
|
"witness": "witnessable-unaided",
|
|
9542
9542
|
"requirementId": null,
|
|
9543
|
-
"disposition": "
|
|
9544
|
-
"target":
|
|
9543
|
+
"disposition": "carried",
|
|
9544
|
+
"target": "openwop.gap.spec.agent-workspace.r6",
|
|
9545
9545
|
"sources": [
|
|
9546
9546
|
{
|
|
9547
9547
|
"file": "RFCS/registers/0169-v2-discovery-and-capabilities.gaps.md",
|
|
@@ -9557,7 +9557,7 @@
|
|
|
9557
9557
|
"surface": "`imageGeneration` / `videoGeneration` are prose-only under `aiProviders` (RFC 0105 G5); the gap's premise (`additionalProperties: false` on `aiProviders`) has drifted — the block is open at `capabilities.schema.json:1536`. Declared facets or deleted?",
|
|
9558
9558
|
"witness": "claims-check",
|
|
9559
9559
|
"requirementId": null,
|
|
9560
|
-
"disposition": "
|
|
9560
|
+
"disposition": "closed",
|
|
9561
9561
|
"target": null,
|
|
9562
9562
|
"sources": [
|
|
9563
9563
|
{
|
|
@@ -9574,8 +9574,8 @@
|
|
|
9574
9574
|
"surface": "The adoption-axis triage of RFCs 0112–0116 depends on Phase 4 bundle evidence that does not exist yet.",
|
|
9575
9575
|
"witness": "witnessable-gated",
|
|
9576
9576
|
"requirementId": null,
|
|
9577
|
-
"disposition": "
|
|
9578
|
-
"target":
|
|
9577
|
+
"disposition": "externally-gated",
|
|
9578
|
+
"target": "phase-4-host-bundles",
|
|
9579
9579
|
"sources": [
|
|
9580
9580
|
{
|
|
9581
9581
|
"file": "RFCS/registers/0169-v2-discovery-and-capabilities.gaps.md",
|
|
@@ -9591,8 +9591,8 @@
|
|
|
9591
9591
|
"surface": "`agent-platform-aggregate-evidence.test.ts:37` reads a root `profiles[]` that no schema declares (the RFC 0085 annex claim). The v2 suite reads the generated profile registry; the v1 scenario keeps reading the field until the v1 suite is archived.",
|
|
9592
9592
|
"witness": "witnessable-unaided",
|
|
9593
9593
|
"requirementId": null,
|
|
9594
|
-
"disposition": "
|
|
9595
|
-
"target":
|
|
9594
|
+
"disposition": "carried",
|
|
9595
|
+
"target": "openwop.gap.spec.agent-platform-profile.r1",
|
|
9596
9596
|
"sources": [
|
|
9597
9597
|
{
|
|
9598
9598
|
"file": "RFCS/registers/0169-v2-discovery-and-capabilities.gaps.md",
|
|
@@ -9931,7 +9931,7 @@
|
|
|
9931
9931
|
"surface": "Numbers 0160–0162 were never authored (RFC 0158's renumber note). Filing `Withdrawn` stubs after the fact would be a paper trail for nothing.",
|
|
9932
9932
|
"witness": "negative-existence",
|
|
9933
9933
|
"requirementId": null,
|
|
9934
|
-
"disposition": "
|
|
9934
|
+
"disposition": "closed",
|
|
9935
9935
|
"target": null,
|
|
9936
9936
|
"sources": [
|
|
9937
9937
|
{
|
|
@@ -9948,8 +9948,8 @@
|
|
|
9948
9948
|
"surface": "388 `carried:<self>` rows on terminal RFCs at filing (the RFC 0166 backfill default); 45 whose prose said CLOSED re-tokened here; 343 remain under the `selfCarried` ratchet.",
|
|
9949
9949
|
"witness": "witnessable-unaided",
|
|
9950
9950
|
"requirementId": null,
|
|
9951
|
-
"disposition": "
|
|
9952
|
-
"target":
|
|
9951
|
+
"disposition": "carried",
|
|
9952
|
+
"target": "openwop.gap.0166.3",
|
|
9953
9953
|
"sources": [
|
|
9954
9954
|
{
|
|
9955
9955
|
"file": "RFCS/registers/0174-v2-governance.gaps.md",
|
|
@@ -9965,7 +9965,7 @@
|
|
|
9965
9965
|
"surface": "`check-accepted-predicate.mjs` needs `gaps.json` rows bound to requirement ids, which none are today (RFC 0178 §B.1 owns the binding).",
|
|
9966
9966
|
"witness": "witnessable-unaided",
|
|
9967
9967
|
"requirementId": null,
|
|
9968
|
-
"disposition": "
|
|
9968
|
+
"disposition": "closed",
|
|
9969
9969
|
"target": null,
|
|
9970
9970
|
"sources": [
|
|
9971
9971
|
{
|
|
@@ -9982,7 +9982,7 @@
|
|
|
9982
9982
|
"surface": "The 43 prose gap tables have two row shapes; the adapter into `gaps.json` must map both without inventing ids.",
|
|
9983
9983
|
"witness": "witnessable-unaided",
|
|
9984
9984
|
"requirementId": null,
|
|
9985
|
-
"disposition": "
|
|
9985
|
+
"disposition": "closed",
|
|
9986
9986
|
"target": null,
|
|
9987
9987
|
"sources": [
|
|
9988
9988
|
{
|
|
@@ -10237,8 +10237,8 @@
|
|
|
10237
10237
|
"surface": "558 of 558 `gaps.json` rows were `witness: unclassified` and `requirementId: null` at filing. This PR classifies the RFC 0167 family's rows; the rest is the RFC 0166 G2 ratchet.",
|
|
10238
10238
|
"witness": "witnessable-unaided",
|
|
10239
10239
|
"requirementId": null,
|
|
10240
|
-
"disposition": "
|
|
10241
|
-
"target":
|
|
10240
|
+
"disposition": "carried",
|
|
10241
|
+
"target": "openwop.gap.0166.2",
|
|
10242
10242
|
"sources": [
|
|
10243
10243
|
{
|
|
10244
10244
|
"file": "RFCS/registers/0178-v2-assurance-registers-and-deprecation-machinery.gaps.md",
|
|
@@ -10254,7 +10254,7 @@
|
|
|
10254
10254
|
"surface": "Nine of 164 RFCs carry a falsifiability table; the parser is a gate for the RFC 0167 family and advisory elsewhere.",
|
|
10255
10255
|
"witness": "witnessable-unaided",
|
|
10256
10256
|
"requirementId": null,
|
|
10257
|
-
"disposition": "
|
|
10257
|
+
"disposition": "closed",
|
|
10258
10258
|
"target": null,
|
|
10259
10259
|
"sources": [
|
|
10260
10260
|
{
|
|
@@ -10271,8 +10271,8 @@
|
|
|
10271
10271
|
"surface": "`check-gap-contradictions.mjs` resolves scenario files and OpenAPI paths only; a gap naming any other artifact is reported unchecked.",
|
|
10272
10272
|
"witness": "witnessable-unaided",
|
|
10273
10273
|
"requirementId": null,
|
|
10274
|
-
"disposition": "
|
|
10275
|
-
"target":
|
|
10274
|
+
"disposition": "carried",
|
|
10275
|
+
"target": "openwop.gap.0166.4",
|
|
10276
10276
|
"sources": [
|
|
10277
10277
|
{
|
|
10278
10278
|
"file": "RFCS/registers/0178-v2-assurance-registers-and-deprecation-machinery.gaps.md",
|
|
@@ -10288,7 +10288,7 @@
|
|
|
10288
10288
|
"surface": "Whether AsyncAPI 3.x carries a standard `deprecated` on channels and messages.",
|
|
10289
10289
|
"witness": "claims-check",
|
|
10290
10290
|
"requirementId": null,
|
|
10291
|
-
"disposition": "
|
|
10291
|
+
"disposition": "closed",
|
|
10292
10292
|
"target": null,
|
|
10293
10293
|
"sources": [
|
|
10294
10294
|
{
|
package/spec/v2/declaration.json
CHANGED
|
@@ -121,6 +121,13 @@
|
|
|
121
121
|
"note": null,
|
|
122
122
|
"disposition": "kept"
|
|
123
123
|
},
|
|
124
|
+
{
|
|
125
|
+
"key": "signingKeys",
|
|
126
|
+
"kind": "metadata",
|
|
127
|
+
"schema": "metadata/signingKeys",
|
|
128
|
+
"note": "host bundle-signing public keys (RFC 0168 §E.2); v2-only — the surface the RFC named when it disposed of \"a signature nobody can check\"",
|
|
129
|
+
"disposition": "kept"
|
|
130
|
+
},
|
|
124
131
|
{
|
|
125
132
|
"key": "discovery",
|
|
126
133
|
"kind": "metadata",
|
|
@@ -1062,6 +1069,7 @@
|
|
|
1062
1069
|
"adoption": "none"
|
|
1063
1070
|
},
|
|
1064
1071
|
"facets": [
|
|
1072
|
+
"retryPolicy",
|
|
1065
1073
|
"signatureAlgorithms"
|
|
1066
1074
|
],
|
|
1067
1075
|
"floorScenarios": [],
|
package/spec/v2/errors.json
CHANGED
|
@@ -230,6 +230,15 @@
|
|
|
230
230
|
"since": "1.0",
|
|
231
231
|
"source": "spec/v1/run-options.md / version-negotiation.md (OpenWOP-Force-Engine-Version outside test keys)"
|
|
232
232
|
},
|
|
233
|
+
{
|
|
234
|
+
"code": "fork_point_invalid",
|
|
235
|
+
"httpStatus": 422,
|
|
236
|
+
"statusSource": "v2 decision",
|
|
237
|
+
"retriable": false,
|
|
238
|
+
"details": null,
|
|
239
|
+
"since": "2.0",
|
|
240
|
+
"source": "spec/v2/core/runs.md §Fork"
|
|
241
|
+
},
|
|
233
242
|
{
|
|
234
243
|
"code": "id_tenant_mismatch",
|
|
235
244
|
"httpStatus": 403,
|
|
@@ -806,6 +815,15 @@
|
|
|
806
815
|
"since": "1.0",
|
|
807
816
|
"source": "api/openapi.yaml"
|
|
808
817
|
},
|
|
818
|
+
{
|
|
819
|
+
"code": "webhook_url_rejected",
|
|
820
|
+
"httpStatus": 400,
|
|
821
|
+
"statusSource": "v2 decision",
|
|
822
|
+
"retriable": false,
|
|
823
|
+
"details": null,
|
|
824
|
+
"since": "2.0",
|
|
825
|
+
"source": "spec/v2/core/webhooks.md §Egress"
|
|
826
|
+
},
|
|
809
827
|
{
|
|
810
828
|
"code": "workspace_conflict",
|
|
811
829
|
"httpStatus": 409,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"$comment": "RFC 0173 §B — durable delivery binds with webhooks; no durable flag",
|
|
2
|
+
"$comment": "RFC 0173 §B — durable delivery binds with webhooks; no durable flag; retryPolicy is the v2 carrier of the delivery obligation (was triggerBridge.retryPolicy at v1)",
|
|
3
3
|
"properties": {
|
|
4
4
|
"signatureAlgorithms": {
|
|
5
5
|
"type": "array",
|
|
@@ -10,6 +10,29 @@
|
|
|
10
10
|
"v1"
|
|
11
11
|
]
|
|
12
12
|
}
|
|
13
|
+
},
|
|
14
|
+
"retryPolicy": {
|
|
15
|
+
"type": "object",
|
|
16
|
+
"additionalProperties": false,
|
|
17
|
+
"required": [
|
|
18
|
+
"maxAttempts",
|
|
19
|
+
"backoff"
|
|
20
|
+
],
|
|
21
|
+
"properties": {
|
|
22
|
+
"maxAttempts": {
|
|
23
|
+
"type": "integer",
|
|
24
|
+
"minimum": 1
|
|
25
|
+
},
|
|
26
|
+
"backoff": {
|
|
27
|
+
"type": "string",
|
|
28
|
+
"enum": [
|
|
29
|
+
"none",
|
|
30
|
+
"fixed",
|
|
31
|
+
"exponential"
|
|
32
|
+
]
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
"description": "spec/v2/core/webhooks.md §Delivery — the policy a host retries a failed attempt under. The webhooks family carries it at v2; `triggerBridge.retryPolicy` is the v1 carrier and stays through the overlap."
|
|
13
36
|
}
|
|
14
37
|
},
|
|
15
38
|
"required": [
|
package/spec/v2/release.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"$comment": "RFC 0172
|
|
3
|
-
"version": "2.0.0-rc.
|
|
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.10",
|
|
4
4
|
"corpusTag": null,
|
|
5
5
|
"updated": "2026-09-03"
|
|
6
6
|
}
|