open-standards/wai/live-conformance/contribution/README.md
Transaction Science 7c5c4351f5 wai.media.contribution: registry, SPEC §5, CHANGELOG, CI step, corpus README
Registers the record and its five document kinds (registry export regenerated), adds
the SPEC §5 paragraph and the CHANGELOG entry, the CI step beside synthesis's, the
corpus README with its provenance line, and the live-conformance exclusion reason for
the generated pictures. The tree test now states the duplicated last leaf's second
position, which the record's count refuses (§5.1).

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 12:58:55 -04:00

2.5 KiB

live-conformance/contribution — contribution records

The corpus of extensions/contribution.md §12, in one file, vectors.json: the model files its sessions generate with (models, each its sha256 and its file as text), and the vectors, each a case of §10.1 and what a verifier gives it.

A case holds its policy (tier); the session record and its memberships, the contribution record, the disclosed steps (each its step text and its inclusion proof, a list of siblings in hexadecimal), the authorship map, the prompt openings, each as a JSON text; the states it holds, each an RGB8 buffer in hexadecimal, named by its SHA-256; the models it holds, each by the SHA-256 of a file in models; and the origins it holds, each an origin claim of synthesis §3.1 as a JSON text.

Contribution equivalence. For each vector, a conforming verifier reaches the outcome it states:

  • refuse: the reason and where, at: ["session"], ["session", "party", i], ["membership", i], ["record"], ["step", i], ["map"], ["map", x, y], ["opening", i], ["origin", i] or ["policy"];
  • accept: the statements of §10.4: the tier; the link hashes of the session and the record; each disclosed step's seq, act, party, check and status; the number of steps committed and not disclosed; the shares of the computed and the stated map, each its samples, its made_by and directed_by counts per party, and the counts of unknown and undisclosed samples of each set; the record's estimates as stated; the origin agreement (agree, not-checked or null); and the C2PA statement of §9.2 as its JCS text (c2pa), or null where a step is not disclosed.

A verifier that reaches another outcome, reason, place or statement does not conform.

Provenance. wai_contribution_vectors gen writes vectors.json from records authored in code: every key is SHA-256 of the corpus's label and an index, every drawn picture and brush stroke is SHA-256 output of a label, every generated picture is made by wai.generate.spectral with the model file of its conformance vector (wai-rs/tests/vectors/generate/ generate_spectral_model.json, held here byte for byte in models), every time is a constant, and Ed25519 signing is deterministic, so the file is the same bytes on every machine. Every state is named by the SHA-256 of its RGB8 samples.

python3 -I ../contribution_verify.py .