| Filename | Latest commit message | Latest commit date |
|---|---|---|
§7.4 registers wai-mark:tent64 by its definition and digest and keeps wai-mark:conformance as the scheme with no algorithm. §7.5 is the scheme: frames and luma, the grid and the tent pattern, the stream, the shuffle, the signs and the mask, the shortened BCH code, the informed embedding, the detector in eight orientations, what it guarantees (no other channel, a PSNR floor, a false-positive bound derived and checked), the battery and the table of what it survives, with the claims it makes. §7.6 proves a marking by recomputation and reproduces a detection; §7.7 gives the signpost in the content and in the C2PA statement, and a well-known resolver; §7.8 has a sink that generates mark as part of the reconstruction it is held to. _wai_mark.py is the scheme and the battery in Python from the text; synthesis_verify.py runs §7.6's checks with it; synthesis_mark_verify.py verifies the scheme's corpus, mutates it and weakens itself in turn. Co-Authored-By: Claude Opus 5.5 <[email protected]> |
||
| .. | ||
| README.md | ||
| vectors.json | ||
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 .