extensions/synthesis.md: the origin claim of an object, a group or a track (captured, reconstructed, assistive, synthesized; the class rises along a chain of derivations and never falls), its IPTC digital source type and C2PA statement as functions of the claim, two pinned integer derivations whose recomputation proves an assistive claim, the marking and detection records of the second layer and their agreement with the first, AI participants' tracks, reviews a player presents only on a decode path of the review's tier, and a player's signed label log with the EU icons pinned by digest. The wai-rs module (feature `synthesis`), its vectors generator and the corpus. Co-Authored-By: Claude Opus 5.5 <[email protected]>
2.4 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); 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; 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, 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 .