@openwop/openwop-conformance 2.45.23 → 2.45.25

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,20 @@
1
1
  # `@openwop/openwop-conformance` Changelog
2
2
 
3
+ ## [2.45.25] — 2026-10-07 — `v2-wasm-abi-reject`; the frontend-plugin schema legs leave host bundles
4
+
5
+ - **New `v2-wasm-abi-reject` (`openwop.requirement.node-pack-runtimes.wasm-abi-reject`).** Gated on `nodePackRuntimes.wasm` and the new operator-installed fixture `conformance-wasm-pack-abi-mismatch`, which invokes `vendor.openwop.misbehaving.abi-bomb` (the `misbehaving-abi` pack, ABI version 999). Loading is not a protocol operation, so the leg reads what a rejection at load prevents: the pack in an advertised `loadedPacks`, and the node completing. The run must be refused at creation (4xx) or end without that node completing; a 401/403/429/5xx is `blocked`. Proof: a 9-case self-test double (`lib/wasm-abi-reject-witness.test.ts`). No RFC was needed: both observations already exist.
6
+ - **No scenario change.** RFC 0238 goes `Accepted` on openwop-app's certified 2.45.23 cut; its gaps G1 and G3 close, which changes the packed `spec/v1/gaps.json`.
7
+ - **No scenario change.** RFC 0239 goes `Accepted` on the v2 reference host's certified 2.45.23 cut; its gap G1 closes, which changes the packed `spec/v1/gaps.json`.
8
+ - **No scenario change (RFC 0238 G3).** The 13 always-on schema legs of `frontend-plugin-packs` read only the corpus, so they move to `src/coherence/frontend-plugin-schemas.test.ts` and leave host bundles; their ids become `openwop.it.frontend-plugin-schemas.*`, which changes the packed `requirements.json`. The host-reading legs stay.
9
+
10
+ ## [2.45.24] — 2026-10-07 — the effect receiver fails fast on a held pinned port; the README index check reads `spec/v2/core`
11
+
12
+ - **The effect receiver fails fast on a held pinned port.** With `OPENWOP_WEBHOOK_RECEIVER_PORT` pinned to a port another process holds, `startEffectReceiver` attached no `error` handler, so `EADDRINUSE` never settled its `listen` promise and the `0158`/`0194` duplicate-delivery rows hung to their 180 s timeout instead of failing with the cause. It now rejects at once with the bind error, as `scoped-receiver` has since 2.39.3. Self-test: a held port rejects in under 2 s; without the handler the test times out. Reported by MyndHyve (2.45.18 cut, port 8787).
13
+ - **No scenario change.** The coherence test `spec-corpus-validity` checks that the root README's document index lists every `spec/v2/core` doc exactly once and that its **Total** matches; it checked `spec/v1`. The two requirement ids are renamed to match, which changes the packed `requirements.json`.
14
+ - **Package README and metadata.** The README drops a 107-line block that repeated the dated coverage notes verbatim; the package description names v2; `tsconfig.json` sets `noEmit`, so a bare `tsc -p tsconfig.json` no longer writes `.js` files beside the sources.
15
+ - **Package docs rewritten for v2.** The README is the npm page again: install, protocol majors, a coverage summary by area (the dated per-RFC notes stay in this changelog), and a corrected "Resolving the contract" (the contract is the `@openwop/spec-artifacts` peer, not vendored). `coverage.md` leads with v2 coverage by core doc; `fixtures.md` uses v2 paths and catalogs `wasm-sandbox/` and `upstream/a2a-v1.0.1/`.
16
+ - **Erratum (packed contract): `provider_policy_denied`'s `details.reason`** is documented as `provider_disabled`, `byok_required`, `byok_required_but_unresolved` or `model_not_allowed`, the spelling the v1 scenario `providerPolicyEnforcement` already expects; the registry said kebab-case.
17
+
3
18
  ## [2.45.23] — 2026-10-06 — `0184.mint-no-tilde` also mints under the second-tenant credential; RFC 0237 filed
4
19
 
5
20
  - **Erratum: `host.announce` is a `ui-plugin/1` request method at v2.** The v2 `ui-plugin-message.schema.json` request enum omitted it, although the manifest `hostApi` enum and the `uiPlugins.hostApi` facet admit it (RFC 0130), so a host advertising it had to refuse it at `dispatchUiPluginRequest`. The schema is now hand-owned (no v1 seed marker). Found by openwop-app (ADR 0840).