open-standards/wai/pin-conformance/unpinned.json
Transaction Science 7ca9e889b9 SPEC §3.1: pin by default; wai verify reports an unpinned envelope, and a decode's record names the set it read
An encoder SHOULD pin the parameter set a payload was coded against wherever a
capability that decodes it is registered as decoding against one, whatever the
intent (SPEC §3.1, Pin by default).
An envelope that pins nothing there still conforms in 1.x; a verifier reports it
(prior_unpinned), informatively: Wai::check_unpinned, WaiMulti::check_unpinned and
codecs::pin_by_default. wai verify now reads the envelopes under each path, refusing
one whose pin breaks SPEC §3.1 and noting prior_unpinned; wai inspect and wai wrap note
it too. pin-conformance/unpinned.json holds the vectors, reached by wai_pin_vectors and
by pin_verify.py, which reads the classes from the published registry export.

A reconstruct-session decoder entry's pin (jwp-receipts §2.4.12) now names the set an
unpinned decode read, by the digest a pin over those bytes names, with the tier none.
The reference sink's base decode gives it (staged::BaseDecode::set, from
IntParams::read_pin), and stage_measure's sessions carry it.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-04 12:29:01 -05:00

265 lines
5.5 KiB
JSON

{
"about": "SPEC.md \u00a73.1, Pin by default: the report a verifier makes about a manifest that pins no parameter set where a capability it decodes through is registered as decoding against one (\"prior_unpinned\"), or \"none\". It is informative: every manifest here conforms but the one that claims replicate over an integer-exact capability unpinned, which static.json refuses. For a WAI2 manifest, the index of each entry it is made about.",
"cases": [
{
"name": "integer_exact_improve",
"manifest": {
"wai": "1.0",
"media": "image",
"intent": "improve",
"model_requirement": {
"capability": "wai.neural.int_mlicpp"
},
"conditioning": {
"kind": "k"
},
"target": null
},
"expect": "prior_unpinned"
},
{
"name": "integer_exact_replicate",
"manifest": {
"wai": "1.0",
"media": "image",
"intent": "replicate",
"model_requirement": {
"capability": "wai.neural.int_synth"
},
"conditioning": {
"kind": "k"
},
"target": null
},
"expect": "prior_unpinned"
},
{
"name": "float_improve",
"manifest": {
"wai": "1.0",
"media": "image",
"intent": "improve",
"model_requirement": {
"capability": "wai.neural.bmshj2018"
},
"conditioning": {
"kind": "k"
},
"target": null
},
"expect": "prior_unpinned"
},
{
"name": "entropy_exact_improve",
"manifest": {
"wai": "1.0",
"media": "image",
"intent": "improve",
"model_requirement": {
"capability": "wai.image.jpegai"
},
"conditioning": {
"kind": "k"
},
"target": null
},
"expect": "prior_unpinned"
},
{
"name": "generator_with_a_set_create",
"manifest": {
"wai": "1.0",
"media": "image",
"intent": "create",
"model_requirement": {
"capability": "wai.avatar.face"
},
"conditioning": {
"kind": "k"
},
"target": null
},
"expect": "prior_unpinned"
},
{
"name": "null_prior_is_absent",
"manifest": {
"wai": "1.0",
"media": "image",
"intent": "improve",
"model_requirement": {
"capability": "wai.neural.int_mlicpp"
},
"conditioning": {
"kind": "k",
"prior": null
},
"target": null
},
"expect": "prior_unpinned"
},
{
"name": "the_fallback_decodes_against_a_set",
"manifest": {
"wai": "1.0",
"media": "image",
"intent": "improve",
"model_requirement": {
"capability": "wai.image.png",
"fallback": "wai.neural.bmshj2018"
},
"conditioning": {
"kind": "k"
},
"target": null
},
"expect": "prior_unpinned"
},
{
"name": "pinned",
"manifest": {
"wai": "1.0",
"media": "image",
"intent": "replicate",
"model_requirement": {
"capability": "wai.neural.int_mlicpp"
},
"conditioning": {
"kind": "k",
"prior": {
"id": "int_mlicpp/synthetic-s20260929",
"sha256": "7ef44f3b1fc4a2df6c3e3b68460f595cae3d31cb7f9018699e29e738340272a4",
"determinism": "int-rans/p16+int-mlicpp/i64"
}
},
"target": null
},
"expect": "none"
},
{
"name": "standard_codec",
"manifest": {
"wai": "1.0",
"media": "image",
"intent": "replicate",
"model_requirement": {
"capability": "wai.image.png"
},
"conditioning": {
"kind": "k"
},
"target": null
},
"expect": "none"
},
{
"name": "generator_names_its_model",
"manifest": {
"wai": "1.0",
"media": "image",
"intent": "create",
"model_requirement": {
"capability": "wai.generate.spectral"
},
"conditioning": {
"kind": "k"
},
"target": null
},
"expect": "none"
},
{
"name": "unregistered_capability",
"manifest": {
"wai": "1.0",
"media": "image",
"intent": "improve",
"model_requirement": {
"capability": "wai.neural.future"
},
"conditioning": {
"kind": "k"
},
"target": null
},
"expect": "none"
},
{
"name": "reads_no_set",
"manifest": {
"wai": "1.0",
"media": "image",
"intent": "replicate",
"model_requirement": {
"capability": "wai.video.int_motion"
},
"conditioning": {
"kind": "k"
},
"target": null
},
"expect": "none"
},
{
"name": "wai2_each_entry",
"manifest": {
"wai": "1.1",
"media": "image",
"intent": "improve",
"renditions": [
{
"capability": "wai.image.png",
"kind": "png"
},
{
"capability": "wai.neural.int_mlicpp",
"kind": "int_mlicpp"
},
{
"capability": "wai.neural.int_mlicpp",
"kind": "int_mlicpp",
"prior": {
"id": "int_mlicpp/synthetic-s20260929",
"sha256": "7ef44f3b1fc4a2df6c3e3b68460f595cae3d31cb7f9018699e29e738340272a4",
"determinism": "int-rans/p16+int-mlicpp/i64"
}
},
{
"capability": "wai.neural.bmshj2018",
"kind": "bmshj2018"
}
],
"target": null
},
"expect": [
1,
3
]
},
{
"name": "wai2_none",
"manifest": {
"wai": "1.1",
"media": "image",
"intent": "replicate",
"renditions": [
{
"capability": "wai.neural.int_mlicpp",
"kind": "int_mlicpp",
"prior": {
"id": "int_mlicpp/synthetic-s20260929",
"sha256": "7ef44f3b1fc4a2df6c3e3b68460f595cae3d31cb7f9018699e29e738340272a4",
"determinism": "int-rans/p16+int-mlicpp/i64"
}
},
{
"capability": "wai.image.png",
"kind": "png"
}
],
"target": null
},
"expect": []
}
]
}