@openwop/openwop-conformance 2.45.15 → 2.45.17
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 +33 -0
- package/README.md +2 -2
- package/dist/spec-artifacts.lock.json +2 -2
- package/package.json +2 -2
- package/requirements.json +1335 -14
- package/scenario-majors.json +104 -2
- package/schemas/CORPUS-STAMP.json +13 -13
- package/src/lib/artifact-schema-url-witness.ts +83 -0
- package/src/lib/dispatch-witness.ts +212 -0
- package/src/lib/family-advert-witness.ts +204 -5
- package/src/lib/fixture-run-observer.ts +97 -0
- package/src/lib/prompt-library-witness.ts +11 -2
- package/src/lib/provider-usage-witness.ts +63 -0
- package/src/lib/run-graph-double.ts +144 -0
- package/src/lib/subworkflow-witness.ts +192 -0
- package/src/scenarios/v2-agent-runtime-advertisement.test.ts +51 -0
- package/src/scenarios/v2-ai-envelope-advertisement.test.ts +43 -0
- package/src/scenarios/v2-artifact-created-static.test.ts +92 -0
- package/src/scenarios/v2-artifact-type-schema-url.test.ts +44 -0
- package/src/scenarios/v2-artifact-types-advertisement.test.ts +64 -0
- package/src/scenarios/v2-authorization-advertisement.test.ts +66 -0
- package/src/scenarios/v2-channel-presence-advertisement.test.ts +41 -0
- package/src/scenarios/v2-conversation-turn-model-provenance-advertisement.test.ts +41 -0
- package/src/scenarios/v2-conversation-turn-model-provenance.test.ts +110 -0
- package/src/scenarios/v2-credentials-advertisement.test.ts +66 -0
- package/src/scenarios/v2-data-residency-admission.test.ts +98 -0
- package/src/scenarios/v2-data-residency-advertisement.test.ts +52 -0
- package/src/scenarios/v2-dead-letter-advertisement.test.ts +54 -0
- package/src/scenarios/v2-discovery-etag.test.ts +86 -0
- package/src/scenarios/v2-dispatch-input-mapping.test.ts +70 -0
- package/src/scenarios/v2-dispatch-loop.test.ts +80 -0
- package/src/scenarios/v2-envelope-contracts-advertisement.test.ts +40 -0
- package/src/scenarios/v2-export-bundle-static.test.ts +108 -0
- package/src/scenarios/v2-multi-party-conversation-advertisement.test.ts +52 -0
- package/src/scenarios/v2-node-pack-runtimes-advertisement.test.ts +52 -0
- package/src/scenarios/v2-nondeterminism-policy-advertisement.test.ts +41 -0
- package/src/scenarios/v2-portability-advertisement.test.ts +63 -0
- package/src/scenarios/v2-prompt-library-advertisement.test.ts +40 -0
- package/src/scenarios/v2-prompt-list-and-fetch.test.ts +4 -2
- package/src/scenarios/v2-provider-usage-advertisement.test.ts +61 -0
- package/src/scenarios/v2-provider-usage-emission.test.ts +50 -0
- package/src/scenarios/v2-provider-usage-payload-static.test.ts +92 -0
- package/src/scenarios/v2-purpose-propagation-advertisement.test.ts +52 -0
- package/src/scenarios/v2-run-snapshot-etag.test.ts +35 -22
- package/src/scenarios/v2-scheduling-advertisement.test.ts +55 -0
- package/src/scenarios/v2-self-hosted-runner-advertisement.test.ts +52 -0
- package/src/scenarios/v2-self-hosted-runner-frames-static.test.ts +121 -0
- package/src/scenarios/v2-sub-workflow-advertisement.test.ts +53 -0
- package/src/scenarios/v2-subworkflow-input-mapping.test.ts +74 -0
- package/src/scenarios/v2-subworkflow-linkage.test.ts +76 -0
- package/src/scenarios/v2-ui-plugins-advertisement.test.ts +85 -0
package/requirements.json
CHANGED
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
"$comment": "GENERATED by conformance/scripts/generate-requirement-registry.mjs — do not edit. One record per it()/test() in src/scenarios. Ids: openwop.it.<file-stem>.<title-slug>[~n] (src/lib/requirement-ids.ts). A record with id null has an interpolated title; its run-time row is keyed by the rendered title and maps here by file+line only. Renamed ids need a row in requirement-aliases.json.",
|
|
3
3
|
"generatedFrom": "src/scenarios/*.test.ts",
|
|
4
4
|
"counts": {
|
|
5
|
-
"files":
|
|
6
|
-
"tests":
|
|
7
|
-
"withStableId":
|
|
5
|
+
"files": 725,
|
|
6
|
+
"tests": 2747,
|
|
7
|
+
"withStableId": 2747,
|
|
8
8
|
"interpolatedTitles": 0,
|
|
9
|
-
"explicitIds":
|
|
9
|
+
"explicitIds": 2613
|
|
10
10
|
},
|
|
11
11
|
"records": [
|
|
12
12
|
{
|
|
@@ -28252,6 +28252,48 @@
|
|
|
28252
28252
|
}
|
|
28253
28253
|
]
|
|
28254
28254
|
},
|
|
28255
|
+
{
|
|
28256
|
+
"id": "openwop.it.v2-agent-runtime-advertisement.the-agentruntime-record-validates-against-its-capabilities-schema-seat",
|
|
28257
|
+
"file": "v2-agent-runtime-advertisement.test.ts",
|
|
28258
|
+
"line": 34,
|
|
28259
|
+
"title": "the agentRuntime record validates against its capabilities-schema seat",
|
|
28260
|
+
"explicitId": "openwop.requirement.agent-runtime.advert-record-schema",
|
|
28261
|
+
"citations": [
|
|
28262
|
+
{
|
|
28263
|
+
"section": null,
|
|
28264
|
+
"requirement": null,
|
|
28265
|
+
"interpolated": true
|
|
28266
|
+
}
|
|
28267
|
+
]
|
|
28268
|
+
},
|
|
28269
|
+
{
|
|
28270
|
+
"id": "openwop.it.v2-agent-runtime-advertisement.advertising-agentruntime-also-advertises-agents-manifestruntime",
|
|
28271
|
+
"file": "v2-agent-runtime-advertisement.test.ts",
|
|
28272
|
+
"line": 43,
|
|
28273
|
+
"title": "advertising agentRuntime also advertises agents.manifestRuntime",
|
|
28274
|
+
"explicitId": "openwop.requirement.agent-runtime.implies-manifest-runtime",
|
|
28275
|
+
"citations": [
|
|
28276
|
+
{
|
|
28277
|
+
"section": null,
|
|
28278
|
+
"requirement": null,
|
|
28279
|
+
"interpolated": true
|
|
28280
|
+
}
|
|
28281
|
+
]
|
|
28282
|
+
},
|
|
28283
|
+
{
|
|
28284
|
+
"id": "openwop.it.v2-ai-envelope-advertisement.the-aienvelope-record-validates-against-its-capabilities-schema-seat",
|
|
28285
|
+
"file": "v2-ai-envelope-advertisement.test.ts",
|
|
28286
|
+
"line": 35,
|
|
28287
|
+
"title": "the aiEnvelope record validates against its capabilities-schema seat",
|
|
28288
|
+
"explicitId": "openwop.requirement.ai-envelope.advert-record-schema",
|
|
28289
|
+
"citations": [
|
|
28290
|
+
{
|
|
28291
|
+
"section": null,
|
|
28292
|
+
"requirement": null,
|
|
28293
|
+
"interpolated": true
|
|
28294
|
+
}
|
|
28295
|
+
]
|
|
28296
|
+
},
|
|
28255
28297
|
{
|
|
28256
28298
|
"id": "openwop.it.v2-ai-envelope-shape-static.ai-envelope-schema-json-compiles-under-ajv-2020",
|
|
28257
28299
|
"file": "v2-ai-envelope-shape-static.test.ts",
|
|
@@ -28734,6 +28776,165 @@
|
|
|
28734
28776
|
}
|
|
28735
28777
|
]
|
|
28736
28778
|
},
|
|
28779
|
+
{
|
|
28780
|
+
"id": "openwop.it.v2-artifact-created-static.artifact-created-is-a-registered-v2-run-event-type",
|
|
28781
|
+
"file": "v2-artifact-created-static.test.ts",
|
|
28782
|
+
"line": 51,
|
|
28783
|
+
"title": "artifact.created is a registered v2 run-event type",
|
|
28784
|
+
"explicitId": "openwop.requirement.artifact-types.created-event-type-registered",
|
|
28785
|
+
"citations": [
|
|
28786
|
+
{
|
|
28787
|
+
"section": "artifact-type-packs.md §Registration",
|
|
28788
|
+
"requirement": null,
|
|
28789
|
+
"interpolated": true
|
|
28790
|
+
}
|
|
28791
|
+
]
|
|
28792
|
+
},
|
|
28793
|
+
{
|
|
28794
|
+
"id": "openwop.it.v2-artifact-created-static.accepts-a-well-formed-payload-with-either-provenance-or-none",
|
|
28795
|
+
"file": "v2-artifact-created-static.test.ts",
|
|
28796
|
+
"line": 56,
|
|
28797
|
+
"title": "accepts a well-formed payload, with either provenance or none",
|
|
28798
|
+
"explicitId": "openwop.requirement.artifact-types.created-registration-source-enum",
|
|
28799
|
+
"citations": [
|
|
28800
|
+
{
|
|
28801
|
+
"section": "artifact-type-packs.md §Registration",
|
|
28802
|
+
"requirement": null,
|
|
28803
|
+
"interpolated": true
|
|
28804
|
+
}
|
|
28805
|
+
]
|
|
28806
|
+
},
|
|
28807
|
+
{
|
|
28808
|
+
"id": "openwop.it.v2-artifact-created-static.rejects-a-payload-without-s",
|
|
28809
|
+
"file": "v2-artifact-created-static.test.ts",
|
|
28810
|
+
"line": 64,
|
|
28811
|
+
"title": "rejects a payload without %s",
|
|
28812
|
+
"explicitId": "openwop.requirement.artifact-types.created-requires-artifact-type",
|
|
28813
|
+
"citations": [
|
|
28814
|
+
{
|
|
28815
|
+
"section": "artifact-type-packs.md §Registration",
|
|
28816
|
+
"requirement": null,
|
|
28817
|
+
"interpolated": true
|
|
28818
|
+
}
|
|
28819
|
+
]
|
|
28820
|
+
},
|
|
28821
|
+
{
|
|
28822
|
+
"id": "openwop.it.v2-artifact-created-static.rejects-a-registrationsource-outside-pack-host",
|
|
28823
|
+
"file": "v2-artifact-created-static.test.ts",
|
|
28824
|
+
"line": 70,
|
|
28825
|
+
"title": "rejects a registrationSource outside pack | host",
|
|
28826
|
+
"explicitId": "openwop.requirement.artifact-types.created-registration-source-enum",
|
|
28827
|
+
"citations": [
|
|
28828
|
+
{
|
|
28829
|
+
"section": "artifact-type-packs.md §Registration",
|
|
28830
|
+
"requirement": "registrationSource MUST be pack or host"
|
|
28831
|
+
}
|
|
28832
|
+
]
|
|
28833
|
+
},
|
|
28834
|
+
{
|
|
28835
|
+
"id": "openwop.it.v2-artifact-created-static.the-discovery-per-type-registrationsource-carries-the-same-vocabulary-as-the-eve",
|
|
28836
|
+
"file": "v2-artifact-created-static.test.ts",
|
|
28837
|
+
"line": 74,
|
|
28838
|
+
"title": "the discovery per-type registrationSource carries the same vocabulary as the event",
|
|
28839
|
+
"explicitId": "openwop.requirement.artifact-types.created-registration-source-enum",
|
|
28840
|
+
"citations": [
|
|
28841
|
+
{
|
|
28842
|
+
"section": "artifact-type-packs.md §Registration",
|
|
28843
|
+
"requirement": "artifact.created.registrationSource MUST be the pack | host enum"
|
|
28844
|
+
},
|
|
28845
|
+
{
|
|
28846
|
+
"section": "capabilities.schema.json §artifactTypes.types",
|
|
28847
|
+
"requirement": "the advertised per-type registrationSource MUST use the vocabulary artifact.created carries"
|
|
28848
|
+
}
|
|
28849
|
+
]
|
|
28850
|
+
},
|
|
28851
|
+
{
|
|
28852
|
+
"id": "openwop.it.v2-artifact-created-static.rejects-a-non-boolean-registered",
|
|
28853
|
+
"file": "v2-artifact-created-static.test.ts",
|
|
28854
|
+
"line": 83,
|
|
28855
|
+
"title": "rejects a non-boolean registered",
|
|
28856
|
+
"explicitId": "openwop.requirement.artifact-types.created-registered-boolean",
|
|
28857
|
+
"citations": [
|
|
28858
|
+
{
|
|
28859
|
+
"section": "artifact-type-packs.md §Registration",
|
|
28860
|
+
"requirement": "registered MUST be a boolean"
|
|
28861
|
+
}
|
|
28862
|
+
]
|
|
28863
|
+
},
|
|
28864
|
+
{
|
|
28865
|
+
"id": "openwop.it.v2-artifact-created-static.rejects-an-unknown-key-and-carries-a-vendor-key-under-the-rfc-0185-hatch",
|
|
28866
|
+
"file": "v2-artifact-created-static.test.ts",
|
|
28867
|
+
"line": 87,
|
|
28868
|
+
"title": "rejects an unknown key, and carries a vendor key under the RFC 0185 hatch",
|
|
28869
|
+
"explicitId": "openwop.requirement.artifact-types.created-payload-closed",
|
|
28870
|
+
"citations": [
|
|
28871
|
+
{
|
|
28872
|
+
"section": "artifact-type-packs.md §Registration",
|
|
28873
|
+
"requirement": "an unknown key on artifact.created MUST be rejected"
|
|
28874
|
+
},
|
|
28875
|
+
{
|
|
28876
|
+
"section": "run-event-payloads.schema.json §artifactCreated (RFC 0185)",
|
|
28877
|
+
"requirement": null,
|
|
28878
|
+
"interpolated": true
|
|
28879
|
+
}
|
|
28880
|
+
]
|
|
28881
|
+
},
|
|
28882
|
+
{
|
|
28883
|
+
"id": "openwop.it.v2-artifact-type-schema-url.every-host-registered-type-with-an-advertised-schemaversion-has-its-schema-serve",
|
|
28884
|
+
"file": "v2-artifact-type-schema-url.test.ts",
|
|
28885
|
+
"line": 34,
|
|
28886
|
+
"title": "every host-registered type with an advertised schemaVersion has its schema served at {HostBase}/schemas/artifacts/{id}.schema.json",
|
|
28887
|
+
"explicitId": "openwop.requirement.artifact-types.host-registered-schema-served",
|
|
28888
|
+
"citations": [
|
|
28889
|
+
{
|
|
28890
|
+
"section": null,
|
|
28891
|
+
"requirement": null,
|
|
28892
|
+
"interpolated": true
|
|
28893
|
+
}
|
|
28894
|
+
]
|
|
28895
|
+
},
|
|
28896
|
+
{
|
|
28897
|
+
"id": "openwop.it.v2-artifact-types-advertisement.the-artifacttypes-record-validates-against-its-capabilities-schema-seat",
|
|
28898
|
+
"file": "v2-artifact-types-advertisement.test.ts",
|
|
28899
|
+
"line": 41,
|
|
28900
|
+
"title": "the artifactTypes record validates against its capabilities-schema seat",
|
|
28901
|
+
"explicitId": "openwop.requirement.artifact-types.advert-record-schema",
|
|
28902
|
+
"citations": [
|
|
28903
|
+
{
|
|
28904
|
+
"section": null,
|
|
28905
|
+
"requirement": null,
|
|
28906
|
+
"interpolated": true
|
|
28907
|
+
}
|
|
28908
|
+
]
|
|
28909
|
+
},
|
|
28910
|
+
{
|
|
28911
|
+
"id": "openwop.it.v2-artifact-types-advertisement.artifacttypes-store-render-and-export-are-well-formed",
|
|
28912
|
+
"file": "v2-artifact-types-advertisement.test.ts",
|
|
28913
|
+
"line": 49,
|
|
28914
|
+
"title": "artifactTypes.store, render and export are well-formed",
|
|
28915
|
+
"explicitId": "openwop.requirement.artifact-types.global-facets-shape",
|
|
28916
|
+
"citations": [
|
|
28917
|
+
{
|
|
28918
|
+
"section": null,
|
|
28919
|
+
"requirement": null,
|
|
28920
|
+
"interpolated": true
|
|
28921
|
+
}
|
|
28922
|
+
]
|
|
28923
|
+
},
|
|
28924
|
+
{
|
|
28925
|
+
"id": "openwop.it.v2-artifact-types-advertisement.every-artifacttypes-types-entry-validates-against-its-seat",
|
|
28926
|
+
"file": "v2-artifact-types-advertisement.test.ts",
|
|
28927
|
+
"line": 57,
|
|
28928
|
+
"title": "every artifactTypes.types entry validates against its seat",
|
|
28929
|
+
"explicitId": "openwop.requirement.artifact-types.per-type-entry-shape",
|
|
28930
|
+
"citations": [
|
|
28931
|
+
{
|
|
28932
|
+
"section": null,
|
|
28933
|
+
"requirement": null,
|
|
28934
|
+
"interpolated": true
|
|
28935
|
+
}
|
|
28936
|
+
]
|
|
28937
|
+
},
|
|
28737
28938
|
{
|
|
28738
28939
|
"id": "openwop.it.v2-assurance-downgrade-audited.an-identity-below-the-lane-floor-is-refused-with-sender-constraint-missing",
|
|
28739
28940
|
"file": "v2-assurance-downgrade-audited.test.ts",
|
|
@@ -28839,6 +29040,48 @@
|
|
|
28839
29040
|
}
|
|
28840
29041
|
]
|
|
28841
29042
|
},
|
|
29043
|
+
{
|
|
29044
|
+
"id": "openwop.it.v2-authorization-advertisement.the-authorization-record-validates-against-its-capabilities-schema-seat",
|
|
29045
|
+
"file": "v2-authorization-advertisement.test.ts",
|
|
29046
|
+
"line": 40,
|
|
29047
|
+
"title": "the authorization record validates against its capabilities-schema seat",
|
|
29048
|
+
"explicitId": "openwop.requirement.authorization.advert-record-schema",
|
|
29049
|
+
"citations": [
|
|
29050
|
+
{
|
|
29051
|
+
"section": null,
|
|
29052
|
+
"requirement": null,
|
|
29053
|
+
"interpolated": true
|
|
29054
|
+
}
|
|
29055
|
+
]
|
|
29056
|
+
},
|
|
29057
|
+
{
|
|
29058
|
+
"id": "openwop.it.v2-authorization-advertisement.authorization-failclosed-is-true-when-present",
|
|
29059
|
+
"file": "v2-authorization-advertisement.test.ts",
|
|
29060
|
+
"line": 49,
|
|
29061
|
+
"title": "authorization.failClosed is true when present",
|
|
29062
|
+
"explicitId": "openwop.requirement.authorization.fail-closed-true",
|
|
29063
|
+
"citations": [
|
|
29064
|
+
{
|
|
29065
|
+
"section": null,
|
|
29066
|
+
"requirement": null,
|
|
29067
|
+
"interpolated": true
|
|
29068
|
+
}
|
|
29069
|
+
]
|
|
29070
|
+
},
|
|
29071
|
+
{
|
|
29072
|
+
"id": "openwop.it.v2-authorization-advertisement.every-authorization-roles-entry-has-a-non-empty-role-and-a-scopes-list",
|
|
29073
|
+
"file": "v2-authorization-advertisement.test.ts",
|
|
29074
|
+
"line": 58,
|
|
29075
|
+
"title": "every authorization.roles entry has a non-empty role and a scopes list",
|
|
29076
|
+
"explicitId": "openwop.requirement.authorization.roles-shape",
|
|
29077
|
+
"citations": [
|
|
29078
|
+
{
|
|
29079
|
+
"section": null,
|
|
29080
|
+
"requirement": null,
|
|
29081
|
+
"interpolated": true
|
|
29082
|
+
}
|
|
29083
|
+
]
|
|
29084
|
+
},
|
|
28842
29085
|
{
|
|
28843
29086
|
"id": "openwop.it.v2-bound-id-kinds.subscriptionid-post-webhooks-mints-a-bound-webhookid-the-projected-segment-is-ac",
|
|
28844
29087
|
"file": "v2-bound-id-kinds.test.ts",
|
|
@@ -29339,6 +29582,20 @@
|
|
|
29339
29582
|
}
|
|
29340
29583
|
]
|
|
29341
29584
|
},
|
|
29585
|
+
{
|
|
29586
|
+
"id": "openwop.it.v2-channel-presence-advertisement.the-channelpresence-record-validates-against-its-capabilities-schema-seat",
|
|
29587
|
+
"file": "v2-channel-presence-advertisement.test.ts",
|
|
29588
|
+
"line": 33,
|
|
29589
|
+
"title": "the channelPresence record validates against its capabilities-schema seat",
|
|
29590
|
+
"explicitId": "openwop.requirement.channel-presence.advert-record-schema",
|
|
29591
|
+
"citations": [
|
|
29592
|
+
{
|
|
29593
|
+
"section": null,
|
|
29594
|
+
"requirement": null,
|
|
29595
|
+
"interpolated": true
|
|
29596
|
+
}
|
|
29597
|
+
]
|
|
29598
|
+
},
|
|
29342
29599
|
{
|
|
29343
29600
|
"id": "openwop.it.v2-client-version-header.a-client-at-the-floor-is-not-below-it-equal-on-major-minor-the-patch-never-decid",
|
|
29344
29601
|
"file": "v2-client-version-header.test.ts",
|
|
@@ -29613,6 +29870,48 @@
|
|
|
29613
29870
|
}
|
|
29614
29871
|
]
|
|
29615
29872
|
},
|
|
29873
|
+
{
|
|
29874
|
+
"id": "openwop.it.v2-conversation-turn-model-provenance-advertisement.the-conversationturnmodelprovenance-record-validates-against-its-capabilities-sc",
|
|
29875
|
+
"file": "v2-conversation-turn-model-provenance-advertisement.test.ts",
|
|
29876
|
+
"line": 33,
|
|
29877
|
+
"title": "the conversationTurnModelProvenance record validates against its capabilities-schema seat",
|
|
29878
|
+
"explicitId": "openwop.requirement.conversation-turn-model-provenance.advert-record-schema",
|
|
29879
|
+
"citations": [
|
|
29880
|
+
{
|
|
29881
|
+
"section": null,
|
|
29882
|
+
"requirement": null,
|
|
29883
|
+
"interpolated": true
|
|
29884
|
+
}
|
|
29885
|
+
]
|
|
29886
|
+
},
|
|
29887
|
+
{
|
|
29888
|
+
"id": "openwop.it.v2-conversation-turn-model-provenance.a-host-that-stamps-agent-model-on-a-turn-advertises-conversationturnmodelprovena",
|
|
29889
|
+
"file": "v2-conversation-turn-model-provenance.test.ts",
|
|
29890
|
+
"line": 90,
|
|
29891
|
+
"title": "a host that stamps agent.model on a turn advertises conversationTurnModelProvenance",
|
|
29892
|
+
"explicitId": "openwop.requirement.conversation-turn-model-provenance.stamp-requires-advert",
|
|
29893
|
+
"citations": [
|
|
29894
|
+
{
|
|
29895
|
+
"section": "conversation.md §conversationTurnModelProvenance",
|
|
29896
|
+
"requirement": null,
|
|
29897
|
+
"interpolated": true
|
|
29898
|
+
}
|
|
29899
|
+
]
|
|
29900
|
+
},
|
|
29901
|
+
{
|
|
29902
|
+
"id": "openwop.it.v2-conversation-turn-model-provenance.every-agent-model-stamp-carries-provider-and-model-identifiers-only",
|
|
29903
|
+
"file": "v2-conversation-turn-model-provenance.test.ts",
|
|
29904
|
+
"line": 99,
|
|
29905
|
+
"title": "every agent.model stamp carries provider and model identifiers only",
|
|
29906
|
+
"explicitId": "openwop.requirement.conversation-turn-model-provenance.stamp-closed",
|
|
29907
|
+
"citations": [
|
|
29908
|
+
{
|
|
29909
|
+
"section": "conversation.md §conversationTurnModelProvenance",
|
|
29910
|
+
"requirement": null,
|
|
29911
|
+
"interpolated": true
|
|
29912
|
+
}
|
|
29913
|
+
]
|
|
29914
|
+
},
|
|
29616
29915
|
{
|
|
29617
29916
|
"id": "openwop.it.v2-conversation-turn-parts.every-conversation-exchanged-turn-carrying-parts-validates-against-the-v2-turn-d",
|
|
29618
29917
|
"file": "v2-conversation-turn-parts.test.ts",
|
|
@@ -29903,6 +30202,229 @@
|
|
|
29903
30202
|
}
|
|
29904
30203
|
]
|
|
29905
30204
|
},
|
|
30205
|
+
{
|
|
30206
|
+
"id": "openwop.it.v2-credentials-advertisement.the-credentials-record-validates-against-its-capabilities-schema-seat",
|
|
30207
|
+
"file": "v2-credentials-advertisement.test.ts",
|
|
30208
|
+
"line": 40,
|
|
30209
|
+
"title": "the credentials record validates against its capabilities-schema seat",
|
|
30210
|
+
"explicitId": "openwop.requirement.credentials.advert-record-schema",
|
|
30211
|
+
"citations": [
|
|
30212
|
+
{
|
|
30213
|
+
"section": null,
|
|
30214
|
+
"requirement": null,
|
|
30215
|
+
"interpolated": true
|
|
30216
|
+
}
|
|
30217
|
+
]
|
|
30218
|
+
},
|
|
30219
|
+
{
|
|
30220
|
+
"id": "openwop.it.v2-credentials-advertisement.credentials-scopes-is-a-subset-of-user-workspace-tenant",
|
|
30221
|
+
"file": "v2-credentials-advertisement.test.ts",
|
|
30222
|
+
"line": 49,
|
|
30223
|
+
"title": "credentials.scopes is a subset of user, workspace, tenant",
|
|
30224
|
+
"explicitId": "openwop.requirement.credentials.scopes-subset",
|
|
30225
|
+
"citations": [
|
|
30226
|
+
{
|
|
30227
|
+
"section": null,
|
|
30228
|
+
"requirement": null,
|
|
30229
|
+
"interpolated": true
|
|
30230
|
+
}
|
|
30231
|
+
]
|
|
30232
|
+
},
|
|
30233
|
+
{
|
|
30234
|
+
"id": "openwop.it.v2-credentials-advertisement.credentials-rotation-is-none-or-two-key-overlap",
|
|
30235
|
+
"file": "v2-credentials-advertisement.test.ts",
|
|
30236
|
+
"line": 58,
|
|
30237
|
+
"title": "credentials.rotation is none or two-key-overlap",
|
|
30238
|
+
"explicitId": "openwop.requirement.credentials.rotation-value",
|
|
30239
|
+
"citations": [
|
|
30240
|
+
{
|
|
30241
|
+
"section": null,
|
|
30242
|
+
"requirement": null,
|
|
30243
|
+
"interpolated": true
|
|
30244
|
+
}
|
|
30245
|
+
]
|
|
30246
|
+
},
|
|
30247
|
+
{
|
|
30248
|
+
"id": "openwop.it.v2-data-residency-admission.a-region-outside-dataresidency-regions-answers-422-residency-unavailable-and-cre",
|
|
30249
|
+
"file": "v2-data-residency-admission.test.ts",
|
|
30250
|
+
"line": 66,
|
|
30251
|
+
"title": "a region outside dataResidency.regions answers 422 residency_unavailable and creates no run",
|
|
30252
|
+
"explicitId": "openwop.requirement.data-residency.reject-unadvertised-region",
|
|
30253
|
+
"citations": [
|
|
30254
|
+
{
|
|
30255
|
+
"section": "spec/v2/core/runs.md §dataResidency",
|
|
30256
|
+
"requirement": null,
|
|
30257
|
+
"interpolated": true
|
|
30258
|
+
},
|
|
30259
|
+
{
|
|
30260
|
+
"section": "spec/v2/core/runs.md §dataResidency",
|
|
30261
|
+
"requirement": "the refusal MUST carry the registered code residency_unavailable"
|
|
30262
|
+
},
|
|
30263
|
+
{
|
|
30264
|
+
"section": "spec/v2/core/runs.md §dataResidency",
|
|
30265
|
+
"requirement": null,
|
|
30266
|
+
"interpolated": true
|
|
30267
|
+
}
|
|
30268
|
+
]
|
|
30269
|
+
},
|
|
30270
|
+
{
|
|
30271
|
+
"id": "openwop.it.v2-data-residency-admission.a-region-inside-dataresidency-regions-is-accepted",
|
|
30272
|
+
"file": "v2-data-residency-admission.test.ts",
|
|
30273
|
+
"line": 82,
|
|
30274
|
+
"title": "a region inside dataResidency.regions is accepted",
|
|
30275
|
+
"explicitId": "openwop.requirement.data-residency.accept-advertised-region",
|
|
30276
|
+
"citations": [
|
|
30277
|
+
{
|
|
30278
|
+
"section": "spec/v2/core/runs.md §dataResidency",
|
|
30279
|
+
"requirement": null,
|
|
30280
|
+
"interpolated": true
|
|
30281
|
+
},
|
|
30282
|
+
{
|
|
30283
|
+
"section": "spec/v2/core/runs.md §dataResidency",
|
|
30284
|
+
"requirement": null,
|
|
30285
|
+
"interpolated": true
|
|
30286
|
+
}
|
|
30287
|
+
]
|
|
30288
|
+
},
|
|
30289
|
+
{
|
|
30290
|
+
"id": "openwop.it.v2-data-residency-advertisement.the-dataresidency-record-validates-against-its-capabilities-schema-seat",
|
|
30291
|
+
"file": "v2-data-residency-advertisement.test.ts",
|
|
30292
|
+
"line": 35,
|
|
30293
|
+
"title": "the dataResidency record validates against its capabilities-schema seat",
|
|
30294
|
+
"explicitId": "openwop.requirement.data-residency.advert-record-schema",
|
|
30295
|
+
"citations": [
|
|
30296
|
+
{
|
|
30297
|
+
"section": null,
|
|
30298
|
+
"requirement": null,
|
|
30299
|
+
"interpolated": true
|
|
30300
|
+
}
|
|
30301
|
+
]
|
|
30302
|
+
},
|
|
30303
|
+
{
|
|
30304
|
+
"id": "openwop.it.v2-data-residency-advertisement.dataresidency-regions-holds-unique-non-empty-region-codes",
|
|
30305
|
+
"file": "v2-data-residency-advertisement.test.ts",
|
|
30306
|
+
"line": 44,
|
|
30307
|
+
"title": "dataResidency.regions holds unique non-empty region codes",
|
|
30308
|
+
"explicitId": "openwop.requirement.data-residency.regions-shape",
|
|
30309
|
+
"citations": [
|
|
30310
|
+
{
|
|
30311
|
+
"section": null,
|
|
30312
|
+
"requirement": null,
|
|
30313
|
+
"interpolated": true
|
|
30314
|
+
}
|
|
30315
|
+
]
|
|
30316
|
+
},
|
|
30317
|
+
{
|
|
30318
|
+
"id": "openwop.it.v2-dead-letter-advertisement.the-deadletter-record-validates-against-its-capabilities-schema-seat",
|
|
30319
|
+
"file": "v2-dead-letter-advertisement.test.ts",
|
|
30320
|
+
"line": 37,
|
|
30321
|
+
"title": "the deadLetter record validates against its capabilities-schema seat",
|
|
30322
|
+
"explicitId": "openwop.requirement.dead-letter.advert-record-schema",
|
|
30323
|
+
"citations": [
|
|
30324
|
+
{
|
|
30325
|
+
"section": null,
|
|
30326
|
+
"requirement": null,
|
|
30327
|
+
"interpolated": true
|
|
30328
|
+
}
|
|
30329
|
+
]
|
|
30330
|
+
},
|
|
30331
|
+
{
|
|
30332
|
+
"id": "openwop.it.v2-dead-letter-advertisement.deadletter-retentiondays-is-an-integer-of-at-least-1",
|
|
30333
|
+
"file": "v2-dead-letter-advertisement.test.ts",
|
|
30334
|
+
"line": 46,
|
|
30335
|
+
"title": "deadLetter.retentionDays is an integer of at least 1",
|
|
30336
|
+
"explicitId": "openwop.requirement.dead-letter.retention-days",
|
|
30337
|
+
"citations": [
|
|
30338
|
+
{
|
|
30339
|
+
"section": null,
|
|
30340
|
+
"requirement": null,
|
|
30341
|
+
"interpolated": true
|
|
30342
|
+
}
|
|
30343
|
+
]
|
|
30344
|
+
},
|
|
30345
|
+
{
|
|
30346
|
+
"id": "openwop.it.v2-discovery-etag.the-discovery-document-carries-an-etag",
|
|
30347
|
+
"file": "v2-discovery-etag.test.ts",
|
|
30348
|
+
"line": 58,
|
|
30349
|
+
"title": "the discovery document carries an ETag",
|
|
30350
|
+
"explicitId": "openwop.requirement.capabilities.discovery-etag-emitted",
|
|
30351
|
+
"citations": [
|
|
30352
|
+
{
|
|
30353
|
+
"section": "spec/v2/core/capabilities.md §1",
|
|
30354
|
+
"requirement": null,
|
|
30355
|
+
"interpolated": true
|
|
30356
|
+
}
|
|
30357
|
+
]
|
|
30358
|
+
},
|
|
30359
|
+
{
|
|
30360
|
+
"id": "openwop.it.v2-discovery-etag.a-matching-if-none-match-receives-304-with-no-body-and-the-version-header-a-non",
|
|
30361
|
+
"file": "v2-discovery-etag.test.ts",
|
|
30362
|
+
"line": 65,
|
|
30363
|
+
"title": "a matching If-None-Match receives 304 with no body and the version header; a non-matching one receives 200",
|
|
30364
|
+
"explicitId": "openwop.requirement.capabilities.discovery-etag-revalidates",
|
|
30365
|
+
"citations": [
|
|
30366
|
+
{
|
|
30367
|
+
"section": "spec/v2/core/capabilities.md §1",
|
|
30368
|
+
"requirement": null,
|
|
30369
|
+
"interpolated": true
|
|
30370
|
+
},
|
|
30371
|
+
{
|
|
30372
|
+
"section": "spec/v2/core/headers.md §Request headers",
|
|
30373
|
+
"requirement": null,
|
|
30374
|
+
"interpolated": true
|
|
30375
|
+
},
|
|
30376
|
+
{
|
|
30377
|
+
"section": "spec/v2/core/versioning.md §1.4",
|
|
30378
|
+
"requirement": null,
|
|
30379
|
+
"interpolated": true
|
|
30380
|
+
},
|
|
30381
|
+
{
|
|
30382
|
+
"section": "spec/v2/core/capabilities.md §1",
|
|
30383
|
+
"requirement": null,
|
|
30384
|
+
"interpolated": true
|
|
30385
|
+
}
|
|
30386
|
+
]
|
|
30387
|
+
},
|
|
30388
|
+
{
|
|
30389
|
+
"id": "openwop.it.v2-dispatch-input-mapping.inputmapping-projects-the-parent-variable-into-the-dispatched-child-inputs",
|
|
30390
|
+
"file": "v2-dispatch-input-mapping.test.ts",
|
|
30391
|
+
"line": 59,
|
|
30392
|
+
"title": "inputMapping projects the parent variable into the dispatched child inputs",
|
|
30393
|
+
"explicitId": null,
|
|
30394
|
+
"citations": []
|
|
30395
|
+
},
|
|
30396
|
+
{
|
|
30397
|
+
"id": "openwop.it.v2-dispatch-input-mapping.an-unset-parent-variable-projects-to-undefined-the-child-input-is-absent-never-n",
|
|
30398
|
+
"file": "v2-dispatch-input-mapping.test.ts",
|
|
30399
|
+
"line": 65,
|
|
30400
|
+
"title": "an unset parent variable projects to undefined: the child input is absent, never null",
|
|
30401
|
+
"explicitId": null,
|
|
30402
|
+
"citations": []
|
|
30403
|
+
},
|
|
30404
|
+
{
|
|
30405
|
+
"id": "openwop.it.v2-dispatch-loop.each-turn-records-its-decision-and-terminate-completes-the-run",
|
|
30406
|
+
"file": "v2-dispatch-loop.test.ts",
|
|
30407
|
+
"line": 63,
|
|
30408
|
+
"title": "each turn records its decision and terminate completes the run",
|
|
30409
|
+
"explicitId": null,
|
|
30410
|
+
"citations": []
|
|
30411
|
+
},
|
|
30412
|
+
{
|
|
30413
|
+
"id": "openwop.it.v2-dispatch-loop.every-recorded-decision-is-well-formed-and-the-deciding-agent-never-changes",
|
|
30414
|
+
"file": "v2-dispatch-loop.test.ts",
|
|
30415
|
+
"line": 69,
|
|
30416
|
+
"title": "every recorded decision is well-formed and the deciding agent never changes",
|
|
30417
|
+
"explicitId": null,
|
|
30418
|
+
"citations": []
|
|
30419
|
+
},
|
|
30420
|
+
{
|
|
30421
|
+
"id": "openwop.it.v2-dispatch-loop.at-executionmodel-version-5-iteration-is-1-based-and-increments-by-exactly-1-per",
|
|
30422
|
+
"file": "v2-dispatch-loop.test.ts",
|
|
30423
|
+
"line": 75,
|
|
30424
|
+
"title": "at executionModel.version >= 5, iteration is 1-based and increments by exactly 1 per turn",
|
|
30425
|
+
"explicitId": null,
|
|
30426
|
+
"citations": []
|
|
30427
|
+
},
|
|
29906
30428
|
{
|
|
29907
30429
|
"id": "openwop.it.v2-dual-stack-negotiation.a-run-created-through-v1-runs-with-no-header-is-readable-through-runs-under-open",
|
|
29908
30430
|
"file": "v2-dual-stack-negotiation.test.ts",
|
|
@@ -30283,6 +30805,20 @@
|
|
|
30283
30805
|
}
|
|
30284
30806
|
]
|
|
30285
30807
|
},
|
|
30808
|
+
{
|
|
30809
|
+
"id": "openwop.it.v2-envelope-contracts-advertisement.the-envelopecontracts-record-validates-against-its-capabilities-schema-seat",
|
|
30810
|
+
"file": "v2-envelope-contracts-advertisement.test.ts",
|
|
30811
|
+
"line": 32,
|
|
30812
|
+
"title": "the envelopeContracts record validates against its capabilities-schema seat",
|
|
30813
|
+
"explicitId": "openwop.requirement.envelope-contracts.advert-record-schema",
|
|
30814
|
+
"citations": [
|
|
30815
|
+
{
|
|
30816
|
+
"section": null,
|
|
30817
|
+
"requirement": null,
|
|
30818
|
+
"interpolated": true
|
|
30819
|
+
}
|
|
30820
|
+
]
|
|
30821
|
+
},
|
|
30286
30822
|
{
|
|
30287
30823
|
"id": "openwop.requirement.envelopes.reasoning-declared-optional-string",
|
|
30288
30824
|
"file": "v2-envelope-reasoning-shape.test.ts",
|
|
@@ -30754,6 +31290,144 @@
|
|
|
30754
31290
|
}
|
|
30755
31291
|
]
|
|
30756
31292
|
},
|
|
31293
|
+
{
|
|
31294
|
+
"id": "openwop.it.v2-export-bundle-static.accepts-a-conforming-bundle-at-bundleversion-2",
|
|
31295
|
+
"file": "v2-export-bundle-static.test.ts",
|
|
31296
|
+
"line": 53,
|
|
31297
|
+
"title": "accepts a conforming bundle at bundleVersion \"2\"",
|
|
31298
|
+
"explicitId": "openwop.requirement.portability.bundle-version-2",
|
|
31299
|
+
"citations": [
|
|
31300
|
+
{
|
|
31301
|
+
"section": "portability.md §The export bundle",
|
|
31302
|
+
"requirement": null,
|
|
31303
|
+
"interpolated": true
|
|
31304
|
+
}
|
|
31305
|
+
]
|
|
31306
|
+
},
|
|
31307
|
+
{
|
|
31308
|
+
"id": "openwop.it.v2-export-bundle-static.rejects-the-v1-bundleversion-1-and-a-missing-bundleversion",
|
|
31309
|
+
"file": "v2-export-bundle-static.test.ts",
|
|
31310
|
+
"line": 58,
|
|
31311
|
+
"title": "rejects the v1 bundleVersion \"1\" and a missing bundleVersion",
|
|
31312
|
+
"explicitId": "openwop.requirement.portability.bundle-version-2",
|
|
31313
|
+
"citations": [
|
|
31314
|
+
{
|
|
31315
|
+
"section": "portability.md §The export bundle",
|
|
31316
|
+
"requirement": "a v2 bundle MUST carry bundleVersion \"2\"; \"1\" MUST be rejected"
|
|
31317
|
+
},
|
|
31318
|
+
{
|
|
31319
|
+
"section": "portability.md §The export bundle",
|
|
31320
|
+
"requirement": "a bundle without bundleVersion MUST be rejected"
|
|
31321
|
+
}
|
|
31322
|
+
]
|
|
31323
|
+
},
|
|
31324
|
+
{
|
|
31325
|
+
"id": "openwop.it.v2-export-bundle-static.rejects-an-unknown-item-kind-and-an-item-without-ref",
|
|
31326
|
+
"file": "v2-export-bundle-static.test.ts",
|
|
31327
|
+
"line": 64,
|
|
31328
|
+
"title": "rejects an unknown item kind and an item without ref",
|
|
31329
|
+
"explicitId": "openwop.requirement.portability.bundle-item-shape",
|
|
31330
|
+
"citations": [
|
|
31331
|
+
{
|
|
31332
|
+
"section": "portability.md §The export bundle",
|
|
31333
|
+
"requirement": "an unknown item kind MUST be rejected"
|
|
31334
|
+
},
|
|
31335
|
+
{
|
|
31336
|
+
"section": "portability.md §The export bundle",
|
|
31337
|
+
"requirement": "an item without a ref MUST be rejected"
|
|
31338
|
+
}
|
|
31339
|
+
]
|
|
31340
|
+
},
|
|
31341
|
+
{
|
|
31342
|
+
"id": "openwop.it.v2-export-bundle-static.admits-no-s-field-at-the-bundle-root-or-under-source",
|
|
31343
|
+
"file": "v2-export-bundle-static.test.ts",
|
|
31344
|
+
"line": 69,
|
|
31345
|
+
"title": "admits no %s field at the bundle root or under source",
|
|
31346
|
+
"explicitId": "openwop.requirement.portability.bundle-no-credential-field",
|
|
31347
|
+
"citations": [
|
|
31348
|
+
{
|
|
31349
|
+
"section": "portability.md §The export bundle",
|
|
31350
|
+
"requirement": null,
|
|
31351
|
+
"interpolated": true
|
|
31352
|
+
},
|
|
31353
|
+
{
|
|
31354
|
+
"section": "portability.md §The export bundle",
|
|
31355
|
+
"requirement": null,
|
|
31356
|
+
"interpolated": true
|
|
31357
|
+
}
|
|
31358
|
+
]
|
|
31359
|
+
},
|
|
31360
|
+
{
|
|
31361
|
+
"id": "openwop.it.v2-export-bundle-static.import-applied-is-a-registered-v2-run-event-type",
|
|
31362
|
+
"file": "v2-export-bundle-static.test.ts",
|
|
31363
|
+
"line": 79,
|
|
31364
|
+
"title": "import.applied is a registered v2 run-event type",
|
|
31365
|
+
"explicitId": "openwop.requirement.portability.import-applied-content-free",
|
|
31366
|
+
"citations": [
|
|
31367
|
+
{
|
|
31368
|
+
"section": null,
|
|
31369
|
+
"requirement": null,
|
|
31370
|
+
"interpolated": true
|
|
31371
|
+
}
|
|
31372
|
+
]
|
|
31373
|
+
},
|
|
31374
|
+
{
|
|
31375
|
+
"id": "openwop.it.v2-export-bundle-static.a-counts-and-refs-payload-validates-one-carrying-item-payloads-does-not",
|
|
31376
|
+
"file": "v2-export-bundle-static.test.ts",
|
|
31377
|
+
"line": 84,
|
|
31378
|
+
"title": "a counts-and-refs payload validates; one carrying item payloads does not",
|
|
31379
|
+
"explicitId": "openwop.requirement.portability.import-applied-content-free",
|
|
31380
|
+
"citations": [
|
|
31381
|
+
{
|
|
31382
|
+
"section": null,
|
|
31383
|
+
"requirement": null,
|
|
31384
|
+
"interpolated": true
|
|
31385
|
+
},
|
|
31386
|
+
{
|
|
31387
|
+
"section": null,
|
|
31388
|
+
"requirement": "import.applied MUST NOT carry item payloads",
|
|
31389
|
+
"interpolated": true
|
|
31390
|
+
},
|
|
31391
|
+
{
|
|
31392
|
+
"section": null,
|
|
31393
|
+
"requirement": "import.applied counts MUST be the four outcome tallies only",
|
|
31394
|
+
"interpolated": true
|
|
31395
|
+
}
|
|
31396
|
+
]
|
|
31397
|
+
},
|
|
31398
|
+
{
|
|
31399
|
+
"id": "openwop.it.v2-export-bundle-static.import-true-with-dryrun-true-validates-import-false-needs-no-dryrun",
|
|
31400
|
+
"file": "v2-export-bundle-static.test.ts",
|
|
31401
|
+
"line": 97,
|
|
31402
|
+
"title": "import: true with dryRun: true validates; import: false needs no dryRun",
|
|
31403
|
+
"explicitId": "openwop.requirement.portability.import-dry-run-schema-rule",
|
|
31404
|
+
"citations": [
|
|
31405
|
+
{
|
|
31406
|
+
"section": null,
|
|
31407
|
+
"requirement": null,
|
|
31408
|
+
"interpolated": true
|
|
31409
|
+
}
|
|
31410
|
+
]
|
|
31411
|
+
},
|
|
31412
|
+
{
|
|
31413
|
+
"id": "openwop.it.v2-export-bundle-static.import-true-without-dryrun-or-with-dryrun-false-is-rejected",
|
|
31414
|
+
"file": "v2-export-bundle-static.test.ts",
|
|
31415
|
+
"line": 104,
|
|
31416
|
+
"title": "import: true without dryRun, or with dryRun: false, is rejected",
|
|
31417
|
+
"explicitId": "openwop.requirement.portability.import-dry-run-schema-rule",
|
|
31418
|
+
"citations": [
|
|
31419
|
+
{
|
|
31420
|
+
"section": null,
|
|
31421
|
+
"requirement": "import: true without dryRun MUST be rejected",
|
|
31422
|
+
"interpolated": true
|
|
31423
|
+
},
|
|
31424
|
+
{
|
|
31425
|
+
"section": null,
|
|
31426
|
+
"requirement": "import: true with dryRun: false MUST be rejected",
|
|
31427
|
+
"interpolated": true
|
|
31428
|
+
}
|
|
31429
|
+
]
|
|
31430
|
+
},
|
|
30757
31431
|
{
|
|
30758
31432
|
"id": "openwop.it.v2-ext-family-claims.brand",
|
|
30759
31433
|
"file": "v2-ext-family-claims.test.ts",
|
|
@@ -33270,6 +33944,34 @@
|
|
|
33270
33944
|
}
|
|
33271
33945
|
]
|
|
33272
33946
|
},
|
|
33947
|
+
{
|
|
33948
|
+
"id": "openwop.it.v2-multi-party-conversation-advertisement.the-multipartyconversation-record-validates-against-its-capabilities-schema-seat",
|
|
33949
|
+
"file": "v2-multi-party-conversation-advertisement.test.ts",
|
|
33950
|
+
"line": 35,
|
|
33951
|
+
"title": "the multiPartyConversation record validates against its capabilities-schema seat",
|
|
33952
|
+
"explicitId": "openwop.requirement.multi-party-conversation.advert-record-schema",
|
|
33953
|
+
"citations": [
|
|
33954
|
+
{
|
|
33955
|
+
"section": null,
|
|
33956
|
+
"requirement": null,
|
|
33957
|
+
"interpolated": true
|
|
33958
|
+
}
|
|
33959
|
+
]
|
|
33960
|
+
},
|
|
33961
|
+
{
|
|
33962
|
+
"id": "openwop.it.v2-multi-party-conversation-advertisement.multipartyconversation-maxparticipants-is-an-integer-of-at-least-2",
|
|
33963
|
+
"file": "v2-multi-party-conversation-advertisement.test.ts",
|
|
33964
|
+
"line": 44,
|
|
33965
|
+
"title": "multiPartyConversation.maxParticipants is an integer of at least 2",
|
|
33966
|
+
"explicitId": "openwop.requirement.multi-party-conversation.max-participants",
|
|
33967
|
+
"citations": [
|
|
33968
|
+
{
|
|
33969
|
+
"section": null,
|
|
33970
|
+
"requirement": null,
|
|
33971
|
+
"interpolated": true
|
|
33972
|
+
}
|
|
33973
|
+
]
|
|
33974
|
+
},
|
|
33273
33975
|
{
|
|
33274
33976
|
"id": "openwop.it.v2-negotiation-authenticated.an-unauthenticated-a2a-exchange-cannot-lower-the-version-below-preferredversion",
|
|
33275
33977
|
"file": "v2-negotiation-authenticated.test.ts",
|
|
@@ -33329,6 +34031,48 @@
|
|
|
33329
34031
|
}
|
|
33330
34032
|
]
|
|
33331
34033
|
},
|
|
34034
|
+
{
|
|
34035
|
+
"id": "openwop.it.v2-node-pack-runtimes-advertisement.the-nodepackruntimes-record-validates-against-its-capabilities-schema-seat",
|
|
34036
|
+
"file": "v2-node-pack-runtimes-advertisement.test.ts",
|
|
34037
|
+
"line": 35,
|
|
34038
|
+
"title": "the nodePackRuntimes record validates against its capabilities-schema seat",
|
|
34039
|
+
"explicitId": "openwop.requirement.node-pack-runtimes.advert-record-schema",
|
|
34040
|
+
"citations": [
|
|
34041
|
+
{
|
|
34042
|
+
"section": null,
|
|
34043
|
+
"requirement": null,
|
|
34044
|
+
"interpolated": true
|
|
34045
|
+
}
|
|
34046
|
+
]
|
|
34047
|
+
},
|
|
34048
|
+
{
|
|
34049
|
+
"id": "openwop.it.v2-node-pack-runtimes-advertisement.nodepackruntimes-wasm-lists-abi-versions-and-a-memory-cap-in-range",
|
|
34050
|
+
"file": "v2-node-pack-runtimes-advertisement.test.ts",
|
|
34051
|
+
"line": 44,
|
|
34052
|
+
"title": "nodePackRuntimes.wasm lists ABI versions and a memory cap in range",
|
|
34053
|
+
"explicitId": "openwop.requirement.node-pack-runtimes.wasm-facet-shape",
|
|
34054
|
+
"citations": [
|
|
34055
|
+
{
|
|
34056
|
+
"section": null,
|
|
34057
|
+
"requirement": null,
|
|
34058
|
+
"interpolated": true
|
|
34059
|
+
}
|
|
34060
|
+
]
|
|
34061
|
+
},
|
|
34062
|
+
{
|
|
34063
|
+
"id": "openwop.it.v2-nondeterminism-policy-advertisement.the-nondeterminismpolicy-record-validates-against-its-capabilities-schema-seat",
|
|
34064
|
+
"file": "v2-nondeterminism-policy-advertisement.test.ts",
|
|
34065
|
+
"line": 33,
|
|
34066
|
+
"title": "the nondeterminismPolicy record validates against its capabilities-schema seat",
|
|
34067
|
+
"explicitId": "openwop.requirement.nondeterminism-policy.advert-record-schema",
|
|
34068
|
+
"citations": [
|
|
34069
|
+
{
|
|
34070
|
+
"section": null,
|
|
34071
|
+
"requirement": null,
|
|
34072
|
+
"interpolated": true
|
|
34073
|
+
}
|
|
34074
|
+
]
|
|
34075
|
+
},
|
|
33332
34076
|
{
|
|
33333
34077
|
"id": "openwop.it.v2-oauth-client-pkce-state-iss.sends-pkce-s256-and-the-verifier-at-the-token-endpoint-hashes-to-the-challenge",
|
|
33334
34078
|
"file": "v2-oauth-client-pkce-state-iss.test.ts",
|
|
@@ -34126,6 +34870,48 @@
|
|
|
34126
34870
|
}
|
|
34127
34871
|
]
|
|
34128
34872
|
},
|
|
34873
|
+
{
|
|
34874
|
+
"id": "openwop.it.v2-portability-advertisement.the-portability-record-validates-against-its-capabilities-schema-seat",
|
|
34875
|
+
"file": "v2-portability-advertisement.test.ts",
|
|
34876
|
+
"line": 40,
|
|
34877
|
+
"title": "the portability record validates against its capabilities-schema seat",
|
|
34878
|
+
"explicitId": "openwop.requirement.portability.advert-record-schema",
|
|
34879
|
+
"citations": [
|
|
34880
|
+
{
|
|
34881
|
+
"section": null,
|
|
34882
|
+
"requirement": null,
|
|
34883
|
+
"interpolated": true
|
|
34884
|
+
}
|
|
34885
|
+
]
|
|
34886
|
+
},
|
|
34887
|
+
{
|
|
34888
|
+
"id": "openwop.it.v2-portability-advertisement.a-host-advertising-portability-import-advertises-dryrun-true",
|
|
34889
|
+
"file": "v2-portability-advertisement.test.ts",
|
|
34890
|
+
"line": 48,
|
|
34891
|
+
"title": "a host advertising portability.import advertises dryRun: true",
|
|
34892
|
+
"explicitId": "openwop.requirement.portability.import-requires-dry-run",
|
|
34893
|
+
"citations": [
|
|
34894
|
+
{
|
|
34895
|
+
"section": null,
|
|
34896
|
+
"requirement": null,
|
|
34897
|
+
"interpolated": true
|
|
34898
|
+
}
|
|
34899
|
+
]
|
|
34900
|
+
},
|
|
34901
|
+
{
|
|
34902
|
+
"id": "openwop.it.v2-portability-advertisement.portability-kinds-lists-unique-export-bundle-item-kinds",
|
|
34903
|
+
"file": "v2-portability-advertisement.test.ts",
|
|
34904
|
+
"line": 56,
|
|
34905
|
+
"title": "portability.kinds lists unique export-bundle item kinds",
|
|
34906
|
+
"explicitId": "openwop.requirement.portability.kinds-shape",
|
|
34907
|
+
"citations": [
|
|
34908
|
+
{
|
|
34909
|
+
"section": null,
|
|
34910
|
+
"requirement": null,
|
|
34911
|
+
"interpolated": true
|
|
34912
|
+
}
|
|
34913
|
+
]
|
|
34914
|
+
},
|
|
34129
34915
|
{
|
|
34130
34916
|
"id": "openwop.it.v2-preferred-version-default.preferredversion-is-a-member-of-protocolversions",
|
|
34131
34917
|
"file": "v2-preferred-version-default.test.ts",
|
|
@@ -34326,10 +35112,24 @@
|
|
|
34326
35112
|
}
|
|
34327
35113
|
]
|
|
34328
35114
|
},
|
|
35115
|
+
{
|
|
35116
|
+
"id": "openwop.it.v2-prompt-library-advertisement.the-promptlibrary-record-validates-against-its-capabilities-schema-seat",
|
|
35117
|
+
"file": "v2-prompt-library-advertisement.test.ts",
|
|
35118
|
+
"line": 32,
|
|
35119
|
+
"title": "the promptLibrary record validates against its capabilities-schema seat",
|
|
35120
|
+
"explicitId": "openwop.requirement.prompt-library.advert-record-schema",
|
|
35121
|
+
"citations": [
|
|
35122
|
+
{
|
|
35123
|
+
"section": null,
|
|
35124
|
+
"requirement": null,
|
|
35125
|
+
"interpolated": true
|
|
35126
|
+
}
|
|
35127
|
+
]
|
|
35128
|
+
},
|
|
34329
35129
|
{
|
|
34330
35130
|
"id": "openwop.it.v2-prompt-list-and-fetch.get-prompts-answers-items-whose-every-entry-validates",
|
|
34331
35131
|
"file": "v2-prompt-list-and-fetch.test.ts",
|
|
34332
|
-
"line":
|
|
35132
|
+
"line": 58,
|
|
34333
35133
|
"title": "GET /prompts answers items whose every entry validates",
|
|
34334
35134
|
"explicitId": "openwop.requirement.prompts.list-shape",
|
|
34335
35135
|
"citations": [
|
|
@@ -34343,7 +35143,7 @@
|
|
|
34343
35143
|
{
|
|
34344
35144
|
"id": "openwop.it.v2-prompt-list-and-fetch.the-kind-and-source-filters-narrow-the-list",
|
|
34345
35145
|
"file": "v2-prompt-list-and-fetch.test.ts",
|
|
34346
|
-
"line":
|
|
35146
|
+
"line": 66,
|
|
34347
35147
|
"title": "the kind and source filters narrow the list",
|
|
34348
35148
|
"explicitId": "openwop.requirement.prompts.list-filters",
|
|
34349
35149
|
"citations": [
|
|
@@ -34357,7 +35157,7 @@
|
|
|
34357
35157
|
{
|
|
34358
35158
|
"id": "openwop.it.v2-prompt-list-and-fetch.a-listed-template-is-fetched-by-id",
|
|
34359
35159
|
"file": "v2-prompt-list-and-fetch.test.ts",
|
|
34360
|
-
"line":
|
|
35160
|
+
"line": 74,
|
|
34361
35161
|
"title": "a listed template is fetched by id",
|
|
34362
35162
|
"explicitId": "openwop.requirement.prompts.fetch-by-id",
|
|
34363
35163
|
"citations": [
|
|
@@ -34369,10 +35169,10 @@
|
|
|
34369
35169
|
]
|
|
34370
35170
|
},
|
|
34371
35171
|
{
|
|
34372
|
-
"id": "openwop.it.v2-prompt-list-and-fetch.an-etag-when-sent-revalidates-to-304",
|
|
35172
|
+
"id": "openwop.it.v2-prompt-list-and-fetch.advisory-an-etag-when-sent-revalidates-to-304",
|
|
34373
35173
|
"file": "v2-prompt-list-and-fetch.test.ts",
|
|
34374
|
-
"line":
|
|
34375
|
-
"title": "an ETag, when sent, revalidates to 304",
|
|
35174
|
+
"line": 82,
|
|
35175
|
+
"title": "advisory: an ETag, when sent, revalidates to 304",
|
|
34376
35176
|
"explicitId": "openwop.requirement.prompts.etag-revalidation",
|
|
34377
35177
|
"citations": [
|
|
34378
35178
|
{
|
|
@@ -34385,7 +35185,7 @@
|
|
|
34385
35185
|
{
|
|
34386
35186
|
"id": "openwop.it.v2-prompt-list-and-fetch.an-unknown-templateid-answers-404-with-the-error-envelope",
|
|
34387
35187
|
"file": "v2-prompt-list-and-fetch.test.ts",
|
|
34388
|
-
"line":
|
|
35188
|
+
"line": 90,
|
|
34389
35189
|
"title": "an unknown templateId answers 404 with the error envelope",
|
|
34390
35190
|
"explicitId": "openwop.requirement.prompts.unknown-template-404",
|
|
34391
35191
|
"citations": [
|
|
@@ -34399,7 +35199,7 @@
|
|
|
34399
35199
|
{
|
|
34400
35200
|
"id": "openwop.it.v2-prompt-list-and-fetch.with-endpointssupported-unadvertised-get-prompts-answers-404-not-found",
|
|
34401
35201
|
"file": "v2-prompt-list-and-fetch.test.ts",
|
|
34402
|
-
"line":
|
|
35202
|
+
"line": 98,
|
|
34403
35203
|
"title": "with endpointsSupported unadvertised, GET /prompts answers 404 not_found",
|
|
34404
35204
|
"explicitId": "openwop.requirement.prompts.endpoints-gate-off-404",
|
|
34405
35205
|
"citations": [
|
|
@@ -34925,6 +35725,174 @@
|
|
|
34925
35725
|
}
|
|
34926
35726
|
]
|
|
34927
35727
|
},
|
|
35728
|
+
{
|
|
35729
|
+
"id": "openwop.it.v2-provider-usage-advertisement.the-providerusage-record-validates-against-its-capabilities-schema-seat",
|
|
35730
|
+
"file": "v2-provider-usage-advertisement.test.ts",
|
|
35731
|
+
"line": 38,
|
|
35732
|
+
"title": "the providerUsage record validates against its capabilities-schema seat",
|
|
35733
|
+
"explicitId": "openwop.requirement.provider-usage.advert-record-schema",
|
|
35734
|
+
"citations": [
|
|
35735
|
+
{
|
|
35736
|
+
"section": null,
|
|
35737
|
+
"requirement": null,
|
|
35738
|
+
"interpolated": true
|
|
35739
|
+
}
|
|
35740
|
+
]
|
|
35741
|
+
},
|
|
35742
|
+
{
|
|
35743
|
+
"id": "openwop.it.v2-provider-usage-advertisement.providerusage-costestimates-is-one-boolean",
|
|
35744
|
+
"file": "v2-provider-usage-advertisement.test.ts",
|
|
35745
|
+
"line": 46,
|
|
35746
|
+
"title": "providerUsage.costEstimates is one boolean",
|
|
35747
|
+
"explicitId": "openwop.requirement.provider-usage.cost-estimates-boolean",
|
|
35748
|
+
"citations": [
|
|
35749
|
+
{
|
|
35750
|
+
"section": null,
|
|
35751
|
+
"requirement": null,
|
|
35752
|
+
"interpolated": true
|
|
35753
|
+
}
|
|
35754
|
+
]
|
|
35755
|
+
},
|
|
35756
|
+
{
|
|
35757
|
+
"id": "openwop.it.v2-provider-usage-advertisement.providerusage-currency-is-an-iso-4217-code",
|
|
35758
|
+
"file": "v2-provider-usage-advertisement.test.ts",
|
|
35759
|
+
"line": 54,
|
|
35760
|
+
"title": "providerUsage.currency is an ISO 4217 code",
|
|
35761
|
+
"explicitId": "openwop.requirement.provider-usage.currency-iso-4217",
|
|
35762
|
+
"citations": [
|
|
35763
|
+
{
|
|
35764
|
+
"section": null,
|
|
35765
|
+
"requirement": null,
|
|
35766
|
+
"interpolated": true
|
|
35767
|
+
}
|
|
35768
|
+
]
|
|
35769
|
+
},
|
|
35770
|
+
{
|
|
35771
|
+
"id": "openwop.it.v2-provider-usage-emission.a-live-model-run-carries-provider-usage-each-before-its-node-completed-and-each",
|
|
35772
|
+
"file": "v2-provider-usage-emission.test.ts",
|
|
35773
|
+
"line": 38,
|
|
35774
|
+
"title": "a live-model run carries provider.usage, each before its node.completed and each payload valid",
|
|
35775
|
+
"explicitId": "openwop.requirement.provider-usage.emitted-before-node-completed",
|
|
35776
|
+
"citations": [
|
|
35777
|
+
{
|
|
35778
|
+
"section": null,
|
|
35779
|
+
"requirement": null,
|
|
35780
|
+
"interpolated": true
|
|
35781
|
+
}
|
|
35782
|
+
]
|
|
35783
|
+
},
|
|
35784
|
+
{
|
|
35785
|
+
"id": "openwop.it.v2-provider-usage-payload-static.provider-usage-is-a-registered-v2-run-event-type",
|
|
35786
|
+
"file": "v2-provider-usage-payload-static.test.ts",
|
|
35787
|
+
"line": 52,
|
|
35788
|
+
"title": "provider.usage is a registered v2 run-event type",
|
|
35789
|
+
"explicitId": "openwop.requirement.provider-usage.event-type-registered",
|
|
35790
|
+
"citations": [
|
|
35791
|
+
{
|
|
35792
|
+
"section": "events.md §providerUsage",
|
|
35793
|
+
"requirement": null,
|
|
35794
|
+
"interpolated": true
|
|
35795
|
+
}
|
|
35796
|
+
]
|
|
35797
|
+
},
|
|
35798
|
+
{
|
|
35799
|
+
"id": "openwop.it.v2-provider-usage-payload-static.accepts-a-minimal-and-a-full-payload",
|
|
35800
|
+
"file": "v2-provider-usage-payload-static.test.ts",
|
|
35801
|
+
"line": 57,
|
|
35802
|
+
"title": "accepts a minimal and a full payload",
|
|
35803
|
+
"explicitId": "openwop.requirement.provider-usage.payload-well-formed-accepted",
|
|
35804
|
+
"citations": [
|
|
35805
|
+
{
|
|
35806
|
+
"section": "events.md §providerUsage",
|
|
35807
|
+
"requirement": null,
|
|
35808
|
+
"interpolated": true
|
|
35809
|
+
}
|
|
35810
|
+
]
|
|
35811
|
+
},
|
|
35812
|
+
{
|
|
35813
|
+
"id": "openwop.it.v2-provider-usage-payload-static.rejects-a-payload-without-s",
|
|
35814
|
+
"file": "v2-provider-usage-payload-static.test.ts",
|
|
35815
|
+
"line": 64,
|
|
35816
|
+
"title": "rejects a payload without %s",
|
|
35817
|
+
"explicitId": "openwop.requirement.provider-usage.payload-required-fields",
|
|
35818
|
+
"citations": [
|
|
35819
|
+
{
|
|
35820
|
+
"section": "events.md §providerUsage",
|
|
35821
|
+
"requirement": null,
|
|
35822
|
+
"interpolated": true
|
|
35823
|
+
}
|
|
35824
|
+
]
|
|
35825
|
+
},
|
|
35826
|
+
{
|
|
35827
|
+
"id": "openwop.it.v2-provider-usage-payload-static.rejects-s",
|
|
35828
|
+
"file": "v2-provider-usage-payload-static.test.ts",
|
|
35829
|
+
"line": 68,
|
|
35830
|
+
"title": "rejects %s",
|
|
35831
|
+
"explicitId": "openwop.requirement.provider-usage.payload-token-counts",
|
|
35832
|
+
"citations": [
|
|
35833
|
+
{
|
|
35834
|
+
"section": "events.md §providerUsage",
|
|
35835
|
+
"requirement": null,
|
|
35836
|
+
"interpolated": true
|
|
35837
|
+
}
|
|
35838
|
+
]
|
|
35839
|
+
},
|
|
35840
|
+
{
|
|
35841
|
+
"id": "openwop.it.v2-provider-usage-payload-static.rejects-s~2",
|
|
35842
|
+
"file": "v2-provider-usage-payload-static.test.ts",
|
|
35843
|
+
"line": 76,
|
|
35844
|
+
"title": "rejects %s",
|
|
35845
|
+
"explicitId": "openwop.requirement.provider-usage.payload-cost-and-currency",
|
|
35846
|
+
"citations": [
|
|
35847
|
+
{
|
|
35848
|
+
"section": "events.md §providerUsage",
|
|
35849
|
+
"requirement": null,
|
|
35850
|
+
"interpolated": true
|
|
35851
|
+
}
|
|
35852
|
+
]
|
|
35853
|
+
},
|
|
35854
|
+
{
|
|
35855
|
+
"id": "openwop.it.v2-provider-usage-payload-static.rejects-a-payload-carrying-s",
|
|
35856
|
+
"file": "v2-provider-usage-payload-static.test.ts",
|
|
35857
|
+
"line": 84,
|
|
35858
|
+
"title": "rejects a payload carrying %s",
|
|
35859
|
+
"explicitId": "openwop.requirement.provider-usage.payload-no-credential-or-content",
|
|
35860
|
+
"citations": [
|
|
35861
|
+
{
|
|
35862
|
+
"section": "events.md §providerUsage",
|
|
35863
|
+
"requirement": null,
|
|
35864
|
+
"interpolated": true
|
|
35865
|
+
}
|
|
35866
|
+
]
|
|
35867
|
+
},
|
|
35868
|
+
{
|
|
35869
|
+
"id": "openwop.it.v2-purpose-propagation-advertisement.the-purposepropagation-record-validates-against-its-capabilities-schema-seat",
|
|
35870
|
+
"file": "v2-purpose-propagation-advertisement.test.ts",
|
|
35871
|
+
"line": 35,
|
|
35872
|
+
"title": "the purposePropagation record validates against its capabilities-schema seat",
|
|
35873
|
+
"explicitId": "openwop.requirement.purpose-propagation.advert-record-schema",
|
|
35874
|
+
"citations": [
|
|
35875
|
+
{
|
|
35876
|
+
"section": null,
|
|
35877
|
+
"requirement": null,
|
|
35878
|
+
"interpolated": true
|
|
35879
|
+
}
|
|
35880
|
+
]
|
|
35881
|
+
},
|
|
35882
|
+
{
|
|
35883
|
+
"id": "openwop.it.v2-purpose-propagation-advertisement.purposepropagation-propagatesonward-is-a-boolean",
|
|
35884
|
+
"file": "v2-purpose-propagation-advertisement.test.ts",
|
|
35885
|
+
"line": 44,
|
|
35886
|
+
"title": "purposePropagation.propagatesOnward is a boolean",
|
|
35887
|
+
"explicitId": "openwop.requirement.purpose-propagation.propagates-onward-boolean",
|
|
35888
|
+
"citations": [
|
|
35889
|
+
{
|
|
35890
|
+
"section": null,
|
|
35891
|
+
"requirement": null,
|
|
35892
|
+
"interpolated": true
|
|
35893
|
+
}
|
|
35894
|
+
]
|
|
35895
|
+
},
|
|
34928
35896
|
{
|
|
34929
35897
|
"id": "openwop.it.v2-queue-cross-tenant-isolation.a-message-tenant-a-publishes-on-topic-t-is-never-consumed-by-tenant-b-on-t-and-a",
|
|
34930
35898
|
"file": "v2-queue-cross-tenant-isolation.test.ts",
|
|
@@ -35755,7 +36723,7 @@
|
|
|
35755
36723
|
{
|
|
35756
36724
|
"id": "openwop.it.v2-run-snapshot-etag.a-matching-if-none-match-receives-304-with-no-body-and-the-version-header-a-non",
|
|
35757
36725
|
"file": "v2-run-snapshot-etag.test.ts",
|
|
35758
|
-
"line":
|
|
36726
|
+
"line": 46,
|
|
35759
36727
|
"title": "a matching If-None-Match receives 304 with no body and the version header; a non-matching one receives 200",
|
|
35760
36728
|
"explicitId": "openwop.requirement.0170.run-snapshot-etag",
|
|
35761
36729
|
"citations": [
|
|
@@ -35771,7 +36739,8 @@
|
|
|
35771
36739
|
},
|
|
35772
36740
|
{
|
|
35773
36741
|
"section": "spec/v2/core/versioning.md §1.4",
|
|
35774
|
-
"requirement":
|
|
36742
|
+
"requirement": null,
|
|
36743
|
+
"interpolated": true
|
|
35775
36744
|
},
|
|
35776
36745
|
{
|
|
35777
36746
|
"section": "spec/v2/core/runs.md §Snapshot",
|
|
@@ -35839,6 +36808,34 @@
|
|
|
35839
36808
|
}
|
|
35840
36809
|
]
|
|
35841
36810
|
},
|
|
36811
|
+
{
|
|
36812
|
+
"id": "openwop.it.v2-scheduling-advertisement.the-scheduling-record-validates-against-its-capabilities-schema-seat",
|
|
36813
|
+
"file": "v2-scheduling-advertisement.test.ts",
|
|
36814
|
+
"line": 38,
|
|
36815
|
+
"title": "the scheduling record validates against its capabilities-schema seat",
|
|
36816
|
+
"explicitId": "openwop.requirement.scheduling.advert-record-schema",
|
|
36817
|
+
"citations": [
|
|
36818
|
+
{
|
|
36819
|
+
"section": null,
|
|
36820
|
+
"requirement": null,
|
|
36821
|
+
"interpolated": true
|
|
36822
|
+
}
|
|
36823
|
+
]
|
|
36824
|
+
},
|
|
36825
|
+
{
|
|
36826
|
+
"id": "openwop.it.v2-scheduling-advertisement.scheduling-cron-delayed-and-calendar-are-booleans",
|
|
36827
|
+
"file": "v2-scheduling-advertisement.test.ts",
|
|
36828
|
+
"line": 47,
|
|
36829
|
+
"title": "scheduling.cron, delayed and calendar are booleans",
|
|
36830
|
+
"explicitId": "openwop.requirement.scheduling.forms-boolean",
|
|
36831
|
+
"citations": [
|
|
36832
|
+
{
|
|
36833
|
+
"section": null,
|
|
36834
|
+
"requirement": null,
|
|
36835
|
+
"interpolated": true
|
|
36836
|
+
}
|
|
36837
|
+
]
|
|
36838
|
+
},
|
|
35842
36839
|
{
|
|
35843
36840
|
"id": "openwop.it.v2-secret-canary-absent.a-secret-resolved-from-the-host-s-store-appears-on-no-readable-surface-of-the-ru",
|
|
35844
36841
|
"file": "v2-secret-canary-absent.test.ts",
|
|
@@ -35988,6 +36985,144 @@
|
|
|
35988
36985
|
}
|
|
35989
36986
|
]
|
|
35990
36987
|
},
|
|
36988
|
+
{
|
|
36989
|
+
"id": "openwop.it.v2-self-hosted-runner-advertisement.the-selfhostedrunner-record-validates-against-its-capabilities-schema-seat",
|
|
36990
|
+
"file": "v2-self-hosted-runner-advertisement.test.ts",
|
|
36991
|
+
"line": 37,
|
|
36992
|
+
"title": "the selfHostedRunner record validates against its capabilities-schema seat",
|
|
36993
|
+
"explicitId": "openwop.requirement.self-hosted-runner.advert-record-schema",
|
|
36994
|
+
"citations": [
|
|
36995
|
+
{
|
|
36996
|
+
"section": null,
|
|
36997
|
+
"requirement": null,
|
|
36998
|
+
"interpolated": true
|
|
36999
|
+
}
|
|
37000
|
+
]
|
|
37001
|
+
},
|
|
37002
|
+
{
|
|
37003
|
+
"id": "openwop.it.v2-self-hosted-runner-advertisement.selfhostedrunner-dispatchkinds-lists-model-tool-or-both",
|
|
37004
|
+
"file": "v2-self-hosted-runner-advertisement.test.ts",
|
|
37005
|
+
"line": 45,
|
|
37006
|
+
"title": "selfHostedRunner.dispatchKinds lists model, tool or both",
|
|
37007
|
+
"explicitId": "openwop.requirement.self-hosted-runner.dispatch-kinds",
|
|
37008
|
+
"citations": [
|
|
37009
|
+
{
|
|
37010
|
+
"section": null,
|
|
37011
|
+
"requirement": null,
|
|
37012
|
+
"interpolated": true
|
|
37013
|
+
}
|
|
37014
|
+
]
|
|
37015
|
+
},
|
|
37016
|
+
{
|
|
37017
|
+
"id": "openwop.requirement.self-hosted-runner.frame-schemas-compile",
|
|
37018
|
+
"file": "v2-self-hosted-runner-frames-static.test.ts",
|
|
37019
|
+
"line": 56,
|
|
37020
|
+
"title": null,
|
|
37021
|
+
"explicitId": "openwop.requirement.self-hosted-runner.frame-schemas-compile",
|
|
37022
|
+
"citations": [
|
|
37023
|
+
{
|
|
37024
|
+
"section": "execution.md §selfHostedRunner",
|
|
37025
|
+
"requirement": null,
|
|
37026
|
+
"interpolated": true
|
|
37027
|
+
}
|
|
37028
|
+
]
|
|
37029
|
+
},
|
|
37030
|
+
{
|
|
37031
|
+
"id": "openwop.it.v2-self-hosted-runner-frames-static.accepts-a-model-frame-and-a-tool-frame",
|
|
37032
|
+
"file": "v2-self-hosted-runner-frames-static.test.ts",
|
|
37033
|
+
"line": 65,
|
|
37034
|
+
"title": "accepts a model frame and a tool frame",
|
|
37035
|
+
"explicitId": "openwop.requirement.self-hosted-runner.dispatch-frame-shape",
|
|
37036
|
+
"citations": [
|
|
37037
|
+
{
|
|
37038
|
+
"section": "execution.md §selfHostedRunner",
|
|
37039
|
+
"requirement": null,
|
|
37040
|
+
"interpolated": true
|
|
37041
|
+
}
|
|
37042
|
+
]
|
|
37043
|
+
},
|
|
37044
|
+
{
|
|
37045
|
+
"id": "openwop.it.v2-self-hosted-runner-frames-static.rejects-s",
|
|
37046
|
+
"file": "v2-self-hosted-runner-frames-static.test.ts",
|
|
37047
|
+
"line": 72,
|
|
37048
|
+
"title": "rejects %s",
|
|
37049
|
+
"explicitId": "openwop.requirement.self-hosted-runner.dispatch-frame-shape",
|
|
37050
|
+
"citations": [
|
|
37051
|
+
{
|
|
37052
|
+
"section": "execution.md §selfHostedRunner",
|
|
37053
|
+
"requirement": null,
|
|
37054
|
+
"interpolated": true
|
|
37055
|
+
}
|
|
37056
|
+
]
|
|
37057
|
+
},
|
|
37058
|
+
{
|
|
37059
|
+
"id": "openwop.it.v2-self-hosted-runner-frames-static.accepts-a-result-frame",
|
|
37060
|
+
"file": "v2-self-hosted-runner-frames-static.test.ts",
|
|
37061
|
+
"line": 89,
|
|
37062
|
+
"title": "accepts a result frame",
|
|
37063
|
+
"explicitId": "openwop.requirement.self-hosted-runner.result-frame-shape",
|
|
37064
|
+
"citations": [
|
|
37065
|
+
{
|
|
37066
|
+
"section": "execution.md §selfHostedRunner",
|
|
37067
|
+
"requirement": null,
|
|
37068
|
+
"interpolated": true
|
|
37069
|
+
}
|
|
37070
|
+
]
|
|
37071
|
+
},
|
|
37072
|
+
{
|
|
37073
|
+
"id": "openwop.it.v2-self-hosted-runner-frames-static.rejects-a-result-frame-without-output",
|
|
37074
|
+
"file": "v2-self-hosted-runner-frames-static.test.ts",
|
|
37075
|
+
"line": 94,
|
|
37076
|
+
"title": "rejects a result frame without output",
|
|
37077
|
+
"explicitId": "openwop.requirement.self-hosted-runner.result-frame-shape",
|
|
37078
|
+
"citations": [
|
|
37079
|
+
{
|
|
37080
|
+
"section": "execution.md §selfHostedRunner",
|
|
37081
|
+
"requirement": "a result frame without output MUST be rejected"
|
|
37082
|
+
}
|
|
37083
|
+
]
|
|
37084
|
+
},
|
|
37085
|
+
{
|
|
37086
|
+
"id": "openwop.it.v2-self-hosted-runner-frames-static.a-s-with-an-extra-credential-named-field-is-rejected",
|
|
37087
|
+
"file": "v2-self-hosted-runner-frames-static.test.ts",
|
|
37088
|
+
"line": 100,
|
|
37089
|
+
"title": "a %s with an extra credential-named field is rejected",
|
|
37090
|
+
"explicitId": "openwop.requirement.self-hosted-runner.frames-closed",
|
|
37091
|
+
"citations": [
|
|
37092
|
+
{
|
|
37093
|
+
"section": "execution.md §selfHostedRunner",
|
|
37094
|
+
"requirement": null,
|
|
37095
|
+
"interpolated": true
|
|
37096
|
+
}
|
|
37097
|
+
]
|
|
37098
|
+
},
|
|
37099
|
+
{
|
|
37100
|
+
"id": "openwop.it.v2-self-hosted-runner-frames-static.accepts-a-registration",
|
|
37101
|
+
"file": "v2-self-hosted-runner-frames-static.test.ts",
|
|
37102
|
+
"line": 113,
|
|
37103
|
+
"title": "accepts a registration",
|
|
37104
|
+
"explicitId": "openwop.requirement.self-hosted-runner.registration-shape",
|
|
37105
|
+
"citations": [
|
|
37106
|
+
{
|
|
37107
|
+
"section": "execution.md §selfHostedRunner",
|
|
37108
|
+
"requirement": null,
|
|
37109
|
+
"interpolated": true
|
|
37110
|
+
}
|
|
37111
|
+
]
|
|
37112
|
+
},
|
|
37113
|
+
{
|
|
37114
|
+
"id": "openwop.it.v2-self-hosted-runner-frames-static.rejects-a-registration-without-subject",
|
|
37115
|
+
"file": "v2-self-hosted-runner-frames-static.test.ts",
|
|
37116
|
+
"line": 118,
|
|
37117
|
+
"title": "rejects a registration without subject",
|
|
37118
|
+
"explicitId": "openwop.requirement.self-hosted-runner.registration-shape",
|
|
37119
|
+
"citations": [
|
|
37120
|
+
{
|
|
37121
|
+
"section": "execution.md §selfHostedRunner",
|
|
37122
|
+
"requirement": "a registration without its owning subject MUST be rejected"
|
|
37123
|
+
}
|
|
37124
|
+
]
|
|
37125
|
+
},
|
|
35991
37126
|
{
|
|
35992
37127
|
"id": "openwop.it.v2-sse-last-event-id-cursor.a-last-event-id-past-the-log-is-an-exclusive-cursor-a-terminal-run-answers-200-w",
|
|
35993
37128
|
"file": "v2-sse-last-event-id-cursor.test.ts",
|
|
@@ -36459,6 +37594,34 @@
|
|
|
36459
37594
|
}
|
|
36460
37595
|
]
|
|
36461
37596
|
},
|
|
37597
|
+
{
|
|
37598
|
+
"id": "openwop.it.v2-sub-workflow-advertisement.the-subworkflow-record-validates-against-its-capabilities-schema-seat",
|
|
37599
|
+
"file": "v2-sub-workflow-advertisement.test.ts",
|
|
37600
|
+
"line": 36,
|
|
37601
|
+
"title": "the subWorkflow record validates against its capabilities-schema seat",
|
|
37602
|
+
"explicitId": "openwop.requirement.sub-workflow.advert-record-schema",
|
|
37603
|
+
"citations": [
|
|
37604
|
+
{
|
|
37605
|
+
"section": null,
|
|
37606
|
+
"requirement": null,
|
|
37607
|
+
"interpolated": true
|
|
37608
|
+
}
|
|
37609
|
+
]
|
|
37610
|
+
},
|
|
37611
|
+
{
|
|
37612
|
+
"id": "openwop.it.v2-sub-workflow-advertisement.subworkflow-inputmapping-is-one-boolean",
|
|
37613
|
+
"file": "v2-sub-workflow-advertisement.test.ts",
|
|
37614
|
+
"line": 45,
|
|
37615
|
+
"title": "subWorkflow.inputMapping is one boolean",
|
|
37616
|
+
"explicitId": "openwop.requirement.sub-workflow.input-mapping-boolean",
|
|
37617
|
+
"citations": [
|
|
37618
|
+
{
|
|
37619
|
+
"section": null,
|
|
37620
|
+
"requirement": null,
|
|
37621
|
+
"interpolated": true
|
|
37622
|
+
}
|
|
37623
|
+
]
|
|
37624
|
+
},
|
|
36462
37625
|
{
|
|
36463
37626
|
"id": "openwop.it.v2-subject-link-record.the-link-formed-across-scim-and-saml-is-a-closed-subjectlink-record",
|
|
36464
37627
|
"file": "v2-subject-link-record.test.ts",
|
|
@@ -36503,6 +37666,54 @@
|
|
|
36503
37666
|
}
|
|
36504
37667
|
]
|
|
36505
37668
|
},
|
|
37669
|
+
{
|
|
37670
|
+
"id": "openwop.it.v2-subworkflow-input-mapping.inputmapping-seeds-the-child-variable-bag-at-creation",
|
|
37671
|
+
"file": "v2-subworkflow-input-mapping.test.ts",
|
|
37672
|
+
"line": 57,
|
|
37673
|
+
"title": "inputMapping seeds the child variable bag at creation",
|
|
37674
|
+
"explicitId": null,
|
|
37675
|
+
"citations": []
|
|
37676
|
+
},
|
|
37677
|
+
{
|
|
37678
|
+
"id": "openwop.it.v2-subworkflow-input-mapping.the-mapped-parent-value-lands-after-and-over-the-child-defaultvalue",
|
|
37679
|
+
"file": "v2-subworkflow-input-mapping.test.ts",
|
|
37680
|
+
"line": 63,
|
|
37681
|
+
"title": "the mapped parent value lands after and over the child defaultValue",
|
|
37682
|
+
"explicitId": null,
|
|
37683
|
+
"citations": []
|
|
37684
|
+
},
|
|
37685
|
+
{
|
|
37686
|
+
"id": "openwop.it.v2-subworkflow-input-mapping.an-unset-parent-variable-arrives-undefined-never-an-error-or-null",
|
|
37687
|
+
"file": "v2-subworkflow-input-mapping.test.ts",
|
|
37688
|
+
"line": 69,
|
|
37689
|
+
"title": "an unset parent variable arrives undefined, never an error or null",
|
|
37690
|
+
"explicitId": null,
|
|
37691
|
+
"citations": []
|
|
37692
|
+
},
|
|
37693
|
+
{
|
|
37694
|
+
"id": "openwop.it.v2-subworkflow-linkage.node-completed-for-the-core-subworkflow-node-carries-outputs-childrunid-and-outp",
|
|
37695
|
+
"file": "v2-subworkflow-linkage.test.ts",
|
|
37696
|
+
"line": 59,
|
|
37697
|
+
"title": "node.completed for the core.subWorkflow node carries outputs.childRunId and outputs.childStatus",
|
|
37698
|
+
"explicitId": null,
|
|
37699
|
+
"citations": []
|
|
37700
|
+
},
|
|
37701
|
+
{
|
|
37702
|
+
"id": "openwop.it.v2-subworkflow-linkage.outputmapping-copies-the-child-variable-into-the-parent-after-the-child-complete",
|
|
37703
|
+
"file": "v2-subworkflow-linkage.test.ts",
|
|
37704
|
+
"line": 65,
|
|
37705
|
+
"title": "outputMapping copies the child variable into the parent after the child completes",
|
|
37706
|
+
"explicitId": null,
|
|
37707
|
+
"citations": []
|
|
37708
|
+
},
|
|
37709
|
+
{
|
|
37710
|
+
"id": "openwop.it.v2-subworkflow-linkage.getrunancestry-names-the-parent-run-with-cause-core-subworkflow",
|
|
37711
|
+
"file": "v2-subworkflow-linkage.test.ts",
|
|
37712
|
+
"line": 71,
|
|
37713
|
+
"title": "getRunAncestry names the parent run with cause core.subWorkflow",
|
|
37714
|
+
"explicitId": null,
|
|
37715
|
+
"citations": []
|
|
37716
|
+
},
|
|
36506
37717
|
{
|
|
36507
37718
|
"id": "openwop.it.v2-table-schema-enforcement.a-well-typed-insert-completes-positive-control",
|
|
36508
37719
|
"file": "v2-table-schema-enforcement.test.ts",
|
|
@@ -36865,6 +38076,76 @@
|
|
|
36865
38076
|
}
|
|
36866
38077
|
]
|
|
36867
38078
|
},
|
|
38079
|
+
{
|
|
38080
|
+
"id": "openwop.it.v2-ui-plugins-advertisement.the-uiplugins-record-validates-against-its-capabilities-schema-seat",
|
|
38081
|
+
"file": "v2-ui-plugins-advertisement.test.ts",
|
|
38082
|
+
"line": 41,
|
|
38083
|
+
"title": "the uiPlugins record validates against its capabilities-schema seat",
|
|
38084
|
+
"explicitId": "openwop.requirement.ui-plugins.advert-record-schema",
|
|
38085
|
+
"citations": [
|
|
38086
|
+
{
|
|
38087
|
+
"section": null,
|
|
38088
|
+
"requirement": null,
|
|
38089
|
+
"interpolated": true
|
|
38090
|
+
}
|
|
38091
|
+
]
|
|
38092
|
+
},
|
|
38093
|
+
{
|
|
38094
|
+
"id": "openwop.it.v2-ui-plugins-advertisement.uiplugins-isolation-is-a-closed-mechanism-or-an-x-host-value",
|
|
38095
|
+
"file": "v2-ui-plugins-advertisement.test.ts",
|
|
38096
|
+
"line": 50,
|
|
38097
|
+
"title": "uiPlugins.isolation is a closed mechanism or an x-host value",
|
|
38098
|
+
"explicitId": "openwop.requirement.ui-plugins.isolation-model",
|
|
38099
|
+
"citations": [
|
|
38100
|
+
{
|
|
38101
|
+
"section": null,
|
|
38102
|
+
"requirement": null,
|
|
38103
|
+
"interpolated": true
|
|
38104
|
+
}
|
|
38105
|
+
]
|
|
38106
|
+
},
|
|
38107
|
+
{
|
|
38108
|
+
"id": "openwop.it.v2-ui-plugins-advertisement.uiplugins-surfaces-are-unique-members-of-the-closed-surface-set",
|
|
38109
|
+
"file": "v2-ui-plugins-advertisement.test.ts",
|
|
38110
|
+
"line": 59,
|
|
38111
|
+
"title": "uiPlugins.surfaces are unique members of the closed surface set",
|
|
38112
|
+
"explicitId": "openwop.requirement.ui-plugins.surfaces-closed",
|
|
38113
|
+
"citations": [
|
|
38114
|
+
{
|
|
38115
|
+
"section": null,
|
|
38116
|
+
"requirement": null,
|
|
38117
|
+
"interpolated": true
|
|
38118
|
+
}
|
|
38119
|
+
]
|
|
38120
|
+
},
|
|
38121
|
+
{
|
|
38122
|
+
"id": "openwop.it.v2-ui-plugins-advertisement.uiplugins-hostapi-are-unique-members-of-the-ui-plugin-1-method-set",
|
|
38123
|
+
"file": "v2-ui-plugins-advertisement.test.ts",
|
|
38124
|
+
"line": 68,
|
|
38125
|
+
"title": "uiPlugins.hostApi are unique members of the ui-plugin/1 method set",
|
|
38126
|
+
"explicitId": "openwop.requirement.ui-plugins.host-api-closed",
|
|
38127
|
+
"citations": [
|
|
38128
|
+
{
|
|
38129
|
+
"section": null,
|
|
38130
|
+
"requirement": null,
|
|
38131
|
+
"interpolated": true
|
|
38132
|
+
}
|
|
38133
|
+
]
|
|
38134
|
+
},
|
|
38135
|
+
{
|
|
38136
|
+
"id": "openwop.it.v2-ui-plugins-advertisement.uiplugins-maxentrybytes-is-a-positive-integer",
|
|
38137
|
+
"file": "v2-ui-plugins-advertisement.test.ts",
|
|
38138
|
+
"line": 77,
|
|
38139
|
+
"title": "uiPlugins.maxEntryBytes is a positive integer",
|
|
38140
|
+
"explicitId": "openwop.requirement.ui-plugins.max-entry-bytes",
|
|
38141
|
+
"citations": [
|
|
38142
|
+
{
|
|
38143
|
+
"section": null,
|
|
38144
|
+
"requirement": null,
|
|
38145
|
+
"interpolated": true
|
|
38146
|
+
}
|
|
38147
|
+
]
|
|
38148
|
+
},
|
|
36868
38149
|
{
|
|
36869
38150
|
"id": "openwop.it.v2-unadvertised-operation-not-found.get-prompts-answers-404-not-found-when-prompts-endpointssupported-is-not-adverti",
|
|
36870
38151
|
"file": "v2-unadvertised-operation-not-found.test.ts",
|
|
@@ -45368,6 +46649,46 @@
|
|
|
45368
46649
|
}
|
|
45369
46650
|
]
|
|
45370
46651
|
},
|
|
46652
|
+
{
|
|
46653
|
+
"id": "openwop.it.v2-conversation-payload-mirrors.conversationopened-seats-every-field-conversationopenedpayload-carries",
|
|
46654
|
+
"file": "v2-conversation-payload-mirrors.test.ts",
|
|
46655
|
+
"line": 44,
|
|
46656
|
+
"title": "conversationOpened seats every field ConversationOpenedPayload carries",
|
|
46657
|
+
"explicitId": "openwop.requirement.conversation.payload-mirrors-agree",
|
|
46658
|
+
"citations": [
|
|
46659
|
+
{
|
|
46660
|
+
"section": "conversation.md",
|
|
46661
|
+
"requirement": null,
|
|
46662
|
+
"interpolated": true
|
|
46663
|
+
}
|
|
46664
|
+
]
|
|
46665
|
+
},
|
|
46666
|
+
{
|
|
46667
|
+
"id": "openwop.it.v2-conversation-payload-mirrors.the-inlined-conversationturn-carries-every-field-of-conversation-turn-schema-jso",
|
|
46668
|
+
"file": "v2-conversation-payload-mirrors.test.ts",
|
|
46669
|
+
"line": 51,
|
|
46670
|
+
"title": "the inlined ConversationTurn carries every field of conversation-turn.schema.json",
|
|
46671
|
+
"explicitId": "openwop.requirement.conversation.payload-mirrors-agree",
|
|
46672
|
+
"citations": [
|
|
46673
|
+
{
|
|
46674
|
+
"section": "conversation.md",
|
|
46675
|
+
"requirement": "the ConversationTurn mirror MUST carry the same top-level fields as conversation-turn.schema.json"
|
|
46676
|
+
}
|
|
46677
|
+
]
|
|
46678
|
+
},
|
|
46679
|
+
{
|
|
46680
|
+
"id": "openwop.it.v2-conversation-payload-mirrors.the-inlined-conversationturn-agent-carries-every-field-of-the-source-agent",
|
|
46681
|
+
"file": "v2-conversation-payload-mirrors.test.ts",
|
|
46682
|
+
"line": 56,
|
|
46683
|
+
"title": "the inlined ConversationTurn.agent carries every field of the source agent",
|
|
46684
|
+
"explicitId": "openwop.requirement.conversation.payload-mirrors-agree",
|
|
46685
|
+
"citations": [
|
|
46686
|
+
{
|
|
46687
|
+
"section": "conversation.md",
|
|
46688
|
+
"requirement": "ConversationTurn.agent MUST carry the same fields as conversation-turn.schema.json agent (incl. `model`)"
|
|
46689
|
+
}
|
|
46690
|
+
]
|
|
46691
|
+
},
|
|
45371
46692
|
{
|
|
45372
46693
|
"id": "openwop.it.v2-corpus-tag-pinned.every-vendoring-consumer-in-the-cross-repo-inventory-records-a-published-corpus",
|
|
45373
46694
|
"file": "v2-corpus-tag-pinned.test.ts",
|