@openwop/spec-artifacts 2.20.0 → 2.21.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.20.0",
5
- "corpusTag": "v2.20.0",
4
+ "version": "2.21.0",
5
+ "corpusTag": "v2.21.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": "2132964437fde6f1d28d1fa9b8e1c37cab4e6a61c2630807c2df1d19313864fb",
13
- "api/v2/asyncapi.yaml": "60b992b381d2b63dde4085664190979e77cfe6082f6c63d1149fa90e4b78cca9",
14
- "api/v2/openapi.yaml": "22a4249b402fac7498de47f1b8615d68b6ee3090b10a8afcfbbccf8959fb0f68",
12
+ "api/seams-v2.yaml": "dadb3a8246d1ce14a59327883bd9818c371c94426fd3677d9969570f53c15edf",
13
+ "api/v2/asyncapi.yaml": "04a2a3a1c3e7950cad5191cefcdf6dac4743057ae73cf552af38c269cb028952",
14
+ "api/v2/openapi.yaml": "c69dcb0485ce9df673d00908176e4a47cbcc8d1c7a3331e9b253ca237aa4fa60",
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": "7a9f26072759124fd30685994d120043eee7abb1501d507a9f11a26f558f9951",
204
+ "spec/v1/core-standard-manifest.json": "d96d88f94b05df30f9c8829505d4706dba8fff7e3d11a4791744f7acd2b61fc0",
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": "348f3d5b93057f614b44ce24cc2f96f7675583dee4cea015943ba02d64f840ee",
210
+ "spec/v1/gaps.json": "2a659a2949031a2b4740f0874ec1fbbfd82c677d6abf315bf5c6e4c1834f00b6",
211
211
  "spec/v1/gaps.schema.json": "8fd83259f556553c9df0f53e7a82ca8c2a4771d471197f69b4e2ae0ceeacfd66",
212
212
  "spec/v1/migrations.json": "8839497d6a4830b53fa7867014a8336f0d725ef2346352e54fb580b7947897af",
213
213
  "spec/v1/migrations.schema.json": "886779aa6c22e646db097f5df210adb018a4dd14a7b815465a18c8a7056c8f72",
@@ -234,7 +234,7 @@
234
234
  "spec/v2/core/versioning.md": "27b88cde88f9060567ef7e46f4897b6be8892ade9f4a46c2ab16e314c515eabd",
235
235
  "spec/v2/core/webhooks.md": "46c1311c1897236f9bf9db5025c8af31dd84cd19208da3e5e9ff69eec9436965",
236
236
  "spec/v2/core/workflow-chain-packs.md": "df78b76dd79f2267fb6b72c08e0911e5f9d5bb1925c6efdd6deda62fe8a51dc8",
237
- "spec/v2/declaration.json": "6182a370811133d9033591fd357cf6973a9c4e5b01cf25988922d6c621db5d0d",
237
+ "spec/v2/declaration.json": "a7607376ecf493e9533861fccc69b4a7d0c9df427689d045e2747f5f0ba0da54",
238
238
  "spec/v2/declaration.schema.json": "c86e3083fb9789c1958ecb4576cc6f71aa90e6f339521139238543ed08211dd4",
239
239
  "spec/v2/errors.json": "aac91b12f954cc90574d310070ae3c651b131055d4389d2c6155242763765195",
240
240
  "spec/v2/event-codemap.json": "37869a03cdfd8758b57e6f350641a6ebbd383231cebda51f5473ad85f94ab74c",
@@ -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": "e8d93bad6d3acf1a9ba6b6ff121caeb73bef1371ab930f7adfa9fc29f35f67ef",
277
+ "spec/v2/release.json": "68c7aa62eabbe783cc8c2e466659dd6fbe8d9beb41224c58d4cc948c79fd200b",
278
278
  "spec/v2/retention-floors.json": "eaf3722d95c79947af1d4269ef85117e126518c588cfcf1a2b21b97269f51624"
279
279
  },
