@openwop/spec-artifacts 2.11.0 → 2.12.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 +18 -18
- 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/spec/v1/core-standard-manifest.json +2 -2
- package/spec/v1/gaps.json +4 -4
- package/spec/v2/core/connection-packs.md +1 -0
- package/spec/v2/core/form-content-packs.md +1 -0
- package/spec/v2/core/idempotency.md +1 -0
- package/spec/v2/core/interrupt.md +1 -0
- package/spec/v2/core/packs.md +3 -2
- package/spec/v2/core/persistence.md +1 -0
- package/spec/v2/core/replay.md +1 -0
- package/spec/v2/core/webhooks.md +1 -0
- package/spec/v2/core/workflow-chain-packs.md +1 -0
- package/spec/v2/release.json +2 -2
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.
|
|
5
|
-
"corpusTag": "v2.
|
|
4
|
+
"version": "2.12.0",
|
|
5
|
+
"corpusTag": "v2.12.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": "
|
|
13
|
-
"api/v2/asyncapi.yaml": "
|
|
14
|
-
"api/v2/openapi.yaml": "
|
|
12
|
+
"api/seams-v2.yaml": "0bba1a743a9cbcbc2bca8d44c3e37f6d19f116ef616235c4bcd66c7921363449",
|
|
13
|
+
"api/v2/asyncapi.yaml": "0de2007a06a46562708db32d03ca71d669a9b48517d5bbaca104667d9f3028d8",
|
|
14
|
+
"api/v2/openapi.yaml": "0b352cdd7ecd7abbb5a2d0cf868f021c202773996a1627fc7db0c7ca0e24892e",
|
|
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": "
|
|
204
|
+
"spec/v1/core-standard-manifest.json": "759429b6160ff41c3425771be09655179bffd550b1318d72e7b39ad31556d805",
|
|
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": "
|
|
210
|
+
"spec/v1/gaps.json": "ea0b23c99831d92acd0cc4690ee455363f17ec5c2aa96dfc1e144d6da46c5b82",
|
|
211
211
|
"spec/v1/gaps.schema.json": "8fd83259f556553c9df0f53e7a82ca8c2a4771d471197f69b4e2ae0ceeacfd66",
|
|
212
212
|
"spec/v1/migrations.json": "8839497d6a4830b53fa7867014a8336f0d725ef2346352e54fb580b7947897af",
|
|
213
213
|
"spec/v1/migrations.schema.json": "886779aa6c22e646db097f5df210adb018a4dd14a7b815465a18c8a7056c8f72",
|
|
@@ -216,24 +216,24 @@
|
|
|
216
216
|
"spec/v2/README.md": "8dbfc17b10f373dba95bdd2e8fec0580f35b380a834d304be3e24e7498170185",
|
|
217
217
|
"spec/v2/core/capabilities.md": "9e81d578e177f9875499677d22207df909e59e3d4ddaa3d90f18a7035cfb31f4",
|
|
218
218
|
"spec/v2/core/conformance.md": "a451c0a2ba79d93c55e540ccef480eba7de9602d59bbb03eead05daafde0beac",
|
|
219
|
-
"spec/v2/core/connection-packs.md": "
|
|
219
|
+
"spec/v2/core/connection-packs.md": "466bdb9dde79d85615ad8281dacfb7bf923ca22d7fb3ed219749e59574c753ed",
|
|
220
220
|
"spec/v2/core/errors.md": "6b6a1480ed889013172d8ce8c6985e321d2f4f73e1d9fae0bac9b961d0dd1a8c",
|
|
221
221
|
"spec/v2/core/events.md": "6ab8c727df3ebc5a60de3837c82a0075b4357d6f7e28435c6f80585687d41a76",
|
|
222
|
-
"spec/v2/core/form-content-packs.md": "
|
|
222
|
+
"spec/v2/core/form-content-packs.md": "af3517dd7125106088249c0e32220b0b9fc3e9304c10378a6327cc8ad84b6bf1",
|
|
223
223
|
"spec/v2/core/headers.md": "14cdf4ae9ee7d80eebfd426d7c3552e577baea0300915cd4bb3a68e8588195a8",
|
|
224
|
-
"spec/v2/core/idempotency.md": "
|
|
224
|
+
"spec/v2/core/idempotency.md": "e4edae1834101fd331379d84de77eaa9cead49383529c31f8bcd18322f67c965",
|
|
225
225
|
"spec/v2/core/identity.md": "ae24870df315b527dfe9ecf7a4c26582bcc1113da7954f44acf69bf463ac390d",
|
|
226
226
|
"spec/v2/core/interop.md": "8d8f4b040cb3625044c6aa586c8dcf5e9d15797de3d3b1cea631f44b8924701c",
|
|
227
|
-
"spec/v2/core/interrupt.md": "
|
|
227
|
+
"spec/v2/core/interrupt.md": "3a926d84b942d4ee7daccc4443c93dc29f6a69f2936ba813182f2c1336db2cbb",
|
|
228
228
|
"spec/v2/core/overview.md": "7dc00ace32d4e4ce929a383651f0029fc4b7091ec87487b1bf26ead1be209e0e",
|
|
229
|
-
"spec/v2/core/packs.md": "
|
|
230
|
-
"spec/v2/core/persistence.md": "
|
|
231
|
-
"spec/v2/core/replay.md": "
|
|
229
|
+
"spec/v2/core/packs.md": "cc06de2d49dd08410eececd5c279996ec839680553b332b4f33d6b31989b5757",
|
|
230
|
+
"spec/v2/core/persistence.md": "9e241f84259e38848f4a2ad1c21debb0dffd5f8aafbad26408aa6cc8969bf93b",
|
|
231
|
+
"spec/v2/core/replay.md": "10cc01bf9e4e921fcfac740f3174b2e95cda7ba9a1e13e85cf371c8c2d0fa46a",
|
|
232
232
|
"spec/v2/core/runs.md": "b4c0bb2869077fcbf26e15bc6bbac06819f68b8241944b903a275a37db1c71fa",
|
|
233
233
|
"spec/v2/core/security-defaults.md": "9ab1d1a88ccd0929f354422b151ec6d3164e8cd3784f8e58bb6f11cb7ee1e7d5",
|
|
234
234
|
"spec/v2/core/versioning.md": "27b88cde88f9060567ef7e46f4897b6be8892ade9f4a46c2ab16e314c515eabd",
|
|
235
|
-
"spec/v2/core/webhooks.md": "
|
|
236
|
-
"spec/v2/core/workflow-chain-packs.md": "
|
|
235
|
+
"spec/v2/core/webhooks.md": "46c1311c1897236f9bf9db5025c8af31dd84cd19208da3e5e9ff69eec9436965",
|
|
236
|
+
"spec/v2/core/workflow-chain-packs.md": "df78b76dd79f2267fb6b72c08e0911e5f9d5bb1925c6efdd6deda62fe8a51dc8",
|
|
237
237
|
"spec/v2/declaration.json": "83ba35c0d1d059f420edee62e4c1b96e3d8bd35394106e8a5ae684e502dcd99e",
|
|
238
238
|
"spec/v2/declaration.schema.json": "c86e3083fb9789c1958ecb4576cc6f71aa90e6f339521139238543ed08211dd4",
|
|
239
239
|
"spec/v2/errors.json": "aac91b12f954cc90574d310070ae3c651b131055d4389d2c6155242763765195",
|
|
@@ -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": "
|
|
277
|
+
"spec/v2/release.json": "a4995ef4ad7eb62cdea10f81a66dd4b2118fbbbf78f97bf317754b4d5828b8f2",
|
|
278
278
|
"spec/v2/retention-floors.json": "eaf3722d95c79947af1d4269ef85117e126518c588cfcf1a2b21b97269f51624"
|
|
279
279
|
},
|
|
280
|
-
"corpusCommit": "
|
|
280
|
+
"corpusCommit": "2315663a0447fe056fc07b230a8b1edd9ab0a94c"
|
|
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.
|
|
4
|
+
version: 2.12.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
|
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.
|
|
4
|
+
version: 2.12.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
|
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.
|
|
4
|
+
version: 2.12.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.
|
|
3
|
+
"version": "2.12.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.
|
|
7
|
+
"version": "2.12.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": "
|
|
422
|
+
"digest": "f3b28f648806361342b494359245c1b6588a80e0998a60dd701a3712b42bc65e"
|
|
423
423
|
}
|
package/spec/v1/gaps.json
CHANGED
|
@@ -10305,8 +10305,8 @@
|
|
|
10305
10305
|
"surface": "`namesKey` is a bare token match, so a family key that is a common English noun is satisfied by prose that merely uses the word. Measured against `spec/v2/core/*.md` with the gate's own predicate: `packs` has an obligation paragraph naming it in **7** documents — including `security-defaults.md` and `versioning.md`, which say nothing about the packs family's contract — and `idempotency` in **7**. Paragraph scope narrowed document scope but does not fix a common noun, and five of the families still undeclared (`packs`, `forms`, `replay`, `interrupt`, `connections`) are common nouns. A contributor under burn-down pressure can resolve `packs` against `security-defaults.md` and the gate will applaud.",
|
|
10306
10306
|
"witness": "unclassified",
|
|
10307
10307
|
"requirementId": null,
|
|
10308
|
-
"disposition": "
|
|
10309
|
-
"target":
|
|
10308
|
+
"disposition": "closed",
|
|
10309
|
+
"target": null,
|
|
10310
10310
|
"sources": [
|
|
10311
10311
|
{
|
|
10312
10312
|
"file": "RFCS/registers/0189-normative-home.gaps.md",
|
|
@@ -10373,8 +10373,8 @@
|
|
|
10373
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
10374
|
"witness": "unclassified",
|
|
10375
10375
|
"requirementId": null,
|
|
10376
|
-
"disposition": "
|
|
10377
|
-
"target":
|
|
10376
|
+
"disposition": "closed",
|
|
10377
|
+
"target": null,
|
|
10378
10378
|
"sources": [
|
|
10379
10379
|
{
|
|
10380
10380
|
"file": "RFCS/registers/0190-kernel-budget-denominator.gaps.md",
|
package/spec/v2/core/packs.md
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
# Packs
|
|
2
2
|
|
|
3
3
|
> **Status: Stable · RFC 0177.**
|
|
4
|
+
> **Normative home:** `packs`.
|
|
4
5
|
|
|
5
6
|
## Why this exists
|
|
6
7
|
|
|
@@ -8,7 +9,7 @@ Every one of the 282 pack versions published under v1 either pins `<2.0.0` or de
|
|
|
8
9
|
|
|
9
10
|
## The engine range
|
|
10
11
|
|
|
11
|
-
A manifest's `engines.openwop` MUST match the grammar in `schemas/v2/node-pack-manifest.schema.json`: a `>=` lower bound and an explicit `<` major ceiling (`^>=\d+(\.\d+){0,2} <\d+\.0\.0$`). A v2 host MUST treat a range with no upper bound as bounded by `<2.0.0`. A host MUST refuse to install a version whose range does not admit the host's protocol major with `pack_engine_unsupported` (`spec/v2/errors.json`); `pack_runtime_requirement_unmet` remains a runtime-requirement code and MUST NOT be used for the protocol major. The
|
|
12
|
+
A manifest's `engines.openwop` MUST match the grammar in `schemas/v2/node-pack-manifest.schema.json`: a `>=` lower bound and an explicit `<` major ceiling (`^>=\d+(\.\d+){0,2} <\d+\.0\.0$`). A v2 host MUST treat a range with no upper bound as bounded by `<2.0.0`. A host MUST refuse to install a version whose range does not admit the host's protocol major with `pack_engine_unsupported` (`spec/v2/errors.json`); `pack_runtime_requirement_unmet` remains a runtime-requirement code and MUST NOT be used for the protocol major. The range is a claim about the pack's own surface, not about run semantics: admitting major M asserts that the manifest validates against the `schemas/v2/` manifest schema for its `kind`, that every `peerDependencies` key resolves (§"Peer-dependency identifiers"), and that the version carries a §Signing signature. Each conjunct keeps its own refusal code; a mechanical ceiling bump is not a verification. Both checks MUST run at install on every publication path — the canonical registry, a vendor registry's write API, and a mirror ingest — so no registry-side artifact can bypass it.
|
|
12
13
|
|
|
13
14
|
## The `packs` capability
|
|
14
15
|
|
|
@@ -34,7 +35,7 @@ The registry is versioned by tree, not header. It publishes `registry/v2/packs/<
|
|
|
34
35
|
|
|
35
36
|
## Peer-dependency identifiers
|
|
36
37
|
|
|
37
|
-
A `peerDependencies` key MUST be a root key of `spec/v2/
|
|
38
|
+
A `peerDependencies` key MUST be a `families[].key` in `spec/v2/declaration.json` whose `anchor` is not `deleted` — equivalently a root key of the generated `schemas/v2/capabilities.schema.json` — or carry a row in `spec/v2/peer-dependency-aliases.json`, which is how a v1-era key reaches a v2 family through the overlap; the declaration key, the peer-dependency identifier, and the capabilities.md section anchor are one identifier. A host MUST refuse a key the declaration file does not name with `pack_peer_dependency_undefined`. Facet paths are not identifiers: a pack requires a family by its key and names facets in `peerDependenciesMeta.<family>.facets[]`.
|
|
38
39
|
|
|
39
40
|
```jsonc
|
|
40
41
|
"peerDependencies": { "aiProviders": "required" },
|
package/spec/v2/core/replay.md
CHANGED
package/spec/v2/core/webhooks.md
CHANGED
package/spec/v2/release.json
CHANGED
|
@@ -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.
|
|
4
|
-
"corpusTag": "v2.
|
|
3
|
+
"version": "2.12.0",
|
|
4
|
+
"corpusTag": "v2.12.0",
|
|
5
5
|
"updated": "2026-09-18"
|
|
6
6
|
}
|