@openwop/openwop-conformance 2.0.8 → 2.0.9
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/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,35 @@
|
|
|
1
1
|
# `@openwop/openwop-conformance` Changelog
|
|
2
2
|
|
|
3
|
+
## [2.0.9] — 2026-09-09 — the rule this suite measures now says what it measures
|
|
4
|
+
|
|
5
|
+
No scenario logic changes, no assertion changes, and no host disposition
|
|
6
|
+
changes. `v2-advertised-path-space-served` behaves exactly as it did in 2.0.8.
|
|
7
|
+
What changed is the corpus prose the scenario cites, and this suite ships that
|
|
8
|
+
corpus as its pinned `@openwop/spec-artifacts` peer — so the version moves with
|
|
9
|
+
it.
|
|
10
|
+
|
|
11
|
+
**`versioning.md` §1.2 quantified wider than this suite has ever measured.** The
|
|
12
|
+
MUST read *"every operation it serves under the other"*, unqualified. This
|
|
13
|
+
scenario has always built its probe set from `spec/v2/path-manifest.json`
|
|
14
|
+
(`parameterlessGets()`), so it measured manifest operations and reported a
|
|
15
|
+
claim about everything a host serves. §1.2 is now scoped to operations **named
|
|
16
|
+
in the manifest** — which is what the instrument does, and what
|
|
17
|
+
`conformance.md` §"Test seams" requires, since that document forbids the
|
|
18
|
+
manifest to name seam operations while the seams profile mounts them.
|
|
19
|
+
|
|
20
|
+
The narrowing keeps the case the rule exists for: the motivating defect was
|
|
21
|
+
`POST /webhooks` answering `404` under major 2 while `POST /v1/webhooks`
|
|
22
|
+
answered `201`, and `webhooks` is a manifest operation.
|
|
23
|
+
|
|
24
|
+
**The docblock now states what stays unmeasured.** Non-GET and parameterised
|
|
25
|
+
manifest operations are bound by the prose and probed by nothing here. The
|
|
26
|
+
`POST /webhooks` defect was found by hand, not by this file.
|
|
27
|
+
|
|
28
|
+
Raised by a tier-2 host asking whether four proprietary `/v1` roots
|
|
29
|
+
(`packs`, `canvas-types`, `_internal`, `packs-test`) were bound. They were not
|
|
30
|
+
— but only because of what the instrument samples, not because the prose said
|
|
31
|
+
so.
|
|
32
|
+
|
|
3
33
|
## [2.0.8] — 2026-09-07 — the verifier asked a v1 question about v2 hosts
|
|
4
34
|
|
|
5
35
|
No host behaviour changes and no wire changes. One defect in the suite's own
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openwop/openwop-conformance",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.9",
|
|
4
4
|
"description": "Production-ready black-box conformance suite for OpenWOP v1.0 compliant servers.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -56,6 +56,6 @@
|
|
|
56
56
|
"@openwop/spec-artifacts": "file:../spec-artifacts"
|
|
57
57
|
},
|
|
58
58
|
"peerDependencies": {
|
|
59
|
-
"@openwop/spec-artifacts": "2.0.
|
|
59
|
+
"@openwop/spec-artifacts": "2.0.9"
|
|
60
60
|
}
|
|
61
61
|
}
|
package/requirements.json
CHANGED
|
@@ -25811,7 +25811,7 @@
|
|
|
25811
25811
|
{
|
|
25812
25812
|
"id": "openwop.it.v2-advertised-path-space-served.a-host-advertising-major-2-reaches-the-surfaces-it-already-serves-under-v1",
|
|
25813
25813
|
"file": "v2-advertised-path-space-served.test.ts",
|
|
25814
|
-
"line":
|
|
25814
|
+
"line": 122,
|
|
25815
25815
|
"title": "a host advertising major 2 reaches the surfaces it already serves under /v1",
|
|
25816
25816
|
"explicitId": "openwop.requirement.0172.advertised-path-space-served",
|
|
25817
25817
|
"citations": [
|
|
@@ -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.0.
|
|
5
|
-
"corpusTag": "v2.0.
|
|
4
|
+
"version": "2.0.9",
|
|
5
|
+
"corpusTag": "v2.0.9",
|
|
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": "
|
|
13
|
-
"api/v2/asyncapi.yaml": "
|
|
14
|
-
"api/v2/openapi.yaml": "
|
|
12
|
+
"api/seams-v2.yaml": "85832b378ab3396f031b1503d17a7d252dd2f9bbf753324e05601cf8d50c6b96",
|
|
13
|
+
"api/v2/asyncapi.yaml": "029fccaec2975cf943e11465a9ea98149096d061da2893c438337906e647dc92",
|
|
14
|
+
"api/v2/openapi.yaml": "a406c3723d88f520c387d5e47ff9cabb32ac0cac7b1825c8c768ab6ec0cf27bb",
|
|
15
15
|
"api/v2/redocly.yaml": "1e66b60e6118ad11a823bb620678be464d99dfe50a40e3e6f93ec9429b88b34c",
|
|
16
16
|
"schemas/README.md": "0c0b737ffcf8f30e7d2809cec8a498232de710f41443212922ad8337cdde0b51",
|
|
17
17
|
"schemas/a2a-task-state.schema.json": "c9365918f993f943b4b619d42551eb066a1ed33a08d895d51b395432a5b1f1bc",
|
|
@@ -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": "63799de159579793a95daae66accdc4aa7149eb96994235b0841c0d2ffa132bc",
|
|
203
203
|
"spec/v1/deprecations.json": "1d5acb69a9b8ccb57275a95605f74aef1d920685f8407c9d382a46b59dc803bb",
|
|
204
204
|
"spec/v1/deprecations.schema.json": "18c87e78bedc210431f795ae44c5b5d202f2f3317850d5cf86867d4f1fa1cdfb",
|
|
205
205
|
"spec/v1/event-codemap.json": "3da60d884157793a360da532a9fcbbfb5285636db325a74cec94b34622186d97",
|
|
@@ -211,27 +211,27 @@
|
|
|
211
211
|
"spec/v1/migrations.schema.json": "886779aa6c22e646db097f5df210adb018a4dd14a7b815465a18c8a7056c8f72",
|
|
212
212
|
"spec/v1/operation-path-manifest.json": "5f5f4e3842669371730ebbd1aace3fb794192615f0018dc144f484ba5db82ac3",
|
|
213
213
|
"spec/v1/spec-gaps.json": "6cc9962c6b969f632e07a78b52a4f61447ff579e2990cbae989866f584a86042",
|
|
214
|
-
"spec/v2/README.md": "
|
|
215
|
-
"spec/v2/core/capabilities.md": "
|
|
216
|
-
"spec/v2/core/conformance.md": "
|
|
217
|
-
"spec/v2/core/connection-packs.md": "
|
|
218
|
-
"spec/v2/core/errors.md": "
|
|
219
|
-
"spec/v2/core/events.md": "
|
|
220
|
-
"spec/v2/core/form-content-packs.md": "
|
|
221
|
-
"spec/v2/core/headers.md": "
|
|
222
|
-
"spec/v2/core/idempotency.md": "
|
|
223
|
-
"spec/v2/core/identity.md": "
|
|
224
|
-
"spec/v2/core/interop.md": "
|
|
225
|
-
"spec/v2/core/interrupt.md": "
|
|
226
|
-
"spec/v2/core/overview.md": "
|
|
227
|
-
"spec/v2/core/packs.md": "
|
|
228
|
-
"spec/v2/core/persistence.md": "
|
|
229
|
-
"spec/v2/core/replay.md": "
|
|
230
|
-
"spec/v2/core/runs.md": "
|
|
231
|
-
"spec/v2/core/security-defaults.md": "
|
|
232
|
-
"spec/v2/core/versioning.md": "
|
|
233
|
-
"spec/v2/core/webhooks.md": "
|
|
234
|
-
"spec/v2/core/workflow-chain-packs.md": "
|
|
214
|
+
"spec/v2/README.md": "453b56e0f9dd84889e90f3e25efda53e550275a112bc72a970252e00335b408b",
|
|
215
|
+
"spec/v2/core/capabilities.md": "3ea74e9cfbca23723e4fadac7d53a44f59940dfe9942e086533103e3677507df",
|
|
216
|
+
"spec/v2/core/conformance.md": "3cae1183d3155572004f192d0c64b921151f4f9905ce2a6a3e29f475334de688",
|
|
217
|
+
"spec/v2/core/connection-packs.md": "460019f7bc9b5c7473eaa5e2825d8e28ff2941306fbd7ba5dfe4c9e174fcbe64",
|
|
218
|
+
"spec/v2/core/errors.md": "acb7a04a0c4ac136eb8dcd8549e8bc6da19a80753bf81d903202c7008cb8802f",
|
|
219
|
+
"spec/v2/core/events.md": "ceee1671e7b585026be61ffa210759157b292d3b56c352bef5d0de98a3db9983",
|
|
220
|
+
"spec/v2/core/form-content-packs.md": "de63b1bb72bfde0c31aeb31d1f09d8f9297550604c771fd65f26d7459eac7be0",
|
|
221
|
+
"spec/v2/core/headers.md": "18c09184e5b64c5f28e4aa8c028b13da074bd9a4ca8e6ae56290faa402c277c0",
|
|
222
|
+
"spec/v2/core/idempotency.md": "9452888f1ed70ffafc4a4f6c770511b3d4e7277009d39b8b8bbca26f5a3c0a32",
|
|
223
|
+
"spec/v2/core/identity.md": "3ba7016e9f78aac6f6ec5be8a2c577c0309e3e62e2ceb6070c2eabbfc7d1b507",
|
|
224
|
+
"spec/v2/core/interop.md": "e5c166cd94050539a694cce01d4b733bd8bfbbf4d30584d6cd8ee1a85009afc5",
|
|
225
|
+
"spec/v2/core/interrupt.md": "a320811c337cb498207cfdc87e24bea8715689101be299f4eb2ae1ea54e6f202",
|
|
226
|
+
"spec/v2/core/overview.md": "6c3d32ded128237ddb9af12bcfaac4079162464906519d0f2861bba6c675ae18",
|
|
227
|
+
"spec/v2/core/packs.md": "1c6bad59fd77a90bed9c904c7d59f1649dd21cf70986962194b10650533a46b5",
|
|
228
|
+
"spec/v2/core/persistence.md": "8e4af460d7390945ffd88731edf69f95a462f55d6569a7d375bf802ca8ddff95",
|
|
229
|
+
"spec/v2/core/replay.md": "5647bc44e994d9fcb2d2fc8acbb6c0f66e1262228b7efc5a1035eb1d3b38a23f",
|
|
230
|
+
"spec/v2/core/runs.md": "ceae2f80fc915c12a22682205e2bec797d311b53dc8883000a4f02d002192778",
|
|
231
|
+
"spec/v2/core/security-defaults.md": "0837314be15d4278f1a835b97f101ba794a025952ad39fd408c6e319756ebf71",
|
|
232
|
+
"spec/v2/core/versioning.md": "d9506ec2e009a84c1ac02924af2867cf2d6b90c872902fe1b0979a8908e494d0",
|
|
233
|
+
"spec/v2/core/webhooks.md": "9a946db3a17f72adba8ad493dc004c856237681f823303599dd45c83b522226b",
|
|
234
|
+
"spec/v2/core/workflow-chain-packs.md": "e0e78926ebb6aa217cf35191d401a51903610469c5d0c464307888fb89e69037",
|
|
235
235
|
"spec/v2/declaration.json": "bd8a1dcee899a4478ac96b52da6ee07e1cb5fce4465939ac32e19e52f4d5c6b2",
|
|
236
236
|
"spec/v2/declaration.schema.json": "eac5f8080bd572f147bd57d0c4ac8ad73b14536d9236222490ae29a33b21e184",
|
|
237
237
|
"spec/v2/errors.json": "f179414a92f30b5dadf26e9e57699649a67324bd7186d5287647d17605d137d3",
|
|
@@ -268,8 +268,8 @@
|
|
|
268
268
|
"spec/v2/path-manifest.json": "034152e09b1458c66810d4050e20a273b2b9b8fe2d92b66e8b819477de58a1be",
|
|
269
269
|
"spec/v2/peer-dependency-aliases.json": "d10299280abee08258502925bc327293ee413e0108cd6e6ec75ff6110653308d",
|
|
270
270
|
"spec/v2/profiles.json": "0636f19fceae625390003a347e70ef4797d84766b5c24ce8a02cea52aadebca4",
|
|
271
|
-
"spec/v2/release.json": "
|
|
271
|
+
"spec/v2/release.json": "14eb79136a01caa739684a20dbe15384c2f5420b30f942e6e328e8c66c446745",
|
|
272
272
|
"spec/v2/retention-floors.json": "eaf3722d95c79947af1d4269ef85117e126518c588cfcf1a2b21b97269f51624"
|
|
273
273
|
},
|
|
274
|
-
"corpusCommit": "
|
|
274
|
+
"corpusCommit": "e84395f18a99d9266ba94e9eddb23a7e73ef5c33"
|
|
275
275
|
}
|
|
@@ -36,6 +36,21 @@
|
|
|
36
36
|
* need no fixture, mutate nothing, and a route that is not mounted answers 404
|
|
37
37
|
* regardless of auth, so the check is unaided and safe against a live host.
|
|
38
38
|
*
|
|
39
|
+
* The manifest scoping is the RULE's scope, not just this instrument's budget.
|
|
40
|
+
* `versioning.md` §1.2 binds "every operation named in
|
|
41
|
+
* `spec/v2/path-manifest.json` that it serves under the other" — surfaces the
|
|
42
|
+
* manifest does not name are outside the paragraph. That qualifier was added
|
|
43
|
+
* after a tier-2 host asked whether its four proprietary `/v1` roots were
|
|
44
|
+
* bound: the older unqualified wording said "every operation it serves", which
|
|
45
|
+
* this scenario has never measured and which `conformance.md` §"Test seams"
|
|
46
|
+
* contradicts by requiring the manifest to omit seam operations. Stating the
|
|
47
|
+
* scope in both places is deliberate — a rule whose prose quantifies wider than
|
|
48
|
+
* its only instrument reports a general claim from a sampled one.
|
|
49
|
+
*
|
|
50
|
+
* What remains UNMEASURED even so: non-GET and parameterised manifest
|
|
51
|
+
* operations. The prose binds them; nothing here probes them. The motivating
|
|
52
|
+
* defect was `POST /webhooks`, found by hand, not by this file.
|
|
53
|
+
*
|
|
39
54
|
* @see spec/v2/core/versioning.md §1.2
|
|
40
55
|
* @see RFCS/0172-v2-versioning-and-release.md §A.1
|
|
41
56
|
*/
|