@openwop/openwop-conformance 2.45.22 → 2.45.24

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.
Files changed (35) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/README.md +227 -608
  3. package/coverage.md +118 -90
  4. package/dist/spec-artifacts.lock.json +2 -2
  5. package/fixtures/conformance-multi-party-council-oversize.json +244 -0
  6. package/fixtures/conformance-multi-party-council.json +61 -0
  7. package/fixtures/conformance-nondeterminism.json +23 -0
  8. package/fixtures/conformance-wasm-pack-memory-cap-breach.json +23 -5
  9. package/fixtures/frontend-plugin-packs/ui/narrow.html +4 -0
  10. package/fixtures/frontend-plugin-packs/ui-plugin-pack-narrow.json +16 -0
  11. package/fixtures/wasm-packs/build.mjs +43 -0
  12. package/fixtures/wasm-packs/misbehaving-abi/module.wasm +0 -0
  13. package/fixtures/wasm-packs/misbehaving-abi/module.wat +24 -0
  14. package/fixtures/wasm-packs/misbehaving-abi/pack.json +27 -0
  15. package/fixtures/wasm-packs/misbehaving-memory/module.wasm +0 -0
  16. package/fixtures/wasm-packs/misbehaving-memory/module.wat +30 -0
  17. package/fixtures/wasm-packs/misbehaving-memory/pack.json +27 -0
  18. package/fixtures.md +109 -55
  19. package/package.json +3 -3
  20. package/requirements.json +319 -75
  21. package/scenario-majors.json +17 -2
  22. package/schemas/CORPUS-STAMP.json +32 -30
  23. package/src/lib/council-roster-witness.ts +144 -0
  24. package/src/lib/effect-receiver.ts +12 -1
  25. package/src/lib/ui-plugin-boundary-witness.ts +180 -0
  26. package/src/lib/wasm-memory-cap-witness.ts +46 -0
  27. package/src/scenarios/v2-bound-id-path-projection.test.ts +20 -0
  28. package/src/scenarios/v2-envelope-contracts-advertisement.test.ts +8 -0
  29. package/src/scenarios/v2-multi-party-council.test.ts +56 -0
  30. package/src/scenarios/v2-nondeterminism-policy-advertisement.test.ts +11 -1
  31. package/src/scenarios/v2-nondeterminism-sources.test.ts +83 -0
  32. package/src/scenarios/v2-purpose-propagation-advertisement.test.ts +1 -1
  33. package/src/scenarios/v2-purpose-propagation-onward.test.ts +119 -0
  34. package/src/scenarios/v2-ui-plugin-boundary.test.ts +68 -0
  35. package/src/scenarios/v2-wasm-memory-cap.test.ts +34 -0
package/requirements.json CHANGED
@@ -2,11 +2,11 @@
2
2
  "$comment": "GENERATED by conformance/scripts/generate-requirement-registry.mjs — do not edit. One record per it()/test() in src/scenarios. Ids: openwop.it.<file-stem>.<title-slug>[~n] (src/lib/requirement-ids.ts). A record with id null has an interpolated title; its run-time row is keyed by the rendered title and maps here by file+line only. Renamed ids need a row in requirement-aliases.json.",
3
3
  "generatedFrom": "src/scenarios/*.test.ts",
4
4
  "counts": {
5
- "files": 728,
6
- "tests": 2763,
7
- "withStableId": 2763,
5
+ "files": 735,
6
+ "tests": 2780,
7
+ "withStableId": 2780,
8
8
  "interpolatedTitles": 0,
9
- "explicitIds": 2626
9
+ "explicitIds": 2643
10
10
  },
