@openwop/openwop-conformance 2.37.1 → 2.38.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/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": 629,
6
- "tests": 2404,
7
- "withStableId": 2404,
5
+ "files": 632,
6
+ "tests": 2415,
7
+ "withStableId": 2415,
8
8
  "interpolatedTitles": 0,
9
- "explicitIds": 2294
9
+ "explicitIds": 2304
10
10
  },
11
11
  "records": [
12
12
  {
@@ -15228,6 +15228,97 @@
15228
15228
  }
15229
15229
  ]
15230
15230
  },
15231
+ {
15232
+ "id": "openwop.it.jcs-vectors.the-vector-set-is-present-and-non-trivial",
15233
+ "file": "jcs-vectors.test.ts",
15234
+ "line": 59,
15235
+ "title": "the vector set is present and non-trivial",
15236
+ "explicitId": "openwop.it.jcs-vectors.the-vector-set-is-present-and-non-trivial",
15237
+ "citations": [
15238
+ {
15239
+ "section": "RFC 0212 · spec/v2/core/conformance.md §\"Canonical JSON\"",
15240
+ "requirement": "the vectors MUST cover RFC 8785 Appendix B numbers, documents and every §B refusal kind"
15241
+ }
15242
+ ]
15243
+ },
15244
+ {
15245
+ "id": "openwop.it.jcs-vectors.number-s-serializes-per-rfc-8785-appendix-b",
15246
+ "file": "jcs-vectors.test.ts",
15247
+ "line": 66,
15248
+ "title": "number %s serializes per RFC 8785 Appendix B",
15249
+ "explicitId": "openwop.it.jcs-vectors.number-s-serializes-per-rfc-8785-appendix-b",
15250
+ "citations": [
15251
+ {
15252
+ "section": "RFC 0212 · spec/v2/core/conformance.md §\"Canonical JSON\"",
15253
+ "requirement": "numbers MUST serialize as ECMAScript Number::toString (RFC 8785 §3.2.2.3)"
15254
+ }
15255
+ ]
15256
+ },
15257
+ {
15258
+ "id": "openwop.it.jcs-vectors.document-s-canonicalizes-and-hashes",
15259
+ "file": "jcs-vectors.test.ts",
15260
+ "line": 70,
15261
+ "title": "document %s canonicalizes and hashes",
15262
+ "explicitId": "openwop.it.jcs-vectors.document-s-canonicalizes-and-hashes",
15263
+ "citations": [
15264
+ {
15265
+ "section": "RFC 0212 · spec/v2/core/conformance.md §\"Canonical JSON\"",
15266
+ "requirement": null,
15267
+ "interpolated": true
15268
+ },
15269
+ {
15270
+ "section": "RFC 0212 · spec/v2/core/conformance.md §\"Canonical JSON\"",
15271
+ "requirement": null,
15272
+ "interpolated": true
15273
+ }
15274
+ ]
15275
+ },
15276
+ {
15277
+ "id": "openwop.it.jcs-vectors.text-s-is-refused-not-coerced",
15278
+ "file": "jcs-vectors.test.ts",
15279
+ "line": 78,
15280
+ "title": "text %s is refused, not coerced",
15281
+ "explicitId": "openwop.it.jcs-vectors.text-s-is-refused-not-coerced",
15282
+ "citations": [
15283
+ {
15284
+ "section": "RFC 0212 · spec/v2/core/conformance.md §\"Canonical JSON\"",
15285
+ "requirement": null,
15286
+ "interpolated": true
15287
+ }
15288
+ ]
15289
+ },
15290
+ {
15291
+ "id": "openwop.it.jcs-vectors.a-non-i-json-native-value-is-refused-at-the-value-boundary",
15292
+ "file": "jcs-vectors.test.ts",
15293
+ "line": 83,
15294
+ "title": "a non-I-JSON native value is refused at the value boundary",
15295
+ "explicitId": "openwop.it.jcs-vectors.a-non-i-json-native-value-is-refused-at-the-value-boundary",
15296
+ "citations": [
15297
+ {
15298
+ "section": "RFC 0212 · spec/v2/core/conformance.md §\"Canonical JSON\"",
15299
+ "requirement": null,
15300
+ "interpolated": true
15301
+ }
15302
+ ]
15303
+ },
15304
+ {
15305
+ "id": "openwop.it.jcs-vectors.member-names-and-certification-rows-sort-by-utf-16-code-units-not-by-locale",
15306
+ "file": "jcs-vectors.test.ts",
15307
+ "line": 99,
15308
+ "title": "member names and certification rows sort by UTF-16 code units, not by locale",
15309
+ "explicitId": "openwop.it.jcs-vectors.member-names-and-certification-rows-sort-by-utf-16-code-units-not-by-locale",
15310
+ "citations": [
15311
+ {
15312
+ "section": "RFC 0212 · spec/v2/core/conformance.md §\"Canonical JSON\"",
15313
+ "requirement": null,
15314
+ "interpolated": true
15315
+ },
15316
+ {
15317
+ "section": "RFC 0212 · spec/v2/core/conformance.md §\"Canonical JSON\"",
15318
+ "requirement": "witnessSha256 rows MUST sort by id in UTF-16 code-unit order; a locale-sensitive comparator MUST NOT be used"
15319
+ }
15320
+ ]
15321
+ },
15231
15322
  {
15232
15323
  "id": "openwop.it.kv-atomic-increment.capabilities-kvstorage-is-either-absent-or-a-well-formed-object",
15233
15324
  "file": "kv-atomic-increment.test.ts",
@@ -24404,9 +24495,26 @@
24404
24495
  ]
