@openwop/spec-artifacts 2.10.0 → 2.11.0

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.10.0",
5
- "corpusTag": "v2.10.0",
4
+ "version": "2.11.0",
5
+ "corpusTag": "v2.11.0",
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": "e1f0047f910a03c7d92d44bb3f34447dd1910aef357e926b4289b6c5f4df9e42",
13
- "api/v2/asyncapi.yaml": "531be1b674d73b2530b3dff9ffe4530b80d77ac6afbdada7fa924be0d27b13a5",
14
- "api/v2/openapi.yaml": "bd2e7cdf05ac56dcffa6bd3b82364fcccbf470c5ca99fe8454f6ea65bf958e97",
12
+ "api/seams-v2.yaml": "faff58de5dc16aaf5e857868a2caa0592c4c63c277c476b035c9c35242a4cc85",
13
+ "api/v2/asyncapi.yaml": "f2160685a557b4642b1e4983273f0c7537416407af02f0799fae82f18c09ddfe",
14
+ "api/v2/openapi.yaml": "75afa9163e295f30c49517f8e777917e8489de682016b416a702ea7b1eb3961a",
15
15
  "api/v2/redocly.yaml": "1e66b60e6118ad11a823bb620678be464d99dfe50a40e3e6f93ec9429b88b34c",
16
16
  "schemas/README.md": "0c0b737ffcf8f30e7d2809cec8a498232de710f41443212922ad8337cdde0b51",
17
17
  "schemas/a2a-task-state.schema.json": "c9365918f993f943b4b619d42551eb066a1ed33a08d895d51b395432a5b1f1bc",
@@ -201,13 +201,13 @@
201
201
  "schemas/workspace-file.schema.json": "464de85c2a068243084ee9c1d969bc7cd5d8f7948574e58450d6493c38a0e1e4",
202
202
  "spec/v1/alias-detectors.json": "40069d5976eeb6ba1384a648e57e5cfd673db3fce36175115fb8293bee9664d4",
203
203
  "spec/v1/capability-declaration-classes.json": "e7729aed5c4b4e1dd02abab0530f14cc95f5d4070fe51fb139e7f5cccefa00c6",
204
- "spec/v1/core-standard-manifest.json": "eb6258dd220952cc4f310872c3c2cb0138bbe7ec692e292e93b164a3dfbfe9f9",
204
+ "spec/v1/core-standard-manifest.json": "c678d49b424a188f793fd7d865f5e785d3dc8bde35f6fa0b025249aac891a846",
205
205
  "spec/v1/deprecations.json": "307083ce29c23fd406015951f99a30d78d6187ff061d38dc9732f62191b40f3f",
206
206
  "spec/v1/deprecations.schema.json": "18c87e78bedc210431f795ae44c5b5d202f2f3317850d5cf86867d4f1fa1cdfb",
207
207
  "spec/v1/event-codemap.json": "3da60d884157793a360da532a9fcbbfb5285636db325a74cec94b34622186d97",
208
208
  "spec/v1/event-codemap.schema.json": "d05933b2e88103aff51a2f774df97b9bda065e0fc88dbd9b114cc47a32189174",
209
209
  "spec/v1/extensions.json": "79a60754aa16cbdbdb604f8e5c00038af535a1690a4d07bd5ff7c38f0256a7bc",
210
- "spec/v1/gaps.json": "a97c834ac7f0f1429747053b047ffc02a667b49e84b4c40317f141e658b101e5",
210
+ "spec/v1/gaps.json": "ca8e4170421c22a26a5dafc2d354a5b4998a6acae34fd4f47ba688492daac4a1",
211
211
  "spec/v1/gaps.schema.json": "8fd83259f556553c9df0f53e7a82ca8c2a4771d471197f69b4e2ae0ceeacfd66",
212
212
  "spec/v1/migrations.json": "8839497d6a4830b53fa7867014a8336f0d725ef2346352e54fb580b7947897af",
213
213
  "spec/v1/migrations.schema.json": "886779aa6c22e646db097f5df210adb018a4dd14a7b815465a18c8a7056c8f72",