11
11
  "records": [
12
12
  {
@@ -28969,7 +28969,7 @@
28969
28969
  {
28970
28970
  "id": "openwop.it.v2-bound-id-path-projection.a-tenant-bound-id-is-readable-at-its-escaped-path-segment-links-carry-that-form",
28971
28971
  "file": "v2-bound-id-path-projection.test.ts",
28972
- "line": 69,
28972
+ "line": 74,
28973
28973
  "title": "a tenant-bound id is readable at its ~-escaped path segment, links carry that form, and a malformed escape is refused",
28974
28974
  "explicitId": "openwop.requirement.0184.bound-id-path-projection",
28975
28975
  "citations": [
@@ -29016,10 +29016,15 @@
29016
29016
  {
29017
29017
  "id": "openwop.it.v2-bound-id-path-projection.a-tenant-bound-id-the-host-mints-for-this-run-contains-no-bites-only-when-the-cr",
29018
29018
  "file": "v2-bound-id-path-projection.test.ts",
29019
- "line": 154,
29019
+ "line": 159,
29020
29020
  "title": "a tenant-bound id the host mints for this run contains no ~ (bites only when the credential tenant is not grammar-clean)",
29021
29021
  "explicitId": "openwop.requirement.0184.mint-no-tilde",
29022
29022
  "citations": [
29023
+ {
29024
+ "section": "spec/v2/core/identity.md §5",
29025
+ "requirement": null,
29026
+ "interpolated": true
29027
+ },
29023
29028
  {
29024
29029
  "section": "spec/v2/core/identity.md §5",
29025
29030
  "requirement": null,
@@ -30714,6 +30719,19 @@
30714
30719
  }
30715
30720
  ]
30716
30721
  },
30722
+ {
30723
+ "id": "openwop.it.v2-envelope-contracts-advertisement.envelopecontracts-advertised-is-not-false-a-host-that-does-not-offer-the-family",
30724
+ "file": "v2-envelope-contracts-advertisement.test.ts",
30725
+ "line": 41,
30726
+ "title": "envelopeContracts.advertised is not false: a host that does not offer the family omits it",
30727
+ "explicitId": "openwop.requirement.0237.no-false-advertisement",
30728
+ "citations": [
30729
+ {
30730
+ "section": "RFC 0237 §C; capabilities.md §2",
30731
+ "requirement": "envelopeContracts.advertised: false is not a v2 state; a host that does not offer the family MUST omit it"
30732
+ }
30733
+ ]
30734
+ },
30717
30735
  {
30718
30736
  "id": "openwop.requirement.envelopes.reasoning-declared-optional-string",
30719
30737
  "file": "v2-envelope-reasoning-shape.test.ts",
@@ -33669,6 +33687,45 @@
33669
33687
  }
33670
33688
  ]
33671
33689
  },
33690
+ {
33691
+ "id": "openwop.it.v2-multi-party-council.the-configured-roster-is-carried-on-conversation-opened",
33692
+ "file": "v2-multi-party-council.test.ts",
33693
+ "line": 39,
33694
+ "title": "the configured roster is carried on conversation.opened",
33695
+ "explicitId": "openwop.requirement.0239.council.roster-carried",
33696
+ "citations": [
33697
+ {
33698
+ "section": "spec/v2/core/conversation.md §multiPartyConversation",
33699
+ "requirement": "a host MUST accept participants in core.conversationGate config and carry them on conversation.opened"
33700
+ }
33701
+ ]
33702
+ },
33703
+ {
33704
+ "id": "openwop.it.v2-multi-party-council.a-turn-from-outside-the-roster-is-refused-and-left-unconsumed",
33705
+ "file": "v2-multi-party-council.test.ts",
33706
+ "line": 45,
33707
+ "title": "a turn from outside the roster is refused and left unconsumed",
33708
+ "explicitId": "openwop.requirement.0239.council.speaker-refused",
33709
+ "citations": [
33710
+ {
33711
+ "section": "spec/v2/core/conversation.md §multiPartyConversation",
33712
+ "requirement": "a host MUST refuse a resumed turn whose speakerId is off the roster with conversation_speaker_not_participant, leaving the interrupt open"
33713
+ }
33714
+ ]
33715
+ },
33716
+ {
33717
+ "id": "openwop.it.v2-multi-party-council.an-oversized-roster-is-refused-at-run-creation",
33718
+ "file": "v2-multi-party-council.test.ts",
33719
+ "line": 51,
33720
+ "title": "an oversized roster is refused at run creation",
33721
+ "explicitId": "openwop.requirement.0239.council.roster-exceeded",
33722
+ "citations": [
33723
+ {
33724
+ "section": "spec/v2/core/conversation.md §multiPartyConversation",
33725
+ "requirement": "a host MUST refuse at run creation, never truncate, a roster over maxParticipants, with conversation_roster_exceeded"
33726
+ }
33727
+ ]
33728
+ },
33672
33729
  {
33673
33730
  "id": "openwop.it.v2-negotiation-authenticated.an-unauthenticated-a2a-exchange-cannot-lower-the-version-below-preferredversion",
33674
33731
  "file": "v2-negotiation-authenticated.test.ts",
@@ -33759,7 +33816,7 @@
33759
33816
  {
33760
33817
  "id": "openwop.it.v2-nondeterminism-policy-advertisement.the-nondeterminismpolicy-record-validates-against-its-capabilities-schema-seat",
33761
33818
  "file": "v2-nondeterminism-policy-advertisement.test.ts",
33762
- "line": 33,
33819
+ "line": 35,
33763
33820
  "title": "the nondeterminismPolicy record validates against its capabilities-schema seat",
33764
33821
  "explicitId": "openwop.requirement.nondeterminism-policy.advert-record-schema",
33765
33822
  "citations": [
@@ -33770,6 +33827,43 @@
33770
33827
  }
33771
33828
  ]
33772
33829
  },
33830
+ {
33831
+ "id": "openwop.it.v2-nondeterminism-policy-advertisement.nondeterminismpolicy-declared-is-not-false-a-host-that-does-not-offer-the-family",
33832
+ "file": "v2-nondeterminism-policy-advertisement.test.ts",
33833
+ "line": 44,
33834
+ "title": "nondeterminismPolicy.declared is not false: a host that does not offer the family omits it",
33835
+ "explicitId": "openwop.requirement.0237.no-false-advertisement",
33836
+ "citations": [
33837
+ {
33838
+ "section": "RFC 0237 §C; capabilities.md §2",
33839
+ "requirement": "nondeterminismPolicy.declared: false is not a v2 state; a host that does not offer the family MUST omit it"
33840
+ }
33841
+ ]
33842
+ },
33843
+ {
33844
+ "id": "openwop.it.v2-nondeterminism-sources.a-replay-fork-reproduces-every-value-drawn-from-a-listed-source",
33845
+ "file": "v2-nondeterminism-sources.test.ts",
33846
+ "line": 52,
33847
+ "title": "a replay fork reproduces every value drawn from a listed source",
33848
+ "explicitId": "openwop.requirement.0237.declared-source-replays",
33849
+ "citations": [
33850
+ {
33851
+ "section": "spec/v2/core/replay.md §Declared nondeterminism",
33852
+ "requirement": null,
33853
+ "interpolated": true
33854
+ },
33855
+ {
33856
+ "section": "spec/v2/core/replay.md §Declared nondeterminism",
33857
+ "requirement": null,
33858
+ "interpolated": true
33859
+ },
33860
+ {
33861
+ "section": "spec/v2/core/replay.md §Declared nondeterminism",
33862
+ "requirement": null,
33863
+ "interpolated": true
33864
+ }
33865
+ ]
33866
+ },
33773
33867
  {
33774
33868
  "id": "openwop.it.v2-oauth-client-pkce-state-iss.sends-pkce-s256-and-the-verifier-at-the-token-endpoint-hashes-to-the-challenge",
33775
33869
  "file": "v2-oauth-client-pkce-state-iss.test.ts",
@@ -35506,6 +35600,39 @@
35506
35600
  }
35507
35601
  ]
35508
35602
  },
35603
+ {
35604
+ "id": "openwop.it.v2-purpose-propagation-onward.a-received-label-is-re-emitted-on-the-onward-message-never-widened",
35605
+ "file": "v2-purpose-propagation-onward.test.ts",
35606
+ "line": 83,
35607
+ "title": "a received label is re-emitted on the onward message, never widened",
35608
+ "explicitId": "openwop.requirement.purpose-propagation.onward-reemit-no-widen",
35609
+ "citations": [
35610
+ {
35611
+ "section": "spec/v2/core/security-defaults.md §Onward hops",
35612
+ "requirement": null,
35613
+ "interpolated": true
35614
+ },
35615
+ {
35616
+ "section": "spec/v2/core/security-defaults.md §Onward hops",
35617
+ "requirement": null,
35618
+ "interpolated": true
35619
+ }
35620
+ ]
35621
+ },
35622
+ {
35623
+ "id": "openwop.it.v2-purpose-propagation-onward.an-empty-label-means-no-onward-call-while-an-unlabelled-control-call-goes-throug",
35624
+ "file": "v2-purpose-propagation-onward.test.ts",
35625
+ "line": 102,
35626
+ "title": "an empty label means no onward call, while an unlabelled control call goes through",
35627
+ "explicitId": "openwop.requirement.purpose-propagation.empty-no-onward",
35628
+ "citations": [
35629
+ {
35630
+ "section": "spec/v2/core/security-defaults.md §Onward hops",
35631
+ "requirement": null,
35632
+ "interpolated": true
35633
+ }
35634
+ ]
35635
+ },
35509
35636
  {
35510
35637
  "id": "openwop.it.v2-queue-cross-tenant-isolation.a-message-tenant-a-publishes-on-topic-t-is-never-consumed-by-tenant-b-on-t-and-a",
35511
35638
  "file": "v2-queue-cross-tenant-isolation.test.ts",
@@ -37631,6 +37758,58 @@
37631
37758
  }
37632
37759
  ]
37633
37760
  },
