@openwop/openwop-conformance 2.46.6 → 2.46.7

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,3 +1,11 @@
1
+ ## [2.46.7] — 2026-10-14 — one id per leg; RFC 0243 G2 closes
2
+
3
+ - **RFC 0243 G2 closes.** No assertion changes; the packed `spec/v1/gaps.json` changes. openwop-app's certified 2.46.6 cut (build `44960bca5`) records all three G2 ids `executed-pass`.
4
+ - **Registry: a requirement id passed through a helper is registered.** A scenario writing `assert(ID_X, judge(o))`, where the helper calls `req(id, …)`, registered `explicitId: null`. `src/setup.ts` labels a soft-skipped row from `explicitId`, so on a host where the leg was `inapplicable` the row read `openwop.it.<file>.<slug>`, and on a host where it ran, the requirement id. One leg, two ids, depending on the host. Found by openwop-app-8f on `v2-agents-fan-out-waves`.
5
+ - The generator now takes the first `openwop.requirement.*` const passed as a call's first argument when the body has no `req()`. 20 records in 7 files gain their id, and no existing id changes: `v2-agents-fan-out-waves`, `v2-dispatch-loop`, `v2-dispatch-input-mapping`, `v2-subworkflow-input-mapping`, `v2-subworkflow-linkage`, `v2-host-event-delivery`, `v2-safefetch-ssrf-refused`.
6
+ - **What a host's next bundle shows:** those legs' non-executed rows are renamed from `openwop.it.*` to their requirement ids. Executed rows are unchanged. A bundle cut on an older suite lacks rows for the three 2.46.6 ids under `check-cut-gates` Witness, which is the usual currency effect.
7
+ - A self-test pins the registered ids for two of the files.
8
+
1
9
  ## [2.46.6] — 2026-10-13 — RFC 0243 G2: fan-out waves and per-item input
2
10
 
3
11
  - **New `v2-agents-fan-out-waves`** (three ids, legs in `lib/fan-out-witness.ts`). The v1 twins drove a seam v2 does not carry; these run fixtures whose supervisor emits its `mockDispatchPlan`.
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "package": "@openwop/spec-artifacts",
3
- "version": "2.46.6",
4
- "stampSha256": "4b005727a8561e054a7c97bb1466977ff703c6144ddf92da413c5875249b5495"
3
+ "version": "2.46.7",
4
+ "stampSha256": "aa3b7b3012274a6d025e75053ff2697d94062a06f4dd2fee48e2ef01964f8581"
5
5
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openwop/openwop-conformance",
3
- "version": "2.46.6",
3
+ "version": "2.46.7",
4
4
  "description": "Black-box conformance suite for OpenWOP hosts (v2 current; v1 scenarios retained for the frozen v1 tree).",
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.46.6"
59
+ "@openwop/spec-artifacts": "2.46.7"
60
60
  }
61
61
  }
package/requirements.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "tests": 2800,
7
7
  "withStableId": 2800,
8
8
  "interpolatedTitles": 0,
9
- "explicitIds": 2653
9
+ "explicitIds": 2673
10
10
  },
