@openwop/openwop-conformance 2.42.3 → 2.42.4
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 +17 -0
- package/README.md +1 -1
- package/dist/spec-artifacts.lock.json +2 -2
- package/package.json +2 -2
- package/requirements.json +291 -102
- package/schemas/CORPUS-STAMP.json +9 -9
- package/src/lib/agentOrgChart.ts +21 -4
- package/src/lib/effect-receiver.ts +23 -2
- package/src/lib/toolCatalog.ts +29 -5
- package/src/scenarios/agent-manifest-runtime.test.ts +17 -4
- package/src/scenarios/agent-org-chart-scoping.test.ts +27 -4
- package/src/scenarios/agent-roster-attribution.test.ts +28 -4
- package/src/scenarios/agentPackExport.test.ts +33 -0
- package/src/scenarios/agentPackInstall.test.ts +32 -0
- package/src/scenarios/agentReasoningEvents.test.ts +22 -13
- package/src/scenarios/agents-run-tool-allowlist.test.ts +6 -2
- package/src/scenarios/ai-envelope-shape.test.ts +9 -8
- package/src/scenarios/anonymous-actor-write-gated.test.ts +12 -6
- package/src/scenarios/audit-log-integrity.test.ts +37 -0
- package/src/scenarios/context-budget-transcript-bound.test.ts +14 -4
- package/src/scenarios/context-summarization-replay.test.ts +17 -8
- package/src/scenarios/conversationLifecycle.test.ts +12 -1
- package/src/scenarios/conversationReplayDeterminism.test.ts +19 -3
- package/src/scenarios/cost-attribution.test.ts +12 -0
- package/src/scenarios/debug-bundle-truncation.test.ts +16 -3
- package/src/scenarios/distillation-shape.test.ts +30 -0
- package/src/scenarios/envelope-truncated.test.ts +6 -2
- package/src/scenarios/feedback-fork-not-copied.test.ts +28 -7
- package/src/scenarios/idempotency-concurrent-claim.test.ts +27 -9
- package/src/scenarios/idempotency-key-determinism.test.ts +6 -2
- package/src/scenarios/mcp-server-untrusted-args.test.ts +20 -5
- package/src/scenarios/mcp-tool-roundtrip.test.ts +7 -21
- package/src/scenarios/memory-compaction-provenance-tag.test.ts +11 -3
- package/src/scenarios/orchestratorDispatch.test.ts +18 -2
- package/src/scenarios/pack-registry.test.ts +8 -1
- package/src/scenarios/production-backpressure.test.ts +17 -11
- package/src/scenarios/redaction.test.ts +8 -2
- package/src/scenarios/replay-fanout-suppression.test.ts +18 -2
- package/src/scenarios/runner-ledger.test.ts +7 -2
- package/src/scenarios/stream-modes.test.ts +27 -0
- package/src/scenarios/tool-catalog-projection.test.ts +35 -12
- package/src/scenarios/v2-effect-identity-business-key.test.ts +40 -6
- package/src/scenarios/v2-idempotency-in-flight.test.ts +16 -0
- package/src/scenarios/v2-mcp-tasks.test.ts +17 -3
- package/src/scenarios/v2-min-client-version.test.ts +11 -1
- package/src/scenarios/v2-run-diff-identical.test.ts +13 -5
- package/src/scenarios/v2-run-pause-resume.test.ts +4 -1
- package/src/scenarios/v2-sse-last-event-id.test.ts +7 -0
- package/src/scenarios/v2-version-header-honored.test.ts +22 -3
- package/src/scenarios/v2-webhook-durable-delivery.test.ts +8 -0
- package/src/scenarios/v2-webhook-unregister-stops-delivery.test.ts +6 -1
- package/src/scenarios/version-negotiation.test.ts +12 -1
- package/src/scenarios/webhook-signed-delivery.test.ts +18 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
# `@openwop/openwop-conformance` Changelog
|
|
2
2
|
|
|
3
|
+
## [2.42.4] — 2026-09-27 — unfailable-leg audit wave 2, an on-the-wire Idempotency-Key witness, and a gate so the class stops growing
|
|
4
|
+
|
|
5
|
+
- **Wave 2 of the unfailable-leg audit.** `scripts/audit-unfailable-legs.mjs --all` widened the scan from Accepted-RFC ids to every leg, and added a sixth shape: *asserts, then soft-skips*. At major 2 an `inapplicable` or `skipped` note after an assertion records `executed-pass` with a `partial-witness:` detail; at major 1 a `blocked` note does too. Certification counts both.
|
|
6
|
+
- **Reviewed:** 111 new candidates in four parallel reviews: 38 confirmed, 18 plausible. Most are fixed; each fix names the non-conforming host it now catches.
|
|
7
|
+
- **Fixes that only make a leg check what its title already promised:** exact error codes, required schema members, sequence order, per-type (not per-count) supersets, positive controls.
|
|
8
|
+
- **Changed dispositions:** where a leg asserted setup and then never observed its requirement, it now calls `blockedDespiteAssertions`.
|
|
9
|
+
- **Guard against over-correction:** a `blocked` row denies the whole bundle, so every new `blocked` was checked against the committed certified bundles. None of them locks out a conforming host. Three changes were reverted to the honest form:
|
|
10
|
+
- the dead-letter sink half without the optional `deadLetter` read is an annotated partial witness (RFC 0188 §A.5);
|
|
11
|
+
- backpressure without an advertised `inflightCap` is `inapplicable` before any assertion;
|
|
12
|
+
- a SHOULD-level `traceId` and an optional `settings` echo are left untouched.
|
|
13
|
+
- **Left as they are, with reasons:** fixes that need a per-attempt budget seam, a fixture change, or a spec decision (the audit-verify checkpoint signature preimage is stated two different ways).
|
|
14
|
+
- **The RFC 0173 retry leg counts the key on the wire.** `lib/effect-receiver.ts` gains a fail-first mode: it cuts the first attempt's connection, a genuine transport failure, after recording its `Idempotency-Key`. `v2-effect-identity-business-key`'s retry leg now requires the provider to see one key across attempts, equal to the ledger's. The seam contract always said "the suite fixture provider records the idempotency key of each attempt"; until now the leg sent the host to an address nothing listened on. Checked on the v2 reference host, which passes. Sabotaged with a fresh key per attempt behind a constant ledger key: it fails with "2 attempt(s) on the wire carried 2 distinct key(s)".
|
|
15
|
+
- **New gate `scripts/check-softskip-after-assert.mjs`** in `openwop:check`.
|
|
16
|
+
- A soft-skip after an assertion must be `blockedDespiteAssertions` or carry a `// partial-witness-ok: <why the requirement was already observed>` reason.
|
|
17
|
+
- Existing sites are a per-file baseline (`conformance/softskip-after-assert.baseline.json`). The baseline is unreviewed debt, not approval, and `--write` refuses to raise it without `--allow-raise`.
|
|
18
|
+
- **Version moved ahead of publication.** `@openwop/openwop-conformance` and its exact-pinned peer `@openwop/spec-artifacts` move to `2.42.4` because `2.42.3` is tagged. Not tagged, not published.
|
|
19
|
+
|
|
3
20
|
## [2.42.3] — 2026-09-27 — the unfailable-leg audit: 19 legs a non-conforming host could pass now measure their requirement
|
|
4
21
|
|
|
5
22
|
- **The unfailable-leg audit: 19 legs that a non-conforming host could pass now measure their requirement.** A scanner (`scripts/audit-unfailable-legs.mjs`, an audit aid, not a gate) flagged 66 legs that witness an Accepted RFC's Falsifiability row and have a shape this corpus has shipped as a defect before: satisfiable bounds (the 1 ≤ 1 no-refire leg), loops over a possibly empty list, `if`-guarded assertions, always-defined checks, and the host's own ledger as the only witness. A reviewer judged each one against a single bar: would a host that breaks the rule record `executed-pass`?
|
package/README.md
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
# --legacy-peer-deps is REQUIRED, not optional: the exact peer pin is what npm's
|
|
12
12
|
# default resolver refuses. npm 10.9 fails outright with
|
|
13
13
|
# "Cannot read properties of null (reading 'edgesOut')" — use npm >= 11.
|
|
14
|
-
npm install --legacy-peer-deps @openwop/openwop-conformance@2.42.
|
|
14
|
+
npm install --legacy-peer-deps @openwop/openwop-conformance@2.42.4 @openwop/spec-artifacts@2.42.4
|
|
15
15
|
# or run without install:
|
|
16
16
|
npx @openwop/openwop-conformance --base-url https://api.example.com --api-key hk_test_...
|
|
17
17
|
```
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openwop/openwop-conformance",
|
|
3
|
-
"version": "2.42.
|
|
3
|
+
"version": "2.42.4",
|
|
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.42.
|
|
59
|
+
"@openwop/spec-artifacts": "2.42.4"
|
|
60
60
|
}
|
|
61
61
|
}
|