SPEC §3.1 defines the pin a manifest carries (conditioning.prior, and a WAI2 rendition's prior): id, sha256, determinism, and the optional form, tier and supersedes. The digest covers the whole parameter set. A set of several files is pinned through its listing, the new registered prior form wai.prior.set. A sink verifies the pin before it decodes, reports a refusal with one of an ordered set of snake_case reasons, and decodes only from the set it verified. Tier is a closed vocabulary; supersedes is informative. A pin that does not resolve makes its capability unsupported for that envelope: SPEC §4 dispatch continues at the fallback, §7.1 selection at the next rendition, and an inert envelope's error names the reasons. A rendition entry may carry id, sha256 and, on a companion, companion_of_id. SPEC §7 gains a Digests subsection, and §8 says how a MINOR revision adds an optional member. In wai-rs: the manifest types are #[non_exhaustive] with builders; a new pin module verifies pins in memory and on disk; Wai::dispatch_verified, WaiMulti::pick and primary check pins and component digests; every neural decoder reads through ParamSource; a codec-free `ffi` feature carries the C envelope surface with wai_envelope_select and wai_neural_decode_ex. wai-web wraps wai::container. New vectors: the int_mlicpp set-form twin and the pin-conformance corpus with an independent Python verifier, plus sha256.json sidecars for the vectors of capabilities that decode against a parameter set. Squashed from wai/stream-a-parameter-set-identity onto link 12. Conflicts are resolved to keep both sides; the integration commits that follow make the two streams agree. Co-Authored-By: Claude Opus 5.5 <[email protected]>
38 lines
1.9 KiB
JSON
38 lines
1.9 KiB
JSON
{
|
|
"video_nk": {
|
|
"buffer": "RGB8: rows top to bottom, pixels left to right, R, G, B bytes",
|
|
"frames_sha256": [
|
|
"dce7282d46f88f03d5dc0fd42f325756d310fe1fc982b6e1792a1fbfbeb482cf",
|
|
"eb22eaca420f922c3e65f7583e4ba15195a013a4694d3d704c1c393477279197",
|
|
"904e9064df9f95582e2ac4b9ef594a27810922c325c5144acd4d17e08294ecdf",
|
|
"ba33b5f7ffe2dd451106b43596f7be854ba0a5e011039a66bc8f221b4321c2df",
|
|
"38ccbd2a62233c72087b136588551fdb742ae98a1e78a5e4f6b68c25b7778e3b"
|
|
],
|
|
"clip_sha256": "4a81f0c94ccd938a7ca80df203303d5735d9dfcdfa150da155d9f2e4ca283e8f"
|
|
},
|
|
"video_real": {
|
|
"buffer": "RGB8: rows top to bottom, pixels left to right, R, G, B bytes",
|
|
"frames_sha256": [
|
|
"9c465e7da92a2da2168c569cae84597a4e5fae86158606e6c310b79b2348d672",
|
|
"11d180da3b56f65667008d9b6980c8d7d21c82ab581446cdcaaa413255750652",
|
|
"6b68231ad6b9a8811ccef26fcf2d2666ce1eaf3f1ec099b8cf4b59881f9afaa3",
|
|
"50ae736b4d2762e75dd1fa3805e41b5bcbfc66808ecb9871eccfcd0317b21b39",
|
|
"df0cc77a8d483a409541f966b31695943aee160915b8f501e7e8629c5d54aaf4",
|
|
"d23251a10a67cdd86a91069253fb66f7697cdd9c8757022727acf22b27c12452",
|
|
"314e93944d4fa677dc5569ac140eb14b7b022dc479eb720b884ccb93b5dff125",
|
|
"7a8be4d077456517430d5ddfac0f0c399b026c01560f39e41c0f9956ef42ed76"
|
|
],
|
|
"clip_sha256": "e6724ca214694e012c3e2b49df4e116a0a7e150435a12d7b144560ce2d5c7bdf"
|
|
},
|
|
"int_video": {
|
|
"buffer": "RGB8: rows top to bottom, pixels left to right, R, G, B bytes",
|
|
"frames_sha256": [
|
|
"23da1fba6001c4a665a0758b81cbf8470dbbf328ef16ae163a929530234e577a",
|
|
"aff78d25a7febe2ba0c7716c240646d4a06f1d2f85bc80c2e6772a3c66c86b87",
|
|
"94016e2b044e85094c9727bcf4f48a46ee973ccb8d5ab84ca1591e651ae0904a",
|
|
"78086567b81a736e3d60d488521f25407c31ff9c7c7f3ae56e2b04c2bff0f179",
|
|
"104053e891aa446eaa615b051c63ea7231655b509d6d07c0727628f4b594de8b"
|
|
],
|
|
"clip_sha256": "5afd6477d09525b7db4485027588ba3bc43de3d29c996eb57f2d3274bf8309f9"
|
|
}
|
|
}
|