11
11
  "records": [
12
12
  {
@@ -28111,7 +28111,7 @@
28111
28111
  "file": "v2-agents-fan-out-waves.test.ts",
28112
28112
  "line": 64,
28113
28113
  "title": "children beyond the effective ceiling are dispatched in waves, and none is dropped",
28114
- "explicitId": null,
28114
+ "explicitId": "openwop.requirement.0243.max-fan-out-waves",
28115
28115
  "citations": []
28116
28116
  },
28117
28117
  {
@@ -28119,7 +28119,7 @@
28119
28119
  "file": "v2-agents-fan-out-waves.test.ts",
28120
28120
  "line": 72,
28121
28121
  "title": "nextWorkerInputs reaches each child at perItemInput: true, and fails closed without it",
28122
- "explicitId": null,
28122
+ "explicitId": "openwop.requirement.0243.per-item-input-gated",
28123
28123
  "citations": []
28124
28124
  },
28125
28125
  {
@@ -28127,7 +28127,7 @@
28127
28127
  "file": "v2-agents-fan-out-waves.test.ts",
28128
28128
  "line": 80,
28129
28129
  "title": "a nextWorkerInputs length that differs from nextWorkerIds fails the dispatch node and dispatches no child",
28130
- "explicitId": null,
28130
+ "explicitId": "openwop.requirement.agents.dispatch-per-item-length-mismatch",
28131
28131
  "citations": []
28132
28132
  },
28133
28133
  {
@@ -30205,7 +30205,7 @@
30205
30205
  "file": "v2-dispatch-input-mapping.test.ts",
30206
30206
  "line": 59,
30207
30207
  "title": "inputMapping projects the parent variable into the dispatched child inputs",
30208
- "explicitId": null,
30208
+ "explicitId": "openwop.requirement.agents.dispatch-input-mapping-projection",
30209
30209
  "citations": []
30210
30210
  },
30211
30211
  {
@@ -30213,7 +30213,7 @@
30213
30213
  "file": "v2-dispatch-input-mapping.test.ts",
30214
30214
  "line": 65,
30215
30215
  "title": "an unset parent variable projects to undefined: the child input is absent, never null",
30216
- "explicitId": null,
30216
+ "explicitId": "openwop.requirement.agents.dispatch-input-mapping-unset-undefined",
30217
30217
  "citations": []
30218
30218
  },
30219
30219
  {
@@ -30221,7 +30221,7 @@
30221
30221
  "file": "v2-dispatch-loop.test.ts",
30222
30222
  "line": 63,
30223
30223
  "title": "each turn records its decision and terminate completes the run",
30224
- "explicitId": null,
30224
+ "explicitId": "openwop.requirement.multi-agent.supervisor-loop-terminates",
30225
30225
  "citations": []
30226
30226
  },
30227
30227
  {
@@ -30229,7 +30229,7 @@
30229
30229
  "file": "v2-dispatch-loop.test.ts",
30230
30230
  "line": 69,
30231
30231
  "title": "every recorded decision is well-formed and the deciding agent never changes",
30232
- "explicitId": null,
30232
+ "explicitId": "openwop.requirement.multi-agent.decision-recorded-well-formed",
30233
30233
  "citations": []
30234
30234
  },
30235
30235
  {
@@ -30237,7 +30237,7 @@
30237
30237
  "file": "v2-dispatch-loop.test.ts",
30238
30238
  "line": 75,
30239
30239
  "title": "at executionModel.version >= 5, iteration is 1-based and increments by exactly 1 per turn",
30240
- "explicitId": null,
30240
+ "explicitId": "openwop.requirement.multi-agent.decision-iteration-monotonic",
30241
30241
  "citations": []
30242
30242
  },
30243
30243
  {
@@ -31457,7 +31457,7 @@
31457
31457
  "file": "v2-host-event-delivery.test.ts",
31458
31458
  "line": 174,
31459
31459
  "title": "an ephemeral host event has no id: and is not redelivered after Last-Event-ID",
31460
- "explicitId": null,
31460
+ "explicitId": "openwop.requirement.0236.ephemeral.no-resume",
31461
31461
  "citations": []
31462
31462
  },
31463
31463
  {
@@ -31497,7 +31497,7 @@
31497
31497
  "file": "v2-host-event-delivery.test.ts",
31498
31498
  "line": 243,
31499
31499
  "title": "the same subscription never receives the ephemeral host event",
31500
- "explicitId": null,
31500
+ "explicitId": "openwop.requirement.0236.ephemeral.no-fan-out",
31501
31501
  "citations": []
31502
31502
  },
31503
31503
  {
@@ -31505,7 +31505,7 @@
31505
31505
  "file": "v2-host-event-delivery.test.ts",
31506
31506
  "line": 256,
31507
31507
  "title": "emitTestHostEvent is served exactly for the listed host-test classes",
31508
- "explicitId": null,
31508
+ "explicitId": "openwop.requirement.0241.trigger.bound-by-listing",
31509
31509
  "citations": []
31510
31510
  },
31511
31511
  {
@@ -31513,7 +31513,7 @@
31513
31513
  "file": "v2-host-event-delivery.test.ts",
31514
31514
  "line": 270,
31515
31515
  "title": "a second tenant receives nothing for the first tenant’s host event",
31516
- "explicitId": null,
31516
+ "explicitId": "openwop.requirement.0236.host-event.tenant-isolation",
31517
31517
  "citations": []
31518
31518
  },
31519
31519
  {
@@ -36585,7 +36585,7 @@
36585
36585
  "file": "v2-safefetch-ssrf-refused.test.ts",
36586
36586
  "line": 166,
36587
36587
  "title": "an RFC 1918 target is refused egress_denied, ssrf-blocked",
36588
- "explicitId": null,
36588
+ "explicitId": "openwop.requirement.httpClient.ssrf-rfc1918-refused",
36589
36589
  "citations": []
36590
36590
  },
36591
36591
  {
@@ -36593,7 +36593,7 @@
36593
36593
  "file": "v2-safefetch-ssrf-refused.test.ts",
36594
36594
  "line": 172,
36595
36595
  "title": "a link-local or cloud-metadata target is refused egress_denied, ssrf-blocked",
36596
- "explicitId": null,
36596
+ "explicitId": "openwop.requirement.httpClient.ssrf-link-local-metadata-refused",
36597
36597
  "citations": []
36598
36598
  },
36599
36599
  {
@@ -37375,7 +37375,7 @@
37375
37375
  "file": "v2-subworkflow-input-mapping.test.ts",
37376
37376
  "line": 57,
37377
37377
  "title": "inputMapping seeds the child variable bag at creation",
37378
- "explicitId": null,
37378
+ "explicitId": "openwop.requirement.sub-workflow.input-mapping-seeds-child",
37379
37379
  "citations": []
37380
37380
  },
37381
37381
  {
@@ -37383,7 +37383,7 @@
37383
37383
  "file": "v2-subworkflow-input-mapping.test.ts",
37384
37384
  "line": 63,
37385
37385
  "title": "the mapped parent value lands after and over the child defaultValue",
37386
- "explicitId": null,
37386
+ "explicitId": "openwop.requirement.sub-workflow.input-mapping-overrides-default",
37387
37387
  "citations": []
37388
37388
  },
37389
37389
  {
@@ -37391,7 +37391,7 @@
37391
37391
  "file": "v2-subworkflow-input-mapping.test.ts",
37392
37392
  "line": 69,
37393
37393
  "title": "an unset parent variable arrives undefined, never an error or null",
37394
- "explicitId": null,
37394
+ "explicitId": "openwop.requirement.sub-workflow.input-mapping-unset-undefined",
37395
37395
  "citations": []
37396
37396
  },
37397
37397
  {
@@ -37399,7 +37399,7 @@
37399
37399
  "file": "v2-subworkflow-linkage.test.ts",
37400
37400
  "line": 59,
37401
37401
  "title": "node.completed for the core.subWorkflow node carries outputs.childRunId and outputs.childStatus",
37402
- "explicitId": null,
37402
+ "explicitId": "openwop.requirement.sub-workflow.node-completed-child-outputs",
37403
37403
  "citations": []
37404
37404
  },
37405
37405
  {
@@ -37407,7 +37407,7 @@
37407
37407
  "file": "v2-subworkflow-linkage.test.ts",
37408
37408
  "line": 65,
37409
37409
  "title": "outputMapping copies the child variable into the parent after the child completes",
37410
- "explicitId": null,
37410
+ "explicitId": "openwop.requirement.sub-workflow.output-mapping-copied",
37411
37411
  "citations": []
37412
37412
  },
37413
37413
  {
@@ -37415,7 +37415,7 @@
37415
37415
  "file": "v2-subworkflow-linkage.test.ts",
37416
37416
  "line": 71,
37417
37417
  "title": "getRunAncestry names the parent run with cause core.subWorkflow",
37418
- "explicitId": null,
37418
+ "explicitId": "openwop.requirement.sub-workflow.ancestry-parent-link",
37419
37419
  "citations": []
37420
37420
  },
37421
37421
  {
@@ -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.46.6",
5
- "corpusTag": "v2.46.6",
4
+ "version": "2.46.7",
5
+ "corpusTag": "v2.46.7",
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": "ac6de5303872664b78ff419c035915593e01599e02835e777a0123de1baeb398",
11
11
  "api/redocly.yaml": "b0604c89b2ca6d5076ec25725c539dad44a741a811fe524439ee6daef8baa09f",
12
- "api/seams-v2.yaml": "48ca51cc211127aed939340f5a39232d9f938037081d88ce9107f0929982d3c5",
13
- "api/v2/asyncapi.yaml": "4a5c1f6c99d08e41883637b2ea4a663687cf1d916d879cc490e6836ed7a0051f",
14
- "api/v2/openapi.yaml": "c4ca7bae3a66460097646432792d54146891b433f7dab62e4dcceb857738ae4a",
12
+ "api/seams-v2.yaml": "1f51bb8566237c46f9df4d262f218667143e72664a56403838787360f0e543fb",
13
+ "api/v2/asyncapi.yaml": "a4f623300eee3948f8debdf07cdf82c26ae7e6ceb9a6a15bd72a31adcd103690",
14
+ "api/v2/openapi.yaml": "f1229644f8d1fa6d9e9b7e3ed83595e45daaf20ba4c8cad6b52fbdfa335b3575",
15
15
  "api/v2/redocly.yaml": "1e66b60e6118ad11a823bb620678be464d99dfe50a40e3e6f93ec9429b88b34c",
16
16
  "schemas/README.md": "276fc1d51eb08e14e9127b9fd27761d7046ee33c12000f3a64a801322db8bf58",
17
17
  "schemas/a2a-task-state.schema.json": "75d5049dea8bd873ff0e7546f1c60c8d36c219bec7084264360be54a8be30ae1",
@@ -208,14 +208,14 @@
208
208
  "schemas/workspace-file.schema.json": "464de85c2a068243084ee9c1d969bc7cd5d8f7948574e58450d6493c38a0e1e4",
209
209
  "spec/v1/alias-detectors.json": "22444c22bb88c568339ef512553f9fc38146e22b566d11ab8608f655d688d19c",
210
210
  "spec/v1/capability-declaration-classes.json": "e7729aed5c4b4e1dd02abab0530f14cc95f5d4070fe51fb139e7f5cccefa00c6",
211
- "spec/v1/core-standard-manifest.json": "4375f41b350294f0cc2a045176389f459452af3708a1dd408df49293d5a823bd",
211
+ "spec/v1/core-standard-manifest.json": "5c3946728d3bb64d4cf290e93156788445da37272d4e44a4da803be695f9b543",
212
212
  "spec/v1/deprecations.json": "e723bc11d7272c71789ad1303bb7f21809a8a024abf57594f9d5c35dc199ece9",
213
213
  "spec/v1/deprecations.schema.json": "3e393c405d2a41b467d8c5e3c468549078df1ce6a6d2588fc488097b95d9b55b",
214
214
  "spec/v1/end-of-support.json": "35f0bf3b70fe78b16e2a2fd81a153fc27e703f6c16376c6fe7cdf1f4f2c4e6d4",
215
215
  "spec/v1/event-codemap.json": "3da60d884157793a360da532a9fcbbfb5285636db325a74cec94b34622186d97",
216
216
  "spec/v1/event-codemap.schema.json": "d05933b2e88103aff51a2f774df97b9bda065e0fc88dbd9b114cc47a32189174",
217
217
  "spec/v1/extensions.json": "79a60754aa16cbdbdb604f8e5c00038af535a1690a4d07bd5ff7c38f0256a7bc",
218
- "spec/v1/gaps.json": "e99666a5b15814ee1e5a109924c992f3b15a4fdae70e3c1f0f790f2099137686",
218
+ "spec/v1/gaps.json": "e31dd0a2c440ff38469a8033e3324f372278ee94d209e0f84207d2111123f506",
219
219
  "spec/v1/gaps.schema.json": "8fd83259f556553c9df0f53e7a82ca8c2a4771d471197f69b4e2ae0ceeacfd66",
220
220
  "spec/v1/migrations.json": "4c50760be70cb644d02427bcaf5749606700edf4513f423903cf3b1d12f5c300",
221
221
  "spec/v1/migrations.schema.json": "886779aa6c22e646db097f5df210adb018a4dd14a7b815465a18c8a7056c8f72",
@@ -313,9 +313,9 @@
313
313
  "spec/v2/path-manifest.json": "7b5679a4dad98c80d855361d88a98c8a4e045af15e310862a05b285b815dc9fc",
314
314
  "spec/v2/peer-dependency-aliases.json": "d10299280abee08258502925bc327293ee413e0108cd6e6ec75ff6110653308d",
315
315
  "spec/v2/profiles.json": "b382b261c7844798575f7c1b37c934f0da19846016a2337d883d4f5ef6e05479",
316
- "spec/v2/release.json": "84cecdf093e65301c2c4516a2665e9806d15ea82c50b4368888b918214254bb0",
316
+ "spec/v2/release.json": "1348d062c28c19897650cecb1f968c61adece3a61fdc4ecb8b7d8675468b7f65",
317
317
  "spec/v2/retention-floors.json": "eaf3722d95c79947af1d4269ef85117e126518c588cfcf1a2b21b97269f51624",
318
- "spec/v2/surface-baseline.json": "78eff58bd5ea5ab23968f840d886c3e78c280ff4f2ca235c792625446095b60a"
318
+ "spec/v2/surface-baseline.json": "185c226ce4868f6d435275b1005890c9328c18f2f86163f4622cce8b0dec63e3"
319
319
  },
320
- "corpusCommit": "213b2eafb1ed4cfaa71bcb088fb86f520b8688bf"
320
+ "corpusCommit": "b7f55b6d06df56983be5a9e9d518dd5a8fae8b29"
321
321
  }