@openwop/openwop-conformance 2.46.35 → 2.46.37
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 +14 -0
- package/README.md +3 -3
- package/coverage.md +5 -6
- package/dist/spec-artifacts.lock.json +2 -2
- package/fixtures/conformance-clarification.json +1 -1
- package/fixtures/conformance-interrupt-form-refused.json +108 -0
- package/fixtures/conformance-interrupt-form-unbound.json +108 -0
- package/fixtures/conformance-interrupt-form.json +107 -0
- package/fixtures/conformance-stream-text.json +1 -2
- package/fixtures.md +20 -5
- package/package.json +2 -2
- package/requirement-aliases.json +98 -1
- package/requirements.json +596 -804
- package/scenario-majors.json +16 -19
- package/schemas/CORPUS-STAMP.json +56 -69
- package/src/lib/callai-attempts-witness.ts +13 -1
- package/src/lib/family-advert-witness.ts +37 -50
- package/src/scenarios/stream-text-fixture.test.ts +13 -5
- package/src/scenarios/v2-clarification-resume-answers.test.ts +66 -0
- package/src/scenarios/v2-envelope-surfaces-absent.test.ts +55 -0
- package/src/scenarios/v2-interrupt-form-rules.test.ts +143 -0
- package/src/scenarios/v2-limits-clarification-rounds-advertisement.test.ts +42 -0
- package/src/scenarios/v2-peer-dependency-declared.test.ts +1 -1
- package/src/scenarios/v2-provider-output-reliability.test.ts +94 -0
- package/src/scenarios/v2-structured-output-advertisement.test.ts +82 -0
- package/src/lib/envelope-schema-static.ts +0 -167
- package/src/scenarios/v2-a2ui-v09-surface.test.ts +0 -323
- package/src/scenarios/v2-ai-envelope-advertisement.test.ts +0 -43
- package/src/scenarios/v2-envelope-contracts-advertisement.test.ts +0 -48
- package/src/scenarios/v2-envelope-reasoning-shape.test.ts +0 -81
- package/src/scenarios/v2-envelope-tier-one-subset-static.test.ts +0 -64
- package/src/scenarios/v2-envelopes-advertisement.test.ts +0 -85
- package/src/scenarios/v2-limits-envelope-caps-advertisement.test.ts +0 -61
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":
|
|
6
|
-
"tests":
|
|
7
|
-
"withStableId":
|
|
5
|
+
"files": 747,
|
|
6
|
+
"tests": 2855,
|
|
7
|
+
"withStableId": 2855,
|
|
8
8
|
"interpolatedTitles": 0,
|
|
9
|
-
"explicitIds":
|
|
9
|
+
"explicitIds": 2725
|
|
10
10
|
},
|
|
11
11
|
"records": [
|
|
12
12
|
{
|
|
@@ -25259,7 +25259,7 @@
|
|
|
25259
25259
|
{
|
|
25260
25260
|
"id": "openwop.it.stream-text-fixture.delivers-the-mocked-tokens-in-order-terminates-with-islast-meta-and-server-close",
|
|
25261
25261
|
"file": "stream-text-fixture.test.ts",
|
|
25262
|
-
"line":
|
|
25262
|
+
"line": 103,
|
|
25263
25263
|
"title": "delivers the mocked tokens in order, terminates with isLast + meta, and server-closes",
|
|
25264
25264
|
"explicitId": "openwop.it.stream-text-fixture.delivers-the-mocked-tokens-in-order-terminates-with-islast-meta-and-server-close",
|
|
25265
25265
|
"citations": [
|
|
@@ -25312,7 +25312,7 @@
|
|
|
25312
25312
|
{
|
|
25313
25313
|
"id": "openwop.it.stream-text-fixture.an-unknown-mockprovider-id-is-rejected-with-400-unsupported-mock-provider",
|
|
25314
25314
|
"file": "stream-text-fixture.test.ts",
|
|
25315
|
-
"line":
|
|
25315
|
+
"line": 206,
|
|
25316
25316
|
"title": "an unknown mockProvider.id is rejected with 400 unsupported_mock_provider",
|
|
25317
25317
|
"explicitId": "openwop.it.stream-text-fixture.an-unknown-mockprovider-id-is-rejected-with-400-unsupported-mock-provider",
|
|
25318
25318
|
"citations": [
|
|
@@ -27812,215 +27812,6 @@
|
|
|
27812
27812
|
}
|
|
27813
27813
|
]
|
|
27814
27814
|
},
|
|
27815
|
-
{
|
|
27816
|
-
"id": "openwop.it.v2-a2ui-v09-surface.a-version-2-envelope-carrying-a-version-1-body-is-refused-the-positive-is-admitt",
|
|
27817
|
-
"file": "v2-a2ui-v09-surface.test.ts",
|
|
27818
|
-
"line": 131,
|
|
27819
|
-
"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",
|
|
27820
|
-
"explicitId": "openwop.requirement.0209.version-selects-branch",
|
|
27821
|
-
"citations": [
|
|
27822
|
-
{
|
|
27823
|
-
"section": "RFC 0209 §A.1",
|
|
27824
|
-
"requirement": null,
|
|
27825
|
-
"interpolated": true
|
|
27826
|
-
},
|
|
27827
|
-
{
|
|
27828
|
-
"section": "api/seams-v2.yaml emitA2uiSurface",
|
|
27829
|
-
"requirement": "a 201 names the recording event sequence"
|
|
27830
|
-
},
|
|
27831
|
-
{
|
|
27832
|
-
"section": "RFC 0209 §A.1",
|
|
27833
|
-
"requirement": null,
|
|
27834
|
-
"interpolated": true
|
|
27835
|
-
},
|
|
27836
|
-
{
|
|
27837
|
-
"section": "spec/v2/ext/a2uiSurface/README.md §Versions",
|
|
27838
|
-
"requirement": "the refusal is envelope_invalid"
|
|
27839
|
-
},
|
|
27840
|
-
{
|
|
27841
|
-
"section": "events.md §\"The envelope-kind catalog\"",
|
|
27842
|
-
"requirement": "a schemaVersion above the floor MUST be refused with unknown_schema_version whatever the strictness"
|
|
27843
|
-
},
|
|
27844
|
-
{
|
|
27845
|
-
"section": "events.md §\"The envelope-kind catalog\"",
|
|
27846
|
-
"requirement": "under strict, a schemaVersion 1 envelope below floor 2 MUST be refused with unknown_schema_version"
|
|
27847
|
-
},
|
|
27848
|
-
{
|
|
27849
|
-
"section": "events.md §\"The envelope-kind catalog\"",
|
|
27850
|
-
"requirement": null,
|
|
27851
|
-
"interpolated": true
|
|
27852
|
-
},
|
|
27853
|
-
{
|
|
27854
|
-
"section": "RFC 0209 §A.1",
|
|
27855
|
-
"requirement": "under warn, a schemaVersion 1 envelope with a payloadV1 body is validated against version 2 and MUST be refused"
|
|
27856
|
-
}
|
|
27857
|
-
]
|
|
27858
|
-
},
|
|
27859
|
-
{
|
|
27860
|
-
"id": "openwop.it.v2-a2ui-v09-surface.no-first-createsurface-a-message-after-deletesurface-and-a-second-createsurface",
|
|
27861
|
-
"file": "v2-a2ui-v09-surface.test.ts",
|
|
27862
|
-
"line": 157,
|
|
27863
|
-
"title": "no first createSurface, a message after deleteSurface, and a second createSurface are each refused; the valid steps are admitted",
|
|
27864
|
-
"explicitId": "openwop.requirement.0209.fold-guarded",
|
|
27865
|
-
"citations": [
|
|
27866
|
-
{
|
|
27867
|
-
"section": "RFC 0209 §C.9",
|
|
27868
|
-
"requirement": null,
|
|
27869
|
-
"interpolated": true
|
|
27870
|
-
}
|
|
27871
|
-
]
|
|
27872
|
-
},
|
|
27873
|
-
{
|
|
27874
|
-
"id": "openwop.it.v2-a2ui-v09-surface.a-createsurface-catalogid-differing-from-the-payload-catalogid-is-refused",
|
|
27875
|
-
"file": "v2-a2ui-v09-surface.test.ts",
|
|
27876
|
-
"line": 182,
|
|
27877
|
-
"title": "a createSurface.catalogId differing from the payload catalogId is refused",
|
|
27878
|
-
"explicitId": "openwop.requirement.0209.catalog-equality",
|
|
27879
|
-
"citations": [
|
|
27880
|
-
{
|
|
27881
|
-
"section": "RFC 0209 §A.2",
|
|
27882
|
-
"requirement": "a createSurface.catalogId MUST equal the payload catalogId; a differing one is refused, not recorded"
|
|
27883
|
-
},
|
|
27884
|
-
{
|
|
27885
|
-
"section": "RFC 0209 §A.2",
|
|
27886
|
-
"requirement": null,
|
|
27887
|
-
"interpolated": true
|
|
27888
|
-
}
|
|
27889
|
-
]
|
|
27890
|
-
},
|
|
27891
|
-
{
|
|
27892
|
-
"id": "openwop.it.v2-a2ui-v09-surface.a-message-whose-surfaceid-differs-from-the-payload-surfaceid-is-refused",
|
|
27893
|
-
"file": "v2-a2ui-v09-surface.test.ts",
|
|
27894
|
-
"line": 196,
|
|
27895
|
-
"title": "a message whose surfaceId differs from the payload surfaceId is refused",
|
|
27896
|
-
"explicitId": "openwop.it.v2-a2ui-v09-surface.surface-id-equality",
|
|
27897
|
-
"citations": [
|
|
27898
|
-
{
|
|
27899
|
-
"section": "RFC 0209 §A.2",
|
|
27900
|
-
"requirement": "every message surfaceId MUST equal the payload surfaceId — the schema cannot express it, so the engine MUST refuse a mismatch"
|
|
27901
|
-
},
|
|
27902
|
-
{
|
|
27903
|
-
"section": "RFC 0209 §A.2",
|
|
27904
|
-
"requirement": null,
|
|
27905
|
-
"interpolated": true
|
|
27906
|
-
}
|
|
27907
|
-
]
|
|
27908
|
-
},
|
|
27909
|
-
{
|
|
27910
|
-
"id": "openwop.it.v2-a2ui-v09-surface.a-recorded-version-2-surface-is-returned-byte-equal-on-poll-and-carried-by-a-for",
|
|
27911
|
-
"file": "v2-a2ui-v09-surface.test.ts",
|
|
27912
|
-
"line": 214,
|
|
27913
|
-
"title": "a recorded version-2 surface is returned byte-equal on poll and carried by a fork at a later fromSeq",
|
|
27914
|
-
"explicitId": "openwop.it.v2-a2ui-v09-surface.recorded-as-recorded",
|
|
27915
|
-
"citations": [
|
|
27916
|
-
{
|
|
27917
|
-
"section": "RFC 0209 §C.11",
|
|
27918
|
-
"requirement": null,
|
|
27919
|
-
"interpolated": true
|
|
27920
|
-
},
|
|
27921
|
-
{
|
|
27922
|
-
"section": "RFC 0209 §C.11",
|
|
27923
|
-
"requirement": "the run's poll MUST return the recorded surface payload unchanged as JSON (JCS-equal; member order carries no meaning) — no surface is regenerated"
|
|
27924
|
-
},
|
|
27925
|
-
{
|
|
27926
|
-
"section": "RFC 0209 §C.9",
|
|
27927
|
-
"requirement": null,
|
|
27928
|
-
"interpolated": true
|
|
27929
|
-
},
|
|
27930
|
-
{
|
|
27931
|
-
"section": "api/seams-v2.yaml emitA2uiSurface",
|
|
27932
|
-
"requirement": null,
|
|
27933
|
-
"interpolated": true
|
|
27934
|
-
},
|
|
27935
|
-
{
|
|
27936
|
-
"section": "RFC 0209 §C.11",
|
|
27937
|
-
"requirement": null,
|
|
27938
|
-
"interpolated": true
|
|
27939
|
-
},
|
|
27940
|
-
{
|
|
27941
|
-
"section": "RFC 0209 §C.11",
|
|
27942
|
-
"requirement": "a fork at a fromSeq after the surface MUST carry it unchanged"
|
|
27943
|
-
}
|
|
27944
|
-
]
|
|
27945
|
-
},
|
|
27946
|
-
{
|
|
27947
|
-
"id": "openwop.it.v2-a2ui-v09-surface.a-version-1-surface-recorded-at-floor-1-is-returned-byte-equal-on-poll-and-carri",
|
|
27948
|
-
"file": "v2-a2ui-v09-surface.test.ts",
|
|
27949
|
-
"line": 241,
|
|
27950
|
-
"title": "a version-1 surface recorded at floor 1 is returned byte-equal on poll and carried by a fork",
|
|
27951
|
-
"explicitId": "openwop.requirement.0209.legacy-readable",
|
|
27952
|
-
"citations": [
|
|
27953
|
-
{
|
|
27954
|
-
"section": "RFC 0209 §C.11",
|
|
27955
|
-
"requirement": null,
|
|
27956
|
-
"interpolated": true
|
|
27957
|
-
},
|
|
27958
|
-
{
|
|
27959
|
-
"section": "RFC 0209 §C.11",
|
|
27960
|
-
"requirement": "the poll MUST return the version-1 surface unchanged as JSON (JCS-equal)"
|
|
27961
|
-
},
|
|
27962
|
-
{
|
|
27963
|
-
"section": "RFC 0209 §C.11",
|
|
27964
|
-
"requirement": null,
|
|
27965
|
-
"interpolated": true
|
|
27966
|
-
},
|
|
27967
|
-
{
|
|
27968
|
-
"section": "api/seams-v2.yaml emitA2uiSurface",
|
|
27969
|
-
"requirement": null,
|
|
27970
|
-
"interpolated": true
|
|
27971
|
-
},
|
|
27972
|
-
{
|
|
27973
|
-
"section": "RFC 0209 §C.11",
|
|
27974
|
-
"requirement": null,
|
|
27975
|
-
"interpolated": true
|
|
27976
|
-
},
|
|
27977
|
-
{
|
|
27978
|
-
"section": "RFC 0209 §C.11",
|
|
27979
|
-
"requirement": "a fork at a later fromSeq MUST carry the version-1 surface unchanged"
|
|
27980
|
-
}
|
|
27981
|
-
]
|
|
27982
|
-
},
|
|
27983
|
-
{
|
|
27984
|
-
"id": "openwop.it.v2-a2ui-v09-surface.one-untrusted-update-taints-a-trusted-surface-a-later-trusted-update-does-not-la",
|
|
27985
|
-
"file": "v2-a2ui-v09-surface.test.ts",
|
|
27986
|
-
"line": 265,
|
|
27987
|
-
"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",
|
|
27988
|
-
"explicitId": "openwop.requirement.0209.taint-sticky",
|
|
27989
|
-
"citations": [
|
|
27990
|
-
{
|
|
27991
|
-
"section": "RFC 0209 §C.12",
|
|
27992
|
-
"requirement": null,
|
|
27993
|
-
"interpolated": true
|
|
27994
|
-
}
|
|
27995
|
-
]
|
|
27996
|
-
},
|
|
27997
|
-
{
|
|
27998
|
-
"id": "openwop.it.v2-a2ui-v09-surface.records-why-render-needs-root-has-no-server-side-witness-and-where-its-witness-l",
|
|
27999
|
-
"file": "v2-a2ui-v09-surface.test.ts",
|
|
28000
|
-
"line": 304,
|
|
28001
|
-
"title": "records why render-needs-root has no server-side witness, and where its witness lives",
|
|
28002
|
-
"explicitId": "openwop.requirement.0209.render-needs-root",
|
|
28003
|
-
"citations": [
|
|
28004
|
-
{
|
|
28005
|
-
"section": "RFC 0209 §C.9",
|
|
28006
|
-
"requirement": "a renderer does not render a surface before its root component exists"
|
|
28007
|
-
}
|
|
28008
|
-
]
|
|
28009
|
-
},
|
|
28010
|
-
{
|
|
28011
|
-
"id": "openwop.it.v2-a2ui-v09-surface.a-version-2-surface-is-admitted-and-a-version-1-body-under-schema-version-2-is-r",
|
|
28012
|
-
"file": "v2-a2ui-v09-surface.test.ts",
|
|
28013
|
-
"line": 311,
|
|
28014
|
-
"title": "a version-2 surface is admitted and a version-1 body under schema version 2 is refused, in the same run",
|
|
28015
|
-
"explicitId": "openwop.family.a2uiSurface",
|
|
28016
|
-
"citations": [
|
|
28017
|
-
{
|
|
28018
|
-
"section": "spec/v2/ext/a2uiSurface/README.md §Conformance",
|
|
28019
|
-
"requirement": null,
|
|
28020
|
-
"interpolated": true
|
|
28021
|
-
}
|
|
28022
|
-
]
|
|
28023
|
-
},
|
|
28024
27815
|
{
|
|
28025
27816
|
"id": "openwop.it.v2-advertised-fixtures-exist.a-sampled-advertised-fixture-is-actually-creatable-not-just-listed",
|
|
28026
27817
|
"file": "v2-advertised-fixtures-exist.test.ts",
|
|
@@ -28167,20 +27958,6 @@
|
|
|
28167
27958
|
}
|
|
28168
27959
|
]
|
|
28169
27960
|
},
|
|
28170
|
-
{
|
|
28171
|
-
"id": "openwop.it.v2-ai-envelope-advertisement.the-aienvelope-record-validates-against-its-capabilities-schema-seat",
|
|
28172
|
-
"file": "v2-ai-envelope-advertisement.test.ts",
|
|
28173
|
-
"line": 35,
|
|
28174
|
-
"title": "the aiEnvelope record validates against its capabilities-schema seat",
|
|
28175
|
-
"explicitId": "openwop.requirement.ai-envelope.advert-record-schema",
|
|
28176
|
-
"citations": [
|
|
28177
|
-
{
|
|
28178
|
-
"section": null,
|
|
28179
|
-
"requirement": null,
|
|
28180
|
-
"interpolated": true
|
|
28181
|
-
}
|
|
28182
|
-
]
|
|
28183
|
-
},
|
|
28184
27961
|
{
|
|
28185
27962
|
"id": "openwop.it.v2-ai-providers-advertisement.the-aiproviders-record-validates-against-its-capabilities-schema-seat",
|
|
28186
27963
|
"file": "v2-ai-providers-advertisement.test.ts",
|
|
@@ -29436,6 +29213,28 @@
|
|
|
29436
29213
|
}
|
|
29437
29214
|
]
|
|
29438
29215
|
},
|
|
29216
|
+
{
|
|
29217
|
+
"id": "openwop.it.v2-clarification-resume-answers.a-clarification-resolves-with-answers-id-answer-and-the-run-completes",
|
|
29218
|
+
"file": "v2-clarification-resume-answers.test.ts",
|
|
29219
|
+
"line": 51,
|
|
29220
|
+
"title": "a clarification resolves with { answers: [{ id, answer }] } and the run completes",
|
|
29221
|
+
"explicitId": "openwop.requirement.interrupt.clarification-resume-answers",
|
|
29222
|
+
"citations": [
|
|
29223
|
+
{
|
|
29224
|
+
"section": "spec/v2/core/interrupt.md §Re-entry and resume values",
|
|
29225
|
+
"requirement": null,
|
|
29226
|
+
"interpolated": true
|
|
29227
|
+
},
|
|
29228
|
+
{
|
|
29229
|
+
"section": "spec/v2/core/interrupt.md §Re-entry and resume values",
|
|
29230
|
+
"requirement": "the resolve MUST be a 2xx"
|
|
29231
|
+
},
|
|
29232
|
+
{
|
|
29233
|
+
"section": "spec/v2/core/interrupt.md §Re-entry and resume values",
|
|
29234
|
+
"requirement": "the resolved run MUST complete"
|
|
29235
|
+
}
|
|
29236
|
+
]
|
|
29237
|
+
},
|
|
29439
29238
|
{
|
|
29440
29239
|
"id": "openwop.it.v2-client-version-header.a-client-at-the-floor-is-not-below-it-equal-on-major-minor-the-patch-never-decid",
|
|
29441
29240
|
"file": "v2-client-version-header.test.ts",
|
|
@@ -30813,196 +30612,15 @@
|
|
|
30813
30612
|
]
|
|
30814
30613
|
},
|
|
30815
30614
|
{
|
|
30816
|
-
"id": "openwop.it.v2-envelope-
|
|
30817
|
-
"file": "v2-envelope-
|
|
30818
|
-
"line":
|
|
30819
|
-
"title": "the
|
|
30820
|
-
"explicitId": "openwop.requirement.
|
|
30821
|
-
"citations": [
|
|
30822
|
-
{
|
|
30823
|
-
"section": null,
|
|
30824
|
-
"requirement": null,
|
|
30825
|
-
"interpolated": true
|
|
30826
|
-
}
|
|
30827
|
-
]
|
|
30828
|
-
},
|
|
30829
|
-
{
|
|
30830
|
-
"id": "openwop.it.v2-envelope-contracts-advertisement.envelopecontracts-advertised-is-not-false-a-host-that-does-not-offer-the-family",
|
|
30831
|
-
"file": "v2-envelope-contracts-advertisement.test.ts",
|
|
30832
|
-
"line": 41,
|
|
30833
|
-
"title": "envelopeContracts.advertised is not false: a host that does not offer the family omits it",
|
|
30834
|
-
"explicitId": "openwop.requirement.0237.no-false-advertisement",
|
|
30835
|
-
"citations": [
|
|
30836
|
-
{
|
|
30837
|
-
"section": "RFC 0237 §C; capabilities.md §2",
|
|
30838
|
-
"requirement": "envelopeContracts.advertised: false is not a v2 state; a host that does not offer the family MUST omit it"
|
|
30839
|
-
}
|
|
30840
|
-
]
|
|
30841
|
-
},
|
|
30842
|
-
{
|
|
30843
|
-
"id": "openwop.requirement.envelopes.reasoning-declared-optional-string",
|
|
30844
|
-
"file": "v2-envelope-reasoning-shape.test.ts",
|
|
30845
|
-
"line": 45,
|
|
30846
|
-
"title": null,
|
|
30847
|
-
"explicitId": "openwop.requirement.envelopes.reasoning-declared-optional-string",
|
|
30848
|
-
"citations": [
|
|
30849
|
-
{
|
|
30850
|
-
"section": "events.md §envelopes",
|
|
30851
|
-
"requirement": null,
|
|
30852
|
-
"interpolated": true
|
|
30853
|
-
},
|
|
30854
|
-
{
|
|
30855
|
-
"section": "events.md §envelopes",
|
|
30856
|
-
"requirement": null,
|
|
30857
|
-
"interpolated": true
|
|
30858
|
-
},
|
|
30859
|
-
{
|
|
30860
|
-
"section": "events.md §envelopes",
|
|
30861
|
-
"requirement": null,
|
|
30862
|
-
"interpolated": true
|
|
30863
|
-
}
|
|
30864
|
-
]
|
|
30865
|
-
},
|
|
30866
|
-
{
|
|
30867
|
-
"id": "openwop.it.v2-envelope-reasoning-shape.schema-response-does-not-declare-reasoning-a-side-channel-ack",
|
|
30868
|
-
"file": "v2-envelope-reasoning-shape.test.ts",
|
|
30869
|
-
"line": 55,
|
|
30870
|
-
"title": "schema.response does not declare reasoning (a side-channel ack)",
|
|
30871
|
-
"explicitId": "openwop.requirement.envelopes.reasoning-omitted-from-schema-response",
|
|
30872
|
-
"citations": [
|
|
30873
|
-
{
|
|
30874
|
-
"section": "RFC 0030 §A",
|
|
30875
|
-
"requirement": "schemas/v2/envelopes/schema.response.schema.json MUST exist"
|
|
30876
|
-
},
|
|
30877
|
-
{
|
|
30878
|
-
"section": "RFC 0030 §A",
|
|
30879
|
-
"requirement": "schema.response MUST NOT declare reasoning"
|
|
30880
|
-
}
|
|
30881
|
-
]
|
|
30882
|
-
},
|
|
30883
|
-
{
|
|
30884
|
-
"id": "openwop.requirement.envelopes.reasoning-absent-accepted",
|
|
30885
|
-
"file": "v2-envelope-reasoning-shape.test.ts",
|
|
30886
|
-
"line": 67,
|
|
30887
|
-
"title": null,
|
|
30888
|
-
"explicitId": "openwop.requirement.envelopes.reasoning-absent-accepted",
|
|
30889
|
-
"citations": [
|
|
30890
|
-
{
|
|
30891
|
-
"section": "events.md §envelopes",
|
|
30892
|
-
"requirement": null,
|
|
30893
|
-
"interpolated": true
|
|
30894
|
-
}
|
|
30895
|
-
]
|
|
30896
|
-
},
|
|
30897
|
-
{
|
|
30898
|
-
"id": "openwop.requirement.envelopes.reasoning-present-accepted",
|
|
30899
|
-
"file": "v2-envelope-reasoning-shape.test.ts",
|
|
30900
|
-
"line": 72,
|
|
30901
|
-
"title": null,
|
|
30902
|
-
"explicitId": "openwop.requirement.envelopes.reasoning-present-accepted",
|
|
30903
|
-
"citations": [
|
|
30904
|
-
{
|
|
30905
|
-
"section": "events.md §envelopes",
|
|
30906
|
-
"requirement": null,
|
|
30907
|
-
"interpolated": true
|
|
30908
|
-
}
|
|
30909
|
-
]
|
|
30910
|
-
},
|
|
30911
|
-
{
|
|
30912
|
-
"id": "openwop.requirement.envelopes.reasoning-non-string-rejected",
|
|
30913
|
-
"file": "v2-envelope-reasoning-shape.test.ts",
|
|
30914
|
-
"line": 77,
|
|
30915
|
-
"title": null,
|
|
30916
|
-
"explicitId": "openwop.requirement.envelopes.reasoning-non-string-rejected",
|
|
30917
|
-
"citations": [
|
|
30918
|
-
{
|
|
30919
|
-
"section": "events.md §envelopes",
|
|
30920
|
-
"requirement": null,
|
|
30921
|
-
"interpolated": true
|
|
30922
|
-
}
|
|
30923
|
-
]
|
|
30924
|
-
},
|
|
30925
|
-
{
|
|
30926
|
-
"id": "openwop.it.v2-envelope-tier-one-subset-static.a-host-advertising-tieronesubsetcompliance-strict-has-advertised-kinds-whose-cor",
|
|
30927
|
-
"file": "v2-envelope-tier-one-subset-static.test.ts",
|
|
30928
|
-
"line": 43,
|
|
30929
|
-
"title": "a host advertising tierOneSubsetCompliance strict has advertised kinds whose corpus schemas satisfy the Tier-1 intersection",
|
|
30930
|
-
"explicitId": "openwop.requirement.envelopes.tier-one-strict-advertised-kinds",
|
|
30931
|
-
"citations": [
|
|
30932
|
-
{
|
|
30933
|
-
"section": "capabilities.schema.json §envelopes.tierOneSubsetCompliance",
|
|
30934
|
-
"requirement": null,
|
|
30935
|
-
"interpolated": true
|
|
30936
|
-
}
|
|
30937
|
-
]
|
|
30938
|
-
},
|
|
30939
|
-
{
|
|
30940
|
-
"id": "openwop.it.v2-envelopes-advertisement.the-envelopes-record-validates-against-its-capabilities-schema-seat",
|
|
30941
|
-
"file": "v2-envelopes-advertisement.test.ts",
|
|
30942
|
-
"line": 46,
|
|
30943
|
-
"title": "the envelopes record validates against its capabilities-schema seat",
|
|
30944
|
-
"explicitId": "openwop.requirement.envelopes.advert-record-schema",
|
|
30945
|
-
"citations": [
|
|
30946
|
-
{
|
|
30947
|
-
"section": null,
|
|
30948
|
-
"requirement": null,
|
|
30949
|
-
"interpolated": true
|
|
30950
|
-
}
|
|
30951
|
-
]
|
|
30952
|
-
},
|
|
30953
|
-
{
|
|
30954
|
-
"id": "openwop.it.v2-envelopes-advertisement.envelopes-reasoning-promptdirective-is-mandatory-advisory-or-off",
|
|
30955
|
-
"file": "v2-envelopes-advertisement.test.ts",
|
|
30956
|
-
"line": 54,
|
|
30957
|
-
"title": "envelopes.reasoning.promptDirective is mandatory, advisory or off",
|
|
30958
|
-
"explicitId": "openwop.requirement.envelopes.reasoning-advert-shape",
|
|
30959
|
-
"citations": [
|
|
30960
|
-
{
|
|
30961
|
-
"section": null,
|
|
30962
|
-
"requirement": null,
|
|
30963
|
-
"interpolated": true
|
|
30964
|
-
}
|
|
30965
|
-
]
|
|
30966
|
-
},
|
|
30967
|
-
{
|
|
30968
|
-
"id": "openwop.it.v2-envelopes-advertisement.envelopes-tieronesubsetcompliance-is-strict-warn-or-off",
|
|
30969
|
-
"file": "v2-envelopes-advertisement.test.ts",
|
|
30970
|
-
"line": 62,
|
|
30971
|
-
"title": "envelopes.tierOneSubsetCompliance is strict, warn or off",
|
|
30972
|
-
"explicitId": "openwop.requirement.envelopes.tier-one-subset-compliance-value",
|
|
30973
|
-
"citations": [
|
|
30974
|
-
{
|
|
30975
|
-
"section": null,
|
|
30976
|
-
"requirement": null,
|
|
30977
|
-
"interpolated": true
|
|
30978
|
-
}
|
|
30979
|
-
]
|
|
30980
|
-
},
|
|
30981
|
-
{
|
|
30982
|
-
"id": "openwop.it.v2-envelopes-advertisement.envelopes-reliability-events-lists-only-reliability-events-and-includes-retry-ex",
|
|
30983
|
-
"file": "v2-envelopes-advertisement.test.ts",
|
|
30984
|
-
"line": 70,
|
|
30985
|
-
"title": "envelopes.reliability.events lists only reliability events and includes retry-exhausted and refusal",
|
|
30986
|
-
"explicitId": "openwop.requirement.envelopes.reliability-events-advert",
|
|
30987
|
-
"citations": [
|
|
30988
|
-
{
|
|
30989
|
-
"section": null,
|
|
30990
|
-
"requirement": null,
|
|
30991
|
-
"interpolated": true
|
|
30992
|
-
}
|
|
30993
|
-
]
|
|
30994
|
-
},
|
|
30995
|
-
{
|
|
30996
|
-
"id": "openwop.it.v2-envelopes-advertisement.envelopes-reliability-completion-distinguishestruncation-is-a-boolean",
|
|
30997
|
-
"file": "v2-envelopes-advertisement.test.ts",
|
|
30998
|
-
"line": 78,
|
|
30999
|
-
"title": "envelopes.reliability.completion.distinguishesTruncation is a boolean",
|
|
31000
|
-
"explicitId": "openwop.requirement.envelopes.completion-advert-shape",
|
|
30615
|
+
"id": "openwop.it.v2-envelope-surfaces-absent.the-discovery-document-publishes-no-deleted-envelope-family-or-limit",
|
|
30616
|
+
"file": "v2-envelope-surfaces-absent.test.ts",
|
|
30617
|
+
"line": 49,
|
|
30618
|
+
"title": "the discovery document publishes no deleted envelope family or limit",
|
|
30619
|
+
"explicitId": "openwop.requirement.0255.surfaces-absent",
|
|
31001
30620
|
"citations": [
|
|
31002
30621
|
{
|
|
31003
|
-
"section":
|
|
31004
|
-
"requirement":
|
|
31005
|
-
"interpolated": true
|
|
30622
|
+
"section": "RFC 0255 §A",
|
|
30623
|
+
"requirement": "a v2 discovery document MUST NOT publish a family or limit RFC 0255 deleted"
|
|
31006
30624
|
}
|
|
31007
30625
|
]
|
|
31008
30626
|
},
|
|
@@ -32812,6 +32430,72 @@
|
|
|
32812
32430
|
}
|
|
32813
32431
|
]
|
|
32814
32432
|
},
|
|
32433
|
+
{
|
|
32434
|
+
"id": "openwop.it.v2-interrupt-form-rules.a-clarification-raised-with-a-form-carries-it-unchanged-beside-questions-in-a-va",
|
|
32435
|
+
"file": "v2-interrupt-form-rules.test.ts",
|
|
32436
|
+
"line": 98,
|
|
32437
|
+
"title": "a clarification raised with a form carries it unchanged, beside questions, in a valid InterruptPayload",
|
|
32438
|
+
"explicitId": null,
|
|
32439
|
+
"citations": [
|
|
32440
|
+
{
|
|
32441
|
+
"section": "spec/v2/core/interrupt.md §Forms (RFC 0255 §E)",
|
|
32442
|
+
"requirement": "the suspended run MUST record interrupt.requested { kind: \"clarification\" }"
|
|
32443
|
+
},
|
|
32444
|
+
{
|
|
32445
|
+
"section": "spec/v2/core/interrupt.md §Forms (RFC 0255 §E)",
|
|
32446
|
+
"requirement": null,
|
|
32447
|
+
"interpolated": true
|
|
32448
|
+
},
|
|
32449
|
+
{
|
|
32450
|
+
"section": "spec/v2/core/interrupt.md §Forms (RFC 0255 §E)",
|
|
32451
|
+
"requirement": "questions MUST stay beside the form as its fallback"
|
|
32452
|
+
},
|
|
32453
|
+
{
|
|
32454
|
+
"section": "spec/v2/core/interrupt.md §Forms (RFC 0255 §E)",
|
|
32455
|
+
"requirement": "data.form MUST be the fixture's form, unchanged"
|
|
32456
|
+
}
|
|
32457
|
+
]
|
|
32458
|
+
},
|
|
32459
|
+
{
|
|
32460
|
+
"id": "openwop.it.v2-interrupt-form-rules.a-form-resolves-with-answers-id-answer-and-the-run-completes",
|
|
32461
|
+
"file": "v2-interrupt-form-rules.test.ts",
|
|
32462
|
+
"line": 111,
|
|
32463
|
+
"title": "a form resolves with { answers: [{ id, answer }] } and the run completes",
|
|
32464
|
+
"explicitId": null,
|
|
32465
|
+
"citations": [
|
|
32466
|
+
{
|
|
32467
|
+
"section": "spec/v2/core/interrupt.md §Forms (RFC 0255 §E)",
|
|
32468
|
+
"requirement": null,
|
|
32469
|
+
"interpolated": true
|
|
32470
|
+
},
|
|
32471
|
+
{
|
|
32472
|
+
"section": "spec/v2/core/interrupt.md §Forms (RFC 0255 §E)",
|
|
32473
|
+
"requirement": "the resolve MUST be a 2xx"
|
|
32474
|
+
},
|
|
32475
|
+
{
|
|
32476
|
+
"section": "spec/v2/core/interrupt.md §Forms (RFC 0255 §E)",
|
|
32477
|
+
"requirement": "the resolved run MUST complete"
|
|
32478
|
+
}
|
|
32479
|
+
]
|
|
32480
|
+
},
|
|
32481
|
+
{
|
|
32482
|
+
"id": "openwop.it.v2-interrupt-form-rules.a-form-that-fails-the-schema-or-binds-an-input-to-no-question-is-never-raised",
|
|
32483
|
+
"file": "v2-interrupt-form-rules.test.ts",
|
|
32484
|
+
"line": 124,
|
|
32485
|
+
"title": "a form that fails the schema or binds an input to no question is never raised",
|
|
32486
|
+
"explicitId": null,
|
|
32487
|
+
"citations": [
|
|
32488
|
+
{
|
|
32489
|
+
"section": "spec/v2/core/interrupt.md §Forms (RFC 0255 §E)",
|
|
32490
|
+
"requirement": "control: the positive fixture MUST raise its form, or a host raising none would pass"
|
|
32491
|
+
},
|
|
32492
|
+
{
|
|
32493
|
+
"section": "spec/v2/core/interrupt.md §Forms (RFC 0255 §E)",
|
|
32494
|
+
"requirement": null,
|
|
32495
|
+
"interpolated": true
|
|
32496
|
+
}
|
|
32497
|
+
]
|
|
32498
|
+
},
|
|
32815
32499
|
{
|
|
32816
32500
|
"id": "openwop.it.v2-interrupt-resolve-terminal.a-run-scoped-resolve-after-the-run-was-cancelled-is-409-interrupt-already-resolv",
|
|
32817
32501
|
"file": "v2-interrupt-resolve-terminal.test.ts",
|
|
@@ -33051,9 +32735,9 @@
|
|
|
33051
32735
|
]
|
|
33052
32736
|
},
|
|
33053
32737
|
{
|
|
33054
|
-
"id": "openwop.it.v2-limits-
|
|
33055
|
-
"file": "v2-limits-
|
|
33056
|
-
"line":
|
|
32738
|
+
"id": "openwop.it.v2-limits-clarification-rounds-advertisement.limits-clarificationrounds-is-present-and-a-non-negative-integer",
|
|
32739
|
+
"file": "v2-limits-clarification-rounds-advertisement.test.ts",
|
|
32740
|
+
"line": 35,
|
|
33057
32741
|
"title": "limits.clarificationRounds is present and a non-negative integer",
|
|
33058
32742
|
"explicitId": "openwop.requirement.limits.clarification-rounds-advertised",
|
|
33059
32743
|
"citations": [
|
|
@@ -33064,34 +32748,6 @@
|
|
|
33064
32748
|
}
|
|
33065
32749
|
]
|
|
33066
32750
|
},
|
|
33067
|
-
{
|
|
33068
|
-
"id": "openwop.it.v2-limits-envelope-caps-advertisement.limits-schemarounds-is-present-and-a-non-negative-integer",
|
|
33069
|
-
"file": "v2-limits-envelope-caps-advertisement.test.ts",
|
|
33070
|
-
"line": 46,
|
|
33071
|
-
"title": "limits.schemaRounds is present and a non-negative integer",
|
|
33072
|
-
"explicitId": "openwop.requirement.limits.schema-rounds-advertised",
|
|
33073
|
-
"citations": [
|
|
33074
|
-
{
|
|
33075
|
-
"section": null,
|
|
33076
|
-
"requirement": null,
|
|
33077
|
-
"interpolated": true
|
|
33078
|
-
}
|
|
33079
|
-
]
|
|
33080
|
-
},
|
|
33081
|
-
{
|
|
33082
|
-
"id": "openwop.it.v2-limits-envelope-caps-advertisement.limits-envelopesperturn-is-present-and-a-non-negative-integer",
|
|
33083
|
-
"file": "v2-limits-envelope-caps-advertisement.test.ts",
|
|
33084
|
-
"line": 54,
|
|
33085
|
-
"title": "limits.envelopesPerTurn is present and a non-negative integer",
|
|
33086
|
-
"explicitId": "openwop.requirement.limits.envelopes-per-turn-advertised",
|
|
33087
|
-
"citations": [
|
|
33088
|
-
{
|
|
33089
|
-
"section": null,
|
|
33090
|
-
"requirement": null,
|
|
33091
|
-
"interpolated": true
|
|
33092
|
-
}
|
|
33093
|
-
]
|
|
33094
|
-
},
|
|
33095
32751
|
{
|
|
33096
32752
|
"id": "openwop.it.v2-localized-content-delivery.the-v2-content-record-requires-baselocale-and-supportedlocales-and-has-no-suppor",
|
|
33097
32753
|
"file": "v2-localized-content-delivery.test.ts",
|
|
@@ -36516,6 +36172,76 @@
|
|
|
36516
36172
|
}
|
|
36517
36173
|
]
|
|
36518
36174
|
},
|
|
36175
|
+
{
|
|
36176
|
+
"id": "openwop.it.v2-provider-output-reliability.a-truncated-reply-emits-envelope-truncated-and-the-retried-call-completes",
|
|
36177
|
+
"file": "v2-provider-output-reliability.test.ts",
|
|
36178
|
+
"line": 61,
|
|
36179
|
+
"title": "a truncated reply emits envelope.truncated and the retried call completes",
|
|
36180
|
+
"explicitId": "openwop.requirement.0255.provider-output-truncation",
|
|
36181
|
+
"citations": [
|
|
36182
|
+
{
|
|
36183
|
+
"section": "host-services.md §Structured output",
|
|
36184
|
+
"requirement": "a truncated reply MUST emit envelope.truncated"
|
|
36185
|
+
},
|
|
36186
|
+
{
|
|
36187
|
+
"section": "host-services.md §Structured output",
|
|
36188
|
+
"requirement": null,
|
|
36189
|
+
"interpolated": true
|
|
36190
|
+
}
|
|
36191
|
+
]
|
|
36192
|
+
},
|
|
36193
|
+
{
|
|
36194
|
+
"id": "openwop.it.v2-provider-output-reliability.when-the-repair-budget-runs-out-the-node-fails-envelope-invalid-after-retry-exha",
|
|
36195
|
+
"file": "v2-provider-output-reliability.test.ts",
|
|
36196
|
+
"line": 72,
|
|
36197
|
+
"title": "when the repair budget runs out the node fails envelope_invalid after retry-exhausted and cap.breached schema",
|
|
36198
|
+
"explicitId": "openwop.requirement.0255.provider-output-exhaustion",
|
|
36199
|
+
"citations": [
|
|
36200
|
+
{
|
|
36201
|
+
"section": "host-services.md §Structured output",
|
|
36202
|
+
"requirement": "a call whose every reply violates the schema MUST fail"
|
|
36203
|
+
},
|
|
36204
|
+
{
|
|
36205
|
+
"section": "host-services.md §Structured output",
|
|
36206
|
+
"requirement": "the node MUST fail with envelope_invalid"
|
|
36207
|
+
},
|
|
36208
|
+
{
|
|
36209
|
+
"section": "host-services.md §Structured output",
|
|
36210
|
+
"requirement": "exhaustion MUST emit envelope.retry-exhausted"
|
|
36211
|
+
},
|
|
36212
|
+
{
|
|
36213
|
+
"section": "host-services.md §Structured output",
|
|
36214
|
+
"requirement": null,
|
|
36215
|
+
"interpolated": true
|
|
36216
|
+
}
|
|
36217
|
+
]
|
|
36218
|
+
},
|
|
36219
|
+
{
|
|
36220
|
+
"id": "openwop.it.v2-provider-output-reliability.a-refusal-fails-the-node-envelope-refusal-after-envelope-refusal-and-is-never-re",
|
|
36221
|
+
"file": "v2-provider-output-reliability.test.ts",
|
|
36222
|
+
"line": 83,
|
|
36223
|
+
"title": "a refusal fails the node envelope_refusal after envelope.refusal and is never retried",
|
|
36224
|
+
"explicitId": "openwop.requirement.0255.provider-output-refusal",
|
|
36225
|
+
"citations": [
|
|
36226
|
+
{
|
|
36227
|
+
"section": "host-services.md §Structured output",
|
|
36228
|
+
"requirement": null,
|
|
36229
|
+
"interpolated": true
|
|
36230
|
+
},
|
|
36231
|
+
{
|
|
36232
|
+
"section": "host-services.md §Structured output",
|
|
36233
|
+
"requirement": "the node MUST fail with envelope_refusal"
|
|
36234
|
+
},
|
|
36235
|
+
{
|
|
36236
|
+
"section": "host-services.md §Structured output",
|
|
36237
|
+
"requirement": "a refusal MUST emit envelope.refusal"
|
|
36238
|
+
},
|
|
36239
|
+
{
|
|
36240
|
+
"section": "host-services.md §Structured output",
|
|
36241
|
+
"requirement": "a host MUST NOT retry a refusal"
|
|
36242
|
+
}
|
|
36243
|
+
]
|
|
36244
|
+
},
|
|
36519
36245
|
{
|
|
36520
36246
|
"id": "openwop.it.v2-provider-usage-advertisement.the-providerusage-record-validates-against-its-capabilities-schema-seat",
|
|
36521
36247
|
"file": "v2-provider-usage-advertisement.test.ts",
|
|
@@ -38271,6 +37997,76 @@
|
|
|
38271
37997
|
}
|
|
38272
37998
|
]
|
|
38273
37999
|
},
|
|
38000
|
+
{
|
|
38001
|
+
"id": "openwop.it.v2-structured-output-advertisement.the-aiproviders-record-validates-against-its-capabilities-schema-seat",
|
|
38002
|
+
"file": "v2-structured-output-advertisement.test.ts",
|
|
38003
|
+
"line": 43,
|
|
38004
|
+
"title": "the aiProviders record validates against its capabilities-schema seat",
|
|
38005
|
+
"explicitId": "openwop.requirement.aiProviders.structured-output-record",
|
|
38006
|
+
"citations": [
|
|
38007
|
+
{
|
|
38008
|
+
"section": null,
|
|
38009
|
+
"requirement": null,
|
|
38010
|
+
"interpolated": true
|
|
38011
|
+
}
|
|
38012
|
+
]
|
|
38013
|
+
},
|
|
38014
|
+
{
|
|
38015
|
+
"id": "openwop.it.v2-structured-output-advertisement.aiproviders-reasoning-promptdirective-is-mandatory-advisory-or-off",
|
|
38016
|
+
"file": "v2-structured-output-advertisement.test.ts",
|
|
38017
|
+
"line": 51,
|
|
38018
|
+
"title": "aiProviders.reasoning.promptDirective is mandatory, advisory or off",
|
|
38019
|
+
"explicitId": "openwop.requirement.aiProviders.reasoning-advert-shape",
|
|
38020
|
+
"citations": [
|
|
38021
|
+
{
|
|
38022
|
+
"section": null,
|
|
38023
|
+
"requirement": null,
|
|
38024
|
+
"interpolated": true
|
|
38025
|
+
}
|
|
38026
|
+
]
|
|
38027
|
+
},
|
|
38028
|
+
{
|
|
38029
|
+
"id": "openwop.it.v2-structured-output-advertisement.aiproviders-tieronesubsetcompliance-is-strict-warn-or-off",
|
|
38030
|
+
"file": "v2-structured-output-advertisement.test.ts",
|
|
38031
|
+
"line": 59,
|
|
38032
|
+
"title": "aiProviders.tierOneSubsetCompliance is strict, warn or off",
|
|
38033
|
+
"explicitId": "openwop.requirement.aiProviders.tier-one-subset-compliance-value",
|
|
38034
|
+
"citations": [
|
|
38035
|
+
{
|
|
38036
|
+
"section": null,
|
|
38037
|
+
"requirement": null,
|
|
38038
|
+
"interpolated": true
|
|
38039
|
+
}
|
|
38040
|
+
]
|
|
38041
|
+
},
|
|
38042
|
+
{
|
|
38043
|
+
"id": "openwop.it.v2-structured-output-advertisement.aiproviders-reliability-events-lists-only-reliability-events-and-includes-retry",
|
|
38044
|
+
"file": "v2-structured-output-advertisement.test.ts",
|
|
38045
|
+
"line": 67,
|
|
38046
|
+
"title": "aiProviders.reliability.events lists only reliability events and includes retry-exhausted and refusal",
|
|
38047
|
+
"explicitId": "openwop.requirement.aiProviders.reliability-events-advert",
|
|
38048
|
+
"citations": [
|
|
38049
|
+
{
|
|
38050
|
+
"section": null,
|
|
38051
|
+
"requirement": null,
|
|
38052
|
+
"interpolated": true
|
|
38053
|
+
}
|
|
38054
|
+
]
|
|
38055
|
+
},
|
|
38056
|
+
{
|
|
38057
|
+
"id": "openwop.it.v2-structured-output-advertisement.aiproviders-reliability-completion-distinguishestruncation-is-a-boolean",
|
|
38058
|
+
"file": "v2-structured-output-advertisement.test.ts",
|
|
38059
|
+
"line": 75,
|
|
38060
|
+
"title": "aiProviders.reliability.completion.distinguishesTruncation is a boolean",
|
|
38061
|
+
"explicitId": "openwop.requirement.aiProviders.completion-advert-shape",
|
|
38062
|
+
"citations": [
|
|
38063
|
+
{
|
|
38064
|
+
"section": null,
|
|
38065
|
+
"requirement": null,
|
|
38066
|
+
"interpolated": true
|
|
38067
|
+
}
|
|
38068
|
+
]
|
|
38069
|
+
},
|
|
38274
38070
|
{
|
|
38275
38071
|
"id": "openwop.it.v2-sub-workflow-advertisement.the-subworkflow-record-validates-against-its-capabilities-schema-seat",
|
|
38276
38072
|
"file": "v2-sub-workflow-advertisement.test.ts",
|
|
@@ -42422,32 +42218,32 @@
|
|
|
42422
42218
|
]
|
|
42423
42219
|
},
|
|
42424
42220
|
{
|
|
42425
|
-
"id": "openwop.it.a2ui-v09-profile.the-vendored-upstream-files-are-the-pinned-bytes-every-positive-
|
|
42221
|
+
"id": "openwop.it.a2ui-v09-profile.the-vendored-upstream-files-are-the-pinned-bytes-every-positive-is-a-valid-form",
|
|
42426
42222
|
"file": "a2ui-v09-profile.test.ts",
|
|
42427
|
-
"line":
|
|
42428
|
-
"title": "the vendored upstream files are the pinned bytes; every positive
|
|
42429
|
-
"explicitId": "openwop.requirement.
|
|
42223
|
+
"line": 88,
|
|
42224
|
+
"title": "the vendored upstream files are the pinned bytes; every positive is a valid form and each of its messages against upstream",
|
|
42225
|
+
"explicitId": "openwop.requirement.0255.interrupt-form-profile",
|
|
42430
42226
|
"citations": [
|
|
42431
42227
|
{
|
|
42432
|
-
"section": "
|
|
42228
|
+
"section": "interrupt.md §Forms",
|
|
42433
42229
|
"requirement": null,
|
|
42434
42230
|
"interpolated": true
|
|
42435
42231
|
},
|
|
42436
42232
|
{
|
|
42437
|
-
"section": "
|
|
42233
|
+
"section": "interrupt.md §Forms",
|
|
42438
42234
|
"requirement": "the vendored basic catalog $id IS the catalogId the profile pins"
|
|
42439
42235
|
},
|
|
42440
42236
|
{
|
|
42441
|
-
"section": "
|
|
42237
|
+
"section": "interrupt.md §Forms",
|
|
42442
42238
|
"requirement": "fixtures/a2ui-v09/ MUST carry at least one positive surface"
|
|
42443
42239
|
},
|
|
42444
42240
|
{
|
|
42445
|
-
"section": "
|
|
42241
|
+
"section": "interrupt.md §Forms",
|
|
42446
42242
|
"requirement": null,
|
|
42447
42243
|
"interpolated": true
|
|
42448
42244
|
},
|
|
42449
42245
|
{
|
|
42450
|
-
"section": "
|
|
42246
|
+
"section": "interrupt.md §Forms",
|
|
42451
42247
|
"requirement": null,
|
|
42452
42248
|
"interpolated": true
|
|
42453
42249
|
}
|
|
@@ -42456,22 +42252,22 @@
|
|
|
42456
42252
|
{
|
|
42457
42253
|
"id": "openwop.it.a2ui-v09-profile.a-functioncall-action-openurl-and-an-event-name-outside-the-allowlist-are-refuse",
|
|
42458
42254
|
"file": "a2ui-v09-profile.test.ts",
|
|
42459
|
-
"line":
|
|
42255
|
+
"line": 109,
|
|
42460
42256
|
"title": "a functionCall action (openUrl) and an event.name outside the allowlist are refused, and only because of $defs/action",
|
|
42461
|
-
"explicitId": "openwop.requirement.
|
|
42257
|
+
"explicitId": "openwop.requirement.0255.interrupt-form-profile",
|
|
42462
42258
|
"citations": [
|
|
42463
42259
|
{
|
|
42464
|
-
"section": "
|
|
42260
|
+
"section": "interrupt.md §Forms",
|
|
42465
42261
|
"requirement": null,
|
|
42466
42262
|
"interpolated": true
|
|
42467
42263
|
},
|
|
42468
42264
|
{
|
|
42469
|
-
"section": "
|
|
42265
|
+
"section": "interrupt.md §Forms",
|
|
42470
42266
|
"requirement": null,
|
|
42471
42267
|
"interpolated": true
|
|
42472
42268
|
},
|
|
42473
42269
|
{
|
|
42474
|
-
"section": "
|
|
42270
|
+
"section": "interrupt.md §Forms",
|
|
42475
42271
|
"requirement": null,
|
|
42476
42272
|
"interpolated": true
|
|
42477
42273
|
}
|
|
@@ -42480,21 +42276,21 @@
|
|
|
42480
42276
|
{
|
|
42481
42277
|
"id": "openwop.it.a2ui-v09-profile.textfield-variant-obscured-is-refused-and-only-because-the-variant-enum-excludes",
|
|
42482
42278
|
"file": "a2ui-v09-profile.test.ts",
|
|
42483
|
-
"line":
|
|
42279
|
+
"line": 123,
|
|
42484
42280
|
"title": "TextField.variant \"obscured\" is refused, and only because the variant enum excludes it",
|
|
42485
|
-
"explicitId": "openwop.requirement.
|
|
42281
|
+
"explicitId": "openwop.requirement.0255.interrupt-form-profile",
|
|
42486
42282
|
"citations": [
|
|
42487
42283
|
{
|
|
42488
|
-
"section": "
|
|
42489
|
-
"requirement": "negative-textfield-obscured MUST fail
|
|
42284
|
+
"section": "interrupt.md §Forms",
|
|
42285
|
+
"requirement": "negative-textfield-obscured MUST fail interrupt-form.schema.json (interrupt-form-no-secret-input)"
|
|
42490
42286
|
},
|
|
42491
42287
|
{
|
|
42492
|
-
"section": "
|
|
42288
|
+
"section": "interrupt.md §Forms",
|
|
42493
42289
|
"requirement": null,
|
|
42494
42290
|
"interpolated": true
|
|
42495
42291
|
},
|
|
42496
42292
|
{
|
|
42497
|
-
"section": "
|
|
42293
|
+
"section": "interrupt.md §Forms",
|
|
42498
42294
|
"requirement": "upstream A2UI accepts an obscured TextField — the refusal is the profile's"
|
|
42499
42295
|
}
|
|
42500
42296
|
]
|
|
@@ -42502,38 +42298,38 @@
|
|
|
42502
42298
|
{
|
|
42503
42299
|
"id": "openwop.it.a2ui-v09-profile.image-and-theme-iconurl-are-refused-each-only-because-of-its-exclusion-no-url-fe",
|
|
42504
42300
|
"file": "a2ui-v09-profile.test.ts",
|
|
42505
|
-
"line":
|
|
42301
|
+
"line": 135,
|
|
42506
42302
|
"title": "Image and theme.iconUrl are refused, each only because of its exclusion; no URL-fetching component is in the profile",
|
|
42507
|
-
"explicitId": "openwop.requirement.
|
|
42303
|
+
"explicitId": "openwop.requirement.0255.interrupt-form-profile",
|
|
42508
42304
|
"citations": [
|
|
42509
42305
|
{
|
|
42510
|
-
"section": "
|
|
42511
|
-
"requirement": "negative-image-component MUST fail
|
|
42306
|
+
"section": "interrupt.md §Forms",
|
|
42307
|
+
"requirement": "negative-image-component MUST fail interrupt-form.schema.json (interrupt-form-no-network-egress)"
|
|
42512
42308
|
},
|
|
42513
42309
|
{
|
|
42514
|
-
"section": "
|
|
42310
|
+
"section": "interrupt.md §Forms",
|
|
42515
42311
|
"requirement": null,
|
|
42516
42312
|
"interpolated": true
|
|
42517
42313
|
},
|
|
42518
42314
|
{
|
|
42519
|
-
"section": "
|
|
42315
|
+
"section": "interrupt.md §Forms",
|
|
42520
42316
|
"requirement": "upstream A2UI accepts an Image component — the refusal is the profile's"
|
|
42521
42317
|
},
|
|
42522
42318
|
{
|
|
42523
|
-
"section": "
|
|
42524
|
-
"requirement": "negative-theme-iconurl MUST fail
|
|
42319
|
+
"section": "interrupt.md §Forms",
|
|
42320
|
+
"requirement": "negative-theme-iconurl MUST fail interrupt-form.schema.json"
|
|
42525
42321
|
},
|
|
42526
42322
|
{
|
|
42527
|
-
"section": "
|
|
42323
|
+
"section": "interrupt.md §Forms",
|
|
42528
42324
|
"requirement": null,
|
|
42529
42325
|
"interpolated": true
|
|
42530
42326
|
},
|
|
42531
42327
|
{
|
|
42532
|
-
"section": "
|
|
42328
|
+
"section": "interrupt.md §Forms",
|
|
42533
42329
|
"requirement": "upstream A2UI accepts theme.iconUrl — the refusal is the profile's"
|
|
42534
42330
|
},
|
|
42535
42331
|
{
|
|
42536
|
-
"section": "
|
|
42332
|
+
"section": "interrupt.md §Forms",
|
|
42537
42333
|
"requirement": null,
|
|
42538
42334
|
"interpolated": true
|
|
42539
42335
|
}
|
|
@@ -42542,21 +42338,21 @@
|
|
|
42542
42338
|
{
|
|
42543
42339
|
"id": "openwop.it.a2ui-v09-profile.a-foreign-catalogid-is-refused-and-only-because-catalogid-is-an-enum",
|
|
42544
42340
|
"file": "a2ui-v09-profile.test.ts",
|
|
42545
|
-
"line":
|
|
42341
|
+
"line": 164,
|
|
42546
42342
|
"title": "a foreign catalogId is refused, and only because catalogId is an enum",
|
|
42547
|
-
"explicitId": "openwop.requirement.
|
|
42343
|
+
"explicitId": "openwop.requirement.0255.interrupt-form-profile",
|
|
42548
42344
|
"citations": [
|
|
42549
42345
|
{
|
|
42550
|
-
"section": "
|
|
42551
|
-
"requirement": "negative-foreign-catalog MUST fail
|
|
42346
|
+
"section": "interrupt.md §Forms",
|
|
42347
|
+
"requirement": "negative-foreign-catalog MUST fail interrupt-form.schema.json — catalogId is the host-pinned set, never a free string"
|
|
42552
42348
|
},
|
|
42553
42349
|
{
|
|
42554
|
-
"section": "
|
|
42350
|
+
"section": "interrupt.md §Forms",
|
|
42555
42351
|
"requirement": null,
|
|
42556
42352
|
"interpolated": true
|
|
42557
42353
|
},
|
|
42558
42354
|
{
|
|
42559
|
-
"section": "
|
|
42355
|
+
"section": "interrupt.md §Forms",
|
|
42560
42356
|
"requirement": "the pinned set is exactly the basic catalog today"
|
|
42561
42357
|
}
|
|
42562
42358
|
]
|
|
@@ -42564,75 +42360,118 @@
|
|
|
42564
42360
|
{
|
|
42565
42361
|
"id": "openwop.it.a2ui-v09-profile.an-extra-component-property-and-a-formatstring-text-value-are-refused-the-second",
|
|
42566
42362
|
"file": "a2ui-v09-profile.test.ts",
|
|
42567
|
-
"line":
|
|
42363
|
+
"line": 176,
|
|
42568
42364
|
"title": "an extra component property and a formatString text value are refused (the second is accepted upstream)",
|
|
42569
42365
|
"explicitId": "openwop.it.a2ui-v09-profile.closed-components-no-function-values",
|
|
42570
42366
|
"citations": [
|
|
42571
42367
|
{
|
|
42572
|
-
"section": "
|
|
42368
|
+
"section": "interrupt.md §Forms",
|
|
42573
42369
|
"requirement": null,
|
|
42574
42370
|
"interpolated": true
|
|
42575
42371
|
},
|
|
42576
42372
|
{
|
|
42577
|
-
"section": "
|
|
42373
|
+
"section": "interrupt.md §Forms",
|
|
42578
42374
|
"requirement": "negative-formatstring-label MUST pass once dynString admits a FunctionCall"
|
|
42579
42375
|
},
|
|
42580
42376
|
{
|
|
42581
|
-
"section": "
|
|
42377
|
+
"section": "interrupt.md §Forms",
|
|
42582
42378
|
"requirement": "upstream A2UI accepts a formatString text value — the refusal is the profile's"
|
|
42583
42379
|
},
|
|
42584
42380
|
{
|
|
42585
|
-
"section": "
|
|
42381
|
+
"section": "interrupt.md §Forms",
|
|
42586
42382
|
"requirement": "upstream A2UI also refuses an extra property (unevaluatedProperties: false)"
|
|
42587
42383
|
}
|
|
42588
42384
|
]
|
|
42589
42385
|
},
|
|
42590
42386
|
{
|
|
42591
|
-
"id": "openwop.it.a2ui-v09-profile.
|
|
42387
|
+
"id": "openwop.it.a2ui-v09-profile.every-positive-surface-is-a-valid-form-every-negative-is-refused-and-the-form-re",
|
|
42592
42388
|
"file": "a2ui-v09-profile.test.ts",
|
|
42593
|
-
"line":
|
|
42594
|
-
"title": "
|
|
42595
|
-
"explicitId": "openwop.
|
|
42389
|
+
"line": 208,
|
|
42390
|
+
"title": "every positive surface is a valid form, every negative is refused, and the form refuses an exchange target",
|
|
42391
|
+
"explicitId": "openwop.requirement.0255.interrupt-form-profile",
|
|
42596
42392
|
"citations": [
|
|
42597
42393
|
{
|
|
42598
|
-
"section": "
|
|
42394
|
+
"section": "interrupt.md §Forms",
|
|
42599
42395
|
"requirement": null,
|
|
42600
42396
|
"interpolated": true
|
|
42601
42397
|
},
|
|
42602
42398
|
{
|
|
42603
|
-
"section": "
|
|
42399
|
+
"section": "interrupt.md §Forms",
|
|
42604
42400
|
"requirement": null,
|
|
42605
42401
|
"interpolated": true
|
|
42606
42402
|
},
|
|
42607
42403
|
{
|
|
42608
|
-
"section": "
|
|
42609
|
-
"requirement": "
|
|
42404
|
+
"section": "interrupt.md §Forms",
|
|
42405
|
+
"requirement": "control: the form admits an exchange action once `exchange` joins the event name enum"
|
|
42406
|
+
},
|
|
42407
|
+
{
|
|
42408
|
+
"section": "interrupt.md §Forms",
|
|
42409
|
+
"requirement": "a form action MUST resolve only its own interrupt — `exchange` is refused"
|
|
42610
42410
|
},
|
|
42611
42411
|
{
|
|
42612
|
-
"section": "
|
|
42613
|
-
"requirement": "
|
|
42412
|
+
"section": "interrupt.md §Forms",
|
|
42413
|
+
"requirement": "negative-textfield-obscured MUST pass the form once \"obscured\" is restored — the variant enum alone refuses it"
|
|
42614
42414
|
},
|
|
42615
42415
|
{
|
|
42616
|
-
"section": "
|
|
42617
|
-
"requirement":
|
|
42416
|
+
"section": "interrupt.md §Forms",
|
|
42417
|
+
"requirement": null,
|
|
42418
|
+
"interpolated": true
|
|
42618
42419
|
}
|
|
42619
42420
|
]
|
|
42620
42421
|
},
|
|
42621
42422
|
{
|
|
42622
|
-
"id": "openwop.it.a2ui-v09-profile.
|
|
42423
|
+
"id": "openwop.it.a2ui-v09-profile.a-form-can-appear-only-on-a-clarification-so-it-can-never-resolve-an-approval",
|
|
42623
42424
|
"file": "a2ui-v09-profile.test.ts",
|
|
42624
|
-
"line":
|
|
42625
|
-
"title": "
|
|
42626
|
-
"explicitId": "openwop.requirement.
|
|
42425
|
+
"line": 233,
|
|
42426
|
+
"title": "a form can appear only on a clarification, so it can never resolve an approval",
|
|
42427
|
+
"explicitId": "openwop.requirement.0255.interrupt-form-never-resolves-approval",
|
|
42627
42428
|
"citations": [
|
|
42628
42429
|
{
|
|
42629
|
-
"section": "
|
|
42430
|
+
"section": "interrupt.md §Forms",
|
|
42431
|
+
"requirement": "ClarificationData MUST be the only interrupt data shape carrying `form`"
|
|
42432
|
+
},
|
|
42433
|
+
{
|
|
42434
|
+
"section": "interrupt.md §Forms",
|
|
42435
|
+
"requirement": "ClarificationData.form MUST be the interrupt-form schema"
|
|
42436
|
+
},
|
|
42437
|
+
{
|
|
42438
|
+
"section": "interrupt.md §Forms",
|
|
42439
|
+
"requirement": "the only form action in either version MUST be `resume`"
|
|
42440
|
+
}
|
|
42441
|
+
]
|
|
42442
|
+
},
|
|
42443
|
+
{
|
|
42444
|
+
"id": "openwop.it.a2ui-v09-profile.the-form-fixtures-bind-their-inputs-to-questions-and-each-probe-is-refused-for-e",
|
|
42445
|
+
"file": "a2ui-v09-profile.test.ts",
|
|
42446
|
+
"line": 244,
|
|
42447
|
+
"title": "the form fixtures bind their inputs to questions, and each probe is refused for exactly one reason",
|
|
42448
|
+
"explicitId": "openwop.requirement.0255.interrupt-form-bound-to-questions",
|
|
42449
|
+
"citations": [
|
|
42450
|
+
{
|
|
42451
|
+
"section": "interrupt.md §Forms",
|
|
42630
42452
|
"requirement": null,
|
|
42631
42453
|
"interpolated": true
|
|
42632
42454
|
},
|
|
42633
42455
|
{
|
|
42634
|
-
"section": "
|
|
42635
|
-
"requirement": "
|
|
42456
|
+
"section": "interrupt.md §Forms",
|
|
42457
|
+
"requirement": "every input id MUST be a questions[].id"
|
|
42458
|
+
},
|
|
42459
|
+
{
|
|
42460
|
+
"section": "interrupt.md §Forms",
|
|
42461
|
+
"requirement": "-refused MUST fail the form schema, and only because of the obscured variant"
|
|
42462
|
+
},
|
|
42463
|
+
{
|
|
42464
|
+
"section": "interrupt.md §Forms",
|
|
42465
|
+
"requirement": "-refused MUST otherwise bind to its questions"
|
|
42466
|
+
},
|
|
42467
|
+
{
|
|
42468
|
+
"section": "interrupt.md §Forms",
|
|
42469
|
+
"requirement": null,
|
|
42470
|
+
"interpolated": true
|
|
42471
|
+
},
|
|
42472
|
+
{
|
|
42473
|
+
"section": "interrupt.md §Forms",
|
|
42474
|
+
"requirement": "-unbound MUST carry an input bound to no question"
|
|
42636
42475
|
}
|
|
42637
42476
|
]
|
|
42638
42477
|
},
|
|
@@ -42867,10 +42706,10 @@
|
|
|
42867
42706
|
]
|
|
42868
42707
|
},
|
|
42869
42708
|
{
|
|
42870
|
-
"id": "openwop.it.bundle-maturity-gate.the-count-is-derived-promoting-one-family-in-the-declaration-drops-
|
|
42709
|
+
"id": "openwop.it.bundle-maturity-gate.the-count-is-derived-promoting-one-family-in-the-declaration-drops-36-to-35",
|
|
42871
42710
|
"file": "bundle-maturity-gate.test.ts",
|
|
42872
42711
|
"line": 102,
|
|
42873
|
-
"title": "the count is DERIVED — promoting one family in the declaration drops
|
|
42712
|
+
"title": "the count is DERIVED — promoting one family in the declaration drops 36 to 35",
|
|
42874
42713
|
"explicitId": "openwop.requirement.0197.bundle-maturity-bound",
|
|
42875
42714
|
"citations": [
|
|
42876
42715
|
{
|
|
@@ -42888,7 +42727,7 @@
|
|
|
42888
42727
|
"id": "openwop.it.bundle-maturity-gate.a-bundle-whose-suite-is-below-the-rfc-s-is-reported-not-failed-even-with-the-sam",
|
|
42889
42728
|
"file": "bundle-maturity-gate.test.ts",
|
|
42890
42729
|
"line": 110,
|
|
42891
|
-
"title": "a bundle whose suite is BELOW the RFC’s is reported, not failed, even with the same
|
|
42730
|
+
"title": "a bundle whose suite is BELOW the RFC’s is reported, not failed, even with the same 36",
|
|
42892
42731
|
"explicitId": "openwop.requirement.0197.bundle-maturity-bound",
|
|
42893
42732
|
"citations": [
|
|
42894
42733
|
{
|
|
@@ -42898,7 +42737,7 @@
|
|
|
42898
42737
|
},
|
|
42899
42738
|
{
|
|
42900
42739
|
"section": "spec/v2/core/capabilities.md §8 (RFC 0197 §C.7)",
|
|
42901
|
-
"requirement": "the same
|
|
42740
|
+
"requirement": "the same 36 are still counted and printed; reported is not the same as unmeasured"
|
|
42902
42741
|
},
|
|
42903
42742
|
{
|
|
42904
42743
|
"section": "spec/v2/core/capabilities.md §8 (RFC 0197 §C.7)",
|
|
@@ -47352,109 +47191,92 @@
|
|
|
47352
47191
|
]
|
|
47353
47192
|
},
|
|
47354
47193
|
{
|
|
47355
|
-
"id": "openwop.it.v2-
|
|
47356
|
-
"file": "v2-
|
|
47357
|
-
"line":
|
|
47358
|
-
"title": "
|
|
47359
|
-
"explicitId": "openwop.requirement.
|
|
47360
|
-
"citations": [
|
|
47361
|
-
{
|
|
47362
|
-
"section": "events.md §AI envelopes: E1–E5",
|
|
47363
|
-
"requirement": "schemas/v2/ai-envelope.schema.json MUST compile"
|
|
47364
|
-
}
|
|
47365
|
-
]
|
|
47366
|
-
},
|
|
47367
|
-
{
|
|
47368
|
-
"id": "openwop.requirement.ai-envelope.schemas-compile",
|
|
47369
|
-
"file": "v2-ai-envelope-shape-static.test.ts",
|
|
47370
|
-
"line": 69,
|
|
47371
|
-
"title": null,
|
|
47372
|
-
"explicitId": "openwop.requirement.ai-envelope.schemas-compile",
|
|
47194
|
+
"id": "openwop.it.v2-alias-covers-reword.the-corpus-gate-script-exits-0",
|
|
47195
|
+
"file": "v2-alias-covers-reword.test.ts",
|
|
47196
|
+
"line": 44,
|
|
47197
|
+
"title": "the corpus gate script exits 0",
|
|
47198
|
+
"explicitId": "openwop.requirement.0168.alias-covers-reword",
|
|
47373
47199
|
"citations": [
|
|
47374
47200
|
{
|
|
47375
|
-
"section": "
|
|
47201
|
+
"section": "RFC 0168 §A.1",
|
|
47376
47202
|
"requirement": null,
|
|
47377
47203
|
"interpolated": true
|
|
47378
47204
|
}
|
|
47379
47205
|
]
|
|
47380
47206
|
},
|
|
47381
47207
|
{
|
|
47382
|
-
"id": "openwop.it.v2-
|
|
47383
|
-
"file": "v2-
|
|
47384
|
-
"line":
|
|
47385
|
-
"title": "
|
|
47386
|
-
"explicitId": "openwop.requirement.
|
|
47208
|
+
"id": "openwop.it.v2-alias-covers-reword.a-published-id-the-sources-no-longer-mint-with-no-alias-or-tombstone-fails-check",
|
|
47209
|
+
"file": "v2-alias-covers-reword.test.ts",
|
|
47210
|
+
"line": 80,
|
|
47211
|
+
"title": "a published id the sources no longer mint, with no alias or tombstone, fails --check and --write refuses without writing",
|
|
47212
|
+
"explicitId": "openwop.requirement.0255.requirement-tombstone",
|
|
47387
47213
|
"citations": [
|
|
47388
47214
|
{
|
|
47389
|
-
"section": "
|
|
47215
|
+
"section": "COMPATIBILITY.md §3a (RFC 0255 §D)",
|
|
47390
47216
|
"requirement": null,
|
|
47391
47217
|
"interpolated": true
|
|
47392
|
-
}
|
|
47393
|
-
]
|
|
47394
|
-
},
|
|
47395
|
-
{
|
|
47396
|
-
"id": "openwop.it.v2-ai-envelope-shape-static.rejects-an-envelope-missing-meta",
|
|
47397
|
-
"file": "v2-ai-envelope-shape-static.test.ts",
|
|
47398
|
-
"line": 85,
|
|
47399
|
-
"title": "rejects an envelope missing meta",
|
|
47400
|
-
"explicitId": "openwop.requirement.ai-envelope.meta-required",
|
|
47401
|
-
"citations": [
|
|
47218
|
+
},
|
|
47402
47219
|
{
|
|
47403
|
-
"section": "
|
|
47404
|
-
"requirement": "
|
|
47405
|
-
}
|
|
47406
|
-
]
|
|
47407
|
-
},
|
|
47408
|
-
{
|
|
47409
|
-
"id": "openwop.it.v2-ai-envelope-shape-static.rejects-an-envelope-with-an-unknown-top-level-property",
|
|
47410
|
-
"file": "v2-ai-envelope-shape-static.test.ts",
|
|
47411
|
-
"line": 90,
|
|
47412
|
-
"title": "rejects an envelope with an unknown top-level property",
|
|
47413
|
-
"explicitId": "openwop.requirement.ai-envelope.top-level-closed",
|
|
47414
|
-
"citations": [
|
|
47220
|
+
"section": "COMPATIBILITY.md §3a (RFC 0255 §D)",
|
|
47221
|
+
"requirement": "the failure must name the id"
|
|
47222
|
+
},
|
|
47415
47223
|
{
|
|
47416
|
-
"section": "
|
|
47417
|
-
"requirement": "the
|
|
47418
|
-
}
|
|
47419
|
-
|
|
47420
|
-
|
|
47421
|
-
|
|
47422
|
-
|
|
47423
|
-
|
|
47424
|
-
|
|
47425
|
-
|
|
47426
|
-
|
|
47427
|
-
|
|
47224
|
+
"section": "COMPATIBILITY.md §3a (RFC 0255 §D)",
|
|
47225
|
+
"requirement": "the failure must name the remedy"
|
|
47226
|
+
},
|
|
47227
|
+
{
|
|
47228
|
+
"section": "COMPATIBILITY.md §3a (RFC 0255 §D)",
|
|
47229
|
+
"requirement": null,
|
|
47230
|
+
"interpolated": true
|
|
47231
|
+
},
|
|
47232
|
+
{
|
|
47233
|
+
"section": "COMPATIBILITY.md §3a (RFC 0255 §D)",
|
|
47234
|
+
"requirement": "the refusal must say nothing was written"
|
|
47235
|
+
},
|
|
47428
47236
|
{
|
|
47429
|
-
"section": "
|
|
47430
|
-
"requirement": "
|
|
47237
|
+
"section": "COMPATIBILITY.md §3a (RFC 0255 §D)",
|
|
47238
|
+
"requirement": "conformance/requirements.json must be byte-identical after a refused --write"
|
|
47431
47239
|
}
|
|
47432
47240
|
]
|
|
47433
47241
|
},
|
|
47434
47242
|
{
|
|
47435
|
-
"id": "openwop.it.v2-
|
|
47436
|
-
"file": "v2-
|
|
47437
|
-
"line":
|
|
47438
|
-
"title": "
|
|
47439
|
-
"explicitId": "openwop.requirement.
|
|
47243
|
+
"id": "openwop.it.v2-alias-covers-reword.positive-control-a-tombstone-naming-a-steward-deletion-row-retires-the-id",
|
|
47244
|
+
"file": "v2-alias-covers-reword.test.ts",
|
|
47245
|
+
"line": 93,
|
|
47246
|
+
"title": "POSITIVE CONTROL — a tombstone naming a steward-deletion row retires the id",
|
|
47247
|
+
"explicitId": "openwop.requirement.0255.requirement-tombstone",
|
|
47440
47248
|
"citations": [
|
|
47441
47249
|
{
|
|
47442
|
-
"section": "
|
|
47443
|
-
"requirement":
|
|
47250
|
+
"section": "COMPATIBILITY.md §3a (RFC 0255 §D)",
|
|
47251
|
+
"requirement": null,
|
|
47252
|
+
"interpolated": true
|
|
47444
47253
|
}
|
|
47445
47254
|
]
|
|
47446
47255
|
},
|
|
47447
47256
|
{
|
|
47448
|
-
"id": "openwop.it.v2-alias-covers-reword.
|
|
47257
|
+
"id": "openwop.it.v2-alias-covers-reword.a-tombstone-naming-a-non-steward-row-or-a-live-id-is-refused",
|
|
47449
47258
|
"file": "v2-alias-covers-reword.test.ts",
|
|
47450
|
-
"line":
|
|
47451
|
-
"title": "
|
|
47452
|
-
"explicitId": "openwop.requirement.
|
|
47259
|
+
"line": 99,
|
|
47260
|
+
"title": "a tombstone naming a non-steward row, or a live id, is REFUSED",
|
|
47261
|
+
"explicitId": "openwop.requirement.0255.requirement-tombstone",
|
|
47453
47262
|
"citations": [
|
|
47454
47263
|
{
|
|
47455
|
-
"section": "RFC
|
|
47264
|
+
"section": "COMPATIBILITY.md §3a (RFC 0255 §D)",
|
|
47456
47265
|
"requirement": null,
|
|
47457
47266
|
"interpolated": true
|
|
47267
|
+
},
|
|
47268
|
+
{
|
|
47269
|
+
"section": "COMPATIBILITY.md §3a (RFC 0255 §D)",
|
|
47270
|
+
"requirement": "the refusal must say the row is not a steward deletion"
|
|
47271
|
+
},
|
|
47272
|
+
{
|
|
47273
|
+
"section": "COMPATIBILITY.md §3a (RFC 0255 §D)",
|
|
47274
|
+
"requirement": null,
|
|
47275
|
+
"interpolated": true
|
|
47276
|
+
},
|
|
47277
|
+
{
|
|
47278
|
+
"section": "COMPATIBILITY.md §3a (RFC 0255 §D)",
|
|
47279
|
+
"requirement": "the refusal must name the live id"
|
|
47458
47280
|
}
|
|
47459
47281
|
]
|
|
47460
47282
|
},
|
|
@@ -47910,151 +47732,6 @@
|
|
|
47910
47732
|
}
|
|
47911
47733
|
]
|
|
47912
47734
|
},
|
|
47913
|
-
{
|
|
47914
|
-
"id": "openwop.it.v2-envelope-catalog.each-of-the-three-carries-its-seat",
|
|
47915
|
-
"file": "v2-envelope-catalog.test.ts",
|
|
47916
|
-
"line": 64,
|
|
47917
|
-
"title": "each of the three carries its seat",
|
|
47918
|
-
"explicitId": "openwop.requirement.0193.seats-present",
|
|
47919
|
-
"citations": [
|
|
47920
|
-
{
|
|
47921
|
-
"section": "RFC 0193 §B",
|
|
47922
|
-
"requirement": null,
|
|
47923
|
-
"interpolated": true
|
|
47924
|
-
}
|
|
47925
|
-
]
|
|
47926
|
-
},
|
|
47927
|
-
{
|
|
47928
|
-
"id": "openwop.it.v2-envelope-catalog.no-seat-is-required-a-published-record-without-one-stays-valid",
|
|
47929
|
-
"file": "v2-envelope-catalog.test.ts",
|
|
47930
|
-
"line": 73,
|
|
47931
|
-
"title": "no seat is required — a published record without one stays valid",
|
|
47932
|
-
"explicitId": "openwop.requirement.0193.seats-optional",
|
|
47933
|
-
"citations": [
|
|
47934
|
-
{
|
|
47935
|
-
"section": "RFC 0193 §B",
|
|
47936
|
-
"requirement": null,
|
|
47937
|
-
"interpolated": true
|
|
47938
|
-
}
|
|
47939
|
-
]
|
|
47940
|
-
},
|
|
47941
|
-
{
|
|
47942
|
-
"id": "openwop.it.v2-envelope-catalog.the-generator-refuses-a-family-whose-payload-it-cannot-carry",
|
|
47943
|
-
"file": "v2-envelope-catalog.test.ts",
|
|
47944
|
-
"line": 82,
|
|
47945
|
-
"title": "the generator refuses a family whose payload it cannot carry",
|
|
47946
|
-
"explicitId": "openwop.requirement.0193.generator-refuses",
|
|
47947
|
-
"citations": [
|
|
47948
|
-
{
|
|
47949
|
-
"section": "RFC 0193 §A/§B",
|
|
47950
|
-
"requirement": null,
|
|
47951
|
-
"interpolated": true
|
|
47952
|
-
}
|
|
47953
|
-
]
|
|
47954
|
-
},
|
|
47955
|
-
{
|
|
47956
|
-
"id": "openwop.it.v2-envelope-catalog.an-absent-catalog-is-stated-to-fail-closed",
|
|
47957
|
-
"file": "v2-envelope-catalog.test.ts",
|
|
47958
|
-
"line": 95,
|
|
47959
|
-
"title": "an absent catalog is stated to fail CLOSED",
|
|
47960
|
-
"explicitId": "openwop.requirement.0193.absence-is-closed",
|
|
47961
|
-
"citations": [
|
|
47962
|
-
{
|
|
47963
|
-
"section": "RFC 0193 §C",
|
|
47964
|
-
"requirement": null,
|
|
47965
|
-
"interpolated": true
|
|
47966
|
-
}
|
|
47967
|
-
]
|
|
47968
|
-
},
|
|
47969
|
-
{
|
|
47970
|
-
"id": "openwop.it.v2-envelope-catalog.both-refusal-codes-are-registered-at-major-2",
|
|
47971
|
-
"file": "v2-envelope-catalog.test.ts",
|
|
47972
|
-
"line": 106,
|
|
47973
|
-
"title": "both refusal codes are registered at major 2",
|
|
47974
|
-
"explicitId": "openwop.requirement.0193.codes-registered",
|
|
47975
|
-
"citations": [
|
|
47976
|
-
{
|
|
47977
|
-
"section": "RFC 0193 §F",
|
|
47978
|
-
"requirement": null,
|
|
47979
|
-
"interpolated": true
|
|
47980
|
-
}
|
|
47981
|
-
]
|
|
47982
|
-
},
|
|
47983
|
-
{
|
|
47984
|
-
"id": "openwop.it.v2-envelope-catalog.versioning-axis-6-no-longer-contradicts-the-record",
|
|
47985
|
-
"file": "v2-envelope-catalog.test.ts",
|
|
47986
|
-
"line": 116,
|
|
47987
|
-
"title": "versioning axis 6 no longer contradicts the record",
|
|
47988
|
-
"explicitId": "openwop.requirement.0193.axis-6-agrees",
|
|
47989
|
-
"citations": [
|
|
47990
|
-
{
|
|
47991
|
-
"section": "RFC 0193 §D",
|
|
47992
|
-
"requirement": null,
|
|
47993
|
-
"interpolated": true
|
|
47994
|
-
}
|
|
47995
|
-
]
|
|
47996
|
-
},
|
|
47997
|
-
{
|
|
47998
|
-
"id": "openwop.requirement.envelopes.tier-one-load-bearing-universal-kinds",
|
|
47999
|
-
"file": "v2-envelope-tier-one-universal-static.test.ts",
|
|
48000
|
-
"line": 30,
|
|
48001
|
-
"title": null,
|
|
48002
|
-
"explicitId": "openwop.requirement.envelopes.tier-one-load-bearing-universal-kinds",
|
|
48003
|
-
"citations": [
|
|
48004
|
-
{
|
|
48005
|
-
"section": "RFC 0030 §B",
|
|
48006
|
-
"requirement": null,
|
|
48007
|
-
"interpolated": true
|
|
48008
|
-
},
|
|
48009
|
-
{
|
|
48010
|
-
"section": "RFC 0030 §B",
|
|
48011
|
-
"requirement": null,
|
|
48012
|
-
"interpolated": true
|
|
48013
|
-
}
|
|
48014
|
-
]
|
|
48015
|
-
},
|
|
48016
|
-
{
|
|
48017
|
-
"id": "openwop.it.v2-envelope-variant-discriminator-static.schemas-v2-envelopes-carries-a-payload-schema-for-each-universal-kind",
|
|
48018
|
-
"file": "v2-envelope-variant-discriminator-static.test.ts",
|
|
48019
|
-
"line": 47,
|
|
48020
|
-
"title": "schemas/v2/envelopes carries a payload schema for each universal kind",
|
|
48021
|
-
"explicitId": "openwop.requirement.envelopes.payload-schemas-present",
|
|
48022
|
-
"citations": [
|
|
48023
|
-
{
|
|
48024
|
-
"section": "RFC 0031 §A",
|
|
48025
|
-
"requirement": null,
|
|
48026
|
-
"interpolated": true
|
|
48027
|
-
}
|
|
48028
|
-
]
|
|
48029
|
-
},
|
|
48030
|
-
{
|
|
48031
|
-
"id": "openwop.requirement.envelopes.variant-no-oneof",
|
|
48032
|
-
"file": "v2-envelope-variant-discriminator-static.test.ts",
|
|
48033
|
-
"line": 53,
|
|
48034
|
-
"title": null,
|
|
48035
|
-
"explicitId": "openwop.requirement.envelopes.variant-no-oneof",
|
|
48036
|
-
"citations": [
|
|
48037
|
-
{
|
|
48038
|
-
"section": "RFC 0031 §A",
|
|
48039
|
-
"requirement": null,
|
|
48040
|
-
"interpolated": true
|
|
48041
|
-
}
|
|
48042
|
-
]
|
|
48043
|
-
},
|
|
48044
|
-
{
|
|
48045
|
-
"id": "openwop.requirement.envelopes.variant-anyof-discriminated",
|
|
48046
|
-
"file": "v2-envelope-variant-discriminator-static.test.ts",
|
|
48047
|
-
"line": 59,
|
|
48048
|
-
"title": null,
|
|
48049
|
-
"explicitId": "openwop.requirement.envelopes.variant-anyof-discriminated",
|
|
48050
|
-
"citations": [
|
|
48051
|
-
{
|
|
48052
|
-
"section": "RFC 0031 §A",
|
|
48053
|
-
"requirement": null,
|
|
48054
|
-
"interpolated": true
|
|
48055
|
-
}
|
|
48056
|
-
]
|
|
48057
|
-
},
|
|
48058
47735
|
{
|
|
48059
47736
|
"id": "openwop.it.v2-eos-clock.the-clock-file-is-current-with-the-matrix-and-the-public-history",
|
|
48060
47737
|
"file": "v2-eos-clock.test.ts",
|
|
@@ -48574,74 +48251,6 @@
|
|
|
48574
48251
|
}
|
|
48575
48252
|
]
|
|
48576
48253
|
},
|
|
48577
|
-
{
|
|
48578
|
-
"id": "openwop.requirement.media.payload-schemas-compile",
|
|
48579
|
-
"file": "v2-media-inline-cap-static.test.ts",
|
|
48580
|
-
"line": 42,
|
|
48581
|
-
"title": null,
|
|
48582
|
-
"explicitId": "openwop.requirement.media.payload-schemas-compile",
|
|
48583
|
-
"citations": [
|
|
48584
|
-
{
|
|
48585
|
-
"section": "host-services.md §aiProviders",
|
|
48586
|
-
"requirement": null,
|
|
48587
|
-
"interpolated": true
|
|
48588
|
-
}
|
|
48589
|
-
]
|
|
48590
|
-
},
|
|
48591
|
-
{
|
|
48592
|
-
"id": "openwop.it.v2-media-inline-cap-static.accepts-a-url-reference-image-payload",
|
|
48593
|
-
"file": "v2-media-inline-cap-static.test.ts",
|
|
48594
|
-
"line": 48,
|
|
48595
|
-
"title": "accepts a URL-reference image payload",
|
|
48596
|
-
"explicitId": "openwop.requirement.media.url-reference-accepted",
|
|
48597
|
-
"citations": [
|
|
48598
|
-
{
|
|
48599
|
-
"section": "host-services.md §aiProviders",
|
|
48600
|
-
"requirement": null,
|
|
48601
|
-
"interpolated": true
|
|
48602
|
-
}
|
|
48603
|
-
]
|
|
48604
|
-
},
|
|
48605
|
-
{
|
|
48606
|
-
"id": "openwop.it.v2-media-inline-cap-static.accepts-an-inline-base64-audio-payload",
|
|
48607
|
-
"file": "v2-media-inline-cap-static.test.ts",
|
|
48608
|
-
"line": 54,
|
|
48609
|
-
"title": "accepts an inline-base64 audio payload",
|
|
48610
|
-
"explicitId": "openwop.requirement.media.inline-base64-accepted",
|
|
48611
|
-
"citations": [
|
|
48612
|
-
{
|
|
48613
|
-
"section": "host-services.md §aiProviders",
|
|
48614
|
-
"requirement": null,
|
|
48615
|
-
"interpolated": true
|
|
48616
|
-
}
|
|
48617
|
-
]
|
|
48618
|
-
},
|
|
48619
|
-
{
|
|
48620
|
-
"id": "openwop.it.v2-media-inline-cap-static.rejects-a-media-payload-missing-bytes",
|
|
48621
|
-
"file": "v2-media-inline-cap-static.test.ts",
|
|
48622
|
-
"line": 60,
|
|
48623
|
-
"title": "rejects a media payload missing bytes",
|
|
48624
|
-
"explicitId": "openwop.requirement.media.bytes-required",
|
|
48625
|
-
"citations": [
|
|
48626
|
-
{
|
|
48627
|
-
"section": "host-services.md §aiProviders",
|
|
48628
|
-
"requirement": "bytes is required on a media payload — it is what the inline cap is judged against"
|
|
48629
|
-
}
|
|
48630
|
-
]
|
|
48631
|
-
},
|
|
48632
|
-
{
|
|
48633
|
-
"id": "openwop.it.v2-media-inline-cap-static.rejects-a-media-payload-with-an-unknown-property",
|
|
48634
|
-
"file": "v2-media-inline-cap-static.test.ts",
|
|
48635
|
-
"line": 65,
|
|
48636
|
-
"title": "rejects a media payload with an unknown property",
|
|
48637
|
-
"explicitId": "openwop.requirement.media.payload-closed",
|
|
48638
|
-
"citations": [
|
|
48639
|
-
{
|
|
48640
|
-
"section": "host-services.md §aiProviders",
|
|
48641
|
-
"requirement": "a media payload is closed: an unknown property MUST be rejected"
|
|
48642
|
-
}
|
|
48643
|
-
]
|
|
48644
|
-
},
|
|
48645
48254
|
{
|
|
48646
48255
|
"id": "openwop.it.v2-normative-home-gate.a-refused-home-class-is-refused-by-name",
|
|
48647
48256
|
"file": "v2-normative-home-gate.test.ts",
|
|
@@ -49071,7 +48680,7 @@
|
|
|
49071
48680
|
{
|
|
49072
48681
|
"id": "openwop.it.v2-retirement-gate.the-committed-corpus-passes-and-the-gate-prints-its-inputs-rather-than-a-silent",
|
|
49073
48682
|
"file": "v2-retirement-gate.test.ts",
|
|
49074
|
-
"line":
|
|
48683
|
+
"line": 157,
|
|
49075
48684
|
"title": "the committed corpus passes, and the gate prints its inputs rather than a silent zero",
|
|
49076
48685
|
"explicitId": "openwop.requirement.0197.retirement-predicate",
|
|
49077
48686
|
"citations": [
|
|
@@ -49089,7 +48698,7 @@
|
|
|
49089
48698
|
{
|
|
49090
48699
|
"id": "openwop.it.v2-retirement-gate.the-base-fixture-a-full-honest-retirement-is-reported-retirable-and-the-gate-exi",
|
|
49091
48700
|
"file": "v2-retirement-gate.test.ts",
|
|
49092
|
-
"line":
|
|
48701
|
+
"line": 165,
|
|
49093
48702
|
"title": "the base fixture — a full, honest retirement — is reported `retirable` and the gate exits 0",
|
|
49094
48703
|
"explicitId": "openwop.requirement.0197.retirement-predicate",
|
|
49095
48704
|
"citations": [
|
|
@@ -49112,7 +48721,7 @@
|
|
|
49112
48721
|
{
|
|
49113
48722
|
"id": "openwop.requirement.0197.retirement-predicate",
|
|
49114
48723
|
"file": "v2-retirement-gate.test.ts",
|
|
49115
|
-
"line":
|
|
48724
|
+
"line": 174,
|
|
49116
48725
|
"title": null,
|
|
49117
48726
|
"explicitId": "openwop.requirement.0197.retirement-predicate",
|
|
49118
48727
|
"citations": [
|
|
@@ -49136,7 +48745,7 @@
|
|
|
49136
48745
|
{
|
|
49137
48746
|
"id": "openwop.it.v2-retirement-gate.a-4-a-corrections-row-whose-prior-shape-a-committed-bundle-carried-is-refused",
|
|
49138
48747
|
"file": "v2-retirement-gate.test.ts",
|
|
49139
|
-
"line":
|
|
48748
|
+
"line": 183,
|
|
49140
48749
|
"title": "§A.4 — a corrections row whose prior shape a committed bundle carried is REFUSED",
|
|
49141
48750
|
"explicitId": "openwop.requirement.0197.correction-unevidenced",
|
|
49142
48751
|
"citations": [
|
|
@@ -49154,7 +48763,7 @@
|
|
|
49154
48763
|
{
|
|
49155
48764
|
"id": "openwop.it.v2-retirement-gate.a-4-a-corrections-row-with-a-null-manifest-census-is-refused-and-a-drifted-compa",
|
|
49156
48765
|
"file": "v2-retirement-gate.test.ts",
|
|
49157
|
-
"line":
|
|
48766
|
+
"line": 196,
|
|
49158
48767
|
"title": "§A.4 — a corrections row with a NULL manifest census is REFUSED, and a drifted COMPATIBILITY entry too",
|
|
49159
48768
|
"explicitId": "openwop.requirement.0197.correction-unevidenced",
|
|
49160
48769
|
"citations": [
|
|
@@ -49178,6 +48787,148 @@
|
|
|
49178
48787
|
}
|
|
49179
48788
|
]
|
|
49180
48789
|
},
|
|
48790
|
+
{
|
|
48791
|
+
"id": "openwop.it.v2-retirement-gate.positive-control-a-new-steward-deletion-row-whose-census-matches-the-scan-is-adm",
|
|
48792
|
+
"file": "v2-retirement-gate.test.ts",
|
|
48793
|
+
"line": 235,
|
|
48794
|
+
"title": "POSITIVE CONTROL — a new steward-deletion row whose census matches the scan is admitted",
|
|
48795
|
+
"explicitId": "openwop.requirement.0255.steward-deletion-licence",
|
|
48796
|
+
"citations": [
|
|
48797
|
+
{
|
|
48798
|
+
"section": "COMPATIBILITY.md §3a (RFC 0255 §D)",
|
|
48799
|
+
"requirement": null,
|
|
48800
|
+
"interpolated": true
|
|
48801
|
+
},
|
|
48802
|
+
{
|
|
48803
|
+
"section": "COMPATIBILITY.md §3a (RFC 0255 §D)",
|
|
48804
|
+
"requirement": "the report must show the typed and the scanned census side by side"
|
|
48805
|
+
}
|
|
48806
|
+
]
|
|
48807
|
+
},
|
|
48808
|
+
{
|
|
48809
|
+
"id": "openwop.it.v2-retirement-gate.a-typed-census-of-0-is-re-measured-and-refused-when-a-bundle-carries-the-removed",
|
|
48810
|
+
"file": "v2-retirement-gate.test.ts",
|
|
48811
|
+
"line": 242,
|
|
48812
|
+
"title": "a typed census of 0 is re-measured and REFUSED when a bundle carries the removed surface, for either class",
|
|
48813
|
+
"explicitId": "openwop.requirement.0255.steward-deletion-licence",
|
|
48814
|
+
"citations": [
|
|
48815
|
+
{
|
|
48816
|
+
"section": "COMPATIBILITY.md §3a (RFC 0255 §D)",
|
|
48817
|
+
"requirement": null,
|
|
48818
|
+
"interpolated": true
|
|
48819
|
+
},
|
|
48820
|
+
{
|
|
48821
|
+
"section": "COMPATIBILITY.md §3a (RFC 0255 §D)",
|
|
48822
|
+
"requirement": null,
|
|
48823
|
+
"interpolated": true
|
|
48824
|
+
}
|
|
48825
|
+
]
|
|
48826
|
+
},
|
|
48827
|
+
{
|
|
48828
|
+
"id": "openwop.it.v2-retirement-gate.a-new-row-is-refused-while-a-tier-3-host-is-listed-a-published-row-is-not-re-jud",
|
|
48829
|
+
"file": "v2-retirement-gate.test.ts",
|
|
48830
|
+
"line": 251,
|
|
48831
|
+
"title": "a new row is REFUSED while a tier-3 host is listed; a published row is NOT re-judged",
|
|
48832
|
+
"explicitId": "openwop.requirement.0255.steward-deletion-licence",
|
|
48833
|
+
"citations": [
|
|
48834
|
+
{
|
|
48835
|
+
"section": "COMPATIBILITY.md §3a (RFC 0255 §D)",
|
|
48836
|
+
"requirement": null,
|
|
48837
|
+
"interpolated": true
|
|
48838
|
+
},
|
|
48839
|
+
{
|
|
48840
|
+
"section": "COMPATIBILITY.md §3a (RFC 0255 §D)",
|
|
48841
|
+
"requirement": "the refusal must name the tier-3 host"
|
|
48842
|
+
},
|
|
48843
|
+
{
|
|
48844
|
+
"section": "COMPATIBILITY.md §3a (RFC 0255 §D)",
|
|
48845
|
+
"requirement": null,
|
|
48846
|
+
"interpolated": true
|
|
48847
|
+
},
|
|
48848
|
+
{
|
|
48849
|
+
"section": "COMPATIBILITY.md §3a (RFC 0255 §D)",
|
|
48850
|
+
"requirement": null,
|
|
48851
|
+
"interpolated": true
|
|
48852
|
+
},
|
|
48853
|
+
{
|
|
48854
|
+
"section": "COMPATIBILITY.md §3a (RFC 0255 §D)",
|
|
48855
|
+
"requirement": "the report must still show typed and scanned side by side"
|
|
48856
|
+
},
|
|
48857
|
+
{
|
|
48858
|
+
"section": "COMPATIBILITY.md §3a (RFC 0255 §D)",
|
|
48859
|
+
"requirement": null,
|
|
48860
|
+
"interpolated": true
|
|
48861
|
+
},
|
|
48862
|
+
{
|
|
48863
|
+
"section": "COMPATIBILITY.md §3a (RFC 0255 §D)",
|
|
48864
|
+
"requirement": null,
|
|
48865
|
+
"interpolated": true
|
|
48866
|
+
},
|
|
48867
|
+
{
|
|
48868
|
+
"section": "COMPATIBILITY.md §3a (RFC 0255 §D)",
|
|
48869
|
+
"requirement": "the refusal must say the scan may not rise above the census"
|
|
48870
|
+
}
|
|
48871
|
+
]
|
|
48872
|
+
},
|
|
48873
|
+
{
|
|
48874
|
+
"id": "openwop.it.v2-retirement-gate.a-new-row-is-refused-while-the-interop-matrix-names-an-independent-host",
|
|
48875
|
+
"file": "v2-retirement-gate.test.ts",
|
|
48876
|
+
"line": 272,
|
|
48877
|
+
"title": "a new row is REFUSED while the INTEROP-MATRIX names an independent host",
|
|
48878
|
+
"explicitId": "openwop.requirement.0255.steward-deletion-licence",
|
|
48879
|
+
"citations": [
|
|
48880
|
+
{
|
|
48881
|
+
"section": "COMPATIBILITY.md §3a (RFC 0255 §D)",
|
|
48882
|
+
"requirement": null,
|
|
48883
|
+
"interpolated": true
|
|
48884
|
+
},
|
|
48885
|
+
{
|
|
48886
|
+
"section": "COMPATIBILITY.md §3a (RFC 0255 §D)",
|
|
48887
|
+
"requirement": "the refusal must quote the matrix cell"
|
|
48888
|
+
}
|
|
48889
|
+
]
|
|
48890
|
+
},
|
|
48891
|
+
{
|
|
48892
|
+
"id": "openwop.it.v2-retirement-gate.a-new-row-is-refused-while-a-committed-bundle-comes-from-an-origin-nobody-lists",
|
|
48893
|
+
"file": "v2-retirement-gate.test.ts",
|
|
48894
|
+
"line": 279,
|
|
48895
|
+
"title": "a new row is REFUSED while a committed bundle comes from an origin nobody lists",
|
|
48896
|
+
"explicitId": "openwop.requirement.0255.steward-deletion-licence",
|
|
48897
|
+
"citations": [
|
|
48898
|
+
{
|
|
48899
|
+
"section": "COMPATIBILITY.md §3a (RFC 0255 §D)",
|
|
48900
|
+
"requirement": null,
|
|
48901
|
+
"interpolated": true
|
|
48902
|
+
},
|
|
48903
|
+
{
|
|
48904
|
+
"section": "COMPATIBILITY.md §3a (RFC 0255 §D)",
|
|
48905
|
+
"requirement": "the refusal must name the bundle and its origin"
|
|
48906
|
+
}
|
|
48907
|
+
]
|
|
48908
|
+
},
|
|
48909
|
+
{
|
|
48910
|
+
"id": "openwop.it.v2-retirement-gate.a-row-removing-a-reader-for-persisted-data-is-refused-and-so-is-one-naming-no-rf",
|
|
48911
|
+
"file": "v2-retirement-gate.test.ts",
|
|
48912
|
+
"line": 286,
|
|
48913
|
+
"title": "a row removing a reader for persisted data is REFUSED, and so is one naming no RFC",
|
|
48914
|
+
"explicitId": "openwop.requirement.0255.steward-deletion-licence",
|
|
48915
|
+
"citations": [
|
|
48916
|
+
{
|
|
48917
|
+
"section": "COMPATIBILITY.md §3a (RFC 0255 §D)",
|
|
48918
|
+
"requirement": null,
|
|
48919
|
+
"interpolated": true
|
|
48920
|
+
},
|
|
48921
|
+
{
|
|
48922
|
+
"section": "COMPATIBILITY.md §3a (RFC 0255 §D)",
|
|
48923
|
+
"requirement": "the refusal must name the reader"
|
|
48924
|
+
},
|
|
48925
|
+
{
|
|
48926
|
+
"section": "COMPATIBILITY.md §3a (RFC 0255 §D)",
|
|
48927
|
+
"requirement": null,
|
|
48928
|
+
"interpolated": true
|
|
48929
|
+
}
|
|
48930
|
+
]
|
|
48931
|
+
},
|
|
49181
48932
|
{
|
|
49182
48933
|
"id": "openwop.it.v2-seams-not-in-canonical.the-corpus-gate-script-exits-0",
|
|
49183
48934
|
"file": "v2-seams-not-in-canonical.test.ts",
|
|
@@ -49590,6 +49341,47 @@
|
|
|
49590
49341
|
}
|
|
49591
49342
|
]
|
|
49592
49343
|
},
|
|
49344
|
+
{
|
|
49345
|
+
"id": "openwop.it.v2-surface-monotone-gate.a-property-deleted-with-its-baseline-regenerated-in-the-same-change-is-refused-a",
|
|
49346
|
+
"file": "v2-surface-monotone-gate.test.ts",
|
|
49347
|
+
"line": 313,
|
|
49348
|
+
"title": "a property deleted with its baseline regenerated in the same change is REFUSED against the published baseline",
|
|
49349
|
+
"explicitId": "openwop.requirement.0255.baseline-regeneration-refused",
|
|
49350
|
+
"citations": [
|
|
49351
|
+
{
|
|
49352
|
+
"section": "spec/v2/core/overview.md §0a (RFC 0255 §D)",
|
|
49353
|
+
"requirement": null,
|
|
49354
|
+
"interpolated": true
|
|
49355
|
+
},
|
|
49356
|
+
{
|
|
49357
|
+
"section": "spec/v2/core/overview.md §0a (RFC 0255 §D)",
|
|
49358
|
+
"requirement": null,
|
|
49359
|
+
"interpolated": true
|
|
49360
|
+
},
|
|
49361
|
+
{
|
|
49362
|
+
"section": "spec/v2/core/overview.md §0a (RFC 0255 §D)",
|
|
49363
|
+
"requirement": "the refusal must name the removed property"
|
|
49364
|
+
}
|
|
49365
|
+
]
|
|
49366
|
+
},
|
|
49367
|
+
{
|
|
49368
|
+
"id": "openwop.it.v2-surface-monotone-gate.positive-control-the-same-removal-named-by-a-steward-deletion-row-is-licensed",
|
|
49369
|
+
"file": "v2-surface-monotone-gate.test.ts",
|
|
49370
|
+
"line": 322,
|
|
49371
|
+
"title": "POSITIVE CONTROL — the same removal named by a steward-deletion row is licensed",
|
|
49372
|
+
"explicitId": "openwop.requirement.0255.baseline-regeneration-refused",
|
|
49373
|
+
"citations": [
|
|
49374
|
+
{
|
|
49375
|
+
"section": "spec/v2/core/overview.md §0a (RFC 0255 §D)",
|
|
49376
|
+
"requirement": null,
|
|
49377
|
+
"interpolated": true
|
|
49378
|
+
},
|
|
49379
|
+
{
|
|
49380
|
+
"section": "spec/v2/core/overview.md §0a (RFC 0255 §D)",
|
|
49381
|
+
"requirement": "the gate must say what licensed it"
|
|
49382
|
+
}
|
|
49383
|
+
]
|
|
49384
|
+
},
|
|
49593
49385
|
{
|
|
49594
49386
|
"id": "openwop.it.v2-threat-model-template.the-corpus-gate-script-exits-0",
|
|
49595
49387
|
"file": "v2-threat-model-template.test.ts",
|