37761
+ {
37762
+ "id": "openwop.it.v2-ui-plugin-boundary.the-frame-is-sandboxed-without-same-origin",
37763
+ "file": "v2-ui-plugin-boundary.test.ts",
37764
+ "line": 45,
37765
+ "title": "the frame is sandboxed without same-origin",
37766
+ "explicitId": "openwop.requirement.0238.ui-plugin.frame-isolated",
37767
+ "citations": [
37768
+ {
37769
+ "section": "spec/v2/core/packs.md §Front-end plugin packs",
37770
+ "requirement": "a cross-origin-iframe plugin frame MUST carry a sandbox directive admitting allow-scripts and never allow-same-origin"
37771
+ }
37772
+ ]
37773
+ },
37774
+ {
37775
+ "id": "openwop.it.v2-ui-plugin-boundary.the-frame-denies-egress",
37776
+ "file": "v2-ui-plugin-boundary.test.ts",
37777
+ "line": 51,
37778
+ "title": "the frame denies egress",
37779
+ "explicitId": "openwop.requirement.0238.ui-plugin.frame-deny-egress",
37780
+ "citations": [
37781
+ {
37782
+ "section": "spec/v2/core/packs.md §Front-end plugin packs",
37783
+ "requirement": "the frame MUST set default-src 'none' and admit no connect-src source the plugin did not declare"
37784
+ }
37785
+ ]
37786
+ },
37787
+ {
37788
+ "id": "openwop.it.v2-ui-plugin-boundary.the-dispatch-refuses-methods-outside-the-allowlists-and-runs-the-declared-one",
37789
+ "file": "v2-ui-plugin-boundary.test.ts",
37790
+ "line": 57,
37791
+ "title": "the dispatch refuses methods outside the allowlists and runs the declared one",
37792
+ "explicitId": "openwop.requirement.0238.ui-plugin.rpc-allowlist",
37793
+ "citations": [
37794
+ {
37795
+ "section": "spec/v2/core/packs.md §Front-end plugin packs",
37796
+ "requirement": "a method outside the plugin's declared hostApi or the advertised uiPlugins.hostApi MUST return method_not_allowed and MUST NOT execute"
37797
+ }
37798
+ ]
37799
+ },
37800
+ {
37801
+ "id": "openwop.it.v2-ui-plugin-boundary.no-dispatch-response-carries-credential-material",
37802
+ "file": "v2-ui-plugin-boundary.test.ts",
37803
+ "line": 63,
37804
+ "title": "no dispatch response carries credential material",
37805
+ "explicitId": "openwop.requirement.0238.ui-plugin.no-byok",
37806
+ "citations": [
37807
+ {
37808
+ "section": "spec/v2/core/packs.md §Front-end plugin packs",
37809
+ "requirement": "a ui-plugin/1 response MUST NOT carry credential material across the boundary"
37810
+ }
37811
+ ]
37812
+ },
37634
37813
  {
37635
37814
  "id": "openwop.it.v2-ui-plugins-advertisement.the-uiplugins-record-validates-against-its-capabilities-schema-seat",
37636
37815
  "file": "v2-ui-plugins-advertisement.test.ts",
@@ -37922,6 +38101,19 @@
37922
38101
  }
37923
38102
  ]
37924
38103
  },
