Resolved by meaning: synthesis::Case holds both the priors (exact-upscale) and the unmarked frames (§7.6); synthesis §11.1 lists both inputs and the three policy members; the synthesis-mark corpus's cases hold no prior; exact-upscale passes synthesis's second_layer policy through; the live-conformance table gains the upscale row in its generator column; both CI steps and both CHANGELOG entries are kept. Generated files are main's here and are regenerated in the next commit. Co-Authored-By: Claude Opus 5.5 <[email protected]>
2.7 KiB
live-conformance/synthesis — synthesis provenance
The corpus of extensions/synthesis.md §13, in one file,
vectors.json: the EU icons §10.2 pins (eu_icons, each its file and sha256), and the
vectors, each a case of §11.1 and what a verifier gives it.
A case holds its policy (dual_layer, assistive, second_layer); its records as JSON texts, list by list:
claims (origin claims), markings, detections, reviews, label_policy (a text or
null) and player (the log's entries); the objects it holds, each a WAI1 envelope in
hexadecimal; the decoded samples it holds, each the content hash of the object decoded and
its canonical samples in hexadecimal; the priors it holds, each the bytes of a WSR1 prior
(exact-upscale §3.1) in hexadecimal; the unmarked frames it holds (§7.6), each the content hash
of the marked object and its samples in hexadecimal; and a room or null: its descriptor, grants,
key_log and chains as live-rooms' corpus gives them.
Synthesis equivalence. For each vector, a conforming verifier reaches the outcome it states:
refuse: thereasonand where,at:["claim", i],["marking", i],["detection", i],["review", i],["label_policy"],["player", i], or["room", …]with the room verifier's own place (["room", "record", c, i]for recordiof chainc);accept: thestatementsof §11.3:claims, each itslink,class,source,c2pa(the statement of §6, exactly as written) andassistive(proved,not-recomputed,asserted, ornullfor a claim that is not an assist);detections, each itssubjectandresult;ai_tracks, each itstrackandclaim;reviews_presented, each its logentryandreview;labels, each its logentry,triggerand theshownentry that met it;visual_icon, the file of §10.2 the label policy's visual is, ornull; androom, the room's own outcome ornull.
A verifier that reaches another outcome, reason, place or statement does not conform.
Provenance. wai_synthesis_vectors gen writes vectors.json from records authored in code:
every key is SHA-256 of the corpus's label and an index, every sample buffer and envelope payload
is SHA-256 output of a label, the one prior is drawn from SHA-256 of a label
(int_sr::seeded_prior) and trained on nothing, every time is a constant, and Ed25519 signing is deterministic, so
the file is the same bytes on every machine. The watermark scheme the markings and detections
name, wai-mark:conformance, names no algorithm (§7.4): the corpus exercises the records and the
agreement of the two layers, not a watermark.
python3 -I ../synthesis_verify.py .