280
- "corpusCommit": "766736268b7b82871bda8f4e27a358d6dcdf5888"
280
+ "corpusCommit": "d5c4ad17826358a4a1ee1f290d86e61af5dc3fd5"
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.20.0
4
+ version: 2.21.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.20.0
4
+ version: 2.21.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.20.0
4
+ version: 2.21.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.20.0",
3
+ "version": "2.21.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.20.0"
7
+ "version": "2.21.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": "7019097f2a52113af625c5ae7092147d238e402a93ba12e6f2d67bcc43f48e18"
422
+ "digest": "be88eefc234ed3fbb67e12675f04afd00af841f588efe4745bf3f4863eb050bd"
423
423
  }
package/spec/v1/gaps.json CHANGED
@@ -10467,6 +10467,57 @@
10467
10467
  }
10468
10468
  ]
10469
10469
  },
10470
+ {
10471
+ "id": "openwop.gap.0189.11",
10472
+ "rfc": "0189",
10473
+ "local": "G11",
10474
+ "section": "§B(b)",
10475
+ "surface": "G5's preceding-dot rule is right that `owner.workspace` does not name `workspace`, and wrong that `capabilities.prompts` does not name `prompts` — the `capabilities.<key>` and `host.<key>` forms are the CANONICAL way v1 prose names a capability family. Measured: admitting those two closed namespaces unlocks true homes for `prompts` (`spec/v1/prompts.md`, two protocol-tier invariants), `feedback` (`observability.md`), `nodePackRuntimes` (`node-packs.md` — a textbook home I had classified as \"no candidate anywhere\") and `aiEnvelope`. G10 already admits `(?:host\\.)?` in `titledFor` for exactly this reason; it fixed headings and left body prose behind.",
10476
+ "witness": "unclassified",
10477
+ "requirementId": null,
10478
+ "disposition": "transferred",
10479
+ "target": "scripts/check-v2-normative-home.mjs",
10480
+ "sources": [
10481
+ {
10482
+ "file": "RFCS/registers/0189-normative-home.gaps.md",
10483
+ "token": "G11"
10484
+ }
10485
+ ]
10486
+ },
10487
+ {
10488
+ "id": "openwop.gap.0189.12",
10489
+ "rfc": "0189",
10490
+ "local": "G12",
10491
+ "section": "§B(c)",
10492
+ "surface": "G10 made the HEADING supply the family name, which removed an accidental defence: a fenced code block under `## §host.<key>` spells the family `ctx.<key>.…` and was preceding-dot-dead before G10. After it, any such block containing a stray MUST/SHOULD/MAY **in a comment** satisfies §B(c). Live instance: §host.secrets' TypeScript sketch matched on `// pack SHOULD treat as advisory`. A fenced block is an illustrative shape, not an obligation.",
10493
+ "witness": "unclassified",
10494
+ "requirementId": null,
10495
+ "disposition": "closed",
10496
+ "target": null,
10497
+ "sources": [
10498
+ {
10499
+ "file": "RFCS/registers/0189-normative-home.gaps.md",
10500
+ "token": "G12"
10501
+ }
10502
+ ]
10503
+ },
10504
+ {
10505
+ "id": "openwop.gap.0189.13",
10506
+ "rfc": "0189",
10507
+ "local": "G13",
10508
+ "section": "§A",
10509
+ "surface": "A document that declares itself NON-NORMATIVE could be a normative home. `spec/v1/structured-output-subset.md` is titled \"(informative)\" and banners \"Non-normative snapshot\" — and it is the ONLY prose site of `envelopes.tierOneSubsetCompliance` corpus-wide, so declaring it was the cheapest way to resolve `envelopes`. The gate checked only that a Status banner EXISTS. At end-of-support the §D fallback would then have asserted that an informative document is operative prose.",
10510
+ "witness": "unclassified",
10511
+ "requirementId": null,
10512
+ "disposition": "closed",
10513
+ "target": null,
10514
+ "sources": [
10515
+ {
10516
+ "file": "RFCS/registers/0189-normative-home.gaps.md",
10517
+ "token": "G13"
10518
+ }
10519
+ ]
10520
+ },
10470
10521
  {
10471
10522
  "id": "openwop.gap.0190.1",
10472
10523
  "rfc": "0190",
@@ -250,6 +250,7 @@
250
250
  {
251
251
  "key": "envelopeContracts",
252
252
  "kind": "family",
253
+ "normativeText": ["spec/v1/ai-envelope.md"],
253
254
  "anchor": "core",
254
255
  "section": "core/capabilities.md#envelopeContracts",
255
256
  "peerDependencyId": "envelopeContracts",
@@ -339,6 +340,7 @@
339
340
  {
340
341
  "key": "secrets",
341
342
  "kind": "family",
343
+ "normativeText": ["spec/v1/host-capabilities.md"],
342
344
  "anchor": "core",
343
345
  "section": "core/capabilities.md#secrets",
344
346
  "peerDependencyId": "secrets",
@@ -634,6 +636,7 @@
634
636
  {
635
637
  "key": "modelCapabilities",
636
638
  "kind": "family",
639
+ "normativeText": ["spec/v1/host-capabilities.md"],
637
640
  "anchor": "core",
638
641
  "section": "core/capabilities.md#modelCapabilities",
639
642
  "peerDependencyId": "modelCapabilities",
@@ -672,6 +675,7 @@
672
675
  {
673
676
  "key": "aiProviders",
674
677
  "kind": "family",
678
+ "normativeText": ["spec/v1/host-capabilities.md", "spec/v1/capabilities.md", "spec/v1/ai-envelope.md"],
675
679
  "anchor": "core",
676
680
  "section": "core/capabilities.md#aiProviders",
677
681
  "peerDependencyId": "aiProviders",
@@ -703,6 +707,7 @@
703
707
  {
704
708
  "key": "agents",
705
709
  "kind": "family",
710
+ "normativeText": ["spec/v1/multi-agent-execution.md", "spec/v1/agent-memory.md", "spec/v1/agent-runtime.md", "spec/v1/agent-org-chart.md", "spec/v1/agent-evaluation.md", "spec/v1/capabilities.md"],
706
711
  "anchor": "core",
707
712
  "section": "core/capabilities.md#agents",
708
713
  "peerDependencyId": "agents",
@@ -740,6 +745,7 @@
740
745
  {
741
746
  "key": "memory",
742
747
  "kind": "family",
748
+ "normativeText": ["spec/v1/agent-memory.md", "spec/v1/capabilities.md"],
743
749
  "anchor": "core",
744
750
  "section": "core/capabilities.md#memory",
745
751
  "peerDependencyId": "memory",
@@ -1006,6 +1012,7 @@
1006
1012
  {
1007
1013
  "key": "artifactTypes",
1008
1014
  "kind": "family",
1015
+ "normativeText": ["spec/v1/artifact-type-packs.md"],
1009
1016
  "anchor": "core",
1010
1017
  "section": "core/capabilities.md#artifactTypes",
1011
1018
  "peerDependencyId": "artifactTypes",
@@ -1253,6 +1260,7 @@
1253
1260
  {
1254
1261
  "key": "uiPlugins",
1255
1262
  "kind": "family",
1263
+ "normativeText": ["spec/v1/frontend-plugin-packs.md"],
1256
1264
  "anchor": "core",
1257
1265
  "section": "core/capabilities.md#uiPlugins",
1258
1266
  "peerDependencyId": "uiPlugins",
@@ -1557,6 +1565,7 @@
1557
1565
  {
1558
1566
  "key": "production",
1559
1567
  "kind": "family",
1568
+ "normativeText": ["spec/v1/production-profile.md"],
1560
1569
  "anchor": "core",
1561
1570
  "section": "core/capabilities.md#production",
1562
1571
  "peerDependencyId": "production",
@@ -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.20.0",
4
- "corpusTag": "v2.20.0",
3
+ "version": "2.21.0",
4
+ "corpusTag": "v2.21.0",
5
5
  "updated": "2026-09-18"
6
6
  }