24405
24496
  },
24406
24497
  {
24407
- "id": "openwop.it.semantic-digest-vectors.message-order-is-semantic-reversing-changes-the-digest",
24498
+ "id": "openwop.it.semantic-digest-vectors.tool-order-uses-utf-16-code-units-where-a-locale-comparator-disagrees",
24408
24499
  "file": "semantic-digest-vectors.test.ts",
24409
24500
  "line": 113,
24501
+ "title": "tool order uses UTF-16 code units, where a locale comparator disagrees",
24502
+ "explicitId": "openwop.it.semantic-digest-vectors.tool-order-uses-utf-16-code-units-where-a-locale-comparator-disagrees",
24503
+ "citations": [
24504
+ {
24505
+ "section": "RFC 0212 §D · RFC 0150 §C",
24506
+ "requirement": "tools[] MUST sort by name in UTF-16 code-unit order"
24507
+ },
24508
+ {
24509
+ "section": "RFC 0212 §D · RFC 0150 §C",
24510
+ "requirement": "getWeather (0x57) MUST precede get_weather (0x5F)"
24511
+ }
24512
+ ]
24513
+ },
24514
+ {
24515
+ "id": "openwop.it.semantic-digest-vectors.message-order-is-semantic-reversing-changes-the-digest",
24516
+ "file": "semantic-digest-vectors.test.ts",
24517
+ "line": 121,
24410
24518
  "title": "message order IS semantic — reversing changes the digest",
24411
24519
  "explicitId": "openwop.it.semantic-digest-vectors.message-order-is-semantic-reversing-changes-the-digest",
24412
24520
  "citations": [
@@ -24419,7 +24527,7 @@
24419
24527
  {
24420
24528
  "id": "openwop.it.semantic-digest-vectors.the-two-unicode-forms-do-not-collide-because-jcs-does-not-apply-nfc",
24421
24529
  "file": "semantic-digest-vectors.test.ts",
24422
- "line": 120,
24530
+ "line": 128,
24423
24531
  "title": "the two Unicode forms do not collide, because JCS does not apply NFC",
24424
24532
  "explicitId": "openwop.it.semantic-digest-vectors.the-two-unicode-forms-do-not-collide-because-jcs-does-not-apply-nfc",
24425
24533
  "citations": [
@@ -24432,7 +24540,7 @@
24432
24540
  {
24433
24541
  "id": "openwop.it.semantic-digest-vectors.each-field-v1-excluded-now-changes-the-digest",
24434
24542
  "file": "semantic-digest-vectors.test.ts",
24435
- "line": 133,
24543
+ "line": 141,
24436
24544
  "title": "each field v1 excluded now changes the digest",
24437
24545
  "explicitId": "openwop.it.semantic-digest-vectors.each-field-v1-excluded-now-changes-the-digest",
24438
24546
  "citations": [
@@ -26494,7 +26602,7 @@
26494
26602
  {
26495
26603
  "id": "openwop.it.v2-a2a-operation-map.a-message-carrying-taskid-without-contextid-is-answered-with-the-task-s-contexti",
26496
26604
  "file": "v2-a2a-operation-map.test.ts",
26497
- "line": 134,
26605
+ "line": 135,
26498
26606
  "title": "a message carrying taskId without contextId is answered with the task's contextId",
26499
26607
  "explicitId": null,
26500
26608
  "citations": [
@@ -26525,7 +26633,7 @@
26525
26633
  {
26526
26634
  "id": "openwop.it.v2-a2a-operation-map.a-message-whose-contextid-is-not-its-task-s-is-refused-invalid-parameters-and-ch",
26527
26635
  "file": "v2-a2a-operation-map.test.ts",
26528
- "line": 148,
26636
+ "line": 149,
26529
26637
  "title": "a message whose contextId is not its task's is refused invalid-parameters and changes nothing",
26530
26638
  "explicitId": null,
26531
26639
  "citations": [
@@ -26552,7 +26660,7 @@
26552
26660
  {
26553
26661
  "id": "openwop.it.v2-a2a-operation-map.a-message-to-a-retained-terminal-task-is-refused-unsupportedoperationerror-and-a",
26554
26662
  "file": "v2-a2a-operation-map.test.ts",
26555
- "line": 163,
26663
+ "line": 164,
26556
26664
  "title": "a message to a retained terminal task is refused UnsupportedOperationError, and appends no event",
26557
26665
  "explicitId": null,
26558
26666
  "citations": [
@@ -26579,7 +26687,7 @@
26579
26687
  {
26580
26688
  "id": "openwop.it.v2-a2a-operation-map.an-unknown-task-and-another-tenant-s-task-are-answered-by-the-same-tasknotfounde",
26581
26689
  "file": "v2-a2a-operation-map.test.ts",
26582
- "line": 178,
26690
+ "line": 179,
26583
26691
  "title": "an unknown task and another tenant's task are answered by the same TaskNotFoundError",
26584
26692
  "explicitId": null,
26585
26693
  "citations": [
@@ -26612,7 +26720,7 @@
26612
26720
  {
26613
26721
  "id": "openwop.it.v2-a2a-operation-map.task-status-state-is-the-map-s-projection-of-the-run-status-at-every-observed-st",
26614
26722
  "file": "v2-a2a-operation-map.test.ts",
26615
- "line": 200,
26723
+ "line": 201,
26616
26724
  "title": "Task.status.state is the map's projection of the run status at every observed state",
26617
26725
  "explicitId": null,
26618
26726
  "citations": [
@@ -26635,7 +26743,7 @@
26635
26743
  {
26636
26744
  "id": "openwop.it.v2-a2a-operation-map.the-json-rpc-error-codes-the-suite-can-cause-are-the-a2a-1-0-1-codes",
26637
26745
  "file": "v2-a2a-operation-map.test.ts",
26638
- "line": 225,
26746
+ "line": 226,
26639
26747
  "title": "the JSON-RPC error codes the suite can cause are the A2A 1.0.1 codes",
26640
26748
  "explicitId": null,
26641
26749
  "citations": [
@@ -26658,7 +26766,7 @@
26658
26766
  {
26659
26767
  "id": "openwop.it.v2-a2a-operation-map.a-row-whose-requires-facet-is-not-advertised-is-refused-with-the-row-s-error",
26660
26768
  "file": "v2-a2a-operation-map.test.ts",
26661
- "line": 239,
26769
+ "line": 240,
26662
26770
  "title": "a row whose requires facet is not advertised is refused with the row's error",
26663
26771
  "explicitId": null,
26664
26772
  "citations": [
@@ -26673,10 +26781,34 @@
26673
26781
  }
26674
26782
  ]
26675
26783
  },
26784
+ {
26785
+ "id": "openwop.it.v2-a2a-operation-map.a-host-not-advertising-a2a-pushnotifications-refuses-all-four-push-config-operat",
26786
+ "file": "v2-a2a-operation-map.test.ts",
26787
+ "line": 253,
26788
+ "title": "a host not advertising a2a.pushNotifications refuses all four push-config operations with PushNotificationNotSupportedError",
26789
+ "explicitId": null,
26790
+ "citations": [
26791
+ {
26792
+ "section": "spec/v2/core/interop.md §\"The operation mappings\" (RFC 0208)",
26793
+ "requirement": null,
26794
+ "interpolated": true
26795
+ },
26796
+ {
26797
+ "section": "a2a.operations GetTask",
26798
+ "requirement": null,
26799
+ "interpolated": true
26800
+ },
26801
+ {
26802
+ "section": null,
26803
+ "requirement": null,
26804
+ "interpolated": true
26805
+ }
26806
+ ]
26807
+ },
26676
26808
  {
26677
26809
  "id": "openwop.it.v2-a2a-operation-map.listtasks-returns-only-what-listruns-returns-to-the-same-subject-tenant-and-cont",
26678
26810
  "file": "v2-a2a-operation-map.test.ts",
26679
- "line": 252,
26811
+ "line": 280,
26680
26812
  "title": "ListTasks returns only what listRuns returns to the same Subject; tenant and contextId never select",
26681
26813
  "explicitId": null,
26682
26814
  "citations": [
@@ -26713,7 +26845,7 @@
26713
26845
  {
26714
26846
  "id": "openwop.it.v2-a2a-operation-map.an-a2a-error-s-data-is-an-array-carrying-one-errorinfo-with-the-map-row-s-reason",
26715
26847
  "file": "v2-a2a-operation-map.test.ts",
26716
- "line": 285,
26848
+ "line": 313,
26717
26849
  "title": "an A2A error's data is an array carrying one ErrorInfo with the map row's reason and the A2A domain",
26718
26850
  "explicitId": null,
26719
26851
  "citations": [
@@ -26747,7 +26879,7 @@
26747
26879
  {
26748
26880
  "id": "openwop.it.v2-a2a-operation-map.no-response-on-the-card-s-json-rpc-interface-url-is-the-openwop-error-envelope",
26749
26881
  "file": "v2-a2a-operation-map.test.ts",
26750
- "line": 306,
26882
+ "line": 334,
26751
26883
  "title": "no response on the card's JSON-RPC interface URL is the OpenWOP error envelope",
26752
26884
  "explicitId": null,
26753
26885
  "citations": [
@@ -26765,7 +26897,7 @@
26765
26897
  {
26766
26898
  "id": "openwop.it.v2-a2a-operation-map.versionnotsupportederror-carries-errorinfo-version-not-supported-and-supportedve",
26767
26899
  "file": "v2-a2a-operation-map.test.ts",
26768
- "line": 326,
26900
+ "line": 354,
26769
26901
  "title": "VersionNotSupportedError carries ErrorInfo VERSION_NOT_SUPPORTED, and supportedVersions is a comma-joined subset of the card",
26770
26902
  "explicitId": null,
26771
26903
  "citations": [
@@ -26789,7 +26921,7 @@
26789
26921
  {
26790
26922
  "id": "openwop.it.v2-a2a-operation-map.an-http-json-interface-answers-an-a2a-error-with-google-rpc-status-carrying-the",
26791
26923
  "file": "v2-a2a-operation-map.test.ts",
26792
- "line": 344,
26924
+ "line": 372,
26793
26925
  "title": "an HTTP+JSON interface answers an A2A error with google.rpc.Status carrying the ErrorInfo",
26794
26926
  "explicitId": null,
26795
26927
  "citations": [
@@ -26808,7 +26940,7 @@
26808
26940
  {
26809
26941
  "id": "openwop.it.v2-a2a-operation-map.a-run-suspended-on-a-credential-interrupt-projects-to-task-state-auth-required-n",
26810
26942
  "file": "v2-a2a-operation-map.test.ts",
26811
- "line": 359,
26943
+ "line": 387,
26812
26944
  "title": "a run suspended on a credential interrupt projects to TASK_STATE_AUTH_REQUIRED, naming the provider and carrying connectUrl",
26813
26945
  "explicitId": null,
26814
26946
  "citations": [
@@ -26844,7 +26976,7 @@
26844
26976
  {
26845
26977
  "id": "openwop.it.v2-a2ui-v09-surface.a-version-2-envelope-carrying-a-version-1-body-is-refused-the-positive-is-admitt",
26846
26978
  "file": "v2-a2ui-v09-surface.test.ts",
26847
- "line": 128,
26979
+ "line": 129,
26848
26980
  "title": "a version-2 envelope carrying a version-1 body is refused; the positive is admitted; above the floor is refused; below it follows envelopeStrictness",
26849
26981
  "explicitId": "openwop.requirement.0209.version-selects-branch",
26850
26982
  "citations": [
@@ -26888,7 +27020,7 @@
26888
27020
  {
26889
27021
  "id": "openwop.it.v2-a2ui-v09-surface.no-first-createsurface-a-message-after-deletesurface-and-a-second-createsurface",
26890
27022
  "file": "v2-a2ui-v09-surface.test.ts",
26891
- "line": 154,
27023
+ "line": 155,
26892
27024
  "title": "no first createSurface, a message after deleteSurface, and a second createSurface are each refused; the valid steps are admitted",
26893
27025
  "explicitId": "openwop.requirement.0209.fold-guarded",
26894
27026
  "citations": [
@@ -26902,7 +27034,7 @@
26902
27034
  {
26903
27035
  "id": "openwop.it.v2-a2ui-v09-surface.a-createsurface-catalogid-differing-from-the-payload-catalogid-is-refused",
26904
27036
  "file": "v2-a2ui-v09-surface.test.ts",
26905
- "line": 179,
27037
+ "line": 180,
26906
27038
  "title": "a createSurface.catalogId differing from the payload catalogId is refused",
26907
27039
  "explicitId": "openwop.requirement.0209.catalog-equality",
26908
27040
  "citations": [
@@ -26920,7 +27052,7 @@
26920
27052
  {
26921
27053
  "id": "openwop.it.v2-a2ui-v09-surface.a-message-whose-surfaceid-differs-from-the-payload-surfaceid-is-refused",
26922
27054
  "file": "v2-a2ui-v09-surface.test.ts",
26923
- "line": 193,
27055
+ "line": 194,
26924
27056
  "title": "a message whose surfaceId differs from the payload surfaceId is refused",
26925
27057
  "explicitId": "openwop.it.v2-a2ui-v09-surface.surface-id-equality",
26926
27058
  "citations": [
@@ -26938,7 +27070,7 @@
26938
27070
  {
26939
27071
  "id": "openwop.it.v2-a2ui-v09-surface.a-recorded-version-2-surface-is-returned-byte-equal-on-poll-and-carried-by-a-for",
26940
27072
  "file": "v2-a2ui-v09-surface.test.ts",
26941
- "line": 209,
27073
+ "line": 210,
26942
27074
  "title": "a recorded version-2 surface is returned byte-equal on poll and carried by a fork at a later fromSeq",
26943
27075
  "explicitId": "openwop.it.v2-a2ui-v09-surface.recorded-as-recorded",
26944
27076
  "citations": [
@@ -26951,6 +27083,16 @@
26951
27083
  "section": "RFC 0209 §C.11",
26952
27084
  "requirement": "the run's poll MUST return the recorded surface payload byte-equal — no surface is regenerated"
26953
27085
  },
27086
+ {
27087
+ "section": "RFC 0209 §C.9",
27088
+ "requirement": null,
27089
+ "interpolated": true
27090
+ },
27091
+ {
27092
+ "section": "api/seams-v2.yaml emitA2uiSurface",
27093
+ "requirement": null,
27094
+ "interpolated": true
27095
+ },
26954
27096
  {
26955
27097
  "section": "RFC 0209 §C.11",
26956
27098
  "requirement": null,
@@ -26965,7 +27107,7 @@
26965
27107
  {
26966
27108
  "id": "openwop.it.v2-a2ui-v09-surface.a-version-1-surface-recorded-at-floor-1-is-returned-byte-equal-on-poll-and-carri",
26967
27109
  "file": "v2-a2ui-v09-surface.test.ts",
26968
- "line": 228,
27110
+ "line": 237,
26969
27111
  "title": "a version-1 surface recorded at floor 1 is returned byte-equal on poll and carried by a fork",
26970
27112
  "explicitId": "openwop.requirement.0209.legacy-readable",
26971
27113
  "citations": [
@@ -26983,6 +27125,16 @@
26983
27125
  "requirement": null,
26984
27126
  "interpolated": true
26985
27127
  },
27128
+ {
27129
+ "section": "api/seams-v2.yaml emitA2uiSurface",
27130
+ "requirement": null,
27131
+ "interpolated": true
27132
+ },
27133
+ {
27134
+ "section": "RFC 0209 §C.11",
27135
+ "requirement": null,
27136
+ "interpolated": true
27137
+ },
26986
27138
  {
26987
27139
  "section": "RFC 0209 §C.11",
26988
27140
  "requirement": "a fork at a later fromSeq MUST carry the version-1 surface unchanged"
@@ -26992,7 +27144,7 @@
26992
27144
  {
26993
27145
  "id": "openwop.it.v2-a2ui-v09-surface.one-untrusted-update-taints-a-trusted-surface-a-later-trusted-update-does-not-la",
26994
27146
  "file": "v2-a2ui-v09-surface.test.ts",
26995
- "line": 247,
27147
+ "line": 261,
26996
27148
  "title": "one untrusted update taints a trusted surface, a later trusted update does not launder it, and the approval does not advance; an all-trusted surface does",
26997
27149
  "explicitId": "openwop.requirement.0209.taint-sticky",
26998
27150
  "citations": [
@@ -27815,7 +27967,7 @@
27815
27967
  {
27816
27968
  "id": "openwop.it.v2-content-locale-keys.an-advertised-extended-content-locale-is-written-and-delivered",
27817
27969
  "file": "v2-content-locale-keys.test.ts",
27818
- "line": 51,
27970
+ "line": 56,
27819
27971
  "title": "an advertised extended content locale is written and delivered",
27820
27972
  "explicitId": "openwop.requirement.0206.delivery-extended-locale",
27821
27973
  "citations": [
@@ -30575,7 +30727,7 @@
30575
30727
  {
30576
30728
  "id": "openwop.it.v2-oauth-client-pkce-state-iss.a-callback-authenticated-as-another-subject-makes-no-token-request-and-stores-no",
30577
30729
  "file": "v2-oauth-client-pkce-state-iss.test.ts",
30578
- "line": 123,
30730
+ "line": 129,
30579
30731
  "title": "a callback authenticated as another Subject makes no token request and stores nothing",
30580
30732
  "explicitId": null,
30581
30733
  "citations": [
@@ -30598,7 +30750,7 @@
30598
30750
  {
30599
30751
  "id": "openwop.it.v2-oauth-client-pkce-state-iss.a-wrong-or-missing-iss-with-authorization-response-iss-parameter-supported-makes",
30600
30752
  "file": "v2-oauth-client-pkce-state-iss.test.ts",
30601
- "line": 145,
30753
+ "line": 151,
30602
30754
  "title": "a wrong or missing iss (with authorization_response_iss_parameter_supported) makes no token request",
30603
30755
  "explicitId": null,
30604
30756
  "citations": [
@@ -30622,7 +30774,7 @@
30622
30774
  {
30623
30775
  "id": "openwop.it.v2-oauth-client-pkce-state-iss.issuer-less-providers-get-redirect-uris-no-other-provider-shares",
30624
30776
  "file": "v2-oauth-client-pkce-state-iss.test.ts",
30625
- "line": 173,
30777
+ "line": 179,
30626
30778
  "title": "issuer-less providers get redirect URIs no other provider shares",
30627
30779
  "explicitId": null,
30628
30780
  "citations": [
@@ -30640,7 +30792,7 @@
30640
30792
  {
30641
30793
  "id": "openwop.it.v2-oauth-client-pkce-state-iss.the-redirect-uri-is-fixed-per-provider-whatever-the-request-carries",
30642
30794
  "file": "v2-oauth-client-pkce-state-iss.test.ts",
30643
- "line": 189,
30795
+ "line": 195,
30644
30796
  "title": "the redirect URI is fixed per provider whatever the request carries",
30645
30797
  "explicitId": null,
30646
30798
  "citations": [
@@ -40554,6 +40706,50 @@
40554
40706
  }
40555
40707
  ]
40556
40708
  },
40709
+ {
40710
+ "id": "openwop.it.v2-bundle-witness-preimage.every-committed-v3-bundle-re-derives-its-witnesssha256-from-the-prose-preimage",
40711
+ "file": "v2-bundle-witness-preimage.test.ts",
40712
+ "line": 66,
40713
+ "title": "every committed v3 bundle re-derives its witnessSha256 from the prose preimage",
40714
+ "explicitId": "openwop.it.v2-bundle-witness-preimage.every-committed-v3-bundle-re-derives-its-witnesssha256-from-the-prose-preimage",
40715
+ "citations": [
40716
+ {
40717
+ "section": "RFC 0212 §C · spec/v2/core/conformance.md §\"Canonical JSON\"",
40718
+ "requirement": "the spec repo MUST carry committed v3 bundles for this census to mean anything"
40719
+ },
40720
+ {
40721
+ "section": "RFC 0212 §C · spec/v2/core/conformance.md §\"Canonical JSON\"",
40722
+ "requirement": "the census MUST cover every committed v3 bundle"
40723
+ },
40724
+ {
40725
+ "section": "RFC 0212 §C · spec/v2/core/conformance.md §\"Canonical JSON\"",
40726
+ "requirement": null,
40727
+ "interpolated": true
40728
+ },
40729
+ {
40730
+ "section": "RFC 0212 §C · spec/v2/core/conformance.md §\"Canonical JSON\"",
40731
+ "requirement": null,
40732
+ "interpolated": true
40733
+ }
40734
+ ]
40735
+ },
40736
+ {
40737
+ "id": "openwop.it.v2-bundle-witness-preimage.the-row-comparator-is-code-unit-order-which-a-locale-collation-contradicts",
40738
+ "file": "v2-bundle-witness-preimage.test.ts",
40739
+ "line": 80,
40740
+ "title": "the row comparator is code-unit order, which a locale collation contradicts",
40741
+ "explicitId": "openwop.it.v2-bundle-witness-preimage.the-row-comparator-is-code-unit-order-which-a-locale-collation-contradicts",
40742
+ "citations": [
40743
+ {
40744
+ "section": "RFC 0212 §C · spec/v2/core/conformance.md §\"Canonical JSON\"",
40745
+ "requirement": "the fixture ids MUST order differently under code units and Czech collation, or this leg proves nothing"
40746
+ },
40747
+ {
40748
+ "section": "RFC 0212 §C · spec/v2/core/conformance.md §\"Canonical JSON\"",
40749
+ "requirement": "witnessSha256 rows MUST sort by UTF-16 code units; a locale-sensitive comparator MUST NOT be used"
40750
+ }
40751
+ ]
40752
+ },
40557
40753
  {
40558
40754
  "id": "openwop.it.v2-corpus-tag-pinned.every-vendoring-consumer-in-the-cross-repo-inventory-records-a-published-corpus",
40559
40755
  "file": "v2-corpus-tag-pinned.test.ts",
@@ -40938,7 +41134,7 @@
40938
41134
  {
40939
41135
  "id": "openwop.it.v2-lane-exp-only-schema.the-gate-refuses-an-enum-member-with-no-2-2-row-and-a-suite-map-the-table-does-n",
40940
41136
  "file": "v2-lane-exp-only-schema.test.ts",
40941
- "line": 117,
41137
+ "line": 127,
40942
41138
  "title": "the gate refuses an enum member with no §2.2 row, and a suite map the table does not license",
40943
41139
  "explicitId": null,
40944
41140
  "citations": [
@@ -41204,6 +41400,24 @@
41204
41400
  }
41205
41401
  ]
41206
41402
  },
41403
+ {
41404
+ "id": "openwop.it.v2-push-credential-coherent.the-push-credential-exception-is-stated-wherever-the-rule-it-excepts-is-read-and",
41405
+ "file": "v2-push-credential-coherent.test.ts",
41406
+ "line": 71,
41407
+ "title": "the push-credential exception is stated wherever the rule it excepts is read, and each regression is refused",
41408
+ "explicitId": "openwop.requirement.0214.push-credential-coherent",
41409
+ "citations": [
41410
+ {
41411
+ "section": "RFCS/0214 §A–§B; spec/v2/core/security-defaults.md §\"Onward hops\"; spec/v2/core/interop.md §\"A2A push delivery\"",
41412
+ "requirement": "every clause of the RFC 0214 correction is present in the tracked corpus"
41413
+ },
41414
+ {
41415
+ "section": "RFCS/0214 §A–§B; spec/v2/core/security-defaults.md §\"Onward hops\"; spec/v2/core/interop.md §\"A2A push delivery\"",
41416
+ "requirement": null,
41417
+ "interpolated": true
41418
+ }
41419
+ ]
41420
+ },
41207
41421
  {
41208
41422
  "id": "openwop.it.v2-release-identity.the-corpus-gate-script-exits-0",
41209
41423
  "file": "v2-release-identity.test.ts",
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "$comment": "GENERATED by conformance/scripts/generate-scenario-majors.mjs (RFC 0168 §D.3). Do not edit; add a file to BOTH_MAJORS in the generator to target both majors.",
3
3
  "counts": {
4
- "files": 557,
5
- "v1": 448,
6
- "v2": 117
4
+ "files": 558,
5
+ "v1": 449,
6
+ "v2": 118
7
7
  },
8
8
  "majors": {
9
9
  "a2a-1-0-agent-card.test.ts": [
@@ -705,6 +705,10 @@
705
705
  "interruptRace.test.ts": [
706
706
  1
707
707
  ],
708
+ "jcs-vectors.test.ts": [
709
+ 1,
710
+ 2
711
+ ],
708
712
  "kv-atomic-increment.test.ts": [
709
713
  1
710
714
  ],