38104
+ {
38105
+ "id": "openwop.it.v2-wasm-memory-cap.a-module-exceeding-maxmemorybytes-produces-cap-breached-wasm-memory-and-fails-th",
38106
+ "file": "v2-wasm-memory-cap.test.ts",
38107
+ "line": 29,
38108
+ "title": "a module exceeding maxMemoryBytes produces cap.breached wasm-memory and fails the run",
38109
+ "explicitId": "openwop.requirement.node-pack-runtimes.wasm-memory-cap",
38110
+ "citations": [
38111
+ {
38112
+ "section": "spec/v2/core/node-pack-runtimes.md §WASM",
38113
+ "requirement": "a host advertising maxMemoryBytes MUST enforce it and emit cap.breached with kind wasm-memory on a breach"
38114
+ }
38115
+ ]
38116
+ },
37925
38117
  {
37926
38118
  "id": "openwop.requirement.0215.no-head-of-line",
37927
38119
  "file": "v2-webhook-delivery-isolation.test.ts",
@@ -44584,7 +44776,7 @@
44584
44776
  {
44585
44777
  "id": "openwop.it.spec-corpus-validity.finds-at-least-three-schemas-workflow-definition-run-event-suspend-request",
44586
44778
  "file": "spec-corpus-validity.test.ts",
44587
- "line": 556,
44779
+ "line": 557,
44588
44780
  "title": "finds at least three schemas (workflow-definition, run-event, suspend-request)",
44589
44781
  "explicitId": "openwop.it.spec-corpus-validity.finds-at-least-three-schemas-workflow-definition-run-event-suspend-request",
44590
44782
  "citations": [
@@ -44597,7 +44789,7 @@
44597
44789
  {
44598
44790
  "id": "openwop.it.spec-corpus-validity.parses-compiles",
44599
44791
  "file": "spec-corpus-validity.test.ts",
44600
- "line": 564,
44792
+ "line": 565,
44601
44793
  "title": null,
44602
44794
  "explicitId": "openwop.it.spec-corpus-validity.parses-compiles",
44603
44795
  "citations": [
@@ -44611,7 +44803,7 @@
44611
44803
  {
44612
44804
  "id": "openwop.it.spec-corpus-validity.schemas-readme-md-exists-next-to-schema-files",
44613
44805
  "file": "spec-corpus-validity.test.ts",
44614
- "line": 583,
44806
+ "line": 584,
44615
44807
  "title": "schemas/README.md exists next to schema files",
44616
44808
  "explicitId": "openwop.it.spec-corpus-validity.schemas-readme-md-exists-next-to-schema-files",
44617
44809
  "citations": [
@@ -44624,7 +44816,7 @@
44624
44816
  {
44625
44817
  "id": "openwop.it.spec-corpus-validity.schemas-readme-md-lists-every-schema-json-exactly-once",
44626
44818
  "file": "spec-corpus-validity.test.ts",
44627
- "line": 587,
44819
+ "line": 588,
44628
44820
  "title": "schemas/README.md lists every *.schema.json exactly once",
44629
44821
  "explicitId": "openwop.it.spec-corpus-validity.schemas-readme-md-lists-every-schema-json-exactly-once",
44630
44822
  "citations": [
@@ -44651,7 +44843,7 @@
44651
44843
  {
44652
44844
  "id": "openwop.it.spec-corpus-validity.absolute-refs-point-to-known-schema-ids",
44653
44845
  "file": "spec-corpus-validity.test.ts",
44654
- "line": 628,
44846
+ "line": 629,
44655
44847
  "title": null,
44656
44848
  "explicitId": "openwop.it.spec-corpus-validity.absolute-refs-point-to-known-schema-ids",
44657
44849
  "citations": [
@@ -44665,7 +44857,7 @@
44665
44857
  {
44666
44858
  "id": "openwop.it.spec-corpus-validity.payload-type-index-keys-exactly-match-runeventtype-enum-values",
44667
44859
  "file": "spec-corpus-validity.test.ts",
44668
- "line": 662,
44860
+ "line": 663,
44669
44861
  "title": "payload type-index keys exactly match RunEventType enum values",
44670
44862
  "explicitId": "openwop.it.spec-corpus-validity.payload-type-index-keys-exactly-match-runeventtype-enum-values",
44671
44863
  "citations": [
@@ -44678,7 +44870,7 @@
44678
44870
  {
44679
44871
  "id": "openwop.it.spec-corpus-validity.payload-type-index-refs-point-to-declared-payload-defs",
44680
44872
  "file": "spec-corpus-validity.test.ts",
44681
- "line": 671,
44873
+ "line": 672,
44682
44874
  "title": "payload type-index refs point to declared payload $defs",
44683
44875
  "explicitId": "openwop.it.spec-corpus-validity.payload-type-index-refs-point-to-declared-payload-defs",
44684
44876
  "citations": [
@@ -44706,7 +44898,7 @@
44706
44898
  {
44707
44899
  "id": "openwop.it.spec-corpus-validity.payload-schema-description-states-the-current-runeventtype-variant-count",
44708
44900
  "file": "spec-corpus-validity.test.ts",
44709
- "line": 687,
44901
+ "line": 688,
44710
44902
  "title": "payload schema description states the current RunEventType variant count",
44711
44903
  "explicitId": "openwop.it.spec-corpus-validity.payload-schema-description-states-the-current-runeventtype-variant-count",
44712
44904
  "citations": [
@@ -44723,7 +44915,7 @@
44723
44915
  {
44724
44916
  "id": "openwop.it.spec-corpus-validity.exists",
44725
44917
  "file": "spec-corpus-validity.test.ts",
44726
- "line": 702,
44918
+ "line": 703,
44727
44919
  "title": "exists",
44728
44920
  "explicitId": "openwop.it.spec-corpus-validity.exists",
44729
44921
  "citations": [
@@ -44736,7 +44928,7 @@
44736
44928
  {
44737
44929
  "id": "openwop.it.spec-corpus-validity.declares-openapi-3-1-required-top-level-keys",
44738
44930
  "file": "spec-corpus-validity.test.ts",
44739
- "line": 706,
44931
+ "line": 707,
44740
44932
  "title": "declares openapi: 3.1 + required top-level keys",
44741
44933
  "explicitId": "openwop.it.spec-corpus-validity.declares-openapi-3-1-required-top-level-keys",
44742
44934
  "citations": [
@@ -44749,7 +44941,7 @@
44749
44941
  {
44750
44942
  "id": "openwop.it.spec-corpus-validity.every-ref-to-schemas-json-resolves-to-a-real-file",
44751
44943
  "file": "spec-corpus-validity.test.ts",
44752
- "line": 715,
44944
+ "line": 716,
44753
44945
  "title": "every $ref to ../schemas/*.json resolves to a real file",
44754
44946
  "explicitId": "openwop.it.spec-corpus-validity.every-ref-to-schemas-json-resolves-to-a-real-file",
44755
44947
  "citations": [
@@ -44763,7 +44955,7 @@
44763
44955
  {
44764
44956
  "id": "openwop.it.spec-corpus-validity.operationids-are-unique",
44765
44957
  "file": "spec-corpus-validity.test.ts",
44766
- "line": 725,
44958
+ "line": 726,
44767
44959
  "title": "operationIds are unique",
44768
44960
  "explicitId": "openwop.it.spec-corpus-validity.operationids-are-unique",
44769
44961
  "citations": [
@@ -44781,7 +44973,7 @@
44781
44973
  {
44782
44974
  "id": "openwop.it.spec-corpus-validity.every-operation-tag-is-declared-in-the-top-level-tags-list",
44783
44975
  "file": "spec-corpus-validity.test.ts",
44784
- "line": 734,
44976
+ "line": 735,
44785
44977
  "title": "every operation tag is declared in the top-level tags list",
44786
44978
  "explicitId": "openwop.it.spec-corpus-validity.every-operation-tag-is-declared-in-the-top-level-tags-list",
44787
44979
  "citations": [
@@ -44803,7 +44995,7 @@
44803
44995
  {
44804
44996
  "id": "openwop.it.spec-corpus-validity.declares-apikeyauth-as-the-global-default-security-requirement",
44805
44997
  "file": "spec-corpus-validity.test.ts",
44806
- "line": 750,
44998
+ "line": 751,
44807
44999
  "title": "declares ApiKeyAuth as the global default security requirement",
44808
45000
  "explicitId": "openwop.it.spec-corpus-validity.declares-apikeyauth-as-the-global-default-security-requirement",
44809
45001
  "citations": [
@@ -44820,7 +45012,7 @@
44820
45012
  {
44821
45013
  "id": "openwop.it.spec-corpus-validity.only-documented-public-or-signed-token-operations-clear-security",
44822
45014
  "file": "spec-corpus-validity.test.ts",
44823
- "line": 761,
45015
+ "line": 762,
44824
45016
  "title": "only documented public or signed-token operations clear security",
44825
45017
  "explicitId": "openwop.it.spec-corpus-validity.only-documented-public-or-signed-token-operations-clear-security",
44826
45018
  "citations": [
@@ -44838,7 +45030,7 @@
44838
45030
  {
44839
45031
  "id": "openwop.it.spec-corpus-validity.protected-operations-document-canonical-401-and-403-auth-failure-responses",
44840
45032
  "file": "spec-corpus-validity.test.ts",
44841
- "line": 782,
45033
+ "line": 783,
44842
45034
  "title": "protected operations document canonical 401 and 403 auth failure responses",
44843
45035
  "explicitId": "openwop.it.spec-corpus-validity.protected-operations-document-canonical-401-and-403-auth-failure-responses",
44844
45036
  "citations": [
@@ -44861,7 +45053,7 @@
44861
45053
  {
44862
45054
  "id": "openwop.it.spec-corpus-validity.declares-both-the-literal-v1-agents-roster-org-chart-routes-and-the-agentid-para",
44863
45055
  "file": "spec-corpus-validity.test.ts",
44864
- "line": 809,
45056
+ "line": 810,
44865
45057
  "title": "declares both the literal /v1/agents/{roster,org-chart} routes and the {agentId} param route",
44866
45058
  "explicitId": "openwop.it.spec-corpus-validity.declares-both-the-literal-v1-agents-roster-org-chart-routes-and-the-agentid-para",
44867
45059
  "citations": [
@@ -44874,7 +45066,7 @@
44874
45066
  {
44875
45067
  "id": "openwop.it.spec-corpus-validity.every-v1-agents-agentid-param-excludes-the-reserved-literals-roster-org-chart",
44876
45068
  "file": "spec-corpus-validity.test.ts",
44877
- "line": 816,
45069
+ "line": 817,
44878
45070
  "title": "every /v1/agents/{agentId} param excludes the reserved literals (roster, org-chart)",
44879
45071
  "explicitId": "openwop.it.spec-corpus-validity.every-v1-agents-agentid-param-excludes-the-reserved-literals-roster-org-chart",
44880
45072
  "citations": [
@@ -44891,7 +45083,7 @@
44891
45083
  {
44892
45084
  "id": "openwop.it.spec-corpus-validity.the-reserved-literal-exclusion-pattern-rejects-roster-org-chart-and-accepts-a-re",
44893
45085
  "file": "spec-corpus-validity.test.ts",
44894
- "line": 827,
45086
+ "line": 828,
44895
45087
  "title": "the reserved-literal exclusion pattern rejects roster/org-chart and accepts a real agentId",
44896
45088
  "explicitId": "openwop.it.spec-corpus-validity.the-reserved-literal-exclusion-pattern-rejects-roster-org-chart-and-accepts-a-re",
44897
45089
  "citations": [
@@ -44908,7 +45100,7 @@
44908
45100
  {
44909
45101
  "id": "openwop.it.spec-corpus-validity.the-agent-manifest-agentid-pattern-can-never-produce-a-reserved-literal-defense",
44910
45102
  "file": "spec-corpus-validity.test.ts",
44911
- "line": 834,
45103
+ "line": 835,
44912
45104
  "title": "the agent-manifest agentId pattern can never produce a reserved literal (defense in depth)",
44913
45105
  "explicitId": "openwop.it.spec-corpus-validity.the-agent-manifest-agentid-pattern-can-never-produce-a-reserved-literal-defense",
44914
45106
  "citations": [
@@ -44929,7 +45121,7 @@
44929
45121
  {
44930
45122
  "id": "openwop.it.spec-corpus-validity.typed-error-specializations-compose-the-canonical-error-schema",
44931
45123
  "file": "spec-corpus-validity.test.ts",
44932
- "line": 846,
45124
+ "line": 847,
44933
45125
  "title": "typed error specializations compose the canonical Error schema",
44934
45126
  "explicitId": "openwop.it.spec-corpus-validity.typed-error-specializations-compose-the-canonical-error-schema",
44935
45127
  "citations": [
@@ -44953,7 +45145,7 @@
44953
45145
  {
44954
45146
  "id": "openwop.it.spec-corpus-validity.every-openapi-operationid-is-represented-in-conformance-coverage-md",
44955
45147
  "file": "spec-corpus-validity.test.ts",
44956
- "line": 871,
45148
+ "line": 872,
44957
45149
  "title": "every OpenAPI operationId is represented in conformance/coverage.md",
44958
45150
  "explicitId": "openwop.it.spec-corpus-validity.every-openapi-operationid-is-represented-in-conformance-coverage-md",
44959
45151
  "citations": [
@@ -44971,7 +45163,7 @@
44971
45163
  {
44972
45164
  "id": "openwop.it.spec-corpus-validity.every-openapi-operation-has-a-matching-method-path-row-in-rest-endpoints-md",
44973
45165
  "file": "spec-corpus-validity.test.ts",
44974
- "line": 891,
45166
+ "line": 892,
44975
45167
  "title": "every OpenAPI operation has a matching method/path row in rest-endpoints.md",
44976
45168
  "explicitId": "openwop.it.spec-corpus-validity.every-openapi-operation-has-a-matching-method-path-row-in-rest-endpoints-md",
44977
45169
  "citations": [
@@ -44993,7 +45185,7 @@
44993
45185
  {
44994
45186
  "id": "openwop.it.spec-corpus-validity.rest-catalog-auth-scope-columns-match-openapi-security-overrides",
44995
45187
  "file": "spec-corpus-validity.test.ts",
44996
- "line": 909,
45188
+ "line": 910,
44997
45189
  "title": "REST catalog auth/scope columns match OpenAPI security overrides",
44998
45190
  "explicitId": "openwop.it.spec-corpus-validity.rest-catalog-auth-scope-columns-match-openapi-security-overrides",
44999
45191
  "citations": [
@@ -45027,7 +45219,7 @@
45027
45219
  {
45028
45220
  "id": "openwop.it.spec-corpus-validity.does-not-document-retry-conflict-metadata-as-top-level-error-fields",
45029
45221
  "file": "spec-corpus-validity.test.ts",
45030
- "line": 948,
45222
+ "line": 949,
45031
45223
  "title": null,
45032
45224
  "explicitId": "openwop.it.spec-corpus-validity.does-not-document-retry-conflict-metadata-as-top-level-error-fields",
45033
45225
  "citations": [
@@ -45046,7 +45238,7 @@
45046
45238
  {
45047
45239
  "id": "openwop.it.spec-corpus-validity.typescript-exports-http-error-codes-and-ishttperrorcode",
45048
45240
  "file": "spec-corpus-validity.test.ts",
45049
- "line": 1002,
45241
+ "line": 1003,
45050
45242
  "title": "TypeScript exports HTTP_ERROR_CODES and isHttpErrorCode",
45051
45243
  "explicitId": "openwop.it.spec-corpus-validity.typescript-exports-http-error-codes-and-ishttperrorcode",
45052
45244
  "citations": [
@@ -45063,7 +45255,7 @@
45063
45255
  {
45064
45256
  "id": "openwop.it.spec-corpus-validity.python-exports-http-error-codes-and-is-http-error-code",
45065
45257
  "file": "spec-corpus-validity.test.ts",
45066
- "line": 1009,
45258
+ "line": 1010,
45067
45259
  "title": "Python exports HTTP_ERROR_CODES and is_http_error_code",
45068
45260
  "explicitId": "openwop.it.spec-corpus-validity.python-exports-http-error-codes-and-is-http-error-code",
45069
45261
  "citations": [
@@ -45080,7 +45272,7 @@
45080
45272
  {
45081
45273
  "id": "openwop.it.spec-corpus-validity.go-exports-httperrorcodes-and-ishttperrorcode",
45082
45274
  "file": "spec-corpus-validity.test.ts",
45083
- "line": 1016,
45275
+ "line": 1017,
45084
45276
  "title": "Go exports HTTPErrorCodes and IsHTTPErrorCode",
45085
45277
  "explicitId": "openwop.it.spec-corpus-validity.go-exports-httperrorcodes-and-ishttperrorcode",
45086
45278
  "citations": [
@@ -45097,7 +45289,7 @@
45097
45289
  {
45098
45290
  "id": "openwop.it.spec-corpus-validity.sdk-readmes-document-the-http-error-helper-surface",
45099
45291
  "file": "spec-corpus-validity.test.ts",
45100
- "line": 1023,
45292
+ "line": 1024,
45101
45293
  "title": "SDK READMEs document the HTTP error helper surface",
45102
45294
  "explicitId": "openwop.it.spec-corpus-validity.sdk-readmes-document-the-http-error-helper-surface",
45103
45295
  "citations": [
@@ -45110,7 +45302,7 @@
45110
45302
  {
45111
45303
  "id": "openwop.it.spec-corpus-validity.sdk-changelogs-mention-the-http-error-helper-surface",
45112
45304
  "file": "spec-corpus-validity.test.ts",
45113
- "line": 1032,
45305
+ "line": 1033,
45114
45306
  "title": "SDK changelogs mention the HTTP error helper surface",
45115
45307
  "explicitId": "openwop.it.spec-corpus-validity.sdk-changelogs-mention-the-http-error-helper-surface",
45116
45308
  "citations": [
@@ -45123,7 +45315,7 @@
45123
45315
  {
45124
45316
  "id": "openwop.it.spec-corpus-validity.typescript-dist-exports-the-http-error-helper-surface",
45125
45317
  "file": "spec-corpus-validity.test.ts",
45126
- "line": 1041,
45318
+ "line": 1042,
45127
45319
  "title": "TypeScript dist exports the HTTP error helper surface",
45128
45320
  "explicitId": "openwop.it.spec-corpus-validity.typescript-dist-exports-the-http-error-helper-surface",
45129
45321
  "citations": [
@@ -45137,7 +45329,7 @@
45137
45329
  {
45138
45330
  "id": "openwop.it.spec-corpus-validity.typescript-dist-metadata-uses-openwop-branding",
45139
45331
  "file": "spec-corpus-validity.test.ts",
45140
- "line": 1057,
45332
+ "line": 1058,
45141
45333
  "title": "TypeScript dist metadata uses openwop branding",
45142
45334
  "explicitId": "openwop.it.spec-corpus-validity.typescript-dist-metadata-uses-openwop-branding",
45143
45335
  "citations": [
@@ -45156,7 +45348,7 @@
45156
45348
  {
45157
45349
  "id": "openwop.it.spec-corpus-validity.typescript-dist-source-maps-point-back-to-src-and-avoid-legacy-branding",
45158
45350
  "file": "spec-corpus-validity.test.ts",
45159
- "line": 1065,
45351
+ "line": 1066,
45160
45352
  "title": "TypeScript dist source maps point back to src and avoid legacy branding",
45161
45353
  "explicitId": "openwop.it.spec-corpus-validity.typescript-dist-source-maps-point-back-to-src-and-avoid-legacy-branding",
45162
45354
  "citations": [
@@ -45185,7 +45377,7 @@
45185
45377
  {
45186
45378
  "id": "openwop.it.spec-corpus-validity.all-sdk-http-error-helpers-include",
45187
45379
  "file": "spec-corpus-validity.test.ts",
45188
- "line": 1094,
45380
+ "line": 1095,
45189
45381
  "title": null,
45190
45382
  "explicitId": "openwop.it.spec-corpus-validity.all-sdk-http-error-helpers-include",
45191
45383
  "citations": [
@@ -45199,7 +45391,7 @@
45199
45391
  {
45200
45392
  "id": "openwop.it.spec-corpus-validity.readme-suite-count-equals-src-scenarios-test-ts-count",
45201
45393
  "file": "spec-corpus-validity.test.ts",
45202
- "line": 1110,
45394
+ "line": 1111,
45203
45395
  "title": "README suite count equals src/scenarios/*.test.ts count",
45204
45396
  "explicitId": "openwop.it.spec-corpus-validity.readme-suite-count-equals-src-scenarios-test-ts-count",
45205
45397
  "citations": [
@@ -45220,7 +45412,7 @@
45220
45412
  {
45221
45413
  "id": "openwop.it.spec-corpus-validity.exists~2",
45222
45414
  "file": "spec-corpus-validity.test.ts",
45223
- "line": 1130,
45415
+ "line": 1131,
45224
45416
  "title": "exists",
45225
45417
  "explicitId": "openwop.it.spec-corpus-validity.exists~2",
45226
45418
  "citations": [
@@ -45233,7 +45425,7 @@
45233
45425
  {
45234
45426
  "id": "openwop.it.spec-corpus-validity.declares-asyncapi-3-1-required-top-level-keys",
45235
45427
  "file": "spec-corpus-validity.test.ts",
45236
- "line": 1134,
45428
+ "line": 1135,
45237
45429
  "title": "declares asyncapi: 3.1 + required top-level keys",
45238
45430
  "explicitId": "openwop.it.spec-corpus-validity.declares-asyncapi-3-1-required-top-level-keys",
45239
45431
  "citations": [
@@ -45246,7 +45438,7 @@
45246
45438
  {
45247
45439
  "id": "openwop.it.spec-corpus-validity.every-ref-to-schemas-json-resolves-to-a-real-file~2",
45248
45440
  "file": "spec-corpus-validity.test.ts",
45249
- "line": 1143,
45441
+ "line": 1144,
45250
45442
  "title": "every $ref to ../schemas/*.json resolves to a real file",
45251
45443
  "explicitId": "openwop.it.spec-corpus-validity.every-ref-to-schemas-json-resolves-to-a-real-file~2",
45252
45444
  "citations": [
@@ -45260,7 +45452,7 @@
45260
45452
  {
45261
45453
  "id": "openwop.it.spec-corpus-validity.named-runeventdoc-messages-use-event-names-from-run-event-schema-json",
45262
45454
  "file": "spec-corpus-validity.test.ts",
45263
- "line": 1152,
45455
+ "line": 1153,
45264
45456
  "title": "named RunEventDoc messages use event names from run-event.schema.json",
45265
45457
  "explicitId": "openwop.it.spec-corpus-validity.named-runeventdoc-messages-use-event-names-from-run-event-schema-json",
45266
45458
  "citations": [
@@ -45278,7 +45470,7 @@
45278
45470
  {
45279
45471
  "id": "openwop.it.spec-corpus-validity.operation-channel-refs-point-to-declared-channels",
45280
45472
  "file": "spec-corpus-validity.test.ts",
45281
- "line": 1173,
45473
+ "line": 1174,
45282
45474
  "title": "operation channel refs point to declared channels",
45283
45475
  "explicitId": "openwop.it.spec-corpus-validity.operation-channel-refs-point-to-declared-channels",
45284
45476
  "citations": [
@@ -45300,7 +45492,7 @@
45300
45492
  {
45301
45493
  "id": "openwop.it.spec-corpus-validity.channel-keys-and-message-names-are-unique",
45302
45494
  "file": "spec-corpus-validity.test.ts",
45303
- "line": 1195,
45495
+ "line": 1196,
45304
45496
  "title": "channel keys and message names are unique",
45305
45497
  "explicitId": "openwop.it.spec-corpus-validity.channel-keys-and-message-names-are-unique",
45306
45498
  "citations": [
@@ -45319,7 +45511,7 @@
45319
45511
  {
45320
45512
  "id": "openwop.it.spec-corpus-validity.finds-the-expected-prose-doc-set",
45321
45513
  "file": "spec-corpus-validity.test.ts",
45322
- "line": 1242,
45514
+ "line": 1243,
45323
45515
  "title": "finds the expected prose doc set",
45324
45516
  "explicitId": "openwop.it.spec-corpus-validity.finds-the-expected-prose-doc-set",
45325
45517
  "citations": [
@@ -45332,7 +45524,7 @@
45332
45524
  {
45333
45525
  "id": "openwop.it.spec-corpus-validity.declares-a-status-tag-stub-draft-outline-final-stable-stabilizing-draft-experime",
45334
45526
  "file": "spec-corpus-validity.test.ts",
45335
- "line": 1249,
45527
+ "line": 1250,
45336
45528
  "title": null,
45337
45529
  "explicitId": "openwop.it.spec-corpus-validity.declares-a-status-tag-stub-draft-outline-final-stable-stabilizing-draft-experime",
45338
45530
  "citations": [
@@ -45344,11 +45536,11 @@
45344
45536
  ]
45345
45537
  },
45346
45538
  {
45347
- "id": "openwop.it.spec-corpus-validity.readme-total-count-equals-the-number-of-spec-v1-prose-docs",
45539
+ "id": "openwop.it.spec-corpus-validity.readme-total-count-equals-the-number-of-spec-v2-core-docs",
45348
45540
  "file": "spec-corpus-validity.test.ts",
45349
- "line": 1276,
45350
- "title": "README Total count equals the number of spec/v1 prose docs",
45351
- "explicitId": "openwop.it.spec-corpus-validity.readme-total-count-equals-the-number-of-spec-v1-prose-docs",
45541
+ "line": 1279,
45542
+ "title": "README Total count equals the number of spec/v2/core docs",
45543
+ "explicitId": "openwop.it.spec-corpus-validity.readme-total-count-equals-the-number-of-spec-v2-core-docs",
45352
45544
  "citations": [
45353
45545
  {
45354
45546
  "section": "spec-corpus-validity.test.ts (no spec citation in file)",
@@ -45356,16 +45548,16 @@
45356
45548
  },
45357
45549
  {
45358
45550
  "section": "spec-corpus-validity.test.ts (no spec citation in file)",
45359
- "requirement": "README.md document total MUST match spec/v1/*.md count"
45551
+ "requirement": "README.md document total MUST match the spec/v2/core/*.md count"
45360
45552
  }
45361
45553
  ]
45362
45554
  },
45363
45555
  {
45364
- "id": "openwop.it.spec-corpus-validity.readme-document-index-links-every-spec-v1-prose-doc-exactly-once",
45556
+ "id": "openwop.it.spec-corpus-validity.readme-document-index-links-every-spec-v2-core-doc-exactly-once",
45365
45557
  "file": "spec-corpus-validity.test.ts",
45366
- "line": 1286,
45367
- "title": "README document index links every spec/v1 prose doc exactly once",
45368
- "explicitId": "openwop.it.spec-corpus-validity.readme-document-index-links-every-spec-v1-prose-doc-exactly-once",
45558
+ "line": 1289,
45559
+ "title": "README document index links every spec/v2/core doc exactly once",
45560
+ "explicitId": "openwop.it.spec-corpus-validity.readme-document-index-links-every-spec-v2-core-doc-exactly-once",
45369
45561
  "citations": [
45370
45562
  {
45371
45563
  "section": "spec-corpus-validity.test.ts (no spec citation in file)",
@@ -45377,7 +45569,7 @@
45377
45569
  {
45378
45570
  "id": "openwop.it.spec-corpus-validity.finds-markdown-files-to-check",
45379
45571
  "file": "spec-corpus-validity.test.ts",
45380
- "line": 1312,
45572
+ "line": 1315,
45381
45573
  "title": "finds Markdown files to check",
45382
45574
  "explicitId": "openwop.it.spec-corpus-validity.finds-markdown-files-to-check",
45383
45575
  "citations": [
@@ -45390,7 +45582,7 @@
45390
45582
  {
45391
45583
  "id": "openwop.it.spec-corpus-validity.has-no-broken-local-markdown-file-links",
45392
45584
  "file": "spec-corpus-validity.test.ts",
45393
- "line": 1318,
45585
+ "line": 1321,
45394
45586
  "title": null,
45395
45587
  "explicitId": "openwop.it.spec-corpus-validity.has-no-broken-local-markdown-file-links",
45396
45588
  "citations": [
@@ -45404,7 +45596,7 @@
45404
45596
  {
45405
45597
  "id": "openwop.it.spec-corpus-validity.scans-public-docs-and-schemas",
45406
45598
  "file": "spec-corpus-validity.test.ts",
45407
- "line": 1406,
45599
+ "line": 1409,
45408
45600
  "title": "scans public docs and schemas",
45409
45601
  "explicitId": "openwop.it.spec-corpus-validity.scans-public-docs-and-schemas",
45410
45602
  "citations": [
@@ -45417,7 +45609,7 @@
45417
45609
  {
45418
45610
  "id": "openwop.it.spec-corpus-validity.has-no-private-implementation-or-pre-v1-breadcrumbs",
45419
45611
  "file": "spec-corpus-validity.test.ts",
45420
- "line": 1412,
45612
+ "line": 1415,
45421
45613
  "title": null,
45422
45614
  "explicitId": "openwop.it.spec-corpus-validity.has-no-private-implementation-or-pre-v1-breadcrumbs",
45423
45615
  "citations": [
@@ -45431,7 +45623,7 @@
45431
45623
  {
45432
45624
  "id": "openwop.it.spec-corpus-validity.every-fixture-id-mentioned-in-fixtures-md-has-a-corresponding-json",
45433
45625
  "file": "spec-corpus-validity.test.ts",
45434
- "line": 1446,
45626
+ "line": 1449,
45435
45627
  "title": "every fixture id mentioned in fixtures.md has a corresponding JSON",
45436
45628
  "explicitId": "openwop.it.spec-corpus-validity.every-fixture-id-mentioned-in-fixtures-md-has-a-corresponding-json",
45437
45629
  "citations": [
@@ -45445,7 +45637,7 @@
45445
45637
  {
45446
45638
  "id": "openwop.it.spec-corpus-validity.every-fixture-json-file-is-referenced-by-fixtures-md",
45447
45639
  "file": "spec-corpus-validity.test.ts",
45448
- "line": 1488,
45640
+ "line": 1491,
45449
45641
  "title": "every fixture JSON file is referenced by fixtures.md",
45450
45642
  "explicitId": "openwop.it.spec-corpus-validity.every-fixture-json-file-is-referenced-by-fixtures-md",
45451
45643
  "citations": [
@@ -45459,7 +45651,7 @@
45459
45651
  {
45460
45652
  "id": "openwop.it.spec-corpus-validity.a-sample-bundle-validates-against-conformance-certification-bundle-schema-json",
45461
45653
  "file": "spec-corpus-validity.test.ts",
45462
- "line": 1541,
45654
+ "line": 1544,
45463
45655
  "title": "a sample bundle validates against conformance-certification-bundle.schema.json",
45464
45656
  "explicitId": "openwop.it.spec-corpus-validity.a-sample-bundle-validates-against-conformance-certification-bundle-schema-json",
45465
45657
  "citations": [
@@ -45473,7 +45665,7 @@
45473
45665
  {
45474
45666
  "id": "openwop.it.spec-corpus-validity.verifybundle-accepts-a-claim-that-is-discovery-derivable-and-floor-proven-b",
45475
45667
  "file": "spec-corpus-validity.test.ts",
45476
- "line": 1547,
45668
+ "line": 1550,
45477
45669
  "title": "verifyBundle ACCEPTS a claim that is discovery-derivable AND floor-proven (§B)",
45478
45670
  "explicitId": "openwop.it.spec-corpus-validity.verifybundle-accepts-a-claim-that-is-discovery-derivable-and-floor-proven-b",
45479
45671
  "citations": [
@@ -45486,7 +45678,7 @@
45486
45678
  {
45487
45679
  "id": "openwop.it.spec-corpus-validity.verifybundle-rejects-a-profile-its-discovery-document-does-not-derive-b-1",
45488
45680
  "file": "spec-corpus-validity.test.ts",
45489
- "line": 1554,
45681
+ "line": 1557,
45490
45682
  "title": "verifyBundle REJECTS a profile its discovery document does not derive (§B(1))",
45491
45683
  "explicitId": "openwop.it.spec-corpus-validity.verifybundle-rejects-a-profile-its-discovery-document-does-not-derive-b-1",
45492
45684
  "citations": [
@@ -45499,7 +45691,7 @@
45499
45691
  {
45500
45692
  "id": "openwop.it.spec-corpus-validity.verifybundle-rejects-a-bundle-missing-a-floor-scenario-b-2",
45501
45693
  "file": "spec-corpus-validity.test.ts",
45502
- "line": 1564,
45694
+ "line": 1567,
45503
45695
  "title": "verifyBundle REJECTS a bundle missing a floor scenario (§B(2))",
45504
45696
  "explicitId": "openwop.it.spec-corpus-validity.verifybundle-rejects-a-bundle-missing-a-floor-scenario-b-2",
45505
45697
  "citations": [
@@ -45512,7 +45704,7 @@
45512
45704
  {
45513
45705
  "id": "openwop.it.spec-corpus-validity.the-committed-bundle-file-exists-generated-by-certify",
45514
45706
  "file": "spec-corpus-validity.test.ts",
45515
- "line": 1601,
45707
+ "line": 1604,
45516
45708
  "title": "the committed bundle file exists (generated by --certify)",
45517
45709
  "explicitId": "openwop.it.spec-corpus-validity.the-committed-bundle-file-exists-generated-by-certify",
45518
45710
  "citations": [
@@ -45526,7 +45718,7 @@
45526
45718
  {
45527
45719
  "id": "openwop.it.spec-corpus-validity.the-committed-reference-bundle-validates-against-the-bundle-schema-a",
45528
45720
  "file": "spec-corpus-validity.test.ts",
45529
- "line": 1605,
45721
+ "line": 1608,
45530
45722
  "title": "the committed reference bundle validates against the bundle schema (§A)",
45531
45723
  "explicitId": "openwop.it.spec-corpus-validity.the-committed-reference-bundle-validates-against-the-bundle-schema-a",
45532
45724
  "citations": [
@@ -45540,7 +45732,7 @@
45540
45732
  {
45541
45733
  "id": "openwop.it.spec-corpus-validity.verifybundle-rejects-the-committed-reference-bundle-it-is-invalidated-rfc-0148-d",
45542
45734
  "file": "spec-corpus-validity.test.ts",
45543
- "line": 1612,
45735
+ "line": 1615,
45544
45736
  "title": "verifyBundle REJECTS the committed reference bundle — it is `invalidated` (RFC 0148 §D)",
45545
45737
  "explicitId": "openwop.it.spec-corpus-validity.verifybundle-rejects-the-committed-reference-bundle-it-is-invalidated-rfc-0148-d",
45546
45738
  "citations": [
@@ -45561,7 +45753,7 @@
45561
45753
  {
45562
45754
  "id": "openwop.it.spec-corpus-validity.discovery-sha256-is-the-canonical-json-sha-256-of-the-captured-discovery-documen",
45563
45755
  "file": "spec-corpus-validity.test.ts",
45564
- "line": 1638,
45756
+ "line": 1641,
45565
45757
  "title": "discovery.sha256 is the canonical-JSON SHA-256 of the captured discovery.document",
45566
45758
  "explicitId": "openwop.it.spec-corpus-validity.discovery-sha256-is-the-canonical-json-sha-256-of-the-captured-discovery-documen",
45567
45759
  "citations": [
@@ -45574,7 +45766,7 @@
45574
45766
  {
45575
45767
  "id": "openwop.it.spec-corpus-validity.the-requestbody-closes-at-the-composition-unevaluatedproperties-not-inside-a-bra",
45576
45768
  "file": "spec-corpus-validity.test.ts",
45577
- "line": 1699,
45769
+ "line": 1702,
45578
45770
  "title": "the requestBody closes at the composition (unevaluatedProperties), not inside a branch",
45579
45771
  "explicitId": "openwop.it.spec-corpus-validity.the-requestbody-closes-at-the-composition-unevaluatedproperties-not-inside-a-bra",
45580
45772
  "citations": [
@@ -45587,7 +45779,7 @@
45587
45779
  {
45588
45780
  "id": "openwop.it.spec-corpus-validity.canonical-createrun-bodies-pass-the-composed-schema-an-undeclared-property-fails",
45589
45781
  "file": "spec-corpus-validity.test.ts",
45590
- "line": 1714,
45782
+ "line": 1717,
45591
45783
  "title": "canonical createRun bodies PASS the composed schema; an undeclared property FAILS",
45592
45784
  "explicitId": "openwop.it.spec-corpus-validity.canonical-createrun-bodies-pass-the-composed-schema-an-undeclared-property-fails",
45593
45785
  "citations": [
@@ -45792,6 +45984,32 @@
45792
45984
  }
45793
45985
  ]
45794
45986
  },
45987
+ {
45988
+ "id": "openwop.it.ui-plugin-fixtures.ui-plugin-pack-narrow-validates-against-the-v2-frontend-plugin-manifest-schema",
45989
+ "file": "ui-plugin-fixtures.test.ts",
45990
+ "line": 29,
45991
+ "title": "ui-plugin-pack-narrow validates against the v2 frontend-plugin manifest schema",
45992
+ "explicitId": "openwop.it.ui-plugin-fixtures.ui-plugin-pack-narrow-validates-against-the-v2-frontend-plugin-manifest-s",
45993
+ "citations": [
45994
+ {
45995
+ "section": "RFCS/0238-ui-plugin-observation-path.md §D",
45996
+ "requirement": "the fixture pack is a valid v2 frontend-plugin manifest"
45997
+ }
45998
+ ]
45999
+ },
46000
+ {
46001
+ "id": "openwop.it.ui-plugin-fixtures.declares-one-plugin-narrow-with-only-artifact-read-and-no-connectsrc-and-ships-i",
46002
+ "file": "ui-plugin-fixtures.test.ts",
46003
+ "line": 36,
46004
+ "title": "declares one plugin, narrow, with only artifact.read and no connectSrc, and ships its entry",
46005
+ "explicitId": "openwop.it.ui-plugin-fixtures.declares-one-plugin-narrow-with-only-artifact-read-and-no-connectsrc-and-ships-its",
46006
+ "citations": [
46007
+ {
46008
+ "section": "RFCS/0238-ui-plugin-observation-path.md §D",
46009
+ "requirement": "the legs depend on exactly this shape"
46010
+ }
46011
+ ]
46012
+ },
45795
46013
  {
45796
46014
  "id": "openwop.it.v1-webhook-rotation-contract.the-v1-rotation-route-the-prose-mandates-is-an-api-openapi-yaml-operation-with-t",
45797
46015
  "file": "v1-webhook-rotation-contract.test.ts",
@@ -48423,6 +48641,32 @@
48423
48641
  }
48424
48642
  ]
48425
48643
  },
48644
+ {
48645
+ "id": "openwop.it.wasm-fixture-packs.misbehaving-memory-is-the-memory-bomb-pack-its-manifest-describes-at-abi-version",
48646
+ "file": "wasm-fixture-packs.test.ts",
48647
+ "line": 70,
48648
+ "title": "misbehaving-memory is the memory-bomb pack its manifest describes, at ABI version 1",
48649
+ "explicitId": "openwop.it.wasm-fixture-packs.misbehaving-memory-is-the-memory-bomb-pack-its-manifest-describes-at-abi-version-1",
48650
+ "citations": [
48651
+ {
48652
+ "section": "spec/v2/core/node-pack-runtimes.md §WASM",
48653
+ "requirement": "the fixture module is the pack its manifest describes"
48654
+ }
48655
+ ]
48656
+ },
48657
+ {
48658
+ "id": "openwop.it.wasm-fixture-packs.misbehaving-abi-is-the-abi-bomb-pack-its-manifest-describes-at-the-unlisted-abi",
48659
+ "file": "wasm-fixture-packs.test.ts",
48660
+ "line": 76,
48661
+ "title": "misbehaving-abi is the abi-bomb pack its manifest describes, at the unlisted ABI version 999",
48662
+ "explicitId": "openwop.it.wasm-fixture-packs.misbehaving-abi-is-the-abi-bomb-pack-its-manifest-describes-at-the-unlisted-abi-versi",
48663
+ "citations": [
48664
+ {
48665
+ "section": "spec/v2/core/node-pack-runtimes.md §WASM",
48666
+ "requirement": "the fixture module is the pack its manifest describes"
48667
+ }
48668
+ ]
48669
+ },
48426
48670
  {
48427
48671
  "id": "openwop.it.workflow-chain-internal-flag.the-manifest-workflowchain-declares-a-boolean-internal-property",
48428
48672
  "file": "workflow-chain-internal-flag.test.ts",