@openwop/openwop-conformance 2.46.35 → 2.46.36
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 +8 -0
- package/README.md +3 -3
- package/coverage.md +4 -5
- package/dist/spec-artifacts.lock.json +2 -2
- 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 +19 -4
- package/package.json +2 -2
- package/requirement-aliases.json +98 -1
- package/requirements.json +551 -804
- package/scenario-majors.json +13 -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-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": 746,
|
|
6
|
+
"tests": 2854,
|
|
7
|
+
"withStableId": 2854,
|
|
8
8
|
"interpolatedTitles": 0,
|
|
9
|
-
"explicitIds":
|
|
9
|
+
"explicitIds": 2724
|
|
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",
|
|
@@ -30813,196 +30590,15 @@
|
|
|
30813
30590
|
]
|
|
30814
30591
|
},
|
|
30815
30592
|
{
|
|
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",
|
|
30593
|
+
"id": "openwop.it.v2-envelope-surfaces-absent.the-discovery-document-publishes-no-deleted-envelope-family-or-limit",
|
|
30594
|
+
"file": "v2-envelope-surfaces-absent.test.ts",
|
|
30595
|
+
"line": 49,
|
|
30596
|
+
"title": "the discovery document publishes no deleted envelope family or limit",
|
|
30597
|
+
"explicitId": "openwop.requirement.0255.surfaces-absent",
|
|
31001
30598
|
"citations": [
|
|
31002
30599
|
{
|
|
31003
|
-
"section":
|
|
31004
|
-
"requirement":
|
|
31005
|
-
"interpolated": true
|
|
30600
|
+
"section": "RFC 0255 §A",
|
|
30601
|
+
"requirement": "a v2 discovery document MUST NOT publish a family or limit RFC 0255 deleted"
|
|
31006
30602
|
}
|
|
31007
30603
|
]
|
|
31008
30604
|
},
|
|
@@ -32812,6 +32408,72 @@
|
|
|
32812
32408
|
}
|
|
32813
32409
|
]
|
|
32814
32410
|
},
|
|
32411
|
+
{
|
|
32412
|
+
"id": "openwop.it.v2-interrupt-form-rules.a-clarification-raised-with-a-form-carries-it-unchanged-beside-questions-in-a-va",
|
|
32413
|
+
"file": "v2-interrupt-form-rules.test.ts",
|
|
32414
|
+
"line": 98,
|
|
32415
|
+
"title": "a clarification raised with a form carries it unchanged, beside questions, in a valid InterruptPayload",
|
|
32416
|
+
"explicitId": null,
|
|
32417
|
+
"citations": [
|
|
32418
|
+
{
|
|
32419
|
+
"section": "spec/v2/core/interrupt.md §Forms (RFC 0255 §E)",
|
|
32420
|
+
"requirement": "the suspended run MUST record interrupt.requested { kind: \"clarification\" }"
|
|
32421
|
+
},
|
|
32422
|
+
{
|
|
32423
|
+
"section": "spec/v2/core/interrupt.md §Forms (RFC 0255 §E)",
|
|
32424
|
+
"requirement": null,
|
|
32425
|
+
"interpolated": true
|
|
32426
|
+
},
|
|
32427
|
+
{
|
|
32428
|
+
"section": "spec/v2/core/interrupt.md §Forms (RFC 0255 §E)",
|
|
32429
|
+
"requirement": "questions MUST stay beside the form as its fallback"
|
|
32430
|
+
},
|
|
32431
|
+
{
|
|
32432
|
+
"section": "spec/v2/core/interrupt.md §Forms (RFC 0255 §E)",
|
|
32433
|
+
"requirement": "data.form MUST be the fixture's form, unchanged"
|
|
32434
|
+
}
|
|
32435
|
+
]
|
|
32436
|
+
},
|
|
32437
|
+
{
|
|
32438
|
+
"id": "openwop.it.v2-interrupt-form-rules.a-form-resolves-with-answers-id-answer-and-the-run-completes",
|
|
32439
|
+
"file": "v2-interrupt-form-rules.test.ts",
|
|
32440
|
+
"line": 111,
|
|
32441
|
+
"title": "a form resolves with { answers: [{ id, answer }] } and the run completes",
|
|
32442
|
+
"explicitId": null,
|
|
32443
|
+
"citations": [
|
|
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": "the resolve MUST be a 2xx"
|
|
32452
|
+
},
|
|
32453
|
+
{
|
|
32454
|
+
"section": "spec/v2/core/interrupt.md §Forms (RFC 0255 §E)",
|
|
32455
|
+
"requirement": "the resolved run MUST complete"
|
|
32456
|
+
}
|
|
32457
|
+
]
|
|
32458
|
+
},
|
|
32459
|
+
{
|
|
32460
|
+
"id": "openwop.it.v2-interrupt-form-rules.a-form-that-fails-the-schema-or-binds-an-input-to-no-question-is-never-raised",
|
|
32461
|
+
"file": "v2-interrupt-form-rules.test.ts",
|
|
32462
|
+
"line": 124,
|
|
32463
|
+
"title": "a form that fails the schema or binds an input to no question is never raised",
|
|
32464
|
+
"explicitId": null,
|
|
32465
|
+
"citations": [
|
|
32466
|
+
{
|
|
32467
|
+
"section": "spec/v2/core/interrupt.md §Forms (RFC 0255 §E)",
|
|
32468
|
+
"requirement": "control: the positive fixture MUST raise its form, or a host raising none would pass"
|
|
32469
|
+
},
|
|
32470
|
+
{
|
|
32471
|
+
"section": "spec/v2/core/interrupt.md §Forms (RFC 0255 §E)",
|
|
32472
|
+
"requirement": null,
|
|
32473
|
+
"interpolated": true
|
|
32474
|
+
}
|
|
32475
|
+
]
|
|
32476
|
+
},
|
|
32815
32477
|
{
|
|
32816
32478
|
"id": "openwop.it.v2-interrupt-resolve-terminal.a-run-scoped-resolve-after-the-run-was-cancelled-is-409-interrupt-already-resolv",
|
|
32817
32479
|
"file": "v2-interrupt-resolve-terminal.test.ts",
|
|
@@ -33051,9 +32713,9 @@
|
|
|
33051
32713
|
]
|
|
33052
32714
|
},
|
|
33053
32715
|
{
|
|
33054
|
-
"id": "openwop.it.v2-limits-
|
|
33055
|
-
"file": "v2-limits-
|
|
33056
|
-
"line":
|
|
32716
|
+
"id": "openwop.it.v2-limits-clarification-rounds-advertisement.limits-clarificationrounds-is-present-and-a-non-negative-integer",
|
|
32717
|
+
"file": "v2-limits-clarification-rounds-advertisement.test.ts",
|
|
32718
|
+
"line": 35,
|
|
33057
32719
|
"title": "limits.clarificationRounds is present and a non-negative integer",
|
|
33058
32720
|
"explicitId": "openwop.requirement.limits.clarification-rounds-advertised",
|
|
33059
32721
|
"citations": [
|
|
@@ -33064,34 +32726,6 @@
|
|
|
33064
32726
|
}
|
|
33065
32727
|
]
|
|
33066
32728
|
},
|
|
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
32729
|
{
|
|
33096
32730
|
"id": "openwop.it.v2-localized-content-delivery.the-v2-content-record-requires-baselocale-and-supportedlocales-and-has-no-suppor",
|
|
33097
32731
|
"file": "v2-localized-content-delivery.test.ts",
|
|
@@ -36516,6 +36150,76 @@
|
|
|
36516
36150
|
}
|
|
36517
36151
|
]
|
|
36518
36152
|
},
|
|
36153
|
+
{
|
|
36154
|
+
"id": "openwop.it.v2-provider-output-reliability.a-truncated-reply-emits-envelope-truncated-and-the-retried-call-completes",
|
|
36155
|
+
"file": "v2-provider-output-reliability.test.ts",
|
|
36156
|
+
"line": 61,
|
|
36157
|
+
"title": "a truncated reply emits envelope.truncated and the retried call completes",
|
|
36158
|
+
"explicitId": "openwop.requirement.0255.provider-output-truncation",
|
|
36159
|
+
"citations": [
|
|
36160
|
+
{
|
|
36161
|
+
"section": "host-services.md §Structured output",
|
|
36162
|
+
"requirement": "a truncated reply MUST emit envelope.truncated"
|
|
36163
|
+
},
|
|
36164
|
+
{
|
|
36165
|
+
"section": "host-services.md §Structured output",
|
|
36166
|
+
"requirement": null,
|
|
36167
|
+
"interpolated": true
|
|
36168
|
+
}
|
|
36169
|
+
]
|
|
36170
|
+
},
|
|
36171
|
+
{
|
|
36172
|
+
"id": "openwop.it.v2-provider-output-reliability.when-the-repair-budget-runs-out-the-node-fails-envelope-invalid-after-retry-exha",
|
|
36173
|
+
"file": "v2-provider-output-reliability.test.ts",
|
|
36174
|
+
"line": 72,
|
|
36175
|
+
"title": "when the repair budget runs out the node fails envelope_invalid after retry-exhausted and cap.breached schema",
|
|
36176
|
+
"explicitId": "openwop.requirement.0255.provider-output-exhaustion",
|
|
36177
|
+
"citations": [
|
|
36178
|
+
{
|
|
36179
|
+
"section": "host-services.md §Structured output",
|
|
36180
|
+
"requirement": "a call whose every reply violates the schema MUST fail"
|
|
36181
|
+
},
|
|
36182
|
+
{
|
|
36183
|
+
"section": "host-services.md §Structured output",
|
|
36184
|
+
"requirement": "the node MUST fail with envelope_invalid"
|
|
36185
|
+
},
|
|
36186
|
+
{
|
|
36187
|
+
"section": "host-services.md §Structured output",
|
|
36188
|
+
"requirement": "exhaustion MUST emit envelope.retry-exhausted"
|
|
36189
|
+
},
|
|
36190
|
+
{
|
|
36191
|
+
"section": "host-services.md §Structured output",
|
|
36192
|
+
"requirement": null,
|
|
36193
|
+
"interpolated": true
|
|
36194
|
+
}
|
|
36195
|
+
]
|
|
36196
|
+
},
|
|
36197
|
+
{
|
|
36198
|
+
"id": "openwop.it.v2-provider-output-reliability.a-refusal-fails-the-node-envelope-refusal-after-envelope-refusal-and-is-never-re",
|
|
36199
|
+
"file": "v2-provider-output-reliability.test.ts",
|
|
36200
|
+
"line": 83,
|
|
36201
|
+
"title": "a refusal fails the node envelope_refusal after envelope.refusal and is never retried",
|
|
36202
|
+
"explicitId": "openwop.requirement.0255.provider-output-refusal",
|
|
36203
|
+
"citations": [
|
|
36204
|
+
{
|
|
36205
|
+
"section": "host-services.md §Structured output",
|
|
36206
|
+
"requirement": null,
|
|
36207
|
+
"interpolated": true
|
|
36208
|
+
},
|
|
36209
|
+
{
|
|
36210
|
+
"section": "host-services.md §Structured output",
|
|
36211
|
+
"requirement": "the node MUST fail with envelope_refusal"
|
|
36212
|
+
},
|
|
36213
|
+
{
|
|
36214
|
+
"section": "host-services.md §Structured output",
|
|
36215
|
+
"requirement": "a refusal MUST emit envelope.refusal"
|
|
36216
|
+
},
|
|
36217
|
+
{
|
|
36218
|
+
"section": "host-services.md §Structured output",
|
|
36219
|
+
"requirement": "a host MUST NOT retry a refusal"
|
|
36220
|
+
}
|
|
36221
|
+
]
|
|
36222
|
+
},
|
|
36519
36223
|
{
|
|
36520
36224
|
"id": "openwop.it.v2-provider-usage-advertisement.the-providerusage-record-validates-against-its-capabilities-schema-seat",
|
|
36521
36225
|
"file": "v2-provider-usage-advertisement.test.ts",
|
|
@@ -38271,6 +37975,76 @@
|
|
|
38271
37975
|
}
|
|
38272
37976
|
]
|
|
38273
37977
|
},
|
|
37978
|
+
{
|
|
37979
|
+
"id": "openwop.it.v2-structured-output-advertisement.the-aiproviders-record-validates-against-its-capabilities-schema-seat",
|
|
37980
|
+
"file": "v2-structured-output-advertisement.test.ts",
|
|
37981
|
+
"line": 43,
|
|
37982
|
+
"title": "the aiProviders record validates against its capabilities-schema seat",
|
|
37983
|
+
"explicitId": "openwop.requirement.aiProviders.structured-output-record",
|
|
37984
|
+
"citations": [
|
|
37985
|
+
{
|
|
37986
|
+
"section": null,
|
|
37987
|
+
"requirement": null,
|
|
37988
|
+
"interpolated": true
|
|
37989
|
+
}
|
|
37990
|
+
]
|
|
37991
|
+
},
|
|
37992
|
+
{
|
|
37993
|
+
"id": "openwop.it.v2-structured-output-advertisement.aiproviders-reasoning-promptdirective-is-mandatory-advisory-or-off",
|
|
37994
|
+
"file": "v2-structured-output-advertisement.test.ts",
|
|
37995
|
+
"line": 51,
|
|
37996
|
+
"title": "aiProviders.reasoning.promptDirective is mandatory, advisory or off",
|
|
37997
|
+
"explicitId": "openwop.requirement.aiProviders.reasoning-advert-shape",
|
|
37998
|
+
"citations": [
|
|
37999
|
+
{
|
|
38000
|
+
"section": null,
|
|
38001
|
+
"requirement": null,
|
|
38002
|
+
"interpolated": true
|
|
38003
|
+
}
|
|
38004
|
+
]
|
|
38005
|
+
},
|
|
38006
|
+
{
|
|
38007
|
+
"id": "openwop.it.v2-structured-output-advertisement.aiproviders-tieronesubsetcompliance-is-strict-warn-or-off",
|
|
38008
|
+
"file": "v2-structured-output-advertisement.test.ts",
|
|
38009
|
+
"line": 59,
|
|
38010
|
+
"title": "aiProviders.tierOneSubsetCompliance is strict, warn or off",
|
|
38011
|
+
"explicitId": "openwop.requirement.aiProviders.tier-one-subset-compliance-value",
|
|
38012
|
+
"citations": [
|
|
38013
|
+
{
|
|
38014
|
+
"section": null,
|
|
38015
|
+
"requirement": null,
|
|
38016
|
+
"interpolated": true
|
|
38017
|
+
}
|
|
38018
|
+
]
|
|
38019
|
+
},
|
|
38020
|
+
{
|
|
38021
|
+
"id": "openwop.it.v2-structured-output-advertisement.aiproviders-reliability-events-lists-only-reliability-events-and-includes-retry",
|
|
38022
|
+
"file": "v2-structured-output-advertisement.test.ts",
|
|
38023
|
+
"line": 67,
|
|
38024
|
+
"title": "aiProviders.reliability.events lists only reliability events and includes retry-exhausted and refusal",
|
|
38025
|
+
"explicitId": "openwop.requirement.aiProviders.reliability-events-advert",
|
|
38026
|
+
"citations": [
|
|
38027
|
+
{
|
|
38028
|
+
"section": null,
|
|
38029
|
+
"requirement": null,
|
|
38030
|
+
"interpolated": true
|
|
38031
|
+
}
|
|
38032
|
+
]
|
|
38033
|
+
},
|
|
38034
|
+
{
|
|
38035
|
+
"id": "openwop.it.v2-structured-output-advertisement.aiproviders-reliability-completion-distinguishestruncation-is-a-boolean",
|
|
38036
|
+
"file": "v2-structured-output-advertisement.test.ts",
|
|
38037
|
+
"line": 75,
|
|
38038
|
+
"title": "aiProviders.reliability.completion.distinguishesTruncation is a boolean",
|
|
38039
|
+
"explicitId": "openwop.requirement.aiProviders.completion-advert-shape",
|
|
38040
|
+
"citations": [
|
|
38041
|
+
{
|
|
38042
|
+
"section": null,
|
|
38043
|
+
"requirement": null,
|
|
38044
|
+
"interpolated": true
|
|
38045
|
+
}
|
|
38046
|
+
]
|
|
38047
|
+
},
|
|
38274
38048
|
{
|
|
38275
38049
|
"id": "openwop.it.v2-sub-workflow-advertisement.the-subworkflow-record-validates-against-its-capabilities-schema-seat",
|
|
38276
38050
|
"file": "v2-sub-workflow-advertisement.test.ts",
|
|
@@ -42422,32 +42196,32 @@
|
|
|
42422
42196
|
]
|
|
42423
42197
|
},
|
|
42424
42198
|
{
|
|
42425
|
-
"id": "openwop.it.a2ui-v09-profile.the-vendored-upstream-files-are-the-pinned-bytes-every-positive-
|
|
42199
|
+
"id": "openwop.it.a2ui-v09-profile.the-vendored-upstream-files-are-the-pinned-bytes-every-positive-is-a-valid-form",
|
|
42426
42200
|
"file": "a2ui-v09-profile.test.ts",
|
|
42427
|
-
"line":
|
|
42428
|
-
"title": "the vendored upstream files are the pinned bytes; every positive
|
|
42429
|
-
"explicitId": "openwop.requirement.
|
|
42201
|
+
"line": 88,
|
|
42202
|
+
"title": "the vendored upstream files are the pinned bytes; every positive is a valid form and each of its messages against upstream",
|
|
42203
|
+
"explicitId": "openwop.requirement.0255.interrupt-form-profile",
|
|
42430
42204
|
"citations": [
|
|
42431
42205
|
{
|
|
42432
|
-
"section": "
|
|
42206
|
+
"section": "interrupt.md §Forms",
|
|
42433
42207
|
"requirement": null,
|
|
42434
42208
|
"interpolated": true
|
|
42435
42209
|
},
|
|
42436
42210
|
{
|
|
42437
|
-
"section": "
|
|
42211
|
+
"section": "interrupt.md §Forms",
|
|
42438
42212
|
"requirement": "the vendored basic catalog $id IS the catalogId the profile pins"
|
|
42439
42213
|
},
|
|
42440
42214
|
{
|
|
42441
|
-
"section": "
|
|
42215
|
+
"section": "interrupt.md §Forms",
|
|
42442
42216
|
"requirement": "fixtures/a2ui-v09/ MUST carry at least one positive surface"
|
|
42443
42217
|
},
|
|
42444
42218
|
{
|
|
42445
|
-
"section": "
|
|
42219
|
+
"section": "interrupt.md §Forms",
|
|
42446
42220
|
"requirement": null,
|
|
42447
42221
|
"interpolated": true
|
|
42448
42222
|
},
|
|
42449
42223
|
{
|
|
42450
|
-
"section": "
|
|
42224
|
+
"section": "interrupt.md §Forms",
|
|
42451
42225
|
"requirement": null,
|
|
42452
42226
|
"interpolated": true
|
|
42453
42227
|
}
|
|
@@ -42456,22 +42230,22 @@
|
|
|
42456
42230
|
{
|
|
42457
42231
|
"id": "openwop.it.a2ui-v09-profile.a-functioncall-action-openurl-and-an-event-name-outside-the-allowlist-are-refuse",
|
|
42458
42232
|
"file": "a2ui-v09-profile.test.ts",
|
|
42459
|
-
"line":
|
|
42233
|
+
"line": 109,
|
|
42460
42234
|
"title": "a functionCall action (openUrl) and an event.name outside the allowlist are refused, and only because of $defs/action",
|
|
42461
|
-
"explicitId": "openwop.requirement.
|
|
42235
|
+
"explicitId": "openwop.requirement.0255.interrupt-form-profile",
|
|
42462
42236
|
"citations": [
|
|
42463
42237
|
{
|
|
42464
|
-
"section": "
|
|
42238
|
+
"section": "interrupt.md §Forms",
|
|
42465
42239
|
"requirement": null,
|
|
42466
42240
|
"interpolated": true
|
|
42467
42241
|
},
|
|
42468
42242
|
{
|
|
42469
|
-
"section": "
|
|
42243
|
+
"section": "interrupt.md §Forms",
|
|
42470
42244
|
"requirement": null,
|
|
42471
42245
|
"interpolated": true
|
|
42472
42246
|
},
|
|
42473
42247
|
{
|
|
42474
|
-
"section": "
|
|
42248
|
+
"section": "interrupt.md §Forms",
|
|
42475
42249
|
"requirement": null,
|
|
42476
42250
|
"interpolated": true
|
|
42477
42251
|
}
|
|
@@ -42480,21 +42254,21 @@
|
|
|
42480
42254
|
{
|
|
42481
42255
|
"id": "openwop.it.a2ui-v09-profile.textfield-variant-obscured-is-refused-and-only-because-the-variant-enum-excludes",
|
|
42482
42256
|
"file": "a2ui-v09-profile.test.ts",
|
|
42483
|
-
"line":
|
|
42257
|
+
"line": 123,
|
|
42484
42258
|
"title": "TextField.variant \"obscured\" is refused, and only because the variant enum excludes it",
|
|
42485
|
-
"explicitId": "openwop.requirement.
|
|
42259
|
+
"explicitId": "openwop.requirement.0255.interrupt-form-profile",
|
|
42486
42260
|
"citations": [
|
|
42487
42261
|
{
|
|
42488
|
-
"section": "
|
|
42489
|
-
"requirement": "negative-textfield-obscured MUST fail
|
|
42262
|
+
"section": "interrupt.md §Forms",
|
|
42263
|
+
"requirement": "negative-textfield-obscured MUST fail interrupt-form.schema.json (interrupt-form-no-secret-input)"
|
|
42490
42264
|
},
|
|
42491
42265
|
{
|
|
42492
|
-
"section": "
|
|
42266
|
+
"section": "interrupt.md §Forms",
|
|
42493
42267
|
"requirement": null,
|
|
42494
42268
|
"interpolated": true
|
|
42495
42269
|
},
|
|
42496
42270
|
{
|
|
42497
|
-
"section": "
|
|
42271
|
+
"section": "interrupt.md §Forms",
|
|
42498
42272
|
"requirement": "upstream A2UI accepts an obscured TextField — the refusal is the profile's"
|
|
42499
42273
|
}
|
|
42500
42274
|
]
|
|
@@ -42502,38 +42276,38 @@
|
|
|
42502
42276
|
{
|
|
42503
42277
|
"id": "openwop.it.a2ui-v09-profile.image-and-theme-iconurl-are-refused-each-only-because-of-its-exclusion-no-url-fe",
|
|
42504
42278
|
"file": "a2ui-v09-profile.test.ts",
|
|
42505
|
-
"line":
|
|
42279
|
+
"line": 135,
|
|
42506
42280
|
"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.
|
|
42281
|
+
"explicitId": "openwop.requirement.0255.interrupt-form-profile",
|
|
42508
42282
|
"citations": [
|
|
42509
42283
|
{
|
|
42510
|
-
"section": "
|
|
42511
|
-
"requirement": "negative-image-component MUST fail
|
|
42284
|
+
"section": "interrupt.md §Forms",
|
|
42285
|
+
"requirement": "negative-image-component MUST fail interrupt-form.schema.json (interrupt-form-no-network-egress)"
|
|
42512
42286
|
},
|
|
42513
42287
|
{
|
|
42514
|
-
"section": "
|
|
42288
|
+
"section": "interrupt.md §Forms",
|
|
42515
42289
|
"requirement": null,
|
|
42516
42290
|
"interpolated": true
|
|
42517
42291
|
},
|
|
42518
42292
|
{
|
|
42519
|
-
"section": "
|
|
42293
|
+
"section": "interrupt.md §Forms",
|
|
42520
42294
|
"requirement": "upstream A2UI accepts an Image component — the refusal is the profile's"
|
|
42521
42295
|
},
|
|
42522
42296
|
{
|
|
42523
|
-
"section": "
|
|
42524
|
-
"requirement": "negative-theme-iconurl MUST fail
|
|
42297
|
+
"section": "interrupt.md §Forms",
|
|
42298
|
+
"requirement": "negative-theme-iconurl MUST fail interrupt-form.schema.json"
|
|
42525
42299
|
},
|
|
42526
42300
|
{
|
|
42527
|
-
"section": "
|
|
42301
|
+
"section": "interrupt.md §Forms",
|
|
42528
42302
|
"requirement": null,
|
|
42529
42303
|
"interpolated": true
|
|
42530
42304
|
},
|
|
42531
42305
|
{
|
|
42532
|
-
"section": "
|
|
42306
|
+
"section": "interrupt.md §Forms",
|
|
42533
42307
|
"requirement": "upstream A2UI accepts theme.iconUrl — the refusal is the profile's"
|
|
42534
42308
|
},
|
|
42535
42309
|
{
|
|
42536
|
-
"section": "
|
|
42310
|
+
"section": "interrupt.md §Forms",
|
|
42537
42311
|
"requirement": null,
|
|
42538
42312
|
"interpolated": true
|
|
42539
42313
|
}
|
|
@@ -42542,21 +42316,21 @@
|
|
|
42542
42316
|
{
|
|
42543
42317
|
"id": "openwop.it.a2ui-v09-profile.a-foreign-catalogid-is-refused-and-only-because-catalogid-is-an-enum",
|
|
42544
42318
|
"file": "a2ui-v09-profile.test.ts",
|
|
42545
|
-
"line":
|
|
42319
|
+
"line": 164,
|
|
42546
42320
|
"title": "a foreign catalogId is refused, and only because catalogId is an enum",
|
|
42547
|
-
"explicitId": "openwop.requirement.
|
|
42321
|
+
"explicitId": "openwop.requirement.0255.interrupt-form-profile",
|
|
42548
42322
|
"citations": [
|
|
42549
42323
|
{
|
|
42550
|
-
"section": "
|
|
42551
|
-
"requirement": "negative-foreign-catalog MUST fail
|
|
42324
|
+
"section": "interrupt.md §Forms",
|
|
42325
|
+
"requirement": "negative-foreign-catalog MUST fail interrupt-form.schema.json — catalogId is the host-pinned set, never a free string"
|
|
42552
42326
|
},
|
|
42553
42327
|
{
|
|
42554
|
-
"section": "
|
|
42328
|
+
"section": "interrupt.md §Forms",
|
|
42555
42329
|
"requirement": null,
|
|
42556
42330
|
"interpolated": true
|
|
42557
42331
|
},
|
|
42558
42332
|
{
|
|
42559
|
-
"section": "
|
|
42333
|
+
"section": "interrupt.md §Forms",
|
|
42560
42334
|
"requirement": "the pinned set is exactly the basic catalog today"
|
|
42561
42335
|
}
|
|
42562
42336
|
]
|
|
@@ -42564,75 +42338,118 @@
|
|
|
42564
42338
|
{
|
|
42565
42339
|
"id": "openwop.it.a2ui-v09-profile.an-extra-component-property-and-a-formatstring-text-value-are-refused-the-second",
|
|
42566
42340
|
"file": "a2ui-v09-profile.test.ts",
|
|
42567
|
-
"line":
|
|
42341
|
+
"line": 176,
|
|
42568
42342
|
"title": "an extra component property and a formatString text value are refused (the second is accepted upstream)",
|
|
42569
42343
|
"explicitId": "openwop.it.a2ui-v09-profile.closed-components-no-function-values",
|
|
42570
42344
|
"citations": [
|
|
42571
42345
|
{
|
|
42572
|
-
"section": "
|
|
42346
|
+
"section": "interrupt.md §Forms",
|
|
42573
42347
|
"requirement": null,
|
|
42574
42348
|
"interpolated": true
|
|
42575
42349
|
},
|
|
42576
42350
|
{
|
|
42577
|
-
"section": "
|
|
42351
|
+
"section": "interrupt.md §Forms",
|
|
42578
42352
|
"requirement": "negative-formatstring-label MUST pass once dynString admits a FunctionCall"
|
|
42579
42353
|
},
|
|
42580
42354
|
{
|
|
42581
|
-
"section": "
|
|
42355
|
+
"section": "interrupt.md §Forms",
|
|
42582
42356
|
"requirement": "upstream A2UI accepts a formatString text value — the refusal is the profile's"
|
|
42583
42357
|
},
|
|
42584
42358
|
{
|
|
42585
|
-
"section": "
|
|
42359
|
+
"section": "interrupt.md §Forms",
|
|
42586
42360
|
"requirement": "upstream A2UI also refuses an extra property (unevaluatedProperties: false)"
|
|
42587
42361
|
}
|
|
42588
42362
|
]
|
|
42589
42363
|
},
|
|
42590
42364
|
{
|
|
42591
|
-
"id": "openwop.it.a2ui-v09-profile.
|
|
42365
|
+
"id": "openwop.it.a2ui-v09-profile.every-positive-surface-is-a-valid-form-every-negative-is-refused-and-the-form-re",
|
|
42592
42366
|
"file": "a2ui-v09-profile.test.ts",
|
|
42593
|
-
"line":
|
|
42594
|
-
"title": "
|
|
42595
|
-
"explicitId": "openwop.
|
|
42367
|
+
"line": 208,
|
|
42368
|
+
"title": "every positive surface is a valid form, every negative is refused, and the form refuses an exchange target",
|
|
42369
|
+
"explicitId": "openwop.requirement.0255.interrupt-form-profile",
|
|
42596
42370
|
"citations": [
|
|
42597
42371
|
{
|
|
42598
|
-
"section": "
|
|
42372
|
+
"section": "interrupt.md §Forms",
|
|
42599
42373
|
"requirement": null,
|
|
42600
42374
|
"interpolated": true
|
|
42601
42375
|
},
|
|
42602
42376
|
{
|
|
42603
|
-
"section": "
|
|
42377
|
+
"section": "interrupt.md §Forms",
|
|
42604
42378
|
"requirement": null,
|
|
42605
42379
|
"interpolated": true
|
|
42606
42380
|
},
|
|
42607
42381
|
{
|
|
42608
|
-
"section": "
|
|
42609
|
-
"requirement": "
|
|
42382
|
+
"section": "interrupt.md §Forms",
|
|
42383
|
+
"requirement": "control: the form admits an exchange action once `exchange` joins the event name enum"
|
|
42384
|
+
},
|
|
42385
|
+
{
|
|
42386
|
+
"section": "interrupt.md §Forms",
|
|
42387
|
+
"requirement": "a form action MUST resolve only its own interrupt — `exchange` is refused"
|
|
42610
42388
|
},
|
|
42611
42389
|
{
|
|
42612
|
-
"section": "
|
|
42613
|
-
"requirement": "
|
|
42390
|
+
"section": "interrupt.md §Forms",
|
|
42391
|
+
"requirement": "negative-textfield-obscured MUST pass the form once \"obscured\" is restored — the variant enum alone refuses it"
|
|
42614
42392
|
},
|
|
42615
42393
|
{
|
|
42616
|
-
"section": "
|
|
42617
|
-
"requirement":
|
|
42394
|
+
"section": "interrupt.md §Forms",
|
|
42395
|
+
"requirement": null,
|
|
42396
|
+
"interpolated": true
|
|
42618
42397
|
}
|
|
42619
42398
|
]
|
|
42620
42399
|
},
|
|
42621
42400
|
{
|
|
42622
|
-
"id": "openwop.it.a2ui-v09-profile.
|
|
42401
|
+
"id": "openwop.it.a2ui-v09-profile.a-form-can-appear-only-on-a-clarification-so-it-can-never-resolve-an-approval",
|
|
42623
42402
|
"file": "a2ui-v09-profile.test.ts",
|
|
42624
|
-
"line":
|
|
42625
|
-
"title": "
|
|
42626
|
-
"explicitId": "openwop.requirement.
|
|
42403
|
+
"line": 233,
|
|
42404
|
+
"title": "a form can appear only on a clarification, so it can never resolve an approval",
|
|
42405
|
+
"explicitId": "openwop.requirement.0255.interrupt-form-never-resolves-approval",
|
|
42627
42406
|
"citations": [
|
|
42628
42407
|
{
|
|
42629
|
-
"section": "
|
|
42408
|
+
"section": "interrupt.md §Forms",
|
|
42409
|
+
"requirement": "ClarificationData MUST be the only interrupt data shape carrying `form`"
|
|
42410
|
+
},
|
|
42411
|
+
{
|
|
42412
|
+
"section": "interrupt.md §Forms",
|
|
42413
|
+
"requirement": "ClarificationData.form MUST be the interrupt-form schema"
|
|
42414
|
+
},
|
|
42415
|
+
{
|
|
42416
|
+
"section": "interrupt.md §Forms",
|
|
42417
|
+
"requirement": "the only form action in either version MUST be `resume`"
|
|
42418
|
+
}
|
|
42419
|
+
]
|
|
42420
|
+
},
|
|
42421
|
+
{
|
|
42422
|
+
"id": "openwop.it.a2ui-v09-profile.the-form-fixtures-bind-their-inputs-to-questions-and-each-probe-is-refused-for-e",
|
|
42423
|
+
"file": "a2ui-v09-profile.test.ts",
|
|
42424
|
+
"line": 244,
|
|
42425
|
+
"title": "the form fixtures bind their inputs to questions, and each probe is refused for exactly one reason",
|
|
42426
|
+
"explicitId": "openwop.requirement.0255.interrupt-form-bound-to-questions",
|
|
42427
|
+
"citations": [
|
|
42428
|
+
{
|
|
42429
|
+
"section": "interrupt.md §Forms",
|
|
42630
42430
|
"requirement": null,
|
|
42631
42431
|
"interpolated": true
|
|
42632
42432
|
},
|
|
42633
42433
|
{
|
|
42634
|
-
"section": "
|
|
42635
|
-
"requirement": "
|
|
42434
|
+
"section": "interrupt.md §Forms",
|
|
42435
|
+
"requirement": "every input id MUST be a questions[].id"
|
|
42436
|
+
},
|
|
42437
|
+
{
|
|
42438
|
+
"section": "interrupt.md §Forms",
|
|
42439
|
+
"requirement": "-refused MUST fail the form schema, and only because of the obscured variant"
|
|
42440
|
+
},
|
|
42441
|
+
{
|
|
42442
|
+
"section": "interrupt.md §Forms",
|
|
42443
|
+
"requirement": "-refused MUST otherwise bind to its questions"
|
|
42444
|
+
},
|
|
42445
|
+
{
|
|
42446
|
+
"section": "interrupt.md §Forms",
|
|
42447
|
+
"requirement": null,
|
|
42448
|
+
"interpolated": true
|
|
42449
|
+
},
|
|
42450
|
+
{
|
|
42451
|
+
"section": "interrupt.md §Forms",
|
|
42452
|
+
"requirement": "-unbound MUST carry an input bound to no question"
|
|
42636
42453
|
}
|
|
42637
42454
|
]
|
|
42638
42455
|
},
|
|
@@ -42867,10 +42684,10 @@
|
|
|
42867
42684
|
]
|
|
42868
42685
|
},
|
|
42869
42686
|
{
|
|
42870
|
-
"id": "openwop.it.bundle-maturity-gate.the-count-is-derived-promoting-one-family-in-the-declaration-drops-
|
|
42687
|
+
"id": "openwop.it.bundle-maturity-gate.the-count-is-derived-promoting-one-family-in-the-declaration-drops-36-to-35",
|
|
42871
42688
|
"file": "bundle-maturity-gate.test.ts",
|
|
42872
42689
|
"line": 102,
|
|
42873
|
-
"title": "the count is DERIVED — promoting one family in the declaration drops
|
|
42690
|
+
"title": "the count is DERIVED — promoting one family in the declaration drops 36 to 35",
|
|
42874
42691
|
"explicitId": "openwop.requirement.0197.bundle-maturity-bound",
|
|
42875
42692
|
"citations": [
|
|
42876
42693
|
{
|
|
@@ -42888,7 +42705,7 @@
|
|
|
42888
42705
|
"id": "openwop.it.bundle-maturity-gate.a-bundle-whose-suite-is-below-the-rfc-s-is-reported-not-failed-even-with-the-sam",
|
|
42889
42706
|
"file": "bundle-maturity-gate.test.ts",
|
|
42890
42707
|
"line": 110,
|
|
42891
|
-
"title": "a bundle whose suite is BELOW the RFC’s is reported, not failed, even with the same
|
|
42708
|
+
"title": "a bundle whose suite is BELOW the RFC’s is reported, not failed, even with the same 36",
|
|
42892
42709
|
"explicitId": "openwop.requirement.0197.bundle-maturity-bound",
|
|
42893
42710
|
"citations": [
|
|
42894
42711
|
{
|
|
@@ -42898,7 +42715,7 @@
|
|
|
42898
42715
|
},
|
|
42899
42716
|
{
|
|
42900
42717
|
"section": "spec/v2/core/capabilities.md §8 (RFC 0197 §C.7)",
|
|
42901
|
-
"requirement": "the same
|
|
42718
|
+
"requirement": "the same 36 are still counted and printed; reported is not the same as unmeasured"
|
|
42902
42719
|
},
|
|
42903
42720
|
{
|
|
42904
42721
|
"section": "spec/v2/core/capabilities.md §8 (RFC 0197 §C.7)",
|
|
@@ -47352,109 +47169,92 @@
|
|
|
47352
47169
|
]
|
|
47353
47170
|
},
|
|
47354
47171
|
{
|
|
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",
|
|
47172
|
+
"id": "openwop.it.v2-alias-covers-reword.the-corpus-gate-script-exits-0",
|
|
47173
|
+
"file": "v2-alias-covers-reword.test.ts",
|
|
47174
|
+
"line": 44,
|
|
47175
|
+
"title": "the corpus gate script exits 0",
|
|
47176
|
+
"explicitId": "openwop.requirement.0168.alias-covers-reword",
|
|
47373
47177
|
"citations": [
|
|
47374
47178
|
{
|
|
47375
|
-
"section": "
|
|
47179
|
+
"section": "RFC 0168 §A.1",
|
|
47376
47180
|
"requirement": null,
|
|
47377
47181
|
"interpolated": true
|
|
47378
47182
|
}
|
|
47379
47183
|
]
|
|
47380
47184
|
},
|
|
47381
47185
|
{
|
|
47382
|
-
"id": "openwop.it.v2-
|
|
47383
|
-
"file": "v2-
|
|
47384
|
-
"line":
|
|
47385
|
-
"title": "
|
|
47386
|
-
"explicitId": "openwop.requirement.
|
|
47186
|
+
"id": "openwop.it.v2-alias-covers-reword.a-published-id-the-sources-no-longer-mint-with-no-alias-or-tombstone-fails-check",
|
|
47187
|
+
"file": "v2-alias-covers-reword.test.ts",
|
|
47188
|
+
"line": 80,
|
|
47189
|
+
"title": "a published id the sources no longer mint, with no alias or tombstone, fails --check and --write refuses without writing",
|
|
47190
|
+
"explicitId": "openwop.requirement.0255.requirement-tombstone",
|
|
47387
47191
|
"citations": [
|
|
47388
47192
|
{
|
|
47389
|
-
"section": "
|
|
47193
|
+
"section": "COMPATIBILITY.md §3a (RFC 0255 §D)",
|
|
47390
47194
|
"requirement": null,
|
|
47391
47195
|
"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": [
|
|
47196
|
+
},
|
|
47402
47197
|
{
|
|
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": [
|
|
47198
|
+
"section": "COMPATIBILITY.md §3a (RFC 0255 §D)",
|
|
47199
|
+
"requirement": "the failure must name the id"
|
|
47200
|
+
},
|
|
47415
47201
|
{
|
|
47416
|
-
"section": "
|
|
47417
|
-
"requirement": "the
|
|
47418
|
-
}
|
|
47419
|
-
|
|
47420
|
-
|
|
47421
|
-
|
|
47422
|
-
|
|
47423
|
-
|
|
47424
|
-
|
|
47425
|
-
|
|
47426
|
-
|
|
47427
|
-
|
|
47202
|
+
"section": "COMPATIBILITY.md §3a (RFC 0255 §D)",
|
|
47203
|
+
"requirement": "the failure must name the remedy"
|
|
47204
|
+
},
|
|
47205
|
+
{
|
|
47206
|
+
"section": "COMPATIBILITY.md §3a (RFC 0255 §D)",
|
|
47207
|
+
"requirement": null,
|
|
47208
|
+
"interpolated": true
|
|
47209
|
+
},
|
|
47210
|
+
{
|
|
47211
|
+
"section": "COMPATIBILITY.md §3a (RFC 0255 §D)",
|
|
47212
|
+
"requirement": "the refusal must say nothing was written"
|
|
47213
|
+
},
|
|
47428
47214
|
{
|
|
47429
|
-
"section": "
|
|
47430
|
-
"requirement": "
|
|
47215
|
+
"section": "COMPATIBILITY.md §3a (RFC 0255 §D)",
|
|
47216
|
+
"requirement": "conformance/requirements.json must be byte-identical after a refused --write"
|
|
47431
47217
|
}
|
|
47432
47218
|
]
|
|
47433
47219
|
},
|
|
47434
47220
|
{
|
|
47435
|
-
"id": "openwop.it.v2-
|
|
47436
|
-
"file": "v2-
|
|
47437
|
-
"line":
|
|
47438
|
-
"title": "
|
|
47439
|
-
"explicitId": "openwop.requirement.
|
|
47221
|
+
"id": "openwop.it.v2-alias-covers-reword.positive-control-a-tombstone-naming-a-steward-deletion-row-retires-the-id",
|
|
47222
|
+
"file": "v2-alias-covers-reword.test.ts",
|
|
47223
|
+
"line": 93,
|
|
47224
|
+
"title": "POSITIVE CONTROL — a tombstone naming a steward-deletion row retires the id",
|
|
47225
|
+
"explicitId": "openwop.requirement.0255.requirement-tombstone",
|
|
47440
47226
|
"citations": [
|
|
47441
47227
|
{
|
|
47442
|
-
"section": "
|
|
47443
|
-
"requirement":
|
|
47228
|
+
"section": "COMPATIBILITY.md §3a (RFC 0255 §D)",
|
|
47229
|
+
"requirement": null,
|
|
47230
|
+
"interpolated": true
|
|
47444
47231
|
}
|
|
47445
47232
|
]
|
|
47446
47233
|
},
|
|
47447
47234
|
{
|
|
47448
|
-
"id": "openwop.it.v2-alias-covers-reword.
|
|
47235
|
+
"id": "openwop.it.v2-alias-covers-reword.a-tombstone-naming-a-non-steward-row-or-a-live-id-is-refused",
|
|
47449
47236
|
"file": "v2-alias-covers-reword.test.ts",
|
|
47450
|
-
"line":
|
|
47451
|
-
"title": "
|
|
47452
|
-
"explicitId": "openwop.requirement.
|
|
47237
|
+
"line": 99,
|
|
47238
|
+
"title": "a tombstone naming a non-steward row, or a live id, is REFUSED",
|
|
47239
|
+
"explicitId": "openwop.requirement.0255.requirement-tombstone",
|
|
47453
47240
|
"citations": [
|
|
47454
47241
|
{
|
|
47455
|
-
"section": "RFC
|
|
47242
|
+
"section": "COMPATIBILITY.md §3a (RFC 0255 §D)",
|
|
47456
47243
|
"requirement": null,
|
|
47457
47244
|
"interpolated": true
|
|
47245
|
+
},
|
|
47246
|
+
{
|
|
47247
|
+
"section": "COMPATIBILITY.md §3a (RFC 0255 §D)",
|
|
47248
|
+
"requirement": "the refusal must say the row is not a steward deletion"
|
|
47249
|
+
},
|
|
47250
|
+
{
|
|
47251
|
+
"section": "COMPATIBILITY.md §3a (RFC 0255 §D)",
|
|
47252
|
+
"requirement": null,
|
|
47253
|
+
"interpolated": true
|
|
47254
|
+
},
|
|
47255
|
+
{
|
|
47256
|
+
"section": "COMPATIBILITY.md §3a (RFC 0255 §D)",
|
|
47257
|
+
"requirement": "the refusal must name the live id"
|
|
47458
47258
|
}
|
|
47459
47259
|
]
|
|
47460
47260
|
},
|
|
@@ -47910,151 +47710,6 @@
|
|
|
47910
47710
|
}
|
|
47911
47711
|
]
|
|
47912
47712
|
},
|
|
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
47713
|
{
|
|
48059
47714
|
"id": "openwop.it.v2-eos-clock.the-clock-file-is-current-with-the-matrix-and-the-public-history",
|
|
48060
47715
|
"file": "v2-eos-clock.test.ts",
|
|
@@ -48574,74 +48229,6 @@
|
|
|
48574
48229
|
}
|
|
48575
48230
|
]
|
|
48576
48231
|
},
|
|
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
48232
|
{
|
|
48646
48233
|
"id": "openwop.it.v2-normative-home-gate.a-refused-home-class-is-refused-by-name",
|
|
48647
48234
|
"file": "v2-normative-home-gate.test.ts",
|
|
@@ -49071,7 +48658,7 @@
|
|
|
49071
48658
|
{
|
|
49072
48659
|
"id": "openwop.it.v2-retirement-gate.the-committed-corpus-passes-and-the-gate-prints-its-inputs-rather-than-a-silent",
|
|
49073
48660
|
"file": "v2-retirement-gate.test.ts",
|
|
49074
|
-
"line":
|
|
48661
|
+
"line": 157,
|
|
49075
48662
|
"title": "the committed corpus passes, and the gate prints its inputs rather than a silent zero",
|
|
49076
48663
|
"explicitId": "openwop.requirement.0197.retirement-predicate",
|
|
49077
48664
|
"citations": [
|
|
@@ -49089,7 +48676,7 @@
|
|
|
49089
48676
|
{
|
|
49090
48677
|
"id": "openwop.it.v2-retirement-gate.the-base-fixture-a-full-honest-retirement-is-reported-retirable-and-the-gate-exi",
|
|
49091
48678
|
"file": "v2-retirement-gate.test.ts",
|
|
49092
|
-
"line":
|
|
48679
|
+
"line": 165,
|
|
49093
48680
|
"title": "the base fixture — a full, honest retirement — is reported `retirable` and the gate exits 0",
|
|
49094
48681
|
"explicitId": "openwop.requirement.0197.retirement-predicate",
|
|
49095
48682
|
"citations": [
|
|
@@ -49112,7 +48699,7 @@
|
|
|
49112
48699
|
{
|
|
49113
48700
|
"id": "openwop.requirement.0197.retirement-predicate",
|
|
49114
48701
|
"file": "v2-retirement-gate.test.ts",
|
|
49115
|
-
"line":
|
|
48702
|
+
"line": 174,
|
|
49116
48703
|
"title": null,
|
|
49117
48704
|
"explicitId": "openwop.requirement.0197.retirement-predicate",
|
|
49118
48705
|
"citations": [
|
|
@@ -49136,7 +48723,7 @@
|
|
|
49136
48723
|
{
|
|
49137
48724
|
"id": "openwop.it.v2-retirement-gate.a-4-a-corrections-row-whose-prior-shape-a-committed-bundle-carried-is-refused",
|
|
49138
48725
|
"file": "v2-retirement-gate.test.ts",
|
|
49139
|
-
"line":
|
|
48726
|
+
"line": 183,
|
|
49140
48727
|
"title": "§A.4 — a corrections row whose prior shape a committed bundle carried is REFUSED",
|
|
49141
48728
|
"explicitId": "openwop.requirement.0197.correction-unevidenced",
|
|
49142
48729
|
"citations": [
|
|
@@ -49154,7 +48741,7 @@
|
|
|
49154
48741
|
{
|
|
49155
48742
|
"id": "openwop.it.v2-retirement-gate.a-4-a-corrections-row-with-a-null-manifest-census-is-refused-and-a-drifted-compa",
|
|
49156
48743
|
"file": "v2-retirement-gate.test.ts",
|
|
49157
|
-
"line":
|
|
48744
|
+
"line": 196,
|
|
49158
48745
|
"title": "§A.4 — a corrections row with a NULL manifest census is REFUSED, and a drifted COMPATIBILITY entry too",
|
|
49159
48746
|
"explicitId": "openwop.requirement.0197.correction-unevidenced",
|
|
49160
48747
|
"citations": [
|
|
@@ -49178,6 +48765,125 @@
|
|
|
49178
48765
|
}
|
|
49179
48766
|
]
|
|
49180
48767
|
},
|
|
48768
|
+
{
|
|
48769
|
+
"id": "openwop.it.v2-retirement-gate.positive-control-a-new-steward-deletion-row-whose-census-matches-the-scan-is-adm",
|
|
48770
|
+
"file": "v2-retirement-gate.test.ts",
|
|
48771
|
+
"line": 235,
|
|
48772
|
+
"title": "POSITIVE CONTROL — a new steward-deletion row whose census matches the scan is admitted",
|
|
48773
|
+
"explicitId": "openwop.requirement.0255.steward-deletion-licence",
|
|
48774
|
+
"citations": [
|
|
48775
|
+
{
|
|
48776
|
+
"section": "COMPATIBILITY.md §3a (RFC 0255 §D)",
|
|
48777
|
+
"requirement": null,
|
|
48778
|
+
"interpolated": true
|
|
48779
|
+
},
|
|
48780
|
+
{
|
|
48781
|
+
"section": "COMPATIBILITY.md §3a (RFC 0255 §D)",
|
|
48782
|
+
"requirement": "the report must show the typed and the scanned census side by side"
|
|
48783
|
+
}
|
|
48784
|
+
]
|
|
48785
|
+
},
|
|
48786
|
+
{
|
|
48787
|
+
"id": "openwop.it.v2-retirement-gate.a-typed-census-of-0-is-re-measured-and-refused-when-a-bundle-carries-the-removed",
|
|
48788
|
+
"file": "v2-retirement-gate.test.ts",
|
|
48789
|
+
"line": 242,
|
|
48790
|
+
"title": "a typed census of 0 is re-measured and REFUSED when a bundle carries the removed surface, for either class",
|
|
48791
|
+
"explicitId": "openwop.requirement.0255.steward-deletion-licence",
|
|
48792
|
+
"citations": [
|
|
48793
|
+
{
|
|
48794
|
+
"section": "COMPATIBILITY.md §3a (RFC 0255 §D)",
|
|
48795
|
+
"requirement": null,
|
|
48796
|
+
"interpolated": true
|
|
48797
|
+
},
|
|
48798
|
+
{
|
|
48799
|
+
"section": "COMPATIBILITY.md §3a (RFC 0255 §D)",
|
|
48800
|
+
"requirement": null,
|
|
48801
|
+
"interpolated": true
|
|
48802
|
+
}
|
|
48803
|
+
]
|
|
48804
|
+
},
|
|
48805
|
+
{
|
|
48806
|
+
"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",
|
|
48807
|
+
"file": "v2-retirement-gate.test.ts",
|
|
48808
|
+
"line": 251,
|
|
48809
|
+
"title": "a new row is REFUSED while a tier-3 host is listed; a published row is NOT re-judged",
|
|
48810
|
+
"explicitId": "openwop.requirement.0255.steward-deletion-licence",
|
|
48811
|
+
"citations": [
|
|
48812
|
+
{
|
|
48813
|
+
"section": "COMPATIBILITY.md §3a (RFC 0255 §D)",
|
|
48814
|
+
"requirement": null,
|
|
48815
|
+
"interpolated": true
|
|
48816
|
+
},
|
|
48817
|
+
{
|
|
48818
|
+
"section": "COMPATIBILITY.md §3a (RFC 0255 §D)",
|
|
48819
|
+
"requirement": "the refusal must name the tier-3 host"
|
|
48820
|
+
},
|
|
48821
|
+
{
|
|
48822
|
+
"section": "COMPATIBILITY.md §3a (RFC 0255 §D)",
|
|
48823
|
+
"requirement": null,
|
|
48824
|
+
"interpolated": true
|
|
48825
|
+
}
|
|
48826
|
+
]
|
|
48827
|
+
},
|
|
48828
|
+
{
|
|
48829
|
+
"id": "openwop.it.v2-retirement-gate.a-new-row-is-refused-while-the-interop-matrix-names-an-independent-host",
|
|
48830
|
+
"file": "v2-retirement-gate.test.ts",
|
|
48831
|
+
"line": 261,
|
|
48832
|
+
"title": "a new row is REFUSED while the INTEROP-MATRIX names an independent host",
|
|
48833
|
+
"explicitId": "openwop.requirement.0255.steward-deletion-licence",
|
|
48834
|
+
"citations": [
|
|
48835
|
+
{
|
|
48836
|
+
"section": "COMPATIBILITY.md §3a (RFC 0255 §D)",
|
|
48837
|
+
"requirement": null,
|
|
48838
|
+
"interpolated": true
|
|
48839
|
+
},
|
|
48840
|
+
{
|
|
48841
|
+
"section": "COMPATIBILITY.md §3a (RFC 0255 §D)",
|
|
48842
|
+
"requirement": "the refusal must quote the matrix cell"
|
|
48843
|
+
}
|
|
48844
|
+
]
|
|
48845
|
+
},
|
|
48846
|
+
{
|
|
48847
|
+
"id": "openwop.it.v2-retirement-gate.a-new-row-is-refused-while-a-committed-bundle-comes-from-an-origin-nobody-lists",
|
|
48848
|
+
"file": "v2-retirement-gate.test.ts",
|
|
48849
|
+
"line": 268,
|
|
48850
|
+
"title": "a new row is REFUSED while a committed bundle comes from an origin nobody lists",
|
|
48851
|
+
"explicitId": "openwop.requirement.0255.steward-deletion-licence",
|
|
48852
|
+
"citations": [
|
|
48853
|
+
{
|
|
48854
|
+
"section": "COMPATIBILITY.md §3a (RFC 0255 §D)",
|
|
48855
|
+
"requirement": null,
|
|
48856
|
+
"interpolated": true
|
|
48857
|
+
},
|
|
48858
|
+
{
|
|
48859
|
+
"section": "COMPATIBILITY.md §3a (RFC 0255 §D)",
|
|
48860
|
+
"requirement": "the refusal must name the bundle and its origin"
|
|
48861
|
+
}
|
|
48862
|
+
]
|
|
48863
|
+
},
|
|
48864
|
+
{
|
|
48865
|
+
"id": "openwop.it.v2-retirement-gate.a-row-removing-a-reader-for-persisted-data-is-refused-and-so-is-one-naming-no-rf",
|
|
48866
|
+
"file": "v2-retirement-gate.test.ts",
|
|
48867
|
+
"line": 275,
|
|
48868
|
+
"title": "a row removing a reader for persisted data is REFUSED, and so is one naming no RFC",
|
|
48869
|
+
"explicitId": "openwop.requirement.0255.steward-deletion-licence",
|
|
48870
|
+
"citations": [
|
|
48871
|
+
{
|
|
48872
|
+
"section": "COMPATIBILITY.md §3a (RFC 0255 §D)",
|
|
48873
|
+
"requirement": null,
|
|
48874
|
+
"interpolated": true
|
|
48875
|
+
},
|
|
48876
|
+
{
|
|
48877
|
+
"section": "COMPATIBILITY.md §3a (RFC 0255 §D)",
|
|
48878
|
+
"requirement": "the refusal must name the reader"
|
|
48879
|
+
},
|
|
48880
|
+
{
|
|
48881
|
+
"section": "COMPATIBILITY.md §3a (RFC 0255 §D)",
|
|
48882
|
+
"requirement": null,
|
|
48883
|
+
"interpolated": true
|
|
48884
|
+
}
|
|
48885
|
+
]
|
|
48886
|
+
},
|
|
49181
48887
|
{
|
|
49182
48888
|
"id": "openwop.it.v2-seams-not-in-canonical.the-corpus-gate-script-exits-0",
|
|
49183
48889
|
"file": "v2-seams-not-in-canonical.test.ts",
|
|
@@ -49590,6 +49296,47 @@
|
|
|
49590
49296
|
}
|
|
49591
49297
|
]
|
|
49592
49298
|
},
|
|
49299
|
+
{
|
|
49300
|
+
"id": "openwop.it.v2-surface-monotone-gate.a-property-deleted-with-its-baseline-regenerated-in-the-same-change-is-refused-a",
|
|
49301
|
+
"file": "v2-surface-monotone-gate.test.ts",
|
|
49302
|
+
"line": 313,
|
|
49303
|
+
"title": "a property deleted with its baseline regenerated in the same change is REFUSED against the published baseline",
|
|
49304
|
+
"explicitId": "openwop.requirement.0255.baseline-regeneration-refused",
|
|
49305
|
+
"citations": [
|
|
49306
|
+
{
|
|
49307
|
+
"section": "spec/v2/core/overview.md §0a (RFC 0255 §D)",
|
|
49308
|
+
"requirement": null,
|
|
49309
|
+
"interpolated": true
|
|
49310
|
+
},
|
|
49311
|
+
{
|
|
49312
|
+
"section": "spec/v2/core/overview.md §0a (RFC 0255 §D)",
|
|
49313
|
+
"requirement": null,
|
|
49314
|
+
"interpolated": true
|
|
49315
|
+
},
|
|
49316
|
+
{
|
|
49317
|
+
"section": "spec/v2/core/overview.md §0a (RFC 0255 §D)",
|
|
49318
|
+
"requirement": "the refusal must name the removed property"
|
|
49319
|
+
}
|
|
49320
|
+
]
|
|
49321
|
+
},
|
|
49322
|
+
{
|
|
49323
|
+
"id": "openwop.it.v2-surface-monotone-gate.positive-control-the-same-removal-named-by-a-steward-deletion-row-is-licensed",
|
|
49324
|
+
"file": "v2-surface-monotone-gate.test.ts",
|
|
49325
|
+
"line": 322,
|
|
49326
|
+
"title": "POSITIVE CONTROL — the same removal named by a steward-deletion row is licensed",
|
|
49327
|
+
"explicitId": "openwop.requirement.0255.baseline-regeneration-refused",
|
|
49328
|
+
"citations": [
|
|
49329
|
+
{
|
|
49330
|
+
"section": "spec/v2/core/overview.md §0a (RFC 0255 §D)",
|
|
49331
|
+
"requirement": null,
|
|
49332
|
+
"interpolated": true
|
|
49333
|
+
},
|
|
49334
|
+
{
|
|
49335
|
+
"section": "spec/v2/core/overview.md §0a (RFC 0255 §D)",
|
|
49336
|
+
"requirement": "the gate must say what licensed it"
|
|
49337
|
+
}
|
|
49338
|
+
]
|
|
49339
|
+
},
|
|
49593
49340
|
{
|
|
49594
49341
|
"id": "openwop.it.v2-threat-model-template.the-corpus-gate-script-exits-0",
|
|
49595
49342
|
"file": "v2-threat-model-template.test.ts",
|