@@ -274,8 +274,8 @@
274
274
  "spec/v2/path-manifest.json": "c123c9fd77dc1b3f9c2e9346ace80cdae007e6511138894956abda01e61ec1c6",
275
275
  "spec/v2/peer-dependency-aliases.json": "d10299280abee08258502925bc327293ee413e0108cd6e6ec75ff6110653308d",
276
276
  "spec/v2/profiles.json": "0636f19fceae625390003a347e70ef4797d84766b5c24ce8a02cea52aadebca4",
277
- "spec/v2/release.json": "5bf2c0c64c9ccf6e8230d9d5172c55e3457bfca83111a3c0adea4c6cfc15a38e",
277
+ "spec/v2/release.json": "e88fb5140889a0da1f5acc19c964cc2a9e5a2b37a9cf5be48c91443d66c0cc50",
278
278
  "spec/v2/retention-floors.json": "eaf3722d95c79947af1d4269ef85117e126518c588cfcf1a2b21b97269f51624"
279
279
  },
280
- "corpusCommit": "267511d1337f9e707ffe46f832ad1a3e15d95f6c"
280
+ "corpusCommit": "745a8c479757fd04f84b75c1333b22053a46088e"
281
281
  }
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.10.0
4
+ version: 2.11.0
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.10.0
4
+ version: 2.11.0
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.10.0
4
+ version: 2.11.0
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.10.0",
3
+ "version": "2.11.0",
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": {
@@ -4,7 +4,7 @@
4
4
  "provenance": {
5
5
  "suite": {
6
6
  "package": "@openwop/openwop-conformance",
7
- "version": "2.10.0"
7
+ "version": "2.11.0"
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": "6ea59f73dbef234aee4cba37c331a92b9f35e72f314241add5266f6235ba085f"
422
+ "digest": "17aa13b9499ceab62849c42545ad3dec4c36c67fd563015b1779c16f80584dff"
423
423
  }
package/spec/v1/gaps.json CHANGED
@@ -10319,11 +10319,11 @@
10319
10319
  "rfc": "0189",
10320
10320
  "local": "G2",
10321
10321
  "section": "§E.2",
10322
- "surface": "62 families must find v2 homes inside the RFC 0174 §E.2 kernel budget, which `check-core-budget.mjs` reads over `spec/v2/core/*.md` only (non-recursive). At 2.9.0 the budget is **24,695 / 25,000** — 305 words free for 62 families. `spec/v2/ext/**` is a legal home under `homeClass()` and is **not** counted by the budget, and the precedent already exists (`spec/v2/ext/provider-idempotency/README.md` is supporting normative text for the **core** `idempotency` family). Left implicit, 62 authors each discover the escape valve independently and `ext/` silently becomes \"core, but unbudgeted\" — the 25,000-word cap defeated by directory name.",
10322
+ "surface": "61 families must find v2 homes inside the RFC 0174 §E.2 kernel budget, which `check-core-budget.mjs` reads over `spec/v2/core/*.md` only (non-recursive). At 2.9.0 the budget is **24,836 / 25,000** — 164 words free for 61 families. `spec/v2/ext/**` is a legal home under `homeClass()` and is **not** counted by the budget, and the precedent already exists (`spec/v2/ext/provider-idempotency/README.md` is supporting normative text for the **core** `idempotency` family). Left implicit, 62 authors each discover the escape valve independently and `ext/` silently becomes \"core, but unbudgeted\" — the 25,000-word cap defeated by directory name.",
10323
10323
  "witness": "unclassified",
10324
10324
  "requirementId": null,
10325
- "disposition": "carried",
10326
- "target": "openwop.gap.0189.2",
10325
+ "disposition": "closed",
10326
+ "target": null,
10327
10327
  "sources": [
10328
10328
  {
10329
10329
  "file": "RFCS/registers/0189-normative-home.gaps.md",
@@ -10339,8 +10339,8 @@
10339
10339
  "surface": "The burn-down decays `open` linearly to zero at v1 end-of-support, and `open = v1Dependent + undeclared` — but `v1Carried` families (`toolHooks`, `toolCatalog`) are explicitly tolerated past end-of-support by §D itself, which fails only if their target is deleted or its `Status:` banner changes. Counting a deliberately-tolerated family in a burn-down that must reach zero asks for work the RFC says is not required.",
10340
10340
  "witness": "unclassified",
10341
10341
  "requirementId": null,
10342
- "disposition": "carried",
10343
- "target": "openwop.gap.0189.3",
10342
+ "disposition": "closed",
10343
+ "target": null,
10344
10344
  "sources": [
10345
10345
  {
10346
10346
  "file": "RFCS/registers/0189-normative-home.gaps.md",
@@ -10348,6 +10348,57 @@
10348
10348
  }
10349
10349
  ]
10350
10350
  },
10351
+ {
10352
+ "id": "openwop.gap.0190.1",
10353
+ "rfc": "0190",
10354
+ "local": "G1",
10355
+ "section": "§A",
10356
+ "surface": "The per-family grant is **200 words** against a measured mean of **140.75** (four families, 563 words, five sections). That mean is drawn entirely from families with one or two facets. The remaining set includes `agents` (19 facets) and `aiProviders` (12), and a grounded model — ~110 base + ~20 per facet beyond the first — puts the remainder near 9,170 against 12,600 granted. If the real per-facet cost is higher than 20 words, the grant is too thin for the wide families even though the aggregate holds, and the self-funding property forces them to land LAST, when the cheap families have funded them.",
10357
+ "witness": "unclassified",
10358
+ "requirementId": null,
10359
+ "disposition": "carried",
10360
+ "target": "openwop.gap.0190.1",
10361
+ "sources": [
10362
+ {
10363
+ "file": "RFCS/registers/0190-kernel-budget-denominator.gaps.md",
10364
+ "token": "G1"
10365
+ }
10366
+ ]
10367
+ },
10368
+ {
10369
+ "id": "openwop.gap.0190.2",
10370
+ "rfc": "0190",
10371
+ "local": "G2",
10372
+ "section": "§A",
10373
+ "surface": "The cap reads `resolved` from `spec/v2/declaration.json` while the budget counts words — two different files, one number. A family could in principle be declared, grant 200 words, and later have its home refused by a tightened §B predicate, retroactively lowering the cap under prose already written.",
10374
+ "witness": "unclassified",
10375
+ "requirementId": null,
10376
+ "disposition": "carried",
10377
+ "target": "openwop.gap.0190.2",
10378
+ "sources": [
10379
+ {
10380
+ "file": "RFCS/registers/0190-kernel-budget-denominator.gaps.md",
10381
+ "token": "G2"
10382
+ }
10383
+ ]
10384
+ },
10385
+ {
10386
+ "id": "openwop.gap.0190.3",
10387
+ "rfc": "0190",
10388
+ "local": "G3",
10389
+ "section": "§B",
10390
+ "surface": "`spec/v2/ext/` is now a co-pointer that contributes facet coverage only. Nothing checks that an ext document cited as a co-pointer is *about* the family citing it — the same bare-token weakness as RFC 0189 G1, one directory over. The `authorization`-against-thirteen-READMEs case is closed for the OBLIGATION predicate but not for facet coverage: a facet name appearing incidentally in an unrelated ext page still counts as covered.",
10391
+ "witness": "unclassified",
10392
+ "requirementId": null,
10393
+ "disposition": "carried",
10394
+ "target": "openwop.gap.0190.3",
10395
+ "sources": [
10396
+ {
10397
+ "file": "RFCS/registers/0190-kernel-budget-denominator.gaps.md",
10398
+ "token": "G3"
10399
+ }
10400
+ ]
10401
+ },
10351
10402
  {
10352
10403
  "id": "openwop.gap.spec.a2a-integration.g1",
10353
10404
  "rfc": "0152",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$comment": "RFC 0172 §D.1 — 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.10.0",
4
- "corpusTag": "v2.10.0",
3
+ "version": "2.11.0",
4
+ "corpusTag": "v2.11.0",
5
5
  "updated": "2026-09-18"
6
6
  }