diff --git a/.github/workflows/wai-conformance.yml b/.github/workflows/wai-conformance.yml index ce39465a6..f53025397 100644 --- a/.github/workflows/wai-conformance.yml +++ b/.github/workflows/wai-conformance.yml @@ -122,6 +122,10 @@ on: # ai_usage_verify.py reads that table, and the registry's wire identifiers test reads its # sections. - 'wai/extensions/ai-usage.md' + # tests/contribution.rs requires this extension's §11 to list the codes the reference + # reports, contribution_verify.py reads that table, and the registry's wire identifiers + # test reads its sections. + - 'wai/extensions/contribution.md' - 'wai/wai-web/**' # The audio provenance check below reads the corpora above with this tool. - 'wai/tools/wai_audio_provenance_check.py' @@ -794,7 +798,8 @@ jobs: # e2ee_verify.py (the end-to-end encrypted rooms corpus), live_watermark_verify.py (the # forensic-watermark corpus), live_ads_verify.py (the live-ads corpus), c2pa_live_verify.py # (the live-provenance corpus), edge_verify.py (the deriving-edge corpus), - # synthesis_verify.py (the synthesis corpus) and ai_usage_verify.py (the AI usage corpus). + # synthesis_verify.py (the synthesis corpus), ai_usage_verify.py (the AI usage corpus) and + # contribution_verify.py (the contribution-records corpus). # Each exits non-zero on any failure or any difference, and the step fails with it. # One platform: what they check is the reading of the text, not the architecture. independent-verifiers: @@ -1176,6 +1181,28 @@ jobs: (cd wai-rs && cargo test --no-default-features --features ai_usage --test ai_usage) python3 -I live-conformance/ai_usage_verify.py live-conformance/usage python3 -I claim-conformance/claim_verify.py consumption live-conformance/usage/vectors.json + # wai.media.contribution (extensions/contribution.md): the reference module's unit tests + # (every proof of the steps' tree walks to its root, the copying operations follow their + # sample mappings, a map has one encoding) and tests/contribution.rs (the committed corpus + # regenerates byte for byte from its fixed seeds and no other file is there, wai-rs gives + # every case its stated outcome and statements, §11 lists exactly the reference's codes, + # each of which the corpus gives, and the corpus generates with the model file of + # wai.generate.spectral's conformance vector); then the corpus's second implementation, + # contribution_verify.py, written from the extension's text and sharing no code with + # wai-rs, which evaluates every pinned operation, runs the generator in its own arithmetic + # after checking it against the generator's conformance vector, computes every map, share + # and C2PA statement itself, reads origin claims with synthesis_verify.py and every record + # with WAI's strict Ed25519 rule and BLAKE3 from claim-conformance, requires every mutated + # copy of the corpus to fail, and drops each of its own checks in turn and requires the + # corpus to catch the weakened verifier; standard library only, run isolated (-I). + - name: contribution records · wai-rs and contribution_verify.py + working-directory: wai + shell: bash + run: | + set -euo pipefail + (cd wai-rs && cargo test --no-default-features --features contribution --lib contribution::) + (cd wai-rs && cargo test --no-default-features --features contribution --test contribution) + python3 -I live-conformance/contribution_verify.py live-conformance/contribution # wai.live.e2ee (extensions/confidentiality.md): the corpus's second implementation, # e2ee_verify.py, written from the extension's text and the documents it reads and # sharing no code with the reference (joule-moq's secure_objects and joule-moq-mls, diff --git a/wai/CHANGELOG.md b/wai/CHANGELOG.md index a961d721c..1fde595c6 100644 --- a/wai/CHANGELOG.md +++ b/wai/CHANGELOG.md @@ -6,6 +6,51 @@ wire format may change and such changes are recorded here. ## v0.4.0 — current +### `wai.media.contribution`: who contributed what, computed from the process + +- **The extension** ([contribution](extensions/contribution.md)) registers the record + `wai.media.contribution`. A tool signs a **session** naming its parties: people by Ed25519 key + (`human`, `audience`), each countersigning its own membership (`wai-membership`), and models + by digest. A person cannot be enrolled as a maker or a director of any sample without that + signature (`party_not_countersigned`). +- **Steps.** Every act is a signed step (`wai-step`) in a hash chain, signed by the person who + performed it or by the tool for a model: `author`, `generate`, `candidates`, `select`, `edit`, + `inpaint`, `transform`, `compose` and `reject`; `direct` is reserved for direction tracks. + Transforms and compositions evaluate pinned operations by name: deriving-edge's crop, + rotation, mirror, overlay and grid composition, synthesis's upscale and denoise, and one new + per-sample colour table, `wai-contribution:lut`. The exact generator is `wai.generate.spectral`. +- **The authorship map**, computed by re-executing each act's dependency rule: for every pixel + of the output, `made_by` (whose act produced its value) and `directed_by` (whose prompt, mask, + selection, parameters or arrangement conditioned it). A mixing filter takes the union of what + it mixes; a selection adds the selector everywhere; a composition takes each layer where it is + visible. Encoded with a palette and run-length rows, in one encoding, and bound to the output's + samples by its digest. Shares are exact sample counts per party for each of the two sets, + never one blended figure; an estimator's share rides beside them with its class. +- **Unknown is never zero.** An attested step's unpinned sample mapping leaves its samples + `unknown`, and a verifier marks samples from steps it does not hold `undisclosed`; neither is + ever credited to a party, and a stated map that credits an unknown sample is refused + (`unknown_attributed`). +- **What a verifier checks**: the chain and every step's inclusion in the record's Merkle root; + that an edit or an inpainting changed nothing outside its region, byte for byte + (`outside_region_changed`); that a selection is a member of its committed set + (`selection_not_in_set`) and that every candidate regenerates from its seed + (`regeneration_mismatch`); that each transform and composition recomputes + (`recompute_mismatch`); that the map recomputes (`map_mismatch`); and that the output's origin + claim is synthesized wherever a model made a sample (`origin_understated`). +- **Selective disclosure.** Steps are disclosed with inclusion proofs and prompts are salted + commitments; the outcome's tier says what was reached: `recomputed`, `checked` or `stated`. +- **Mappings.** One C2PA 2.4 actions statement per session, computed where every step is + disclosed (`c2pa.created` from an empty canvas, then one action per step behind the output, + with its software agent, its IPTC digital source type and its changed region); identity + assertions and live tracks, informative. +- **WAI decides no legal question.** The record states facts a reader applies its own rule to. +- **Conformance.** `live-conformance/contribution/`, written from fixed seeds by + `wai_contribution_vectors gen`, every reason of §11 refused at least once; `tests/contribution.rs`; and the second + implementation, `live-conformance/contribution_verify.py`, which runs the generator in its own + arithmetic after checking it against the generator's conformance vector, catches every + mutated copy of the corpus, and is caught by the corpus with each of its checks dropped in + turn. Audio maps by sample interval and video maps by frame are not part of this revision. + ### `wai.ai.usage`: AI usage preferences bound to the bytes, and the agent's consumption claim - **The extension** ([ai-usage](extensions/ai-usage.md)) registers the record `wai.ai.usage`. diff --git a/wai/REGISTRY.md b/wai/REGISTRY.md index 4bf39d63a..ca5f252a3 100644 --- a/wai/REGISTRY.md +++ b/wai/REGISTRY.md @@ -44,8 +44,9 @@ Every registered string has one kind. `wai.live.metering`, `wai.live.steering`, `wai.live.moderation`, `wai.live.e2ee`, `wai.live.watermark`, `wai.live.ads` and `wai.live.provenance`; timed text, `wai.text.timed`; the deriving edge's record, `wai.edge.derivation`; the origin claims of - media, `wai.media.synthesis`; AI usage preferences and consumption claims, `wai.ai.usage`). - It names no payload format. + media, `wai.media.synthesis`; AI usage preferences and consumption claims, `wai.ai.usage`; + the contribution records of media made by people and models together, + `wai.media.contribution`). It names no payload format. A derivation or record string is not a payload capability, so it is not dispatchable (SPEC §4): dispatch never takes an envelope's capability that names @@ -211,6 +212,7 @@ and a role are fixed once registered. | `wai.live.room` | record | registered | — | — | — | — | — | §5 Interactive, temporal & computed content | | `wai.live.steering` | record | registered | — | — | — | — | — | §5 Interactive, temporal & computed content | | `wai.live.watermark` | record | registered | — | — | — | — | — | §5 Interactive, temporal & computed content | +| `wai.media.contribution` | record | registered | — | — | — | — | — | §5 Interactive, temporal & computed content | | `wai.media.synthesis` | record | registered | — | — | — | — | — | §5 Interactive, temporal & computed content | | `wai.mesh.draco` | payload | registered | volumetric | standalone | royalty-free | standard-unclassified | — | §5 Immersive audio, cinema, volumetric, haptics, HDR | | `wai.mesh.glb` | payload | registered | volumetric | standalone | royalty-free | standard-unclassified | — | §5 Interactive, temporal & computed content | @@ -364,12 +366,15 @@ and a role are fixed once registered. | `urn:wai:event:1` | scheme | defined | live-events §8.4 | | `urn:wai:event:1` | catalog | defined | live-events §8.1 | | `wai` | catalog | defined | moq-streaming-format §3 | +| `wai-authorship-map` | document-kind | defined | contribution §7.3 | | `wai-c2pa` | catalog | defined | live-provenance §10.2 | +| `wai-contribution` | document-kind | defined | contribution §6 | | `wai-derivation` | document-kind | defined | deriving-edge §5.1 | | `wai-detection` | document-kind | defined | synthesis §7.3 | | `wai-key-status` | document-kind | defined | jwp-receipts §7.9 | | `wai-label-policy` | document-kind | defined | synthesis §10.1 | | `wai-marking` | document-kind | defined | synthesis §7.2 | +| `wai-membership` | document-kind | defined | contribution §3.2 | | `wai-module-grant` | document-kind | defined | jwp-receipts §7.9 | | `wai-module-grants` | document-kind | defined | http-delivery §8.4 | | `wai-origin` | document-kind | defined | synthesis §3.1 | @@ -377,6 +382,8 @@ and a role are fixed once registered. | `wai-receipt-index` | document-kind | defined | http-delivery §8.2 | | `wai-receipts` | catalog | defined | moq-streaming-format §4.1 | | `wai-review` | document-kind | defined | synthesis §9.1 | +| `wai-session` | document-kind | defined | contribution §3.1 | +| `wai-step` | document-kind | defined | contribution §4.1 | | `wai1` | codecs-prefix | defined | http-delivery §4.1 | | `wai1` | fourcc | provisional | http-delivery Appendix B | | `wai2` | codecs-prefix | defined | http-delivery §4.1 | diff --git a/wai/SPEC.md b/wai/SPEC.md index d3617b4c2..87ce42602 100644 --- a/wai/SPEC.md +++ b/wai/SPEC.md @@ -596,8 +596,9 @@ kind: `wai.live.metering`, `wai.live.steering`, `wai.live.moderation`, `wai.live.e2ee`, `wai.live.watermark`, `wai.live.ads` and `wai.live.provenance`, and timed text, `wai.text.timed`; an edge's derivation record, `wai.edge.derivation`; the origin claims of - media, `wai.media.synthesis`; and AI usage preferences and consumption claims, `wai.ai.usage`), - which names no payload format. + media, `wai.media.synthesis`; AI usage preferences and consumption claims, `wai.ai.usage`; and + the contribution records of media made by people and models together, + `wai.media.contribution`), which names no payload format. Only payload, companion and refinement capabilities have a media class, a fidelity tier, a replicate class and a role. A derivation or record string is not a payload @@ -1161,6 +1162,27 @@ statements it saw and its grant; a verifier checks it against the objects, their the room, and refuses a use they disallow (`usage_disallowed`), and a relay or gateway MAY require claims before it serves an agent: [`extensions/ai-usage.md`](extensions/ai-usage.md). +And for **who contributed what** to media people and models make together — +`wai.media.contribution`: a tool signs a session naming its parties, people by key (each +countersigning its own membership, so no one is enrolled without its signature) and models by +digest, and every act is a signed step in a hash chain whose steps are the leaves of a Merkle +tree: a person authors or edits samples inside a region, a model generates, proposes candidates +or inpaints a region a person marked, a party selects one candidate, transforms a state with a +pinned derivation (deriving-edge's crop, rotation and mirror, synthesis's upscale and denoise, a +per-sample colour table), composes layers, or rejects an output. Each act has a dependency rule, +so re-executing the steps gives every sample of the output the parties whose act produced its +value (`made_by`) and those whose choices conditioned it (`directed_by`): an authorship map +computed, not declared, encoded with a palette and run-length rows and bound to the output's +samples by its digest. A verifier checks that an edit or an inpainting changed nothing outside +its region, that a selection is a member of its committed set and that every candidate +regenerates from its seed under `wai.generate.spectral`, that each transform recomputes, that the +map recomputes, and that the output's origin claim is synthesized wherever a model made any +sample. A creator may disclose some steps with inclusion proofs and keep prompts as salted +commitments; the outcome is `recomputed`, `checked` or `stated`, the shares are exact sample +counts per party, and a sample no disclosed, pinned rule fixes is `unknown` or `undisclosed`, +never credited to anyone. WAI decides no legal question: the record states facts a reader applies +its own rule to: [`extensions/contribution.md`](extensions/contribution.md). + ### Payloads of the WAI-native integer codecs This revision pins a payload format to each WAI-native integer codec whose row named diff --git a/wai/extensions/contribution.md b/wai/extensions/contribution.md new file mode 100644 index 000000000..ff0594ad8 --- /dev/null +++ b/wai/extensions/contribution.md @@ -0,0 +1,777 @@ +# WAI Extension: Contribution Records + +> Status: Draft. Registers the record `wai.media.contribution`: who contributed what to a piece +> of media made by people and models together, and how much, computed from the process that +> made it. A tool signs a **session** naming its parties: people, each by a key and each +> countersigning its own membership, and models, each by its digest. Every act in the session +> is a signed **step** in a hash chain: a person authors or edits samples, a model generates, +> proposes candidates or inpaints a marked region, a party selects one candidate, transforms a +> state with a pinned derivation, composes layers, or rejects an output. Each act has a +> **dependency rule**, and re-executing the steps gives, for every sample of the output, the +> parties whose act produced its value (`made_by`) and the parties whose choices conditioned it +> (`directed_by`): the **authorship map**, computed rather than declared. A verifier checks +> what the steps say: that an edit or an inpainting changed no sample outside its region, that a +> selected output is a member of the set it was chosen from and that each candidate regenerates +> from its seed, that a transform recomputes, that the map recomputes, and that the output's +> origin claim ([synthesis](synthesis.md)) is at least what the map implies. The steps are the +> leaves of a Merkle tree, so a creator can disclose some of them with inclusion proofs; a +> prompt is a salted commitment until its creator opens it; and the outcome says which **tier** +> the disclosure reaches: `recomputed`, `checked` or `stated`. A sample whose label no disclosed, +> pinned rule fixes is **unknown** or **undisclosed**, never attributed to anyone, and the +> shares are sample counts per party, never one blended figure. No new transport. The reference +> implementation is the `contribution` module of `wai-rs` (feature `contribution`); the corpus +> is [`live-conformance/contribution/`](../live-conformance/contribution/), and its second +> implementation is `live-conformance/contribution_verify.py`. +> Keywords **MUST**, **MUST NOT**, **SHOULD**, **MAY** are RFC 2119/8174. +> +> Texts read for this revision, each pinned to the version named: the C2PA Technical +> Specification, version 2.4 (April 2026), §10.2.3.2, §18.2, §18.15.1, §18.15.2 and §18.15.4; +> the Creator Assertions Working Group's Identity Assertion, version 1.2 (ratified 15 December +> 2025), §5.1, §5.1.2, §6.1 and §8; the IPTC Digital Source Type vocabulary as released on +> 2024-10-23; arXiv 2609.07711, §3.4; and *Copyright and Artificial Intelligence, Part 2: +> Copyrightability*, a report of the United States Copyright Office (January 2025), its table +> of contents and its Part V. A section number of one of those texts in this extension is that +> version's. + +## 1. Scope + +Process-level provenance that captures who contributed what, and to what extent, within a +co-creation session and across sessions, is named as an open research direction in arXiv +2609.07711 §3.4. WAI's derivations are exact, so a record of the process can be re-executed to +the artifact, and the map of who made each sample can be computed from it. + +In scope: the records (§2) and the session with its parties (§3); the steps, the acts and their +pinned operations (§4); the chain of steps and its Merkle tree (§5); the contribution record +(§6); the authorship map, its dependency rules, its encoding and its shares (§7); disclosure +and the privacy of process (§8); agreement with an origin claim and the mappings onto C2PA +actions, identity assertions and live tracks (§9); verification (§10). + +This revision maps still images of `RGB8` samples in full. Audio maps by sample interval and +video maps by frame are not part of it: a session's `media` is `image` (§3.1), and a later +revision registers the other media with their canonical buffers. + +Out of scope, each a slot a later revision fills: + +- **Legal questions.** WAI decides none. A registration authority, a collective or a court + applies its own rule, case by case, to facts. The cited report takes up, in turn, assistive + uses of AI systems, prompts, expressive inputs, and modifying or arranging AI-generated + content (its Part II), and concludes that outputs may be protected in whole or in part where a + person was able to determine the expressive elements they contain, and that prompts alone are + unlikely to suffice (its Part V). A contribution record states, sample by sample, which party's act produced + each value and which parties' choices conditioned it, and how much of that a verifier + recomputed. It does not say which of those facts make anyone an author anywhere. Registering + a work, and contacting any authority about it, are its owner's decisions. +- **Tooling and presentation** of the map (later revisions' tools). +- **Aggregating an audience's choices** into one act: an `audience` party may act alone in this + revision (§3.1), and a step on behalf of many is a later revision's. +- **Direction tracks**: the act `direct` is reserved (§4.2) and refused until registered. +- **Attribution through conditioning**: a generation conditioned on an earlier state, and what + an inpainting reads outside its region, attribute nothing here. `generate` and `candidates` + take no input in this revision (§4.2). + +Relationship to the core spec: `wai.media.contribution` is a **record** ([SPEC](../SPEC.md) +§5): signed records a WAI tool emits and verifies. It names no payload format and is not +dispatchable. + +Relationship to [synthesis](synthesis.md): an origin claim says what an object is; a +contribution record says how it was made and by whom, sample by sample. The record names the +output's origin claim, and a verifier holds the two to each other (§9.1). This extension takes +synthesis §2's encodings and its two integer derivations by name. + +Relationship to [deriving-edge](deriving-edge.md): a transform or a composition of this +extension evaluates one of that extension's operations (§4.2 there) by its name, its parameters +and its arithmetic, over states of a session rather than over delivered objects, with no +envelope written. A deriving edge's record chains published objects; a session's steps chain the +states of one piece of work. + +## 2. Records + +Every record of this extension is a JSON object (RFC 8259) under the encodings of +[jwp-receipts](jwp-receipts.md) §2.4.3, read as synthesis §2 reads a record: strict JSON, no +member named twice, at most 32 levels of nesting, byte strings in lowercase hexadecimal, +integers unsigned and at most 2^53 − 1, no other number, no boolean, **terms** and +**date-times** as defined there. Each record has exactly the members its section lists, no +member missing and none added, at any level, and a `kind` naming it; one that does not is +`record_malformed`. So is a member outside the values or ranges its section gives. + +A signed record carries `signer_pubkey` (32 bytes, an Ed25519 key of RFC 8032) and `sig` +(64 bytes): + +``` +sig = Ed25519(signer_key, "wai:contribution\x01" || JCS(record without "sig")) +link_hash = BLAKE3("wai:contribution-link\x01" || JCS(record)) +``` + +JCS is RFC 8785. The signature is verified strictly ([SPEC](../SPEC.md) §7 *Signatures*): a key +that fails step 1 or 2 is `bad_key`, and a signature that fails a later step `bad_signature`. A +record is named by its link hash wherever another names it. `issued_at` holds the instant its +signer signed it, self-asserted. + +A **state** is a picture a step produces: `width` × `height` pixels as the `RGB8` buffer of +[reconstruction-binding](reconstruction-binding.md) §2 (row-major, three bytes a pixel, no row +padding), each side at least 1 and the buffer at most 2^26 bytes. Its **samples digest** is +SHA-256 (FIPS 180-4) over the buffer, and a state is named by it and by the step that produced +it. A pixel is addressed (*x*, *y*), *x* to the right and *y* down from the top-left. A +**sample** of the map is a pixel. + +## 3. The session + +### 3.1 The session record + +The tool a session runs in signs a **session** record, `kind` `"wai-session"`: + +| member | type | meaning | +|---|---|---| +| `kind` | string | `"wai-session"` | +| `session` | 32 B hex | fresh random bytes naming the session | +| `tool` | term | the tool, as a C2PA `softwareAgent` names it (§9.2) | +| `media` | string | `image` | +| `parties` | array | 1 to 64 parties, each named by its position from 0 | +| `issued_at` | date-time | when the tool signed it | +| `signer_pubkey`, `sig` | | §2: the **tool's key** | + +A party is one of: + +- `{"role": "human", "key"}`: a person, by the Ed25519 key it signs with (32 bytes; as a + `did:key` it is the same key); +- `{"role": "audience", "key"}`: a person in an audience, by its key; +- `{"role": "model", "digest", "type"}`: a model, by its prior's digest (SPEC §3.1), or, for + a generator that reads one model file and names it by SHA-256 (SPEC §5 *Payload of + `wai.generate.spectral`*), by that file's SHA-256; and `type`, `trained` or `algorithmic` + as synthesis §3.1 has a model's type. + +A human or an audience party is a **keyed** party. No key appears twice, no digest twice, and +no keyed party's key is the tool's (`record_malformed`), so the tool's signature never stands +for a person's. + +### 3.2 Membership + +A keyed party **countersigns** its membership: it signs a **membership** record, `kind` +`"wai-membership"`, over the session as the tool signed it: + +| member | type | meaning | +|---|---|---| +| `kind` | string | `"wai-membership"` | +| `session` | 32 B hex | the link hash of the session record | +| `party` | integer | its own position among the parties | +| `issued_at` | date-time | when it signed it | +| `signer_pubkey`, `sig` | | §2: the party's key | + +A membership whose `session` is not the session's link hash, whose `party` is not a keyed +party, or whose signer is not that party's key is `membership_invalid`. A keyed party with no +membership is `party_not_countersigned`: no person is enrolled as a party of a session, and so +as a maker or a director of any sample (§7), without its own signature over the session's +parties. A model party signs nothing; the tool signs its acts (§4.1). + +## 4. Steps + +### 4.1 The step record + +Each act is a **step**, `kind` `"wai-step"`: + +| member | type | meaning | +|---|---|---| +| `kind` | string | `"wai-step"` | +| `session` | 32 B hex | the link hash of the session record | +| `seq` | integer | the step's position in the session, from 0 | +| `prev` | 32 B hex or `null` | the link hash of step `seq` − 1; `null` for step 0 | +| `party` | integer | the party that performed the act (the **performer**) | +| `act` | string | §4.2 | +| `inputs` | array | 0 to 16 states, each `{"step", "samples"}`: the `seq` of the step that produced it, below this step's `seq`, and its samples digest; none twice | +| `output` | object or `null` | what the act produced (§4.2) | +| `region` | array or `null` | for `edit` and `inpaint`, 1 to 256 rectangles `{"x", "y", "w", "h"}`, `w` and `h` at least 1, each within the output (`x` + `w` ≤ `width`, `y` + `h` ≤ `height`); the **region** is their union. `null` for every other act | +| `params` | object | §4.3 | +| `check` | string | `replicate` or `attest` (§4.4) | +| `issued_at` | date-time | when it was signed | +| `signer_pubkey`, `sig` | | §2: the performer's key for a keyed performer, the tool's key for a model | + +An `output` is `{"samples", "width", "height"}`, one state; for `candidates` it is `{"set", +"width", "height"}`, a set of 2 to 16 states of one size by their samples digests, none twice; +for `reject` it is `null`. + +A step whose `session` is not the session's link hash is `session_mismatch`; whose `party`, or a +party its `params` name, is not a party of the session, `party_unknown`; whose performer's role +is not one its act admits (§4.2), `party_role_mismatch`; and whose signer is not the one this +section names, `signer_mismatch`. + +### 4.2 Acts + +| act | performer | inputs | output | region | what it introduces | +|---|---|---|---|---|---| +| `author` | `human` | none | one state | none | every sample: the person's own | +| `generate` | `model` | none | one state | none | every sample | +| `candidates` | `model` | none | a set | none | every sample of every member | +| `select` | any party | one: a member of a `candidates` step's set | one state: the input | none | nothing | +| `edit` | `human` | one | one state of the input's size | required | the region's samples: the person's own | +| `inpaint` | `model` | one | one state of the input's size | required | the region's samples | +| `transform` | any party | one | one state | none | nothing | +| `compose` | any party | 1 to 16 | one state | none | the canvas fill (§4.5) | +| `reject` | any party | one | none | none | nothing | +| `direct` | reserved | | | | | + +- **author**: samples a person made enter the session: a drawing, a recording, typed text set + as an image. +- **generate**: a model produces a state. +- **candidates**: a model produces a set of states, committed by their digests and, where the + generator is pinned, by their seeds. +- **select**: a party picks one member of a committed set. Its output is that member. +- **edit**: a person replaces samples inside the region with samples it made. +- **inpaint**: a model fills the region a party marked. +- **transform**: a derivation, with parameters a party chose, maps one state to another. +- **compose**: a party places layers on a canvas, or tiles them in a grid. +- **reject**: a party discards a state. The state stays committed, so a verifier sees what was + discarded as well as what was kept. +- **direct**: reserved for direction tracks. A step whose `act` is `direct` is `act_reserved`. + +A step that breaks the table's inputs, output or region is `record_malformed`; an input of a +`select` that is not a member of a `candidates` step's set, or a `select` whose output is not its +input, is `selection_not_in_set` (§10.2 step 6). + +### 4.3 Parameters + +A step's `params` has exactly these members: + +| act | `params` | +|---|---| +| `author` | `{"source"}`: what the person made, as synthesis §3.2 has a capture state it: `digitalCapture`, `computationalCapture`, `screenCapture` or `digitalCreation` | +| `generate` | `{"generator", "prompt", "prompt_by", "seed", "steps"}` | +| `candidates` | `{"generator", "prompt", "prompt_by", "seeds", "steps"}` | +| `inpaint` | `{"generator", "prompt", "prompt_by", "mask_by", "seed", "steps"}` | +| `select`, `edit`, `reject` | `{}` | +| `transform`, `compose` | `{"derivation", "params"}`: a term naming the derivation, and an object, its parameters | + +- `generator`: a term naming what generated: `wai.generate.spectral` (§4.5) or another. +- `prompt`: the salted commitment to the prompt (§8.1), 32 bytes, or `null` for none. +- `prompt_by`: the party that wrote the prompt; `null` exactly when `prompt` is. +- `mask_by`: the party that marked the region. +- `seed`, `steps`: integers or `null`; `seeds`: an array of one integer per member of the set, + in the set's order, or `null`. + +### 4.4 The check + +A step's `check` says whether every sample it carries forward is fixed by a pinned rule: + +- `replicate`: every sample the act carries from its inputs recomputes from them under an + operation this revision pins (§4.5), and every sample a model introduces regenerates under a + pinned generator. Samples a person introduces (`author`, an `edit`'s region) are that person's + own, the source the chain starts from, as a capture is in synthesis §3.2: there is nothing to + recompute, and the signature says who made them. +- `attest`: a step that is not `replicate`: what it produced rests on its signer's statement. + +| act | `check` | +|---|---| +| `author`, `edit`, `select`, `reject` | `replicate` | +| `generate`, `candidates`, `inpaint` | `replicate` when `generator` is `wai.generate.spectral`; `attest` otherwise | +| `transform` | `replicate` when `derivation` is one §4.5 pins for it; `attest` otherwise | +| `compose` | `replicate` when `derivation` is `wai.derive.overlay_composition` or `wai.derive.grid_composition`; `attest` otherwise | + +A step whose `check` is not its act's is `check_mismatch`. A `replicate` step's parameters are +those §4.5 gives its operation; a `generate`, `candidates` or `inpaint` step of +`wai.generate.spectral` has a `seed` (each of its `seeds`) from 0 to 2^32 − 1 and `steps` from 1 +to 64, and its output's sides are each at most 4096 with `width` · `height` at most 2^23, the +ranges SPEC §5 *Payload of `wai.generate.spectral`* gives an instruction object. Otherwise +`params_invalid`. An `attest` step's `params` under `derivation` is any object. + +### 4.5 The pinned operations + +Each operation computes its output from its inputs' samples and its parameters, and defines, +for each output pixel, the input pixels it reads: its **sample mapping**, which the map follows +(§7.2). + +Transforms: + +- `wai.derive.crop` `{"x", "y", "w", "h"}`, `wai.derive.rotation` `{"quarter_turns"}` and + `wai.derive.mirror` `{"flip"}`: deriving-edge §4.2's, its parameters and its arithmetic + exactly. Each output pixel reads the one input pixel that section copies to it. +- `wai-synthesis:upscale2` and `wai-synthesis:denoise3`, `{}`: synthesis §4.1 and §4.2. Output + pixel (2*x*, 2*y*) of the upscale reads in(*x*, *y*); (2*x* + 1, 2*y*) reads it and + in(*x*₁, *y*); (2*x*, 2*y* + 1) reads it and in(*x*, *y*₁); (2*x* + 1, 2*y* + 1) reads those + and in(*x*₁, *y*₁), with *x*₁ and *y*₁ as there. Each output pixel of the denoise reads the nine + clamped pixels of its neighbourhood. +- `wai-contribution:lut` `{"table"}`, `table` 768 bytes: out(*x*, *y*) byte *c* = `table`[256 · + *c* + in(*x*, *y*) byte *c*], for *c* 0, 1, 2. Each output pixel reads the input pixel at its + own position. It is a value transform: a colour grade, a tone curve, a levels adjustment. No + other WAI text pins a per-sample colour mapping, so this extension pins this one. + +Compositions, over the step's inputs in its order: + +- `wai.derive.overlay_composition` `{"width", "height", "fill", "at"}` and + `wai.derive.grid_composition` `{"columns", "rows"}`: deriving-edge §4.2's. A pixel an input + covers reads the pixel of the last input that covers it; a pixel of an overlay's canvas that no + input covers reads nothing and holds the `fill`. + +Generation, for `generate`, `candidates` and `inpaint`: + +- `wai.generate.spectral`: the reference generator SPEC §5 *Payload of `wai.generate.spectral`* + names, `generate(model, prompt, seed, steps, h, w)`, with the performer's model file (whose + SHA-256 is the party's `digest`), the opened prompt's text (§8.1), the empty string where + `prompt` is `null`, and `h` and `w` the output's. A `candidates` member at position *k* of the + set is made with `seeds`[*k*]. An `inpaint` makes the picture at the input's size and copies its + samples inside the region; outside the region, the output is the input. + +A parameter the inputs cannot satisfy (a crop outside its input, grid inputs of different +sizes, an `at` entry missing) is `params_invalid` when the inputs' sizes are known (§10.2 step +6). + +## 5. The chain and its tree + +### 5.1 The chain + +A session's steps are numbered from 0 by `seq`, and each names the link hash of the one before +it in `prev`: a hash chain, so no step can be removed, inserted or reordered without breaking +every link after it. A step whose `seq` is not below the record's `steps` (§6), a `seq` given +twice, a step 0 whose `prev` is not `null`, a later step whose `prev` is `null`, or a `prev` +that is not the link hash of step `seq` − 1 where the verifier holds that step, is +`chain_broken`. + +### 5.2 The tree + +The steps are the leaves of a binary Merkle tree, built as jwp-receipts §2.2 builds a group's, +over the steps' link hashes in `seq` order, with domains of this extension's own so that the +root of a session's steps can never be read as a group's: + +``` +leaf(step) = BLAKE3("wai:contribution-leaf\x01" || link_hash(step)) +node(left, right) = BLAKE3("wai:contribution-node\x01" || left || right) +``` + +At each level with an odd number of nodes the last is duplicated; the root is the single node +left. The duplicated last leaf also walks to the root from the position past it, so the record +states the number of leaves, `steps`, and §5.1 refuses a `seq` that is not below it: no step can +stand at a position the tree does not have. + +A disclosed step carries an **inclusion proof**: its siblings from the leaf level upward, +exactly ⌈log₂ `steps`⌉ of them (none for one step). It is walked as jwp-receipts §3 step 5 +walks an object's proof, with the leaf index the step's `seq` and the direction bits the bits of +`seq`: at level *i*, bit *i* of `seq` set means the current node is the right child. A proof of +another length, or one that does not reach the record's `root`, is `inclusion_failed`. + +## 6. The contribution record + +The tool signs the **contribution** record, `kind` `"wai-contribution"`: + +| member | type | meaning | +|---|---|---| +| `kind` | string | `"wai-contribution"` | +| `session` | 32 B hex | the link hash of the session record | +| `steps` | integer | the number of steps, at least 1 | +| `root` | 32 B hex | the root of the steps' tree (§5.2) | +| `output` | object | the final output: `{"step", "samples", "width", "height", "content_hash"}`, the `seq` of the step that produced it (below `steps`), its samples digest and size, and the content hash (jwp-receipts §2.1) of the object it was published as, or `null` | +| `map` | 32 B hex | the digest of the authorship map (§7.3) | +| `origin` | 32 B hex or `null` | the link hash of the output's origin claim (synthesis §3.1); `null` only with `content_hash` `null` too, or where the tool signs none | +| `estimates` | array | 0 to 16 estimated shares (below) | +| `issued_at` | date-time | when the tool signed it | +| `signer_pubkey`, `sig` | | §2: the tool's key | + +A record that is not the session's is `session_mismatch`; one not signed by the tool's key, +`signer_mismatch`; one whose `origin` is not `null` while `content_hash` is, `record_malformed`. + +An **estimate** is `{"estimator", "class", "party", "basis", "share_ppm"}`: a term naming the +method, a term naming its class (the family of methods it belongs to, such as an +information-theoretic one), a party (`party_unknown` otherwise), `made_by` or `directed_by`, and +the share it estimates in parts per million, at most 1 000 000. An estimate is the tool's +statement with its class, as an energy figure carries its class: a verifier reports it as +stated, beside the counts of §7.4 and never in place of them, and never adds it to them. + +## 7. The authorship map + +### 7.1 Labels + +Every sample of the output has a **label**: two sets, `made_by`, the parties whose act produced +the sample's value, and `directed_by`, the parties whose choices conditioned it (a prompt, a +mask, a selection, a transform's parameters, an arrangement). A set holds parties, and may hold +one of two markers: + +- `unknown`: no pinned rule fixes where the sample's value came from, even with every step + disclosed: an `attest` transform or composition does not pin its sample mapping; +- `undisclosed` (in a verifier's computed map only, never in a stated one): the sample comes + from a state whose step the verifier does not hold. + +A marker is never a party and is never counted as one: **unknown is never zero**. A sample a +rule cannot attribute is reported as such, not credited to anyone. + +### 7.2 Dependency rules + +The map of a state is computed from its step and its inputs' maps. The map of an input whose +step the verifier does not hold has every sample `({undisclosed}, {undisclosed})`. For a step +performed by party *a*: + +| act | label of each sample of the output | +|---|---| +| `author` | `({a}, {})` | +| `generate`; each member of `candidates` | `({a}, P)`, *P* the set of `prompt_by`, where it is not `null` | +| `edit` | inside the region `({a}, {})`; outside it, the input's label at the same pixel | +| `inpaint` | inside the region `({a}, P ∪ {mask_by})`; outside it, the input's label at the same pixel | +| `select` | the input's label at the same pixel, with *a* added to `directed_by` | +| `transform`, `replicate` | the union, over the input pixels its sample mapping reads (§4.5), of their `made_by`, and of their `directed_by` with *a* added | +| `compose`, `replicate` | at a pixel an input covers, that input pixel's label with *a* added to `directed_by`; at a canvas pixel no input covers, `({a}, {a})`: the fill is the arranger's | +| `transform` or `compose`, `attest` | `({unknown}, {unknown})` | +| `reject` | no output | + +So a geometric transform carries each label through its exact sample mapping; a filter that +mixes pixels takes the union of what it mixes; a value transform keeps `made_by` and adds its +chooser to `directed_by`; a selection keeps the chosen candidate's map and adds the selector +everywhere; a composition takes each layer's map where the layer is visible. A model's samples, +generated or inpainted, are `made_by` that model whether or not its generator is pinned: the act +places them, and the step's status (§10.3) says whether they were regenerated. An `edit`'s or an +`inpaint`'s region takes nothing from the samples it replaced: they no longer condition it. + +Where the verifier does not know an input's size (its step is not held), the sample mapping +cannot be followed; a `transform` or `compose` then gives every output sample `({undisclosed}, +{undisclosed, a})`, and a `select` gives the input's label as above. The output's map is the map +of the state the record's `output` names: the one its `step` produced. + +### 7.3 Encoding + +The map is a JSON object under §2's encodings, `kind` `"wai-authorship-map"`, unsigned and +bound by its digest: + +| member | type | meaning | +|---|---|---| +| `kind` | string | `"wai-authorship-map"` | +| `output` | 32 B hex | the samples digest of the output | +| `width`, `height` | integer | the output's size | +| `palette` | array | the distinct labels, each `{"made_by", "directed_by"}`, in the order each first occurs in row-major order | +| `rows` | array | `height` rows, each an array of runs `[i, n]`: `n` ≥ 1 pixels with palette label `i`, left to right, summing to `width`; adjacent runs never share a label | + +A set is an array of party positions in ascending order, then `"unknown"` where it holds that +marker; a stated map holds no `"undisclosed"`. Every party is a party of the session. A map +that is not one JSON text under §2's encodings, or that breaks any of these rules, is +`map_malformed`: each map has one encoding. + +``` +map digest = BLAKE3("wai:contribution-map\x01" || JCS(map)) +``` + +The record names the map by its digest, and the map names the output's samples digest and +size, so the map is bound to the samples it describes. A map whose digest is not the record's +`map`, or whose `output`, `width` or `height` is not the record's output's, is `map_unbound`. + +### 7.4 Shares + +The **shares** of a map are exact sample counts: the number of samples; for each party, the +number of samples whose `made_by` holds it, and separately the number whose `directed_by` holds +it; and, for each of the two sets, the number of samples holding `unknown` and the number holding +`undisclosed`. A sample counts once for each party its set holds, so a sample two parties made +counts for both. The counts are never combined into one figure: what `made_by` and +`directed_by` mean is a reader's to weigh under its own rule. + +## 8. Disclosure + +### 8.1 Salted commitments + +A prompt, and any other text a party gives a step, is carried as a salted commitment: + +``` +commitment = SHA-256(salt || UTF-8(text)) +``` + +with `salt` 32 fresh random bytes for each commitment. A short or guessable prompt cannot be +recovered by hashing candidates: the salt is not disclosed with the step. An **opening** +`{"commitment", "salt", "text"}` discloses one: the salt (32 bytes) and the text (a string). +An opening whose salt and text do not hash to its commitment is `opening_mismatch`. + +### 8.2 What each disclosure gives + +A creator discloses some or all of the steps, each with its inclusion proof, and some or all of +the states, the openings of the prompts and the model files a pinned generator reads. The tier +of the outcome (§10.3) follows from what is disclosed: + +| disclosed | tier | +|---|---| +| every step behind the output, every state they read and write, the openings of their prompts and the model files of their pinned generators, no `attest` step behind the output | `recomputed` | +| as above with an `attest` step behind the output, or with a state, an opening or a model file withheld | `checked`: what was held was checked, the rest is committed | +| some steps, with their proofs: the others committed by the root | `checked`, and the samples from undisclosed steps `undisclosed` | +| the record and the map, no step | `stated`: the signed map is held, nothing recomputed | + +A withheld prompt stays private: its commitment binds the step to it, and the step's map does +not depend on its text. A withheld step stays private too: its leaf is in the root, so it cannot +be replaced later, and the samples it produced are `undisclosed`, never credited to anyone. + +## 9. Agreement and mappings + +### 9.1 The origin claim + +Where the record names an origin claim (synthesis §3.1) the verifier holds, read by synthesis +§2 and §3.1: + +- its subject is the object `output.content_hash` (`origin_mismatch`); +- where any sample of the stated map is `made_by` a model party, its `class` is `synthesized` + (`origin_understated`): an object any part of which a model generated or inpainted is not + captured, reconstructed or assistive, as synthesis §3.2's lattice has it. + +### 9.2 The C2PA actions + +Where every step is disclosed, the record gives one C2PA statement, `{"actions": A}`, written +in JCS: `A` is the actions of the output's manifest (C2PA 2.4 §18.15.1), one per step behind the +output, in `seq` order, after a first `c2pa.created` action: + +- first: `{"action": "c2pa.created", "digitalSourceType": + "http://c2pa.org/digitalsourcetype/empty", "softwareAgent": {"name": T}}`, `T` the session's + `tool`: a session is begun on an empty canvas in a tool, and C2PA 2.4 §18.15.2 asks for + `c2pa.created` first with that source type; +- then, for each step, the action below with `"softwareAgent": {"name": N}`, `N` the tool for a + keyed performer and `tag:transaction.science,2026:wai/model/` followed by the digest in + lowercase hexadecimal for a model (synthesis §6's model identifier), a generator-info map + (C2PA 2.4 §10.2.3.2) with its `name`: + +| step | action | `digitalSourceType` (the IPTC term of) | `changes` | +|---|---|---|---| +| `author` | `c2pa.edited` | its `source` | none | +| `generate`, `candidates` | `c2pa.edited` | `trainedAlgorithmicMedia` for a trained model, `algorithmicMedia` otherwise | none | +| `inpaint` | `c2pa.edited` | `compositeWithTrainedAlgorithmicMedia` for a trained model, `algorithmicMedia` otherwise | the region | +| `edit` | `c2pa.drawing` | `digitalCreation` | the region | +| `transform`: crop | `c2pa.cropped` | none | none | +| `transform`: rotation, mirror | `c2pa.orientation` | none | none | +| `transform`: upscale2 | `c2pa.resized` | `algorithmicallyEnhanced` | none | +| `transform`: denoise3 | `c2pa.enhanced` | `algorithmicallyEnhanced` | none | +| `transform`: lut | `c2pa.adjustedColor` | none | none | +| `transform`: `wai.derive.scaling` | `c2pa.resized` | none | none | +| another `transform`, a `compose` | `c2pa.edited` | none | none | +| `select` | none: it changes no sample | | | + +An action's members are written in the order JCS gives them. `changes` (C2PA 2.4 §18.15.4.6) is +one region map (§18.2): `[{"region": R}]`, `R` one spatial range for each rectangle, in the +step's order, `{"type": "spatial", "shape": {"type": "rectangle", "unit": "pixel", "origin": +{"x": X, "y": Y}, "width": W, "height": H}}`, the coordinates as integers (a manifest in CBOR +writes them as the floats §18.2.3 types them). The IPTC term is +`http://cv.iptc.org/newscodes/digitalsourcetype/` followed by the code. The trained models' +`c2pa.ai-disclosure` assertions are the origin claim's (synthesis §6). A rejected state, and a +branch of the session the output does not come from, give no action: they did not make the +asset. Embedding the statement in a manifest, and signing it, is C2PA's. + +### 9.3 Identity assertions (informative) + +A keyed party may give the output's manifest an identity assertion (Identity Assertion 1.2 +§5.1, label `cawg.identity`) whose referenced assertions include the actions assertion of §9.2, +as §6.1 there recommends for an actor who performed those actions, under a credential of §8 +there. The roles of §5.1.2 there (`cawg.creator`, `cawg.contributor`, `cawg.editor`, …) are the +party's own statement of its relationship to the asset; this extension does not derive one +from the shares. The party's key in the session is an Ed25519 key, not a credential type of §8 +there, and the relation between the two is the party's to state. + +### 9.4 Live tracks (informative) + +A record covers one still. Over [live-provenance](live-provenance.md), a manifest that covers +such a still (a picture a room shares, a frame made in a session and then streamed) can name the +record by its link hash in an entity-specific assertion of the kind that extension's §5 defines +for the stream, the group and the take; the record, its session, its memberships, its disclosed +steps and its map are then offered by the carriage that offers the track's receipts, as +deriving-edge §6 offers a chain's records. Per-frame maps of a live track are a later +revision's. + +## 10. Verification + +### 10.1 Inputs + +A verifier is given: the session record; its memberships, in a list; the contribution record; +the disclosed steps, in a list, each with its inclusion proof; the authorship map; the openings +it holds, in a list; the states it holds, each a buffer, named by its samples digest; the model +files it holds, each named by its SHA-256; the origin claims it holds, in a list; and a +**policy** of one member: + +| member | values | default | meaning | +|---|---|---|---| +| `tier` | `stated`, `checked`, `recomputed` | `stated` | the lowest tier it accepts (`tier_not_met`) | + +### 10.2 Steps of verification + +The verifier runs these steps and stops at the first refusal, which it reports with its reason +and its place: `["session"]`, `["session", "party", i]`, `["membership", i]`, `["record"]`, +`["step", i]`, `["map"]`, `["map", x, y]`, `["opening", i]`, `["origin", i]` or `["policy"]`, +each *i* a position in its list (a party's among the parties) and (*x*, *y*) a pixel. + +1. **Reading** (§2, §3, §4.1–§4.3, §6, §7.3, §8.1): the session, the memberships, the record, + the steps, the map and the openings, each in order, read and their signatures verify; the + origin claims read and verify by synthesis §2 and §3.1. `record_malformed`, `bad_key`, + `bad_signature`, `act_reserved`, `map_malformed`. A step whose `act` is `direct` is + `act_reserved` once its members are read, whatever they hold. A proof that is not an array + of 32-byte strings is `record_malformed`. +2. **Openings** (§8.1): `opening_mismatch`. +3. **Membership** (§3.2): each membership in order (`membership_invalid`), then each keyed + party in order (`party_not_countersigned`). +4. **The record** (§6): `session_mismatch`, `signer_mismatch`, and each estimate's party + (`party_unknown`). +5. **Each step**, in the order given: `session_mismatch`, `party_unknown`, + `party_role_mismatch`, `signer_mismatch` (§4.1); `check_mismatch` and `params_invalid` + (§4.4); `chain_broken` (§5.1); `inclusion_failed` (§5.2). +6. **Each step against the states**, in `seq` order, each by these checks in order: + 1. each state its output names that the verifier holds is `width` · `height` · 3 bytes + (`samples_mismatch`); + 2. each input whose step the verifier holds is that step's output, or a member of its set + (`input_unknown`); for a `select`, instead: its output is its input, and where the + verifier holds the input's step, that step is a `candidates` step and the input is a + member of its set (`selection_not_in_set`); + 3. for an `edit` or an `inpaint` whose input's step is held, that step's output has this + step's output's size (`region_invalid`); + 4. for a `replicate` `transform` or `compose` whose inputs' sizes are known (the verifier + holds each input's step): its parameters hold over them (§4.5, `params_invalid`), and + the size they give is the output's (`recompute_mismatch`); + 5. the act's own check, where the verifier holds what it reads: + - `edit`, `inpaint`: a held buffer of the input that is not of the output's size is + `region_invalid`; with the input's and the output's samples held, every pixel outside + the region is the input's, byte for byte (`outside_region_changed`); + - `generate`, `candidates`, `replicate`: with the model file and the prompt's opening + (where `prompt` is not `null`) held, each state regenerates (§4.5): the samples digest of + what the generator makes is the state's (`regeneration_mismatch`); + - `inpaint`, `replicate`: with the model file, the prompt's opening and the output's + samples held, every pixel inside the region is the generator's picture's + (`regeneration_mismatch`); + - `transform`, `compose`, `replicate`: with every input's samples held, the operation + evaluated over them gives the output's size and samples whose digest is the output's + (`recompute_mismatch`). +7. **The output** (§6): where the verifier holds the step `output.step`, that step's output is + one state with the record's samples digest and size (`output_mismatch`); a held buffer of the + output's digest is `width` · `height` · 3 bytes (`samples_mismatch`). +8. **The map** (§7): the map is bound (`map_unbound`). The verifier computes the output's map by + §7.2 from the steps it holds and compares it with the stated map, pixel by pixel in row-major + order, `made_by` then `directed_by`. Where the computed set holds `undisclosed`, the parties + and the `unknown` it holds besides are in the stated set; otherwise the two sets are equal. + At the first pixel where that fails: `unknown_attributed` where the computed set holds + `unknown` and the stated set does not (a sample no pinned rule fixes, credited to a party); + otherwise `map_mismatch`. +9. **The origin claim** (§9.1): `origin_mismatch`, `origin_understated`, at the claim's place. +10. **Policy**: an outcome below the policy's `tier` is `tier_not_met`. + +### 10.3 Statuses and tiers + +Each step the verifier holds has a **status**: + +- `attested`: its `check` is `attest`; +- `checked`: its `check` is `replicate`, the verifier holds the step of each of its inputs, and + each check of step 6.5 its act has run (an `author` and a `reject` have none, a `select`'s is + step 6.2's against the held `candidates` step, and an `edit` needs both of its states held, + an `inpaint` its states, its model file and its opening); +- `not-checked`: otherwise. + +The steps **behind the output** are the step `output.step` and, recursively, the step of each +input of a step behind the output. The outcome's **tier**: + +- `recomputed`: every step behind the output is held, and `checked`; +- `stated`: the verifier holds no step; +- `checked`: otherwise. + +### 10.4 What an accepted case states + +- `tier` (§10.3); +- `session` and `record`: the link hashes of the session record and the contribution record; +- `steps`: each held step in `seq` order, its `seq`, `act`, `party`, `check` and `status`; +- `committed`: the number of steps not held; +- `computed` and `stated`: the shares (§7.4) of the computed map and of the stated map, each + `samples`; `made_by` and `directed_by`, each a list of `{"party", "samples"}` for the parties + with a count above zero, in ascending order of party; and `made_by_unknown`, + `made_by_undisclosed`, `directed_by_unknown` and `directed_by_undisclosed`; +- `estimates`: the record's, as stated; +- `origin`: `agree` where the claim the record names was held and checked, `not-checked` where + it was not held, `null` where the record names none; +- `c2pa`: the statement of §9.2 as its JCS text, where every step is held; otherwise `null`. + +## 11. Reasons + +The codes this extension adds, each with where it is raised: + +| reason | raised at | +|---|---| +| `record_malformed` | §2, §3.1, §4.1, §4.2, §4.3, §6, §8.1, §10.2 step 1 | +| `bad_key` | §2 | +| `bad_signature` | §2 | +| `act_reserved` | §4.2 | +| `map_malformed` | §7.3 | +| `opening_mismatch` | §8.1 | +| `membership_invalid` | §3.2 | +| `party_not_countersigned` | §3.2 | +| `session_mismatch` | §4.1, §6 | +| `party_unknown` | §4.1, §6 | +| `party_role_mismatch` | §4.1 | +| `signer_mismatch` | §4.1, §6 | +| `check_mismatch` | §4.4 | +| `params_invalid` | §4.4, §4.5, §10.2 step 6 | +| `chain_broken` | §5.1 | +| `inclusion_failed` | §5.2 | +| `samples_mismatch` | §10.2 steps 6 and 7 | +| `input_unknown` | §10.2 step 6 | +| `selection_not_in_set` | §4.2, §10.2 step 6 | +| `region_invalid` | §10.2 step 6 | +| `outside_region_changed` | §10.2 step 6 | +| `regeneration_mismatch` | §4.5, §10.2 step 6 | +| `recompute_mismatch` | §4.5, §10.2 step 6 | +| `output_mismatch` | §10.2 step 7 | +| `map_unbound` | §7.3 | +| `map_mismatch` | §10.2 step 8 | +| `unknown_attributed` | §7.1, §10.2 step 8 | +| `origin_mismatch` | §9.1 | +| `origin_understated` | §9.1 | +| `tier_not_met` | §10.1 | + +## 12. Conformance + +[`live-conformance/contribution/`](../live-conformance/contribution/) holds the corpus, in one +file, `vectors.json`, written from fixed seeds by `wai_contribution_vectors gen`. It holds the +model file of `wai.generate.spectral` its sessions generate with, and the **vectors**: each a +case of §10.1, its outcome and, accepted, everything §10.4 states; refused, its reason and its +place. The exact generator of the corpus is `wai.generate.spectral`, with the model file of its +conformance vector (`wai-rs/tests/vectors/generate/generate_spectral_model.json`). It has: + +- **Accepted, `recomputed`**: a person's drawing, a collaborator's brush edit inside a region, + and a crop, with a captured origin claim that agrees; an inpainting by the pinned generator + inside a region one person marked, from a prompt another wrote, regenerated, with a + synthesized origin claim that agrees; three candidates, each regenerated from its seed, one + selected by an audience member, one rejected, then a colour table applied; a generated layer + composed over a drawing and a fill; and a chain of transforms (rotation, mirror, upscale, + denoise, crop), each recomputed. +- **Accepted, `checked`**: an inpainting by a trained model the tool attests, its outside + region checked; an attested scaling whose output is `unknown`; the candidates session with its + generating step undisclosed, its samples `undisclosed`; and the same with every step disclosed + but the prompts withheld, so no candidate is regenerated. +- **Accepted, `stated`**: the record and the map, no step; and a record that attaches an + estimate with its class. +- **Refused**: each reason of §11 at least once, each a control of one defect, and a second + control for each check that has a second place in §10.2: among them a sample outside an + edit's region changed, a selected output not in its set, a candidate and an inpainted region + that do not regenerate, a map that does not recompute, a gap in the chain and a `prev` that + skips its predecessor, a step by a party the session does not have, a person enrolled without + countersigning, an attested region credited to a person instead of `unknown`, an origin claim + of a lower class than the map implies, and a prompt commitment that does not open. + +A conforming verifier gives every vector the outcome, the reason, the place and the statements +the corpus states. `wai_contribution_vectors verify` and the test `tests/contribution.rs` check +that the file regenerates byte for byte, that `wai-rs` gives every vector its outcome, and that +§11 lists exactly the reference's codes. `live-conformance/contribution_verify.py` is the second +implementation, written from this text: it shares no code with `wai-rs`; it computes every map +itself, evaluates every pinned operation and runs the generator in its own arithmetic, checking +that arithmetic first against the generator's conformance vector +(`wai-rs/tests/vectors/generate/sha256.json`); it reads origin claims with the synthesis +corpus's second implementation (`synthesis_verify.py`), verifies every signature with WAI's +strict rule (`claim-conformance/_ed25519.py`) and every link hash with BLAKE3 written from its +specification (`claim-conformance/_blake3.py`); it mutates copies of the corpus and requires +every copy to fail; and it drops each of its own checks in turn and requires the corpus to catch +the weakened verifier. + +## 13. Security and privacy considerations + +- **What is checked and what is stated.** A step is signed by the party that performed it, or by + the tool for a model. The samples a person introduces are that person's statement: WAI checks + everything that happened to them afterwards, not whether the person made them without a model. + An `author` step's `source` says what the person made, as a capture's claim does. A model's + samples from an `attest` generator are the tool's statement; from a pinned generator they are + regenerated, so the step proves exactly what was generated, and that no person painted it. +- **The region.** An edit or an inpainting is checked, not claimed, to have changed nothing + outside its region: a verifier holding the two states compares every pixel. What a model's + fill read from outside the region conditions it, and is not attributed in this revision. +- **Taste as evidence.** A `candidates` step commits every candidate by digest and seed, and a + `reject` keeps what was discarded committed, so a verifier that regenerates the set sees what + was chosen over what. +- **Withholding.** A creator who discloses part of a session cannot change the rest later: the + record's root commits to every step. A withheld step's samples are `undisclosed` and a + withheld prompt is a salted commitment; neither is ever credited to a party. A creator who + withholds can only lower the tier the outcome reaches. +- **Enrolment.** A person is a party only by countersigning the session, so a tool cannot credit + a person, or blame one, without that person's signature over the whole list of parties. A + model party signs nothing; its acts are the tool's statements about it. +- **Not a judgment.** A record states facts sample by sample; it ranks no contribution, and its + counts are exact where a rule fixes them and marked where none does. An estimate is the tool's, + with its class, and is never mixed into the counts. What any of it means for authorship is + decided elsewhere, by others, under their own rules. +- **Privacy of process.** Prompts are committed with a salt; a session names parties by keys and + digests, never by name; the states are digests unless disclosed. A disclosed state is a + picture, and a creator discloses what it chooses. diff --git a/wai/live-conformance/README.md b/wai/live-conformance/README.md index 34bbb7687..a678783c2 100644 --- a/wai/live-conformance/README.md +++ b/wai/live-conformance/README.md @@ -20,6 +20,7 @@ and the independent verifier of each, beside it. | [`c2pa-live/`](c2pa-live/) | [live-provenance](../extensions/live-provenance.md) (`wai.live.provenance`) | `c2pa_live_verify.py` | | [`synthesis/`](synthesis/) | [synthesis](../extensions/synthesis.md) (`wai.media.synthesis`) | `synthesis_verify.py` | | [`usage/`](usage/) | [ai-usage](../extensions/ai-usage.md) (`wai.ai.usage`) | `ai_usage_verify.py` | +| [`contribution/`](contribution/) | [contribution](../extensions/contribution.md) (`wai.media.contribution`) | `contribution_verify.py` | **Provenance.** Generated here: `wai_live_events_vectors gen` writes `events/`, `wai_live_room_vectors gen` writes `rooms/`, `wai_capture_take_vectors gen` writes @@ -29,12 +30,15 @@ writes `recordings/`, `wai_timed_text_vectors gen` writes `captions/` and `steering/`, `wai_live_moderation_vectors gen` writes `moderation/`, `wai_live_watermark_vectors gen` writes `watermark/`, `wai_live_ads_vectors gen` writes `ads/`, `wai_live_provenance_vectors gen` writes `c2pa-live/`, `wai_synthesis_vectors gen` -writes `synthesis/` and `wai_ai_usage_vectors gen` writes `usage/`, each from records authored -in code, from fixed seeds (`events/README.md`, `rooms/README.md`, `takes/README.md`, +writes `synthesis/`, `wai_ai_usage_vectors gen` writes `usage/` and +`wai_contribution_vectors gen` writes `contribution/`, each from records authored in code, from +fixed seeds (`events/README.md`, `rooms/README.md`, `takes/README.md`, `compose/README.md`, `recordings/README.md`, `captions/README.md`, `metering/README.md`, `steering/README.md`, `moderation/README.md`, `watermark/README.md`, `ads/README.md`, -`c2pa-live/README.md`, `synthesis/README.md`, `usage/README.md`); `c2pa-live/` cuts its media -from the packaging corpus's AV1 floor. `joule_moq_e2ee_vectors gen` (in +`c2pa-live/README.md`, `synthesis/README.md`, `usage/README.md`, `contribution/README.md`); +`c2pa-live/` cuts its media from the packaging corpus's AV1 floor, and `contribution/` generates +its pictures with `wai.generate.spectral` and the model file of that capability's conformance +vector. `joule_moq_e2ee_vectors gen` (in `joule-code/joule-code-rs/crates/joule-moq-mls`) writes `e2ee/vectors.json` from fixed seeds, and `e2ee/` also holds the test vectors RFC 9605 and `draft-ietf-moq-secure-objects-01` publish, as printed (`e2ee/README.md`). One recorded record: `metering/relay-record.wmh` and @@ -60,4 +64,5 @@ python3 live_watermark_verify.py watermark python3 c2pa_live_verify.py c2pa-live python3 synthesis_verify.py synthesis python3 ai_usage_verify.py usage +python3 contribution_verify.py contribution ``` diff --git a/wai/live-conformance/contribution/README.md b/wai/live-conformance/contribution/README.md new file mode 100644 index 000000000..8a9a92bc4 --- /dev/null +++ b/wai/live-conformance/contribution/README.md @@ -0,0 +1,40 @@ +# live-conformance/contribution — contribution records + +The corpus of [`extensions/contribution.md`](../../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](../../extensions/synthesis.md) §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 . +``` diff --git a/wai/live-conformance/contribution/vectors.json b/wai/live-conformance/contribution/vectors.json new file mode 100644 index 000000000..8d49593e0 --- /dev/null +++ b/wai/live-conformance/contribution/vectors.json @@ -0,0 +1,3389 @@ +{ + "about": "the conformance corpus of extensions/contribution.md §12, written by wai_contribution_vectors gen", + "models": [ + { + "sha256": "963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e", + "file": "{\"version\":\"wai.generate.spectral/4\",\"lut_size\":1024,\"lut_bits\":14,\"sine_lut\":[0,101,201,302,402,503,603,704,804,904,1005,1105,1205,1306,1406,1506,1606,1706,1806,1906,2006,2105,2205,2305,2404,2503,2603,2702,2801,2900,2999,3098,3196,3295,3393,3492,3590,3688,3786,3883,3981,4078,4176,4273,4370,4467,4563,4660,4756,4852,4948,5044,5139,5235,5330,5425,5520,5614,5708,5803,5897,5990,6084,6177,6270,6363,6455,6547,6639,6731,6823,6914,7005,7096,7186,7276,7366,7456,7545,7635,7723,7812,7900,7988,8076,8163,8250,8337,8423,8509,8595,8680,8765,8850,8935,9019,9102,9186,9269,9352,9434,9516,9598,9679,9760,9841,9921,10001,10080,10159,10238,10316,10394,10471,10549,10625,10702,10778,10853,10928,11003,11077,11151,11224,11297,11370,11442,11514,11585,11656,11727,11797,11866,11935,12004,12072,12140,12207,12274,12340,12406,12472,12537,12601,12665,12729,12792,12854,12916,12978,13039,13100,13160,13219,13279,13337,13395,13453,13510,13567,13623,13678,13733,13788,13842,13896,13949,14001,14053,14104,14155,14206,14256,14305,14354,14402,14449,14497,14543,14589,14635,14680,14724,14768,14811,14854,14896,14937,14978,15019,15059,15098,15137,15175,15213,15250,15286,15322,15357,15392,15426,15460,15493,15525,15557,15588,15619,15649,15679,15707,15736,15763,15791,15817,15843,15868,15893,15917,15941,15964,15986,16008,16029,16049,16069,16088,16107,16125,16143,16160,16176,16192,16207,16221,16235,16248,16261,16273,16284,16295,16305,16315,16324,16332,16340,16347,16353,16359,16364,16369,16373,16376,16379,16381,16383,16384,16384,16384,16383,16381,16379,16376,16373,16369,16364,16359,16353,16347,16340,16332,16324,16315,16305,16295,16284,16273,16261,16248,16235,16221,16207,16192,16176,16160,16143,16125,16107,16088,16069,16049,16029,16008,15986,15964,15941,15917,15893,15868,15843,15817,15791,15763,15736,15707,15679,15649,15619,15588,15557,15525,15493,15460,15426,15392,15357,15322,15286,15250,15213,15175,15137,15098,15059,15019,14978,14937,14896,14854,14811,14768,14724,14680,14635,14589,14543,14497,14449,14402,14354,14305,14256,14206,14155,14104,14053,14001,13949,13896,13842,13788,13733,13678,13623,13567,13510,13453,13395,13337,13279,13219,13160,13100,13039,12978,12916,12854,12792,12729,12665,12601,12537,12472,12406,12340,12274,12207,12140,12072,12004,11935,11866,11797,11727,11656,11585,11514,11442,11370,11297,11224,11151,11077,11003,10928,10853,10778,10702,10625,10549,10471,10394,10316,10238,10159,10080,10001,9921,9841,9760,9679,9598,9516,9434,9352,9269,9186,9102,9019,8935,8850,8765,8680,8595,8509,8423,8337,8250,8163,8076,7988,7900,7812,7723,7635,7545,7456,7366,7276,7186,7096,7005,6914,6823,6731,6639,6547,6455,6363,6270,6177,6084,5990,5897,5803,5708,5614,5520,5425,5330,5235,5139,5044,4948,4852,4756,4660,4563,4467,4370,4273,4176,4078,3981,3883,3786,3688,3590,3492,3393,3295,3196,3098,2999,2900,2801,2702,2603,2503,2404,2305,2205,2105,2006,1906,1806,1706,1606,1506,1406,1306,1205,1105,1005,904,804,704,603,503,402,302,201,101,0,-101,-201,-302,-402,-503,-603,-704,-804,-904,-1005,-1105,-1205,-1306,-1406,-1506,-1606,-1706,-1806,-1906,-2006,-2105,-2205,-2305,-2404,-2503,-2603,-2702,-2801,-2900,-2999,-3098,-3196,-3295,-3393,-3492,-3590,-3688,-3786,-3883,-3981,-4078,-4176,-4273,-4370,-4467,-4563,-4660,-4756,-4852,-4948,-5044,-5139,-5235,-5330,-5425,-5520,-5614,-5708,-5803,-5897,-5990,-6084,-6177,-6270,-6363,-6455,-6547,-6639,-6731,-6823,-6914,-7005,-7096,-7186,-7276,-7366,-7456,-7545,-7635,-7723,-7812,-7900,-7988,-8076,-8163,-8250,-8337,-8423,-8509,-8595,-8680,-8765,-8850,-8935,-9019,-9102,-9186,-9269,-9352,-9434,-9516,-9598,-9679,-9760,-9841,-9921,-10001,-10080,-10159,-10238,-10316,-10394,-10471,-10549,-10625,-10702,-10778,-10853,-10928,-11003,-11077,-11151,-11224,-11297,-11370,-11442,-11514,-11585,-11656,-11727,-11797,-11866,-11935,-12004,-12072,-12140,-12207,-12274,-12340,-12406,-12472,-12537,-12601,-12665,-12729,-12792,-12854,-12916,-12978,-13039,-13100,-13160,-13219,-13279,-13337,-13395,-13453,-13510,-13567,-13623,-13678,-13733,-13788,-13842,-13896,-13949,-14001,-14053,-14104,-14155,-14206,-14256,-14305,-14354,-14402,-14449,-14497,-14543,-14589,-14635,-14680,-14724,-14768,-14811,-14854,-14896,-14937,-14978,-15019,-15059,-15098,-15137,-15175,-15213,-15250,-15286,-15322,-15357,-15392,-15426,-15460,-15493,-15525,-15557,-15588,-15619,-15649,-15679,-15707,-15736,-15763,-15791,-15817,-15843,-15868,-15893,-15917,-15941,-15964,-15986,-16008,-16029,-16049,-16069,-16088,-16107,-16125,-16143,-16160,-16176,-16192,-16207,-16221,-16235,-16248,-16261,-16273,-16284,-16295,-16305,-16315,-16324,-16332,-16340,-16347,-16353,-16359,-16364,-16369,-16373,-16376,-16379,-16381,-16383,-16384,-16384,-16384,-16383,-16381,-16379,-16376,-16373,-16369,-16364,-16359,-16353,-16347,-16340,-16332,-16324,-16315,-16305,-16295,-16284,-16273,-16261,-16248,-16235,-16221,-16207,-16192,-16176,-16160,-16143,-16125,-16107,-16088,-16069,-16049,-16029,-16008,-15986,-15964,-15941,-15917,-15893,-15868,-15843,-15817,-15791,-15763,-15736,-15707,-15679,-15649,-15619,-15588,-15557,-15525,-15493,-15460,-15426,-15392,-15357,-15322,-15286,-15250,-15213,-15175,-15137,-15098,-15059,-15019,-14978,-14937,-14896,-14854,-14811,-14768,-14724,-14680,-14635,-14589,-14543,-14497,-14449,-14402,-14354,-14305,-14256,-14206,-14155,-14104,-14053,-14001,-13949,-13896,-13842,-13788,-13733,-13678,-13623,-13567,-13510,-13453,-13395,-13337,-13279,-13219,-13160,-13100,-13039,-12978,-12916,-12854,-12792,-12729,-12665,-12601,-12537,-12472,-12406,-12340,-12274,-12207,-12140,-12072,-12004,-11935,-11866,-11797,-11727,-11656,-11585,-11514,-11442,-11370,-11297,-11224,-11151,-11077,-11003,-10928,-10853,-10778,-10702,-10625,-10549,-10471,-10394,-10316,-10238,-10159,-10080,-10001,-9921,-9841,-9760,-9679,-9598,-9516,-9434,-9352,-9269,-9186,-9102,-9019,-8935,-8850,-8765,-8680,-8595,-8509,-8423,-8337,-8250,-8163,-8076,-7988,-7900,-7812,-7723,-7635,-7545,-7456,-7366,-7276,-7186,-7096,-7005,-6914,-6823,-6731,-6639,-6547,-6455,-6363,-6270,-6177,-6084,-5990,-5897,-5803,-5708,-5614,-5520,-5425,-5330,-5235,-5139,-5044,-4948,-4852,-4756,-4660,-4563,-4467,-4370,-4273,-4176,-4078,-3981,-3883,-3786,-3688,-3590,-3492,-3393,-3295,-3196,-3098,-2999,-2900,-2801,-2702,-2603,-2503,-2404,-2305,-2205,-2105,-2006,-1906,-1806,-1706,-1606,-1506,-1406,-1306,-1205,-1105,-1005,-904,-804,-704,-603,-503,-402,-302,-201,-101],\"freq_max\":24,\"amp_bits\":6,\"color_offsets\":[0,341,682],\"base_components\":8,\"step_components\":8,\"lexicon\":{\"red\":[255,40,30,256,0,0,0,0,0,0],\"crimson\":[220,20,40,256,0,0,0,0,0,0],\"scarlet\":[240,30,30,256,0,0,0,0,0,0],\"orange\":[255,140,20,256,0,0,0,0,0,0],\"amber\":[255,170,40,256,0,0,0,0,0,0],\"gold\":[255,200,40,256,0,0,0,0,0,0],\"golden\":[255,200,40,256,0,0,0,0,0,0],\"yellow\":[255,240,60,256,0,0,0,0,0,0],\"green\":[40,220,60,256,0,0,0,0,0,0],\"emerald\":[20,200,120,256,0,0,0,0,0,0],\"lime\":[120,240,40,256,0,0,0,0,0,0],\"teal\":[20,200,200,256,0,0,0,0,0,0],\"cyan\":[40,230,240,256,0,0,0,0,0,0],\"turquoise\":[40,220,200,256,0,0,0,0,0,0],\"blue\":[40,90,255,256,0,0,0,0,0,0],\"azure\":[80,160,255,256,0,0,0,0,0,0],\"cobalt\":[40,70,230,256,0,0,0,0,0,0],\"indigo\":[60,40,200,256,0,0,0,0,0,0],\"violet\":[160,40,230,256,0,0,0,0,0,0],\"purple\":[160,40,230,256,0,0,0,0,0,0],\"magenta\":[240,40,200,256,0,0,0,0,0,0],\"pink\":[255,120,200,256,0,0,0,0,0,0],\"rose\":[255,100,150,256,0,0,0,0,0,0],\"white\":[240,240,240,256,0,0,0,0,0,0],\"silver\":[180,190,200,256,0,0,0,0,0,0],\"grey\":[170,175,185,256,0,0,0,0,0,0],\"gray\":[170,175,185,256,0,0,0,0,0,0],\"black\":[40,40,55,256,0,0,0,0,0,0],\"fire\":[255,90,20,360,60,0,0,0,0,0],\"flame\":[255,110,30,380,80,0,0,0,0,0],\"ember\":[240,100,30,300,40,0,0,0,0,0],\"water\":[50,140,230,150,-120,0,0,0,0,0],\"ocean\":[30,90,220,120,-200,0,0,0,0,0],\"sea\":[30,100,215,130,-200,0,0,0,0,0],\"wave\":[40,120,230,200,-160,0,0,0,0,0],\"river\":[60,150,220,170,-60,0,0,0,0,0],\"sky\":[120,180,255,90,-120,0,0,205,0,0],\"cloud\":[200,210,230,110,-80,0,0,0,0,0],\"mist\":[200,215,225,80,-60,0,0,0,0,0],\"forest\":[40,160,60,280,160,0,0,0,0,0],\"tree\":[60,150,70,240,200,0,0,0,0,0],\"leaf\":[60,200,80,240,120,0,0,0,0,0],\"earth\":[150,100,60,200,0,0,0,0,0,0],\"soil\":[140,95,55,200,0,0,0,0,0,0],\"stone\":[150,150,160,190,0,0,0,0,0,0],\"sand\":[230,200,140,90,-120,0,0,0,0,0],\"desert\":[235,195,130,90,-140,0,0,0,0,0],\"dune\":[225,195,135,80,-160,0,0,0,0,0],\"mountain\":[150,150,170,180,40,0,0,0,0,0],\"valley\":[120,160,110,140,-80,0,0,0,0,0],\"sun\":[255,200,70,110,0,235,0,60,0,0],\"sunset\":[255,140,60,110,-80,60,0,-170,0,0],\"dawn\":[255,180,140,100,-100,40,0,175,0,0],\"moon\":[220,220,240,80,0,185,0,0,0,0],\"star\":[240,235,255,320,0,0,0,0,235,0],\"night\":[40,40,90,100,0,0,0,-90,0,0],\"snow\":[225,235,255,90,0,0,0,0,0,0],\"ice\":[200,230,255,120,0,0,0,0,0,0],\"frost\":[210,230,245,110,0,0,0,0,0,0],\"storm\":[90,90,130,420,100,0,0,0,0,0],\"rain\":[120,150,200,300,220,0,0,0,0,0],\"lightning\":[240,240,180,470,200,0,0,0,0,0],\"wind\":[180,200,210,260,-60,0,0,0,0,0],\"smoke\":[120,120,130,280,120,0,0,0,0,0],\"calm\":[120,175,205,70,-150,0,0,0,0,0],\"peaceful\":[130,185,200,70,-120,0,0,0,0,0],\"serene\":[140,190,210,70,-120,0,0,0,0,0],\"soft\":[200,190,210,80,0,0,0,0,0,0],\"smooth\":[185,200,220,70,0,0,0,0,0,0],\"gentle\":[175,200,205,80,-60,0,0,0,0,0],\"quiet\":[160,180,195,80,-40,0,0,0,0,0],\"dream\":[200,160,230,120,0,0,0,0,0,0],\"dreamy\":[200,165,230,110,0,0,0,0,0,0],\"chaos\":[200,100,80,470,0,0,0,0,0,0],\"chaotic\":[205,95,75,470,0,0,0,0,0,0],\"wild\":[210,130,70,420,40,0,0,0,0,0],\"sharp\":[220,220,230,430,0,0,0,0,0,0],\"busy\":[200,160,120,410,0,0,0,0,0,0],\"intense\":[240,80,60,440,0,0,0,0,0,0],\"bright\":[255,250,220,220,0,0,0,0,0,0],\"dark\":[50,50,70,150,0,0,0,0,0,0],\"deep\":[40,60,120,130,0,0,0,0,0,0],\"warm\":[255,150,80,180,0,0,0,0,0,0],\"cool\":[80,160,220,160,0,0,0,0,0,0],\"vivid\":[255,80,120,360,0,0,0,0,0,0],\"horizon\":[120,160,220,80,-240,0,0,120,0,0],\"horizontal\":[180,180,185,160,-240,0,0,0,0,0],\"vertical\":[180,180,185,160,240,0,0,0,0,0],\"tall\":[160,180,160,220,200,0,0,0,0,0],\"flat\":[170,185,195,90,-200,0,0,0,0,0],\"ring\":[200,200,210,300,0,255,0,0,0,0],\"target\":[235,70,70,320,0,255,0,0,0,0],\"eye\":[180,140,220,260,0,245,0,0,0,0],\"ripple\":[60,150,220,260,0,235,0,0,0,0],\"circle\":[200,205,215,240,0,245,0,0,0,0],\"orb\":[225,200,150,180,0,235,0,0,0,0],\"halo\":[255,240,205,160,0,235,0,40,0,0],\"spiral\":[205,120,220,360,0,0,0,0,40,215],\"vortex\":[170,80,200,420,0,0,0,0,40,210],\"portal\":[120,80,230,320,0,235,0,0,0,0],\"eclipse\":[205,150,80,180,0,245,0,0,0,0],\"bubble\":[180,220,240,220,0,215,0,0,0,0],\"lens\":[200,210,230,200,0,205,0,0,0,0],\"mandala\":[235,160,60,380,0,205,190,0,0,0],\"radiant\":[255,220,120,240,0,235,0,40,0,0],\"kaleidoscope\":[205,120,230,380,0,70,255,0,0,0],\"crystal\":[180,220,240,320,0,50,225,0,0,0],\"snowflake\":[220,235,255,300,0,130,245,0,0,0],\"gem\":[120,200,235,320,0,50,205,0,0,0],\"prism\":[235,235,255,320,0,50,205,0,0,0],\"butterfly\":[235,140,200,300,0,0,215,0,0,0],\"symmetry\":[185,190,200,220,0,0,245,0,0,0],\"mirror\":[185,195,210,220,0,0,255,0,0,0],\"sunrise\":[255,180,120,110,0,60,0,175,0,0],\"dusk\":[120,90,160,110,0,40,0,-175,0,0],\"twilight\":[90,80,150,110,0,0,0,-160,0,0],\"depth\":[40,70,130,130,0,0,0,-150,0,0],\"ombre\":[205,165,205,100,0,0,0,185,0,0],\"gradient\":[180,190,210,120,0,0,0,205,0,0],\"fade\":[190,200,215,90,0,0,0,165,0,0],\"glow\":[255,230,170,200,0,200,0,30,0,0],\"aurora\":[80,230,180,200,-120,0,0,150,0,0],\"maroon\":[128,30,40,256,0,0,0,0,0,0],\"navy\":[20,40,110,256,0,0,0,0,0,0],\"olive\":[110,120,40,256,0,0,0,0,0,0],\"beige\":[225,210,170,256,0,0,0,0,0,0],\"charcoal\":[55,58,66,256,0,0,0,0,0,0],\"ivory\":[255,250,230,256,0,0,0,0,0,0],\"coral\":[255,120,90,256,0,0,0,0,0,0],\"salmon\":[250,140,120,256,0,0,0,0,0,0],\"peach\":[255,200,160,256,0,0,0,0,0,0],\"lavender\":[200,170,240,256,0,0,0,0,0,0],\"lilac\":[200,160,220,256,0,0,0,0,0,0],\"mint\":[180,245,210,256,0,0,0,0,0,0],\"sage\":[160,190,150,256,0,0,0,0,0,0],\"jade\":[60,200,150,256,0,0,0,0,0,0],\"ruby\":[220,30,70,256,0,0,0,0,0,0],\"sapphire\":[40,70,200,256,0,0,0,0,0,0],\"amethyst\":[150,90,210,256,0,0,0,0,0,0],\"copper\":[200,120,70,256,0,0,0,0,0,0],\"bronze\":[180,130,80,256,0,0,0,0,0,0],\"rust\":[180,80,40,256,0,0,0,0,0,0],\"ochre\":[200,150,60,256,0,0,0,0,0,0],\"sepia\":[150,110,80,256,0,0,0,0,0,0],\"cream\":[255,250,220,256,0,0,0,0,0,0],\"tan\":[210,180,140,256,0,0,0,0,0,0],\"khaki\":[190,180,130,256,0,0,0,0,0,0],\"mauve\":[200,150,170,256,0,0,0,0,0,0],\"periwinkle\":[150,160,235,256,0,0,0,0,0,0],\"chartreuse\":[180,240,60,256,0,0,0,0,0,0],\"vermillion\":[230,70,40,256,0,0,0,0,0,0],\"ultramarine\":[40,50,200,256,0,0,0,0,0,0],\"cerulean\":[40,150,230,256,0,0,0,0,0,0],\"chrome\":[200,210,225,320,0,0,0,0,0,0],\"neon\":[80,255,180,380,0,0,0,0,0,0],\"meadow\":[120,210,90,130,-100,0,0,0,0,0],\"field\":[150,200,100,110,-120,0,0,0,0,0],\"jungle\":[40,170,70,360,160,0,0,0,0,0],\"swamp\":[80,120,70,220,-40,0,0,0,0,0],\"glacier\":[200,225,245,110,0,0,0,0,0,0],\"tundra\":[190,200,210,90,-100,0,0,0,0,0],\"canyon\":[200,130,80,200,60,0,0,0,0,0],\"cliff\":[160,150,140,200,200,0,0,0,0,0],\"cave\":[70,65,78,150,0,0,0,0,0,0],\"volcano\":[210,80,40,400,80,0,0,0,0,0],\"lava\":[240,90,20,380,60,0,0,0,0,0],\"lagoon\":[40,200,200,140,-150,0,0,0,0,0],\"tide\":[50,130,200,180,-180,0,0,0,0,0],\"foam\":[220,235,245,200,-60,0,0,0,0,0],\"waterfall\":[120,180,230,360,230,0,0,0,0,0],\"lake\":[70,150,210,90,-200,0,0,0,0,0],\"stream\":[90,170,220,200,-40,0,0,0,0,0],\"pebble\":[170,165,160,180,0,0,0,0,0,0],\"boulder\":[140,140,150,160,0,0,0,0,0,0],\"dust\":[200,185,160,220,0,0,0,0,0,0],\"ash\":[130,130,136,200,0,0,0,0,0,0],\"moss\":[90,160,80,240,0,0,0,0,0,0],\"fern\":[70,180,90,280,140,0,0,0,0,0],\"grass\":[90,200,80,300,200,0,0,0,0,0],\"petal\":[255,160,200,200,0,0,0,0,0,0],\"blossom\":[255,180,210,180,0,0,0,0,0,0],\"pine\":[40,120,70,320,200,0,0,0,0,0],\"oak\":[120,140,70,280,180,0,0,0,0,0],\"palm\":[80,180,100,260,200,0,0,0,0,0],\"cactus\":[110,170,90,300,160,0,0,0,0,0],\"bamboo\":[150,200,110,320,240,0,0,0,0,0],\"wheat\":[225,200,120,200,-150,0,0,0,0,0],\"reef\":[80,200,180,300,0,0,0,0,0,0],\"fog\":[200,205,212,70,0,0,0,170,0,0],\"haze\":[205,200,196,80,0,0,0,150,0,0],\"drizzle\":[150,170,200,280,210,0,0,150,0,0],\"downpour\":[110,140,190,380,235,0,0,130,0,0],\"blizzard\":[225,235,255,430,200,0,0,120,0,0],\"thunder\":[90,90,122,440,60,0,0,0,0,0],\"breeze\":[180,210,210,200,-80,0,0,0,0,0],\"gale\":[150,180,200,360,-40,0,0,0,0,0],\"monsoon\":[90,120,170,400,210,0,0,0,0,0],\"tornado\":[140,140,162,460,240,0,0,0,0,0],\"hail\":[200,215,236,440,0,0,0,0,0,0],\"galaxy\":[120,80,200,360,0,200,0,0,0,130],\"nebula\":[180,80,210,320,0,205,0,0,0,0],\"cosmos\":[60,50,140,280,0,185,0,-60,0,0],\"comet\":[220,220,255,380,0,0,0,0,0,0],\"meteor\":[230,180,120,400,60,0,0,0,0,0],\"planet\":[120,150,200,160,0,235,0,0,0,0],\"orbit\":[150,180,230,220,0,240,0,0,0,0],\"constellation\":[220,225,255,340,0,0,0,0,0,0],\"solar\":[255,210,90,200,0,235,0,40,0,0],\"lunar\":[210,215,236,100,0,205,0,0,0,0],\"stellar\":[220,225,255,320,0,0,0,0,0,0],\"void\":[30,30,52,100,0,0,0,-120,0,0],\"abyss\":[25,30,56,110,0,0,0,-180,0,0],\"cyclone\":[130,140,170,460,0,0,0,0,30,210],\"hurricane\":[120,130,160,460,0,225,0,0,0,0],\"metal\":[150,155,166,300,0,0,0,0,0,0],\"steel\":[160,170,186,280,-40,0,0,0,0,0],\"iron\":[110,110,122,260,0,0,0,0,0,0],\"silk\":[225,215,226,90,-40,0,0,0,0,0],\"velvet\":[120,40,90,110,0,0,0,0,0,0],\"marble\":[225,225,232,130,0,0,150,0,0,0],\"granite\":[150,150,156,220,0,0,0,0,0,0],\"slate\":[110,120,132,180,-60,0,0,0,0,0],\"glass\":[210,225,236,160,0,0,0,0,0,0],\"ceramic\":[230,220,212,140,0,0,0,0,0,0],\"joy\":[255,210,90,280,0,0,0,0,0,0],\"melancholy\":[90,110,170,100,-60,0,0,0,0,0],\"tranquil\":[140,200,200,70,-120,0,0,0,0,0],\"frenzy\":[240,90,70,470,0,0,0,0,0,0],\"fury\":[230,40,30,470,0,0,0,0,0,0],\"rage\":[220,30,22,470,0,0,0,0,0,0],\"bliss\":[255,200,220,200,0,0,0,0,0,0],\"gloom\":[70,75,98,110,0,0,0,0,0,0],\"hope\":[180,220,255,200,-60,0,0,0,0,0],\"mystic\":[120,80,200,260,0,170,60,0,0,0],\"ethereal\":[200,210,255,150,0,0,0,160,0,0],\"surreal\":[220,120,230,300,0,0,0,0,0,0],\"ominous\":[80,70,92,200,0,0,0,0,0,0],\"eerie\":[110,140,130,260,0,0,0,0,0,0],\"cozy\":[230,170,120,150,0,0,0,0,0,0],\"vibrant\":[255,90,150,380,0,0,0,0,0,0],\"muted\":[170,165,176,120,0,0,0,0,0,0],\"festive\":[255,120,140,360,0,0,0,0,0,0],\"shadow\":[60,60,76,150,0,0,0,0,0,0],\"shimmer\":[225,230,200,360,0,0,0,0,0,0],\"sparkle\":[240,245,226,420,0,120,0,0,0,0],\"gleam\":[240,240,212,280,0,0,0,0,0,0],\"beam\":[255,250,210,200,200,0,0,150,0,0],\"dazzle\":[255,250,232,440,0,0,0,0,0,0],\"moonlight\":[200,210,236,100,0,0,0,170,0,0],\"sunlight\":[255,235,160,180,0,0,0,185,0,0],\"starlight\":[220,225,255,320,0,0,0,0,0,0],\"lattice\":[180,190,200,360,0,0,235,0,0,0],\"grid\":[185,190,200,340,0,0,245,0,0,0],\"mesh\":[180,185,196,380,0,0,235,0,0,0],\"web\":[170,180,196,360,0,130,150,0,0,0],\"fractal\":[180,120,210,420,0,60,215,0,0,0],\"mosaic\":[210,150,120,360,0,0,225,0,0,0],\"weave\":[190,170,150,340,0,0,215,0,0,0],\"tiger\":[240,130,30,300,-190,0,0,0,0,0],\"zebra\":[180,180,186,340,240,0,0,0,0,0],\"peacock\":[30,180,180,300,0,200,0,0,0,0],\"dragon\":[200,50,40,400,0,0,0,0,0,0],\"phoenix\":[255,110,30,400,0,185,0,40,0,0],\"serpent\":[120,180,90,320,200,0,0,0,0,0],\"jellyfish\":[180,150,230,200,0,205,0,0,0,0],\"octopus\":[180,80,160,320,0,0,0,0,0,0],\"feather\":[220,210,232,240,200,0,0,0,0,0],\"dragonfly\":[80,200,200,340,0,60,0,0,0,0],\"firefly\":[230,230,120,300,0,180,0,0,0,0],\"koi\":[240,120,60,240,-60,0,0,0,0,0],\"swan\":[240,240,246,110,-60,0,0,0,0,0],\"raven\":[50,50,66,220,0,0,0,0,0,0],\"owl\":[180,150,110,220,0,0,0,0,0,0],\"fox\":[220,120,50,260,0,0,0,0,0,0],\"wolf\":[140,145,156,240,0,0,0,0,0,0],\"deer\":[180,140,100,200,0,0,0,0,0,0],\"whale\":[70,110,160,100,-200,0,0,0,0,0],\"dolphin\":[120,180,220,160,-120,0,0,0,0,0],\"shark\":[120,140,162,220,-80,0,0,0,0,0],\"wine\":[110,30,50,256,0,0,0,0,0,0],\"honey\":[240,190,70,256,0,0,0,0,0,0],\"coffee\":[110,70,46,256,0,0,0,0,0,0],\"chocolate\":[90,55,36,256,0,0,0,0,0,0],\"berry\":[120,40,90,256,0,0,0,0,0,0],\"cherry\":[200,30,50,256,0,0,0,0,0,0],\"plum\":[120,60,110,256,0,0,0,0,0,0],\"grape\":[110,70,140,256,0,0,0,0,0,0],\"mango\":[255,170,50,256,0,0,0,0,0,0],\"lemon\":[245,230,70,256,0,0,0,0,0,0],\"caramel\":[200,140,70,256,0,0,0,0,0,0],\"cinnamon\":[180,90,50,256,0,0,0,0,0,0],\"saffron\":[240,160,40,256,0,0,0,0,0,0],\"matcha\":[140,190,80,256,0,0,0,0,0,0],\"cocoa\":[120,75,50,256,0,0,0,0,0,0],\"blueberry\":[60,80,160,256,0,0,0,0,0,0],\"strawberry\":[230,50,70,256,0,0,0,0,0,0],\"pumpkin\":[240,140,40,256,0,0,0,0,0,0],\"pistachio\":[160,210,130,256,0,0,0,0,0,0],\"vanilla\":[245,235,200,256,0,0,0,0,0,0],\"opal\":[200,220,236,280,0,150,0,0,0,0],\"pearl\":[240,238,236,150,0,185,0,0,0,0],\"onyx\":[40,40,52,200,0,0,0,-150,0,0],\"quartz\":[225,220,236,280,0,0,175,0,0,0],\"topaz\":[230,180,80,256,0,0,0,0,0,0],\"garnet\":[150,30,50,256,0,0,0,0,0,0],\"obsidian\":[35,35,46,240,0,0,0,-160,0,0],\"malachite\":[40,160,90,300,0,0,165,0,0,0],\"jet\":[40,40,52,200,0,0,0,0,0,0],\"moonstone\":[210,220,236,180,0,165,0,0,0,0],\"city\":[150,160,180,360,240,0,0,0,0,0],\"cathedral\":[180,170,200,280,200,0,215,0,0,0],\"temple\":[200,180,150,240,200,0,0,0,0,0],\"ruins\":[160,150,136,240,0,0,0,0,0,0],\"castle\":[150,150,162,260,200,0,0,0,0,0],\"tower\":[160,165,176,300,240,0,0,0,0,0],\"dome\":[200,200,212,200,0,235,0,0,0,0],\"spire\":[180,180,196,320,240,0,0,0,0,0],\"labyrinth\":[150,140,132,380,0,0,235,0,0,0],\"garden\":[140,200,110,240,0,0,0,0,0,0],\"maze\":[160,160,172,400,0,0,245,0,0,0],\"bridge\":[170,160,152,220,-100,0,0,0,0,0],\"love\":[255,120,150,200,0,0,0,0,0,0],\"passion\":[220,40,60,380,0,0,0,0,0,0],\"harmony\":[160,210,200,90,0,0,185,0,0,0],\"balance\":[180,190,200,110,0,0,215,0,0,0],\"energy\":[255,200,40,420,0,215,0,0,0,0],\"power\":[230,70,40,420,0,0,0,0,0,0],\"freedom\":[150,200,255,180,-120,0,0,150,0,0],\"wonder\":[200,180,255,200,0,185,0,0,0,0],\"mystery\":[90,70,130,220,0,0,0,0,0,0],\"infinity\":[120,150,220,240,0,180,175,0,0,0],\"eternity\":[110,130,200,180,0,195,0,0,0,0],\"silence\":[200,205,216,60,0,0,0,130,0,0],\"echo\":[180,190,210,220,0,220,0,0,0,0],\"zen\":[180,200,190,60,-100,0,0,120,0,0],\"plasma\":[200,80,200,420,0,215,0,0,0,0],\"quasar\":[180,200,255,400,0,235,0,30,0,0],\"pulsar\":[220,230,255,380,0,235,0,0,0,0],\"supernova\":[255,180,120,440,0,240,0,60,0,0],\"blackhole\":[30,30,52,300,0,225,0,-160,0,0],\"matrix\":[60,230,90,380,240,0,215,0,0,0],\"circuit\":[80,200,160,360,0,0,205,0,0,0],\"hologram\":[120,220,230,360,0,195,0,0,0,0],\"laser\":[255,60,90,400,0,0,0,0,0,0],\"wormhole\":[120,90,200,380,0,235,0,0,0,0],\"cyber\":[90,210,200,400,0,0,0,0,0,0],\"digital\":[100,200,180,380,0,0,215,0,0,0],\"lotus\":[255,170,210,200,0,200,0,0,0,0],\"orchid\":[210,120,200,220,0,0,0,0,0,0],\"daisy\":[245,240,212,240,0,215,0,0,0,0],\"sunflower\":[250,200,50,260,0,235,0,0,0,0],\"poppy\":[220,40,40,300,0,0,0,0,0,0],\"tulip\":[230,80,120,240,200,0,0,0,0,0],\"ivy\":[70,140,70,300,200,0,0,0,0,0],\"willow\":[130,180,120,240,200,0,0,0,0,0],\"lily\":[240,235,246,200,0,195,0,0,0,0],\"autumn\":[210,120,50,240,0,0,0,0,0,0],\"spring\":[150,220,120,200,0,0,0,0,0,0],\"summer\":[255,200,90,220,0,0,0,0,0,0],\"winter\":[200,220,240,150,0,0,0,0,0,0],\"harvest\":[220,160,60,240,0,0,0,0,0,0],\"equinox\":[200,180,160,180,-100,0,0,0,0,0],\"solstice\":[255,200,120,200,0,0,0,0,0,0],\"rhythm\":[220,120,80,400,0,0,0,0,0,0],\"melody\":[180,200,230,120,-60,0,0,130,0,0],\"pulse\":[230,90,120,300,0,215,0,0,0,0],\"bass\":[80,90,142,80,0,0,0,0,0,0],\"jazz\":[200,140,90,360,0,0,0,0,0,0],\"blues\":[60,90,180,180,-100,0,0,-120,0,0],\"resonance\":[160,180,220,260,0,205,0,0,0,0],\"ray\":[255,245,200,280,0,0,0,0,235,0],\"rays\":[255,245,200,280,0,0,0,0,235,0],\"sunburst\":[255,210,90,300,0,0,0,40,235,0],\"starburst\":[240,240,255,360,0,0,0,0,240,0],\"pinwheel\":[220,130,200,320,0,0,0,0,235,40],\"spoke\":[200,200,210,300,0,0,0,0,225,0],\"fan\":[200,210,220,260,0,0,0,0,200,0],\"radiate\":[255,220,150,300,0,0,0,30,225,0],\"burst\":[255,180,120,380,0,0,0,0,235,0],\"flare\":[255,170,90,360,0,0,0,20,225,0],\"shine\":[255,245,200,280,0,0,0,40,200,0],\"swirl\":[200,140,210,320,0,0,0,0,40,235],\"whirl\":[180,150,210,340,0,0,0,0,40,235],\"whirlpool\":[70,140,200,320,0,0,0,0,30,240],\"twist\":[200,160,180,320,0,0,0,0,30,225],\"twirl\":[220,160,200,320,0,0,0,0,40,225],\"helix\":[150,190,220,340,0,0,0,0,30,235],\"coil\":[180,170,200,320,0,0,0,0,30,230],\"hypnotic\":[180,120,220,360,0,0,0,0,50,240],\"curl\":[200,180,200,300,0,0,0,0,30,200],\"eddy\":[90,160,200,300,0,0,0,0,40,210]}}" + } + ], + "vectors": [ + { + "name": "brush", + "about": "a person draws, a collaborator brushes inside two rectangles, and the first crops: the edit changed nothing outside its region and the crop recomputes; the origin claim, captured, agrees with a map no model made any sample of (§4, §7, §9.1)", + "policy": { + "tier": "stated" + }, + "session": "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-session\",\"media\":\"image\",\"parties\":[{\"key\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\",\"role\":\"human\"},{\"key\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\",\"role\":\"human\"},{\"digest\":\"963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e\",\"role\":\"model\",\"type\":\"algorithmic\"},{\"digest\":\"af0cc7d1226d60c32186ea7d6abdd4f4f71737d99f94c2a9b6f57e1cd5f63d25\",\"role\":\"model\",\"type\":\"trained\"},{\"key\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\",\"role\":\"audience\"}],\"session\":\"ba8343191c03771d24b7824ef8bd7179b3636d877fa8e6139992a7f5b697fe83\",\"sig\":\"98c1ee158f4a39cb257612d4e86f66fdea2b252cb682d469b944d2fc4a3513006c4a83a92237c1683895dfca660577f9e93b01ccab062b09c50d457ed24fff03\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"tool\":\"conformance-studio/1\"}", + "memberships": [ + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":0,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"91c18a1463ce0471fdd019182706f53c05efa1859d1db93c353de9122a3abd108e40965c9c14cbf4be3f40911af82dbddbcc0a144a3a6e7825a8cad8a6cd360c\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":1,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"0e786ad78bda25fe732583bb04e62ec999f9c3f78cd719ee67cb159a3aa5e2b2e8fed6a305100264a392bd920e7753f30d5c9ba99053ec590f8c9c9f8a94f707\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":4,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"8859195c031cbe3863fa98a4bfa0775a0fa5cc10b24814f05ab16aa23ae2d14652bd72942158fa310cf06fbd7f5f0e8be8e79b7985493993516fd978d7d09606\",\"signer_pubkey\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\"}" + ], + "record": "{\"estimates\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-contribution\",\"map\":\"7b57936bf90119925c5a51e2c75c49fc5f4a229dc9693356b484e9dc95ebd5bf\",\"origin\":\"6a25f390f2b4f175e84ac6459ae5184dc829da1ee74eca8f90b634e2112131f7\",\"output\":{\"content_hash\":\"590634ad26c92bb75ec3709b855abb567c988889acd51e954b48253ca7212074\",\"height\":4,\"samples\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"step\":2,\"width\":6},\"root\":\"69f0fec811c3971ba1f39eb0dfbd7aa72855e3b1e1acdb826bce4e189201152c\",\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"1723172d88995ac2fb1294cfc205a778c3c7d23d00fbf56f95a09c866a9d36a8f1674d643cf407940534eb39c43a1f97a8cf8954d7f4665284af2143af096500\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"steps\":3}", + "steps": [ + { + "step": "{\"act\":\"author\",\"check\":\"replicate\",\"inputs\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"3ee879760a3cf69d9a48c7ae08b6971eb96ae7e973fa4d22002039b546590262\",\"width\":8},\"params\":{\"source\":\"digitalCreation\"},\"party\":0,\"prev\":null,\"region\":null,\"seq\":0,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"8ea7f11877bc720d3fb66c874946222d94968502ddae7dd9616e1e8ac5df2bc5438245b03ff1409f4b4330b06f54746a4ec4680f7d7782906100dc20d854b807\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "245375c1b3eef49019e8eba5a71603dafa53dc4221d07f2c2ce83f3ead4c1831", + "1253b3fdb178c6577638adec86a5c20800a5e95cd7af39cfeae404a78a46a796" + ] + }, + { + "step": "{\"act\":\"edit\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"3ee879760a3cf69d9a48c7ae08b6971eb96ae7e973fa4d22002039b546590262\",\"step\":0}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"42e8909f556c4557eeb9b6b60d14209ecaafc4dffd191ac77b2e99e88805221a\",\"width\":8},\"params\":{},\"party\":1,\"prev\":\"d2b0576f27f28c0adf54c945acf85fdb780e2fb98bdfc1c63c7a4c2edfdcc455\",\"region\":[{\"h\":2,\"w\":3,\"x\":2,\"y\":1},{\"h\":1,\"w\":2,\"x\":5,\"y\":4}],\"seq\":1,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"34451e4e29bdef7402b9c4070c611b18dbfa1d9cfd04528aab1d9541b946374dfc59a746ed5df6c5421f1cbc335fe65d1978f14af9713de413f9dd1b7e8fb40c\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "proof": [ + "05feabecad5dccde03a732abeadb8509061da9400bd37de4930f9eef582cc718", + "1253b3fdb178c6577638adec86a5c20800a5e95cd7af39cfeae404a78a46a796" + ] + }, + { + "step": "{\"act\":\"transform\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"42e8909f556c4557eeb9b6b60d14209ecaafc4dffd191ac77b2e99e88805221a\",\"step\":1}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":4,\"samples\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"width\":6},\"params\":{\"derivation\":\"wai.derive.crop\",\"params\":{\"h\":4,\"w\":6,\"x\":1,\"y\":1}},\"party\":0,\"prev\":\"8062364c2fc760a54f6852d468b63400b62a8871cf6fc94110796620d2626d79\",\"region\":null,\"seq\":2,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"1b2267557ee56cc3fca9cf2f506d779d0a2935f5d780f2ddcfa3020a0ce13e935637b8f75629d1b0a9a10659224ff12b8829fdb20b9799452e1c4eb66af7d404\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "63c4467d39c4bfdfdec4750ba1c3147909ff1f30a293173a389b7bbde600e148", + "ad1b48e9ac9cec5aaf434f4b80be9a16e7e3823f7dee7417b49d5eb09f74f422" + ] + } + ], + "map": "{\"height\":4,\"kind\":\"wai-authorship-map\",\"output\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"palette\":[{\"directed_by\":[0],\"made_by\":[0]},{\"directed_by\":[0],\"made_by\":[1]}],\"rows\":[[[0,1],[1,3],[0,2]],[[0,1],[1,3],[0,2]],[[0,6]],[[0,4],[1,2]]],\"width\":6}", + "openings": [], + "states": [ + "0d1d3ed84439e6b8290ac53a929a9d0bbb23f77a846cc30d3e7138c921a13828374a02675b15eb568a7e2d9367e55fd5e68d6094f01ce8d7d851f2563a283ddb9a7ff533b99f121a31aa2a47a59649f213c65626aa95c589af77518e06d5c96e86732a066e27a6ea92f5426716b09ae8a2b2beb98dd19512bfce11b59bc1c7293827acfb1d3a8fc061fadfe922f5c6d2", + "0d1d3ed84439e6b8290ac53a929a9d0bbb23f77a846cc30d3e7138c921a129b8bbf6bfe98beab3568a7e2d9367e55fd5e68d6094f01cea6da5d5ac55651fb1db9a7ff533b99f121a31aa2a47a59649f213c65626aa95c589af77518e06d5c96e86732a066e27a6ea92f5426716b09a7c34c5e6a158d19512bfce11b59bc1c7293827acfb1d3a8fc061fadfe922f5c6d2", + "c921a129b8bbf6bfe98beab3568a7e2d936794f01cea6da5d5ac55651fb1db9a7ff533b947a59649f213c65626aa95c589af77518e06066e27a6ea92f5426716b09a7c34c5e6a158" + ], + "models": [ + "963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e" + ], + "origins": [ + "{\"class\":\"captured\",\"evidence\":null,\"inputs\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-origin\",\"media\":\"image\",\"models\":[],\"operation\":\"capture\",\"oversight\":null,\"record\":null,\"sig\":\"aee95ec3bcb46f9bef5e1125dcf0cb15f0221f58959378e272a0ff2b64913809af357ecf1d313b6da27faf7b948e950d5f7bd56f30a2f3b3dd6447e2e59b0006\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"source\":\"digitalCreation\",\"step\":\"capture\",\"subject\":{\"content_hash\":\"590634ad26c92bb75ec3709b855abb567c988889acd51e954b48253ca7212074\",\"type\":\"object\"}}" + ], + "outcome": "accept", + "statements": { + "tier": "recomputed", + "session": "7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b", + "record": "15d4d2e529cb69c54724dea9dfc37edfd70c2128d928a61cbbfb11fc3b0cfeba", + "steps": [ + { + "seq": 0, + "act": "author", + "party": 0, + "check": "replicate", + "status": "checked" + }, + { + "seq": 1, + "act": "edit", + "party": 1, + "check": "replicate", + "status": "checked" + }, + { + "seq": 2, + "act": "transform", + "party": 0, + "check": "replicate", + "status": "checked" + } + ], + "committed": 0, + "computed": { + "samples": 24, + "made_by": [ + { + "party": 0, + "samples": 16 + }, + { + "party": 1, + "samples": 8 + } + ], + "made_by_unknown": 0, + "made_by_undisclosed": 0, + "directed_by": [ + { + "party": 0, + "samples": 24 + } + ], + "directed_by_unknown": 0, + "directed_by_undisclosed": 0 + }, + "stated": { + "samples": 24, + "made_by": [ + { + "party": 0, + "samples": 16 + }, + { + "party": 1, + "samples": 8 + } + ], + "made_by_unknown": 0, + "made_by_undisclosed": 0, + "directed_by": [ + { + "party": 0, + "samples": 24 + } + ], + "directed_by_unknown": 0, + "directed_by_undisclosed": 0 + }, + "estimates": [], + "origin": "agree", + "c2pa": "{\"actions\":[{\"action\":\"c2pa.created\",\"digitalSourceType\":\"http://c2pa.org/digitalsourcetype/empty\",\"softwareAgent\":{\"name\":\"conformance-studio/1\"}},{\"action\":\"c2pa.edited\",\"digitalSourceType\":\"http://cv.iptc.org/newscodes/digitalsourcetype/digitalCreation\",\"softwareAgent\":{\"name\":\"conformance-studio/1\"}},{\"action\":\"c2pa.drawing\",\"changes\":[{\"region\":[{\"shape\":{\"height\":2,\"origin\":{\"x\":2,\"y\":1},\"type\":\"rectangle\",\"unit\":\"pixel\",\"width\":3},\"type\":\"spatial\"},{\"shape\":{\"height\":1,\"origin\":{\"x\":5,\"y\":4},\"type\":\"rectangle\",\"unit\":\"pixel\",\"width\":2},\"type\":\"spatial\"}]}],\"digitalSourceType\":\"http://cv.iptc.org/newscodes/digitalsourcetype/digitalCreation\",\"softwareAgent\":{\"name\":\"conformance-studio/1\"}},{\"action\":\"c2pa.cropped\",\"softwareAgent\":{\"name\":\"conformance-studio/1\"}}]}" + } + }, + { + "name": "inpaint", + "about": "the pinned generator inpaints a region one person marked from a prompt the other wrote: the fill regenerates, nothing outside the region changed, and the synthesized origin claim agrees (§4.5, §7.2, §9.1)", + "policy": { + "tier": "stated" + }, + "session": "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-session\",\"media\":\"image\",\"parties\":[{\"key\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\",\"role\":\"human\"},{\"key\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\",\"role\":\"human\"},{\"digest\":\"963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e\",\"role\":\"model\",\"type\":\"algorithmic\"},{\"digest\":\"af0cc7d1226d60c32186ea7d6abdd4f4f71737d99f94c2a9b6f57e1cd5f63d25\",\"role\":\"model\",\"type\":\"trained\"},{\"key\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\",\"role\":\"audience\"}],\"session\":\"fe8bc8548d988c07cc90690099b1d96fe3c01c7ee94600328864e24cbd5989a0\",\"sig\":\"21c99265c1458853d72a085e54c6334ce5560df1810aea602c1743a0b9fa17ef64ef401b409c6bc192cb3c78ba551eacdd37206728b5d8500e3b3e3e18dc9201\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"tool\":\"conformance-studio/1\"}", + "memberships": [ + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":0,\"session\":\"eed602319bb966a624634886808edfc6525835494f3ea5882b453716a2eb65cc\",\"sig\":\"6744bf69fadf7ccab2d972675edf401352f3c2f15b650e9f6ddb40a944a4b7da0e518710c09c9bfa85b996df5fe4d14a1a97fae6f7362cc928030193d9d49802\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":1,\"session\":\"eed602319bb966a624634886808edfc6525835494f3ea5882b453716a2eb65cc\",\"sig\":\"40af74282555d31cce26b320aff97f92a18a5fee05e7eacf969fe46c4237f2685489df637d187afb0be516ec3934d0c94bbce61d7d4885567572f185e9bec20c\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":4,\"session\":\"eed602319bb966a624634886808edfc6525835494f3ea5882b453716a2eb65cc\",\"sig\":\"94a1e8e97017d173931c153f73949751fa59969645dec034c656cdc32a669a70f9b4d0f621423419a3dcef60fc968fd9398738d8c8f88617c7e17aa29569ce01\",\"signer_pubkey\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\"}" + ], + "record": "{\"estimates\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-contribution\",\"map\":\"9189deda5189aceb78acf444d6c0160da78b605078b0d7b969711c105924a73d\",\"origin\":\"ebeb4d21df1b1494c3cbfc1fa50a5730a0348a3b1b801fe08e760c11b9884dbd\",\"output\":{\"content_hash\":\"59bfead5d6c73420e81fe2cc2bd4b9e8f29675f8f46e9464dbe0165b9be67f69\",\"height\":6,\"samples\":\"8df68b812b2940622a51e58e7a4451cbf808a897180435af2ed874a315cc01e9\",\"step\":1,\"width\":8},\"root\":\"4dce3e58c50a100b3187025fbf6c16e7e70c52f793c000c2c563dc332d4d708b\",\"session\":\"eed602319bb966a624634886808edfc6525835494f3ea5882b453716a2eb65cc\",\"sig\":\"b5e9d76627363988c399db22a8c57a5cceec594304a686c71fc45a65f1bcb08ce0bd5c357da7a98a20ca18dbeb7dc6b183fd8d0d02b33d78219b38ea4d0ece07\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"steps\":2}", + "steps": [ + { + "step": "{\"act\":\"author\",\"check\":\"replicate\",\"inputs\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"40a2d70b508758c89240249c8b3a7fe58e2bc2a6119e2417c2c8f926781a47c2\",\"width\":8},\"params\":{\"source\":\"digitalCapture\"},\"party\":0,\"prev\":null,\"region\":null,\"seq\":0,\"session\":\"eed602319bb966a624634886808edfc6525835494f3ea5882b453716a2eb65cc\",\"sig\":\"1f16c4ec09a2cf6b2f57c1882de9d41e40c3cffbca83e17915aa93c7b2709766fd17dbc2e42c7eadf0a8f60d76d5e1de56158d5ad1feffc3445478602fd6ca08\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "78f52f27870dc666d1d4dbf7d0fd7957b9b5a7fb10d691450bb0fd3a7ddb651a" + ] + }, + { + "step": "{\"act\":\"inpaint\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"40a2d70b508758c89240249c8b3a7fe58e2bc2a6119e2417c2c8f926781a47c2\",\"step\":0}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"8df68b812b2940622a51e58e7a4451cbf808a897180435af2ed874a315cc01e9\",\"width\":8},\"params\":{\"generator\":\"wai.generate.spectral\",\"mask_by\":0,\"prompt\":\"298f91f8b7154b4286d301f659536b906142446e4c02efbcbae62cf3ffa53b8b\",\"prompt_by\":1,\"seed\":7,\"steps\":1},\"party\":2,\"prev\":\"612906b63e47fb5bc2c2d1fb53206aa05cc916d4113a4f40ada6d762c6a991e4\",\"region\":[{\"h\":3,\"w\":4,\"x\":3,\"y\":2}],\"seq\":1,\"session\":\"eed602319bb966a624634886808edfc6525835494f3ea5882b453716a2eb65cc\",\"sig\":\"9c6b40c936021d4c3bb40e137a231f3d918155fac666dc7b5f9bdc2b822ec13bb4e0098f6dbe8b5b1103fa04e37afe4c3efd637ce82144d4032478300b53d806\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\"}", + "proof": [ + "fae599cc0ae864c8d560185de8fb79d20e6da983a7002e52e1d8b9de9705f450" + ] + } + ], + "map": "{\"height\":6,\"kind\":\"wai-authorship-map\",\"output\":\"8df68b812b2940622a51e58e7a4451cbf808a897180435af2ed874a315cc01e9\",\"palette\":[{\"directed_by\":[],\"made_by\":[0]},{\"directed_by\":[0,1],\"made_by\":[2]}],\"rows\":[[[0,8]],[[0,8]],[[0,3],[1,4],[0,1]],[[0,3],[1,4],[0,1]],[[0,3],[1,4],[0,1]],[[0,8]]],\"width\":8}", + "openings": [ + "{\"commitment\":\"298f91f8b7154b4286d301f659536b906142446e4c02efbcbae62cf3ffa53b8b\",\"salt\":\"3b8d40cb4e2a97dabde92bc24a3b13f2a909dbd907c3977d6a3198198508e299\",\"text\":\"a calm ocean horizon\"}" + ], + "states": [ + "267629b3040c9f3b1c9610661ac28f85b2191626eba7a6a2e2fa8b4b40c467c164be2c967b341f333d710d86679438f1b88352c0d8e677f174b1573bc60c756b855e0d300556a6aa58eeb26575c9f200f0c38720a23051bd0201dee24ad0283eab78be7903cdca09839b779299ccf11d08342179ec07a075129ebeda0935ecc525ae4fa60aee9a365bea641efa4a8a4d", + "267629b3040c9f3b1c9610661ac28f85b2191626eba7a6a2e2fa8b4b40c467c164be2c967b341f333d710d86679438f1b88352c0d8e677f1748a7c258a7c248b7c238b7d2256a6aa58eeb26575c9f200f0887719897719897818897817d0283eab78be7903cdca098386730e87730d87730d87730c07a075129ebeda0935ecc525ae4fa60aee9a365bea641efa4a8a4d" + ], + "models": [ + "963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e" + ], + "origins": [ + "{\"class\":\"synthesized\",\"evidence\":null,\"inputs\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-origin\",\"media\":\"image\",\"models\":[{\"digest\":\"963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e\",\"type\":\"algorithmic\"}],\"operation\":\"inpainting\",\"oversight\":\"prompt_guided\",\"record\":null,\"sig\":\"35f5aa6b6fdb105abe8f2919b6550e4977086222318b0d5d3576f83120af43579d0f8dcdccaac44d694d4a4063ff229eaa7fdfa2faca066a9648c7bf70e7b400\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"source\":\"algorithmicMedia\",\"step\":\"generate\",\"subject\":{\"content_hash\":\"59bfead5d6c73420e81fe2cc2bd4b9e8f29675f8f46e9464dbe0165b9be67f69\",\"type\":\"object\"}}" + ], + "outcome": "accept", + "statements": { + "tier": "recomputed", + "session": "eed602319bb966a624634886808edfc6525835494f3ea5882b453716a2eb65cc", + "record": "d389cddcc7ecdd3cbb681ddf95904091b5bd0c48527ed2349301fca859cb8e0a", + "steps": [ + { + "seq": 0, + "act": "author", + "party": 0, + "check": "replicate", + "status": "checked" + }, + { + "seq": 1, + "act": "inpaint", + "party": 2, + "check": "replicate", + "status": "checked" + } + ], + "committed": 0, + "computed": { + "samples": 48, + "made_by": [ + { + "party": 0, + "samples": 36 + }, + { + "party": 2, + "samples": 12 + } + ], + "made_by_unknown": 0, + "made_by_undisclosed": 0, + "directed_by": [ + { + "party": 0, + "samples": 12 + }, + { + "party": 1, + "samples": 12 + } + ], + "directed_by_unknown": 0, + "directed_by_undisclosed": 0 + }, + "stated": { + "samples": 48, + "made_by": [ + { + "party": 0, + "samples": 36 + }, + { + "party": 2, + "samples": 12 + } + ], + "made_by_unknown": 0, + "made_by_undisclosed": 0, + "directed_by": [ + { + "party": 0, + "samples": 12 + }, + { + "party": 1, + "samples": 12 + } + ], + "directed_by_unknown": 0, + "directed_by_undisclosed": 0 + }, + "estimates": [], + "origin": "agree", + "c2pa": "{\"actions\":[{\"action\":\"c2pa.created\",\"digitalSourceType\":\"http://c2pa.org/digitalsourcetype/empty\",\"softwareAgent\":{\"name\":\"conformance-studio/1\"}},{\"action\":\"c2pa.edited\",\"digitalSourceType\":\"http://cv.iptc.org/newscodes/digitalsourcetype/digitalCapture\",\"softwareAgent\":{\"name\":\"conformance-studio/1\"}},{\"action\":\"c2pa.edited\",\"changes\":[{\"region\":[{\"shape\":{\"height\":3,\"origin\":{\"x\":3,\"y\":2},\"type\":\"rectangle\",\"unit\":\"pixel\",\"width\":4},\"type\":\"spatial\"}]}],\"digitalSourceType\":\"http://cv.iptc.org/newscodes/digitalsourcetype/algorithmicMedia\",\"softwareAgent\":{\"name\":\"tag:transaction.science,2026:wai/model/963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e\"}}]}" + } + }, + { + "name": "candidates", + "about": "three candidates, each regenerated from its seed; an audience member selects the second, a person rejects the first, and a colour table is applied: what was chosen over what is evidence (§4.2, §7.2)", + "policy": { + "tier": "stated" + }, + "session": "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-session\",\"media\":\"image\",\"parties\":[{\"key\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\",\"role\":\"human\"},{\"key\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\",\"role\":\"human\"},{\"digest\":\"963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e\",\"role\":\"model\",\"type\":\"algorithmic\"},{\"digest\":\"af0cc7d1226d60c32186ea7d6abdd4f4f71737d99f94c2a9b6f57e1cd5f63d25\",\"role\":\"model\",\"type\":\"trained\"},{\"key\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\",\"role\":\"audience\"}],\"session\":\"97af1afd986c95aeea3bbf11ffa0940289cbda0759f3c735e7f0ea27847fcdc0\",\"sig\":\"29a0d9d9c0b8aa46048ca8ad83ece41304b729afff09ad9025b452fdf01ac6247675dbaa947c359ee21238b5328b431ec5410f36fa945713744f50bc4f631006\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"tool\":\"conformance-studio/1\"}", + "memberships": [ + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":0,\"session\":\"fc5e6d6dc68b92575425f6f17f9c727ad19924eb8a07f73c0ce91411319aaf23\",\"sig\":\"2da2330f1a56c4e71ca2f09d1784d41b221eb6af65c9b1c44c6896b2d5f905b0d479460fcde8b737d0e5d8aa996d366434fd25768995748521aa1e1d61cae709\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":1,\"session\":\"fc5e6d6dc68b92575425f6f17f9c727ad19924eb8a07f73c0ce91411319aaf23\",\"sig\":\"8b1d411d99b72f63e8689ae30635413bc0b695c93cdef12a88ebb1d68eec01fadb5a5fdabf16c0f36d2dd4b0a4544c07c6b3025708be2dc9c37619afab11290f\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":4,\"session\":\"fc5e6d6dc68b92575425f6f17f9c727ad19924eb8a07f73c0ce91411319aaf23\",\"sig\":\"88c15aa3a690d3581c5b42b8d134a5bb32454d3c31057e38d5ebe611b61c5a1ede6d4d8a9ae28bd1db844c4a61400acd67a4fa509e0224ca2cb64e94f94be401\",\"signer_pubkey\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\"}" + ], + "record": "{\"estimates\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-contribution\",\"map\":\"9b84d11f86f90a381734cc43391ff55b40f57509bfd8af1e9c9805d39163f71e\",\"origin\":null,\"output\":{\"content_hash\":null,\"height\":6,\"samples\":\"cbb50f401f7143171133c6dc51bd20697f25e6645ddd9e83f1792de79f1e2176\",\"step\":3,\"width\":8},\"root\":\"fdfd0c71a05ef818204c45d795ae2573ec18c4ee49643e1559826d38c83e5f80\",\"session\":\"fc5e6d6dc68b92575425f6f17f9c727ad19924eb8a07f73c0ce91411319aaf23\",\"sig\":\"0c483927399d3f7c9d7b4096b98d12fa428de29ebd466dc3a6c75b6b1a9f22fe0e284f22293a2f57090b1abd4078e2cd0d9d02c263a6c1604fb44132903d1602\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"steps\":4}", + "steps": [ + { + "step": "{\"act\":\"candidates\",\"check\":\"replicate\",\"inputs\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"set\":[\"eb7d21d6172387fa8e5a7953f08878927175a0d53939a9b5dcbdceb38db56ea5\",\"ead59c0c830935f72953869a290d9a901e1bd96545d12619785e5fd9757fd056\",\"565b3a4aa7ff815f0fb585b94b19419ae6e368a0b02a2ff4e3fcc342aba8461e\"],\"width\":8},\"params\":{\"generator\":\"wai.generate.spectral\",\"prompt\":\"426086c64da7c1c19c02055132da0ae84a7b3a45b804db95bbe263f5734b3413\",\"prompt_by\":0,\"seeds\":[1,2,3],\"steps\":1},\"party\":2,\"prev\":null,\"region\":null,\"seq\":0,\"session\":\"fc5e6d6dc68b92575425f6f17f9c727ad19924eb8a07f73c0ce91411319aaf23\",\"sig\":\"b2986cc36ed1414f7b012ae76a4dea11cf36e9084a401ccda24247ed7d166fb639f8a1cb9c99330187affb7574d0c47e1dcd829648a6c47417c5e0a3b7527707\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\"}", + "proof": [ + "aae1986ea35bb20c33fef6ebc84943aad8e0ab1166169435c470a23dfb8b2e46", + "60b3b8d958162d730b2112eefeab007e3feb62f37871cd360d820e2d272bee83" + ] + }, + { + "step": "{\"act\":\"select\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"ead59c0c830935f72953869a290d9a901e1bd96545d12619785e5fd9757fd056\",\"step\":0}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"ead59c0c830935f72953869a290d9a901e1bd96545d12619785e5fd9757fd056\",\"width\":8},\"params\":{},\"party\":4,\"prev\":\"ad881daf4685a6d1e7f12330ddd06aedd0d778785ab72653c7bed7237499d347\",\"region\":null,\"seq\":1,\"session\":\"fc5e6d6dc68b92575425f6f17f9c727ad19924eb8a07f73c0ce91411319aaf23\",\"sig\":\"f1975202fb6c8aa2d799fb0d8c9a92abffd8b86e0be52f30b29888ed7e9555fd0bb79f2fb915492e6103638578f6b83c93dca9d0a6aaa034189f3a301bce7b0b\",\"signer_pubkey\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\"}", + "proof": [ + "062b2835e9fca49210101b25ebad0cfa126fa2f919417636e468047bd1ffba40", + "60b3b8d958162d730b2112eefeab007e3feb62f37871cd360d820e2d272bee83" + ] + }, + { + "step": "{\"act\":\"reject\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"eb7d21d6172387fa8e5a7953f08878927175a0d53939a9b5dcbdceb38db56ea5\",\"step\":0}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":null,\"params\":{},\"party\":0,\"prev\":\"57025335d11ad00775f2a5555306d94d071c6b360f6a139f0ccc7f463f9ac701\",\"region\":null,\"seq\":2,\"session\":\"fc5e6d6dc68b92575425f6f17f9c727ad19924eb8a07f73c0ce91411319aaf23\",\"sig\":\"d1fbd42d940aebf9f92c73f5621173203cdd558f4ffbd2fe49f76f6e719c4a2b727298984afc02f616b5ef744775594fca0da24d08cabaee6d3b81ad85c08c06\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "c4e51911fbff18579eea695ba779cb4bc4b8b853f1f383bbbbbe398ae5ba0f41", + "4852389a733b52d6c0be74c466c1e5d4c9f378eecfe8712bf287320954609582" + ] + }, + { + "step": "{\"act\":\"transform\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"ead59c0c830935f72953869a290d9a901e1bd96545d12619785e5fd9757fd056\",\"step\":1}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"cbb50f401f7143171133c6dc51bd20697f25e6645ddd9e83f1792de79f1e2176\",\"width\":8},\"params\":{\"derivation\":\"wai-contribution:lut\",\"params\":{\"table\":\"2828292a2b2b2c2d2e2e2f303131323334343536373738393a3a3b3c3d3d3e3f40404142434344454646474849494a4b4c4c4d4e4f4f505152525354555556575858595a5b5b5c5d5e5e5f606161626364646566676768696a6a6b6c6d6d6e6f70707172737374757676777879797a7b7c7c7d7e7f7f808182828384858586878888898a8b8b8c8d8e8e8f909191929394949596979798999a9a9b9c9d9d9e9fa0a0a1a2a3a3a4a5a6a6a7a8a9a9aaabacacadaeafafb0b1b2b2b3b4b5b5b6b7b8b8b9babbbbbcbdbebebfc0c1c1c2c3c4c4c5c6c7c7c8c9cacacbcccdcdcecfd0d0d1d2d3d3d4d5d6d6d7d8d9d9dadbdcdcdddedfdfe0e1e2e2e3e4e5e5e6e7000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfefffffefdfcfbfaf9f8f7f6f5f4f3f2f1f0efeeedecebeae9e8e7e6e5e4e3e2e1e0dfdedddcdbdad9d8d7d6d5d4d3d2d1d0cfcecdcccbcac9c8c7c6c5c4c3c2c1c0bfbebdbcbbbab9b8b7b6b5b4b3b2b1b0afaeadacabaaa9a8a7a6a5a4a3a2a1a09f9e9d9c9b9a999897969594939291908f8e8d8c8b8a898887868584838281807f7e7d7c7b7a797877767574737271706f6e6d6c6b6a696867666564636261605f5e5d5c5b5a595857565554535251504f4e4d4c4b4a494847464544434241403f3e3d3c3b3a393837363534333231302f2e2d2c2b2a292827262524232221201f1e1d1c1b1a191817161514131211100f0e0d0c0b0a09080706050403020100\"}},\"party\":0,\"prev\":\"95b8e5e62e3e1b9535c2a2b8d6e3710a2cadf263eff0e69e73944326c4aa8f58\",\"region\":null,\"seq\":3,\"session\":\"fc5e6d6dc68b92575425f6f17f9c727ad19924eb8a07f73c0ce91411319aaf23\",\"sig\":\"e70ac668f10349469b0e755eea64f18566d84bd15aacfd06687ca0f4b4adaad19226ec6f04ba4455870c58d9569e868887e16d9282f83ee9b379ad0620636a0f\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "7a3bae482938ec69e7e298613f59351d3f7d7621a1eedefcc89872d3762df903", + "4852389a733b52d6c0be74c466c1e5d4c9f378eecfe8712bf287320954609582" + ] + } + ], + "map": "{\"height\":6,\"kind\":\"wai-authorship-map\",\"output\":\"cbb50f401f7143171133c6dc51bd20697f25e6645ddd9e83f1792de79f1e2176\",\"palette\":[{\"directed_by\":[0,4],\"made_by\":[2]}],\"rows\":[[[0,8]],[[0,8]],[[0,8]],[[0,8]],[[0,8]],[[0,8]]],\"width\":8}", + "openings": [ + "{\"commitment\":\"426086c64da7c1c19c02055132da0ae84a7b3a45b804db95bbe263f5734b3413\",\"salt\":\"a3b062613d3ff73f4d8607aa9b8bedc0a589a6b50ac9d93829f2d59752ea427c\",\"text\":\"a bright spiral of fire\"}" + ], + "states": [ + "2c45a64a4d898d2b797e0ca379367dba0083890f98a3266e5420ad4729af58418a9f0d8b78367e9c009a942d72d00d66702c8d801a94780ea666398776367f863377c0017ea9038c3f45984d3f945a3b8f67368a7a357e87337594336d9e3365461eba6712af8d12926a358a79337f8634759f0e89c10f6f7315a27d268a5e378f83109c79367caa137c8e3b698a297d", + "926c41b04d4b80417b698447d83e3c9b3077685478787f41767251877541c04b41625c76db3e3b873b7b6e7c4bcb62227a754a84694f816a51cd493add3e39687b51df4233ca2d58337f743b79744472744c6c759a5553a05251a55050aa4e4e8418a0ca077eff322c606f64c23d4ef5085eb75d36ae5148f12e3bc970155e7460ca394cc53a4e496c78fa0061f54124", + "90396260368916777f6379432f737071664d136d8a12b1478d5a449548506137872d8f562a776f584e7711ad4b5f8c347a703c7c6f3c88643e603b84267b6f12aa4e57794c3d88514e8a42488c44428f463c9148827e28807f297d802a7b822a3577673e6b6c5b5e656e892c459a3948b71a2564875e4f71555c6b715c5772852e059270449d369620784cba14009a6c", + "956cbeac4db48841847684b8ca3ec39c3088765487827fbe8072ae8d75beb84bbe715c89cc3ec48d3b847a7cb4c062dd8375b58b69b0886aaec149c5cd3ec6767baecf42ccbf2da74e7f8b54798b5b728b616c8a9b55aca052aea350afa74eb18b185fbf0781e732d3706f9bb93db1df08a1b15dc9aa51b7dc2ec4be70ea6e749fbf39b3bb3ab15e6c87e3009edf41db" + ], + "models": [ + "963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e" + ], + "origins": [], + "outcome": "accept", + "statements": { + "tier": "recomputed", + "session": "fc5e6d6dc68b92575425f6f17f9c727ad19924eb8a07f73c0ce91411319aaf23", + "record": "110b6cf562afc4b4a8f91003f2361d74e1fe1ac5405e57280362c993c51faea5", + "steps": [ + { + "seq": 0, + "act": "candidates", + "party": 2, + "check": "replicate", + "status": "checked" + }, + { + "seq": 1, + "act": "select", + "party": 4, + "check": "replicate", + "status": "checked" + }, + { + "seq": 2, + "act": "reject", + "party": 0, + "check": "replicate", + "status": "checked" + }, + { + "seq": 3, + "act": "transform", + "party": 0, + "check": "replicate", + "status": "checked" + } + ], + "committed": 0, + "computed": { + "samples": 48, + "made_by": [ + { + "party": 2, + "samples": 48 + } + ], + "made_by_unknown": 0, + "made_by_undisclosed": 0, + "directed_by": [ + { + "party": 0, + "samples": 48 + }, + { + "party": 4, + "samples": 48 + } + ], + "directed_by_unknown": 0, + "directed_by_undisclosed": 0 + }, + "stated": { + "samples": 48, + "made_by": [ + { + "party": 2, + "samples": 48 + } + ], + "made_by_unknown": 0, + "made_by_undisclosed": 0, + "directed_by": [ + { + "party": 0, + "samples": 48 + }, + { + "party": 4, + "samples": 48 + } + ], + "directed_by_unknown": 0, + "directed_by_undisclosed": 0 + }, + "estimates": [], + "origin": null, + "c2pa": "{\"actions\":[{\"action\":\"c2pa.created\",\"digitalSourceType\":\"http://c2pa.org/digitalsourcetype/empty\",\"softwareAgent\":{\"name\":\"conformance-studio/1\"}},{\"action\":\"c2pa.edited\",\"digitalSourceType\":\"http://cv.iptc.org/newscodes/digitalsourcetype/algorithmicMedia\",\"softwareAgent\":{\"name\":\"tag:transaction.science,2026:wai/model/963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e\"}},{\"action\":\"c2pa.adjustedColor\",\"softwareAgent\":{\"name\":\"conformance-studio/1\"}}]}" + } + }, + { + "name": "compose", + "about": "a generated layer placed over a drawing on a wider canvas with a fill: each layer's map where it is visible, the fill the arranger's (§4.5, §7.2)", + "policy": { + "tier": "stated" + }, + "session": "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-session\",\"media\":\"image\",\"parties\":[{\"key\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\",\"role\":\"human\"},{\"key\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\",\"role\":\"human\"},{\"digest\":\"963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e\",\"role\":\"model\",\"type\":\"algorithmic\"},{\"digest\":\"af0cc7d1226d60c32186ea7d6abdd4f4f71737d99f94c2a9b6f57e1cd5f63d25\",\"role\":\"model\",\"type\":\"trained\"},{\"key\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\",\"role\":\"audience\"}],\"session\":\"38798108381f26f70f620474803b951bad3955cfe0334c2d0b118d9ff9981177\",\"sig\":\"5f88b5b093a8661c086f56de35bad8fd70d5ad3d307ab08213e833f95041961a2212acc262b0f3a17f11f06331ca432339b1160b6ed98e2a004c19f2a8157507\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"tool\":\"conformance-studio/1\"}", + "memberships": [ + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":0,\"session\":\"7a5b62e223dd5cbe319948427bf666ac4a9657293d4802580f0ed59a6492d37b\",\"sig\":\"08c827cebedc6b3ce945948831ab13ca0cf693f3a99270cb35721820f0766db0a486c5b4c67c193434e6a3efcc1e2ca34fd2cac8f75a3f14e64910de1931de00\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":1,\"session\":\"7a5b62e223dd5cbe319948427bf666ac4a9657293d4802580f0ed59a6492d37b\",\"sig\":\"174194692d2ef8610cacca4f183783d33561752e689bf25c1b233eefd93a355c711775a85de6703d624fd88c0c25ae693d39b80634d74593375c32308fefcd09\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":4,\"session\":\"7a5b62e223dd5cbe319948427bf666ac4a9657293d4802580f0ed59a6492d37b\",\"sig\":\"21f55e927c9d97a10fc329c803e53cd9e9cd9b1b95bb8c5eaa427105f69b8d566755ea71934f6e65bc18f3acb30f9d6c66abc57ef3111e1c7744c02eed32740f\",\"signer_pubkey\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\"}" + ], + "record": "{\"estimates\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-contribution\",\"map\":\"29b699a2f49e9b4088f706e8bc4357ec21361f369578d2a483bdeea24c1a30c0\",\"origin\":null,\"output\":{\"content_hash\":null,\"height\":6,\"samples\":\"6be2e7ac006be77eb779513eb4c5ae4311f915a4436f04e4e6828dbd9013b101\",\"step\":2,\"width\":10},\"root\":\"2fa771b0a27e2be813d5cdfa80ea292a715c2f31b55304c2530edd6afa3398a0\",\"session\":\"7a5b62e223dd5cbe319948427bf666ac4a9657293d4802580f0ed59a6492d37b\",\"sig\":\"c273f0d4f7d76bd2091129c50bc52a0348fcb5cb0d8bae13aaba7b525e4ff2d81ed9bf194c295bbcb007877e8500d1c331e548a8bf3e02b9d468f72481cb350d\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"steps\":3}", + "steps": [ + { + "step": "{\"act\":\"author\",\"check\":\"replicate\",\"inputs\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"8147a0bac79d005470999b1191ff11c84fba54600d92856ba250fe4914400bc7\",\"width\":8},\"params\":{\"source\":\"digitalCreation\"},\"party\":0,\"prev\":null,\"region\":null,\"seq\":0,\"session\":\"7a5b62e223dd5cbe319948427bf666ac4a9657293d4802580f0ed59a6492d37b\",\"sig\":\"67d45e48b7182925d0a252f1a2d00c037ad5e869293a9922ccbc71b43431f49c5097c28a2a9e45bc60c88d102818cc5cd8fa20b67c0f019818185d8fd6827704\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "2dd289b7c636b4025e3e6e7be5e876cfd6347cc690dad96f1f5e6ddc0927265e", + "f78a61e3d61be7f700c8b314e305ca9cf0325cdcb57ae361d54bcab8ab74f743" + ] + }, + { + "step": "{\"act\":\"generate\",\"check\":\"replicate\",\"inputs\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":3,\"samples\":\"59ab18c500a223501350726a293a5c7f84ec1fde71a7ccbd24cd59c0444a7b90\",\"width\":4},\"params\":{\"generator\":\"wai.generate.spectral\",\"prompt\":\"75bcac6c31c0d46529841cdd96b76df50610003919f33117d5f254158457e0b8\",\"prompt_by\":1,\"seed\":11,\"steps\":1},\"party\":2,\"prev\":\"f73eb2fc99b03b9f69aa9fb8e350da13becae5055e81bdc71b76b5d38f8dd1e1\",\"region\":null,\"seq\":1,\"session\":\"7a5b62e223dd5cbe319948427bf666ac4a9657293d4802580f0ed59a6492d37b\",\"sig\":\"d6a6820cc76c901c983df7097b6cfa8aec297df4412df1621922d12f8b9dfdef719d71498247fb621814561d535a644d42fc286be7e409b68e4afad473f6a304\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\"}", + "proof": [ + "fec97ff18e6584880196b0b80ff67b385f99cd59908cc0a7fe653ed6625594d8", + "f78a61e3d61be7f700c8b314e305ca9cf0325cdcb57ae361d54bcab8ab74f743" + ] + }, + { + "step": "{\"act\":\"compose\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"8147a0bac79d005470999b1191ff11c84fba54600d92856ba250fe4914400bc7\",\"step\":0},{\"samples\":\"59ab18c500a223501350726a293a5c7f84ec1fde71a7ccbd24cd59c0444a7b90\",\"step\":1}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"6be2e7ac006be77eb779513eb4c5ae4311f915a4436f04e4e6828dbd9013b101\",\"width\":10},\"params\":{\"derivation\":\"wai.derive.overlay_composition\",\"params\":{\"at\":[{\"x\":0,\"y\":0},{\"x\":5,\"y\":2}],\"fill\":\"204060\",\"height\":6,\"width\":10}},\"party\":1,\"prev\":\"cb217ada660221f4a2e93955a835a36bf758410e70add844fbc717caad6155e7\",\"region\":null,\"seq\":2,\"session\":\"7a5b62e223dd5cbe319948427bf666ac4a9657293d4802580f0ed59a6492d37b\",\"sig\":\"467e3246d95a1fc02b079889fcf854c2a80895184d36e71c9098a6435f8daa21be14e293037837b28398cf47196ccc662b18a3f04aa3ff6da6d9e0b68e1ffc0a\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "proof": [ + "2bc9a83a088877fd359dc27d6655a9b01bfb397997b08afbb6fe588c86cff55d", + "1d89b67b12014e7420690d4283c55218931797dadca2b7f076e7743d3e2ce1ea" + ] + } + ], + "map": "{\"height\":6,\"kind\":\"wai-authorship-map\",\"output\":\"6be2e7ac006be77eb779513eb4c5ae4311f915a4436f04e4e6828dbd9013b101\",\"palette\":[{\"directed_by\":[1],\"made_by\":[0]},{\"directed_by\":[1],\"made_by\":[1]},{\"directed_by\":[1],\"made_by\":[2]}],\"rows\":[[[0,8],[1,2]],[[0,8],[1,2]],[[0,5],[2,4],[1,1]],[[0,5],[2,4],[1,1]],[[0,5],[2,4],[1,1]],[[0,8],[1,2]]],\"width\":10}", + "openings": [ + "{\"commitment\":\"75bcac6c31c0d46529841cdd96b76df50610003919f33117d5f254158457e0b8\",\"salt\":\"c20d2e9080f59e0fe04916794b68d0edded60c3c6cf5865b87aeb24002fa3880\",\"text\":\"a calm star\"}" + ], + "states": [ + "7dc7720f4313660bca49fe96fc7f2c8927d9ccadf6a198d29f01e526223052dd62a9d71fe96164e6efc2621641a4fd95f0adfee565184631a9ccb3ffdfd5746a037f0bc1984bd9fde1c6eded0d572668e7e8d20df820df347e68eb1756172982bf8cd1c66bac76d24281d35330f9f5ed024b57b8bc11f11b396e2fdd835df5500c932c9b581a2dfd207833ae43e8704b", + "895b59c5521bd53626c3195a9e72269f7323aa0094ab0192b045418f72379b3f62a30b91", + "7dc7720f4313660bca49fe96fc7f2c8927d9ccadf6a198d22040602040609f01e526223052dd62a9d71fe96164e6efc2621641a4fd95204060204060f0adfee565184631a9ccb3ffdfd574895b59c5521bd53626c3195a204060e1c6eded0d572668e7e8d20df820df9e72269f7323aa0094ab0192204060bf8cd1c66bac76d24281d35330f9f5b045418f72379b3f62a30b91204060396e2fdd835df5500c932c9b581a2dfd207833ae43e8704b204060204060" + ], + "models": [ + "963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e" + ], + "origins": [], + "outcome": "accept", + "statements": { + "tier": "recomputed", + "session": "7a5b62e223dd5cbe319948427bf666ac4a9657293d4802580f0ed59a6492d37b", + "record": "70be39087ba8fe2b87c209d85ba4dfa3046edce375142dca54e0ff35b91c71cf", + "steps": [ + { + "seq": 0, + "act": "author", + "party": 0, + "check": "replicate", + "status": "checked" + }, + { + "seq": 1, + "act": "generate", + "party": 2, + "check": "replicate", + "status": "checked" + }, + { + "seq": 2, + "act": "compose", + "party": 1, + "check": "replicate", + "status": "checked" + } + ], + "committed": 0, + "computed": { + "samples": 60, + "made_by": [ + { + "party": 0, + "samples": 39 + }, + { + "party": 1, + "samples": 9 + }, + { + "party": 2, + "samples": 12 + } + ], + "made_by_unknown": 0, + "made_by_undisclosed": 0, + "directed_by": [ + { + "party": 1, + "samples": 60 + } + ], + "directed_by_unknown": 0, + "directed_by_undisclosed": 0 + }, + "stated": { + "samples": 60, + "made_by": [ + { + "party": 0, + "samples": 39 + }, + { + "party": 1, + "samples": 9 + }, + { + "party": 2, + "samples": 12 + } + ], + "made_by_unknown": 0, + "made_by_undisclosed": 0, + "directed_by": [ + { + "party": 1, + "samples": 60 + } + ], + "directed_by_unknown": 0, + "directed_by_undisclosed": 0 + }, + "estimates": [], + "origin": null, + "c2pa": "{\"actions\":[{\"action\":\"c2pa.created\",\"digitalSourceType\":\"http://c2pa.org/digitalsourcetype/empty\",\"softwareAgent\":{\"name\":\"conformance-studio/1\"}},{\"action\":\"c2pa.edited\",\"digitalSourceType\":\"http://cv.iptc.org/newscodes/digitalsourcetype/digitalCreation\",\"softwareAgent\":{\"name\":\"conformance-studio/1\"}},{\"action\":\"c2pa.edited\",\"digitalSourceType\":\"http://cv.iptc.org/newscodes/digitalsourcetype/algorithmicMedia\",\"softwareAgent\":{\"name\":\"tag:transaction.science,2026:wai/model/963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e\"}},{\"action\":\"c2pa.edited\",\"softwareAgent\":{\"name\":\"conformance-studio/1\"}}]}" + } + }, + { + "name": "transforms", + "about": "a rotation, a mirror, an upscale, a denoise and a crop, each recomputed: labels carried through each sample mapping, the filters taking the union of what they mix (§4.5, §7.2)", + "policy": { + "tier": "stated" + }, + "session": "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-session\",\"media\":\"image\",\"parties\":[{\"key\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\",\"role\":\"human\"},{\"key\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\",\"role\":\"human\"},{\"digest\":\"963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e\",\"role\":\"model\",\"type\":\"algorithmic\"},{\"digest\":\"af0cc7d1226d60c32186ea7d6abdd4f4f71737d99f94c2a9b6f57e1cd5f63d25\",\"role\":\"model\",\"type\":\"trained\"},{\"key\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\",\"role\":\"audience\"}],\"session\":\"ffdfcf4de9dfdcc6468eb3ef0492f49517446fc28843254e20868e97c07c139e\",\"sig\":\"7316bf531eb606db7359d61bfab821495fb567a16930c2f65b9649c87623a416ccdf91bef3b7616fb9bbbe162179eec44832f88acdb4662d1fd587a7cd618d08\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"tool\":\"conformance-studio/1\"}", + "memberships": [ + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":0,\"session\":\"81a9430e90d63f40a444c55914b7feb945def2d1067e7409ee504554933cdacc\",\"sig\":\"f2e5c0131cd253a1771cbcfade2004ab863d556bd3d1813b95d6b3d892216830b603b2e8d2d69628e0d1d1c311a8970137973046cecef0dee11a2bdc5ecd8807\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":1,\"session\":\"81a9430e90d63f40a444c55914b7feb945def2d1067e7409ee504554933cdacc\",\"sig\":\"39b871813700fa9504886b4b6e0a96681fc81a1dad11e7299f336aa0d7d8f7ac00785ae22c8533d80fcd1ddbb66edcc1e5a17b12700a1c3789a51a8f1401cc03\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":4,\"session\":\"81a9430e90d63f40a444c55914b7feb945def2d1067e7409ee504554933cdacc\",\"sig\":\"1bed3432037c146c33d291295c47492f8e8b0ff9199aff07b91e4e6597938e23f9aa599967b1db863852082599a5b500a356586b80b45d611b16134475287b06\",\"signer_pubkey\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\"}" + ], + "record": "{\"estimates\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-contribution\",\"map\":\"22f8f80638ff76b2227399b1bd962cb0c2aadaed1c4693a4c2f31b1d6a98af95\",\"origin\":null,\"output\":{\"content_hash\":null,\"height\":9,\"samples\":\"51d165c6e197bc3554ae5f4ce5a8b5321ea7025c42d0ef92e59b64f01562e05b\",\"step\":5,\"width\":8},\"root\":\"a97e3f8f0992444bacd9fda4bde8758b3be90a8ef3e9ac6d3aab6ea2b5b3811c\",\"session\":\"81a9430e90d63f40a444c55914b7feb945def2d1067e7409ee504554933cdacc\",\"sig\":\"ac575df240ef65b7176e3bf9ef815f10344bfc1cbeb912e78493de6fd028a7e5cc7b4a0fda36a3d61db646e0b5beb86ac5020bef52e543ebcb50b59921407904\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"steps\":6}", + "steps": [ + { + "step": "{\"act\":\"author\",\"check\":\"replicate\",\"inputs\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"a3e13149b07eb13a2892bd9ccb8e75297a11ddd5122f8cc3ef4fc74b82585471\",\"width\":8},\"params\":{\"source\":\"digitalCreation\"},\"party\":0,\"prev\":null,\"region\":null,\"seq\":0,\"session\":\"81a9430e90d63f40a444c55914b7feb945def2d1067e7409ee504554933cdacc\",\"sig\":\"b63170bf41381a67318e8a7f5071ef1793579a90d5008945895b7172ac64dcae8f99bc5315fb970944bad74abcc4686f2f62f020875fbb030a54929148d4d10b\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "7c8e139a0617540cde9c0f9940cde14c150aea900f9b994e416d87f193e80398", + "d1513545762f3c9aefd5d1b3604af056fbe268236adc8fe08d079894f31667cf", + "fec4deec253c9787f82ad098a0a56e320f123595fd80c97bb5f442617c4e66ca" + ] + }, + { + "step": "{\"act\":\"transform\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"a3e13149b07eb13a2892bd9ccb8e75297a11ddd5122f8cc3ef4fc74b82585471\",\"step\":0}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":8,\"samples\":\"23c2a030259eebaa14dda25c31bf53512859acd28ae185e760d0923299bb743a\",\"width\":6},\"params\":{\"derivation\":\"wai.derive.rotation\",\"params\":{\"quarter_turns\":1}},\"party\":0,\"prev\":\"f8a1d044a33dfd42e43bdf5ee992e4e52d30bef534d3234190bcc4c58215a27f\",\"region\":null,\"seq\":1,\"session\":\"81a9430e90d63f40a444c55914b7feb945def2d1067e7409ee504554933cdacc\",\"sig\":\"89d392752a6a4cb3a9afad7fe9e5abe07c3576bfb9e4d30495943893ed81063ce921e72ebb0a946ee43bdcea2f414dc1edbbe196ccab2c98211c98eea55c4501\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "4bf26a1a2b58230cc94117e7a66747f7321a55180d191ded2102199d81e544b3", + "d1513545762f3c9aefd5d1b3604af056fbe268236adc8fe08d079894f31667cf", + "fec4deec253c9787f82ad098a0a56e320f123595fd80c97bb5f442617c4e66ca" + ] + }, + { + "step": "{\"act\":\"transform\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"23c2a030259eebaa14dda25c31bf53512859acd28ae185e760d0923299bb743a\",\"step\":1}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":8,\"samples\":\"8873612b789b6cdfd7a7cc0f17d1597a7a65934cb78a7a59254e3c485f4ed88c\",\"width\":6},\"params\":{\"derivation\":\"wai.derive.mirror\",\"params\":{\"flip\":\"left-right\"}},\"party\":1,\"prev\":\"067feb531e824db78a2600262104eb019e5826afcc30a2baac53fa986cb23839\",\"region\":null,\"seq\":2,\"session\":\"81a9430e90d63f40a444c55914b7feb945def2d1067e7409ee504554933cdacc\",\"sig\":\"cea73cc849c3c2fa6b7e130f685f19dffda7fea754e6ad6fd47e0bdb2baab62389fde9b653758ca3167cd6388262a052eb22a8f1f7bf1e199bf958ad6efe3c01\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "proof": [ + "d9034fe4080c1f565f47f31d07aa67b8d9a01f4d1fa83d667525cf3597cdb64d", + "6a214e689add4c7e754b4695811f701fffed8b3c2979a2536fbc48cd4de8d82d", + "fec4deec253c9787f82ad098a0a56e320f123595fd80c97bb5f442617c4e66ca" + ] + }, + { + "step": "{\"act\":\"transform\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"8873612b789b6cdfd7a7cc0f17d1597a7a65934cb78a7a59254e3c485f4ed88c\",\"step\":2}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":16,\"samples\":\"4bbcf289d6fdd3b04aedd84147030e69737775c4fa0d0ea6dcabae25c523f67f\",\"width\":12},\"params\":{\"derivation\":\"wai-synthesis:upscale2\",\"params\":{}},\"party\":0,\"prev\":\"cdae0d42e3cd74eef32bb3111077a051b1fb2553171b5f65f8c8bbc58d2fa263\",\"region\":null,\"seq\":3,\"session\":\"81a9430e90d63f40a444c55914b7feb945def2d1067e7409ee504554933cdacc\",\"sig\":\"27e24735f86377eb36e1fe0e963c8d86d87ab4ecdcc565858252bed25425154e36bb72d37abe8168b63b8ec39f0710ff0308c8fa1539ee1a563cac8ec74ac60f\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "526f96df26c7c47428a2e841d027bfc1557aeca78fb67d7fdbe4714549293043", + "6a214e689add4c7e754b4695811f701fffed8b3c2979a2536fbc48cd4de8d82d", + "fec4deec253c9787f82ad098a0a56e320f123595fd80c97bb5f442617c4e66ca" + ] + }, + { + "step": "{\"act\":\"transform\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"4bbcf289d6fdd3b04aedd84147030e69737775c4fa0d0ea6dcabae25c523f67f\",\"step\":3}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":16,\"samples\":\"261a4e435cfa6f86e18100c225053fce2d203f915d734339add3712bdf01e10b\",\"width\":12},\"params\":{\"derivation\":\"wai-synthesis:denoise3\",\"params\":{}},\"party\":0,\"prev\":\"04471494c9b2dd89bf3425838fa16ae8642414e3095f4a743923601b22639c35\",\"region\":null,\"seq\":4,\"session\":\"81a9430e90d63f40a444c55914b7feb945def2d1067e7409ee504554933cdacc\",\"sig\":\"2df40f33eee33dc2da5a55149b7d20e9be2564987ff0fe9004ec661037cd8ad65aff4eff0ff12aeb7b909738ffd718a1b19855d451d032d4ca095864379bf204\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "d42945d640178a443d128ab520b2467c2caa17e602097274ed28cf01c9317099", + "c8f07482e224079b24c072e7ed953d6b360852226ddb5576ea6162315033d091", + "781cb23e9b6be60f49855de500472f5d065439b09486a68ffc2d68c1809d26cf" + ] + }, + { + "step": "{\"act\":\"transform\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"261a4e435cfa6f86e18100c225053fce2d203f915d734339add3712bdf01e10b\",\"step\":4}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":9,\"samples\":\"51d165c6e197bc3554ae5f4ce5a8b5321ea7025c42d0ef92e59b64f01562e05b\",\"width\":8},\"params\":{\"derivation\":\"wai.derive.crop\",\"params\":{\"h\":9,\"w\":8,\"x\":2,\"y\":3}},\"party\":1,\"prev\":\"1701370fece7bcb5dce831a8c2b68bbc5705ab40c99ebdc92a5f0722f8971c2b\",\"region\":null,\"seq\":5,\"session\":\"81a9430e90d63f40a444c55914b7feb945def2d1067e7409ee504554933cdacc\",\"sig\":\"78f0a4ef4f226a7aac508bd376a4cf53d37fb8867287a10cce6f5adcc147d0a3d53233332dfcdf9fd97762f51b7afea89a1e1939ea391694b0c6200f4817cc01\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "proof": [ + "0b17915c58c170951c19379bbfb62e960e088f3bd1b3909ef6ef335a328dde6a", + "c8f07482e224079b24c072e7ed953d6b360852226ddb5576ea6162315033d091", + "781cb23e9b6be60f49855de500472f5d065439b09486a68ffc2d68c1809d26cf" + ] + } + ], + "map": "{\"height\":9,\"kind\":\"wai-authorship-map\",\"output\":\"51d165c6e197bc3554ae5f4ce5a8b5321ea7025c42d0ef92e59b64f01562e05b\",\"palette\":[{\"directed_by\":[0,1],\"made_by\":[0]}],\"rows\":[[[0,8]],[[0,8]],[[0,8]],[[0,8]],[[0,8]],[[0,8]],[[0,8]],[[0,8]],[[0,8]]],\"width\":8}", + "openings": [], + "states": [ + "586b8585a13c96a2c0d5cc3d39cbf3c9f46d18e3f57b688b4c8ccb1276b285156b87f9e76427a47ff478add5ec60f0a9e4ba2e73516ef34671069850c8ca32faf530f0747997d0683c9b8063732be115786a70712823b69bb57b29ef51275b7bb35b86e7a4ac109ffffec68a06b17e12ceb39cbe33891adcbf29fef8d11c8fba623aec4e598bf786016b9c160767e733", + "bf29feb35b863c9b80e4ba2e4c8ccb586b85f8d11ce7a4ac63732b73516e1276b285a13c8fba62109fffe11578f3467185156b96a2c03aec4efec68a6a707106985087f9e7d5cc3d598bf706b17e2823b6c8ca326427a439cbf386016b12ceb39bb57bfaf5307ff478c9f46d9c16079cbe3329ef51f07479add5ec18e3f567e733891adc275b7b97d06860f0a97b688b", + "586b854c8ccbe4ba2e3c9b80b35b86bf29fe85a13c1276b273516e63732be7a4acf8d11c96a2c085156bf34671e11578109fff8fba62d5cc3d87f9e70698506a7071fec68a3aec4e39cbf36427a4c8ca322823b606b17e598bf7c9f46d7ff478faf5309bb57b12ceb386016b18e3f5add5ecf0747929ef519cbe339c16077b688b60f0a997d068275b7b891adc67e733", + "586b85527ca84c8ccb98a37de4ba2e90ab573c9b80787b83b35b86b942c2bf29febf29fe6f86614f84902f81bf6d8386ac864e7e86525087568e8377cd8099d47e93dc7d8ddc7d8d85a13c4c8c771276b243649073516e6b624d63732ba58c6ce7a4acf0bb64f8d11cf8d11c8ea27e6d74864c468f7f497fb34c70ab4861a244528f73947ca2d6a0b48ac4c63fc4c63f96a2c08e5c9685156bbc2e6ef34671ea2e75e11578795abc109fff50adb18fba628fba62b6b77f9e9f948687a9817b857d6f6191596ba64375967b9d87b3c576c38e65d35865d358d5cc3daee39287f9e747c99c0698503884616a7071b49b7efec68a9cd96c3aec4e3aec4e87cc987eaeaf7690c66ea18367b141587d6a494a9466838c82bc8466bc934abca34abca339cbf34f79cc6427a496796bc8ca327877742823b6176a9a06b17e309ebb598bf7598bf781e0b079b79f728e8ea9b760e1e031a1a665626c993796990cc0993e83a57046b17046b1c9f46da4f4737ff478bdf554faf530cbd5569bb57b57c29712ceb34c688f86016b86016b71ecb183e8b296e5b2c6cd83f5b555acc35d62d2665dcc6d57c673746956910c39910c3918e3f563dcf1add5eccfa5b3f074798db26529ef5163d7429cbe339c6a1d9c16079c16074aa6c068c4c587e3cba5c29ec4a27176a46b28a5665d8977936c888a7552827f1d827f1d7b688b6eac9a60f0a97ce08997d0685f9672275b7b583bac891adc78818867e73367e7337b688b6eac9a60f0a97ce08997d0685f9672275b7b583bac891adc78818867e73367e733", + "5b7586517ea25a8bac8d9b7fb1a6508ca2566393707d7d80ac6693c051b6c543d7c63ee267866d4f84904782a56d838691855d7e86526b865d8e8377bf808fd47e93da7d8fdc7d8d7795615584814071995d658980616a8065537d70539a8379bf9995d5aa79e0b54fe4b9418696806d74866152897f497fa44a70ab48619f51668f73948a9bb2a0b48abbc152c4c63f979a9c8a7391854e849e4878bb4b70c43f6db4407d8669aa619ac56db49f89c06992c357b0b1849e9f948b8a9b817b85836d6c91596b9d567c967b9d87a9ad76c38e69cf6665d358b3c6729ec59a81bdb25fab904b9366567866746f79998d89a8b68e85cc7e58d66c49da6685c49e7eaeaf769caf6ea18365a05c587d6a54658766838c74ae8a66bc9351bc9f4abca360c2c76596b974789d91926e9eaa527a846e4b5f94337b9630a294419fab558cc75b86d17fd6ac79b79f82a287a9b760c3c74aa1a66567858c37969923a69c3e83a56355ae7046b19dea8f91e28e94db82badb63d6d84cb9c55b82b57950b98d3aae93536f86772c7683157075ebb183e8b29de0a6c6cd83d7be63acc35d73cd665dcc6d60b06a7469568a2340910c3947d7d76cd9d69bd2c9c2b6a2c7a2798fb36557c85d60c15a80a1518e6d39913d21932e1951adc168c4c587d3bea5c29ea9ab7b76a46b499e6c5d89778376768a7552847c2a827f1d6e869b6cb2a572d9a686d98e8cbf7565997043717f594e9f7b4aaa7d7e7a71b9416ecd2e78798f6eac9a6bdb9d7ce08982c6735f9672416285583bac793cbb7881886bce4867e733", + "6152897f497fa44a70ab48619f51668f73948a9bb2a0b48a854e849e4878bb4b70c43f6db4407d8669aa619ac56db49f8b8a9b817b85836d6c91596b9d567c967b9d87a9ad76c38e81bdb25fab904b9366567866746f79998d89a8b68e85cc7e769caf6ea18365a05c587d6a54658766838c74ae8a66bc9374789d91926e9eaa527a846e4b5f94337b9630a294419fab82a287a9b760c3c74aa1a66567858c37969923a69c3e83a594db82badb63d6d84cb9c55b82b57950b98d3aae93536f869de0a6c6cd83d7be63acc35d73cd665dcc6d60b06a746956" + ], + "models": [ + "963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e" + ], + "origins": [], + "outcome": "accept", + "statements": { + "tier": "recomputed", + "session": "81a9430e90d63f40a444c55914b7feb945def2d1067e7409ee504554933cdacc", + "record": "4313b124c07e8a9759e000de2460a6ec1d35dda0454ba1c32f88c87bd6a39799", + "steps": [ + { + "seq": 0, + "act": "author", + "party": 0, + "check": "replicate", + "status": "checked" + }, + { + "seq": 1, + "act": "transform", + "party": 0, + "check": "replicate", + "status": "checked" + }, + { + "seq": 2, + "act": "transform", + "party": 1, + "check": "replicate", + "status": "checked" + }, + { + "seq": 3, + "act": "transform", + "party": 0, + "check": "replicate", + "status": "checked" + }, + { + "seq": 4, + "act": "transform", + "party": 0, + "check": "replicate", + "status": "checked" + }, + { + "seq": 5, + "act": "transform", + "party": 1, + "check": "replicate", + "status": "checked" + } + ], + "committed": 0, + "computed": { + "samples": 72, + "made_by": [ + { + "party": 0, + "samples": 72 + } + ], + "made_by_unknown": 0, + "made_by_undisclosed": 0, + "directed_by": [ + { + "party": 0, + "samples": 72 + }, + { + "party": 1, + "samples": 72 + } + ], + "directed_by_unknown": 0, + "directed_by_undisclosed": 0 + }, + "stated": { + "samples": 72, + "made_by": [ + { + "party": 0, + "samples": 72 + } + ], + "made_by_unknown": 0, + "made_by_undisclosed": 0, + "directed_by": [ + { + "party": 0, + "samples": 72 + }, + { + "party": 1, + "samples": 72 + } + ], + "directed_by_unknown": 0, + "directed_by_undisclosed": 0 + }, + "estimates": [], + "origin": null, + "c2pa": "{\"actions\":[{\"action\":\"c2pa.created\",\"digitalSourceType\":\"http://c2pa.org/digitalsourcetype/empty\",\"softwareAgent\":{\"name\":\"conformance-studio/1\"}},{\"action\":\"c2pa.edited\",\"digitalSourceType\":\"http://cv.iptc.org/newscodes/digitalsourcetype/digitalCreation\",\"softwareAgent\":{\"name\":\"conformance-studio/1\"}},{\"action\":\"c2pa.orientation\",\"softwareAgent\":{\"name\":\"conformance-studio/1\"}},{\"action\":\"c2pa.orientation\",\"softwareAgent\":{\"name\":\"conformance-studio/1\"}},{\"action\":\"c2pa.resized\",\"digitalSourceType\":\"http://cv.iptc.org/newscodes/digitalsourcetype/algorithmicallyEnhanced\",\"softwareAgent\":{\"name\":\"conformance-studio/1\"}},{\"action\":\"c2pa.enhanced\",\"digitalSourceType\":\"http://cv.iptc.org/newscodes/digitalsourcetype/algorithmicallyEnhanced\",\"softwareAgent\":{\"name\":\"conformance-studio/1\"}},{\"action\":\"c2pa.cropped\",\"softwareAgent\":{\"name\":\"conformance-studio/1\"}}]}" + } + }, + { + "name": "inpaint_attested", + "about": "an inpainting by a trained model the tool attests: nothing outside its region changed, the region made by the model, and the outcome checked, not recomputed (§4.4, §10.3)", + "policy": { + "tier": "stated" + }, + "session": "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-session\",\"media\":\"image\",\"parties\":[{\"key\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\",\"role\":\"human\"},{\"key\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\",\"role\":\"human\"},{\"digest\":\"963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e\",\"role\":\"model\",\"type\":\"algorithmic\"},{\"digest\":\"af0cc7d1226d60c32186ea7d6abdd4f4f71737d99f94c2a9b6f57e1cd5f63d25\",\"role\":\"model\",\"type\":\"trained\"},{\"key\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\",\"role\":\"audience\"}],\"session\":\"c006d779b7520c17854ae4f5a2093679ec0095b211a8340ddd47400c7325e906\",\"sig\":\"deebcb13537aa0750f926f07a37a2b641d4456399f0e55d96850cb8d9a0aa345bb93387f6e1bea1d22be9be04bf45d0c56dd4e24316bb3c76fcadff44ffeaa01\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"tool\":\"conformance-studio/1\"}", + "memberships": [ + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":0,\"session\":\"2f6a714690ae7a3eb7f11090ea9d29c0025f3a13798104ebbbc8714fd0dd981d\",\"sig\":\"10fadcddb131889cf2e5afc219de91bb3b95a86e3be1ca7a17b174d152a941418588f8eedd4bc4f87c788f257cb0536f9ac8591ffe688e1914eb0b86e52c4503\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":1,\"session\":\"2f6a714690ae7a3eb7f11090ea9d29c0025f3a13798104ebbbc8714fd0dd981d\",\"sig\":\"3a5b5c0c280d3788d0b60e10414124bc55477f8b2483b148b96d436e8b70b6a151e58925822577647a4a1308db4b58af1a6ce47c3eab0e45cecdd6c36457dc01\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":4,\"session\":\"2f6a714690ae7a3eb7f11090ea9d29c0025f3a13798104ebbbc8714fd0dd981d\",\"sig\":\"5221cfb72ec49149ac60dcfc3b28fac33419d8532c875a41e141a6f5f23a727b649aa362a37fc08595e735df0f5eebf9ef0dca7f7a7c179f6f2fd76b8c6e9605\",\"signer_pubkey\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\"}" + ], + "record": "{\"estimates\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-contribution\",\"map\":\"9c38daeeec751ac897ed5374425ad30ffc6bb0932647c5861e0fc2faafee603f\",\"origin\":null,\"output\":{\"content_hash\":null,\"height\":6,\"samples\":\"16938f7a7342a9e32f35442d8b502838ee0f7074ffeb6b4b0c1df932b24780e7\",\"step\":1,\"width\":8},\"root\":\"80817f75395cc2b928d712aa110e76ecad229f02a9e32757cdb9db1bb17d5970\",\"session\":\"2f6a714690ae7a3eb7f11090ea9d29c0025f3a13798104ebbbc8714fd0dd981d\",\"sig\":\"a67deb62dd548484a7f79ebbc8fd739434b1e9c0698c003f1cc9e7b1ad2870fe00009073778c6dba5706c7731a898d6aa60fab1f2742dab8df9eeb619f110f0d\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"steps\":2}", + "steps": [ + { + "step": "{\"act\":\"author\",\"check\":\"replicate\",\"inputs\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"acdff76b047373634de684cfb652e622903ae1d8f4cd18ed6df428515be6f9b1\",\"width\":8},\"params\":{\"source\":\"digitalCapture\"},\"party\":0,\"prev\":null,\"region\":null,\"seq\":0,\"session\":\"2f6a714690ae7a3eb7f11090ea9d29c0025f3a13798104ebbbc8714fd0dd981d\",\"sig\":\"375b23fa4a0cdb0386c41bf66db491eb1e5b473fa177df9995a3a411e675581b9b9111dcc096bd5278022f03f050f9f1b2ee682be055fe22a060e7f582ff5101\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "3176ee6ebbcb30fad060925fd743fd75533769895136a158c3af23dc1f779b9e" + ] + }, + { + "step": "{\"act\":\"inpaint\",\"check\":\"attest\",\"inputs\":[{\"samples\":\"acdff76b047373634de684cfb652e622903ae1d8f4cd18ed6df428515be6f9b1\",\"step\":0}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"16938f7a7342a9e32f35442d8b502838ee0f7074ffeb6b4b0c1df932b24780e7\",\"width\":8},\"params\":{\"generator\":\"image-inpainting\",\"mask_by\":0,\"prompt\":\"401ae50766a4814251ad9f95e2fe4f4e687381df4c6d4f122f9e13e049c3ec2a\",\"prompt_by\":0,\"seed\":null,\"steps\":null},\"party\":3,\"prev\":\"8cd61abdf65b71b1e7a6c6c7cc3cfa0db9bc1bfd80281ff0165d016fe906154f\",\"region\":[{\"h\":3,\"w\":3,\"x\":1,\"y\":1}],\"seq\":1,\"session\":\"2f6a714690ae7a3eb7f11090ea9d29c0025f3a13798104ebbbc8714fd0dd981d\",\"sig\":\"8f81cbc613f26a46314b69c2587f297c8ac0c7e01824cab2b343d482e4d2d1c5521d9160ecd6670f2f3426eb7c31e16f93de47b5c27a42ac8ac684c70391010e\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\"}", + "proof": [ + "44ed78c7dd311b871249d818e0cfdd6b5445113c8c1fa5d90ec521d5284d58ad" + ] + } + ], + "map": "{\"height\":6,\"kind\":\"wai-authorship-map\",\"output\":\"16938f7a7342a9e32f35442d8b502838ee0f7074ffeb6b4b0c1df932b24780e7\",\"palette\":[{\"directed_by\":[],\"made_by\":[0]},{\"directed_by\":[0],\"made_by\":[3]}],\"rows\":[[[0,8]],[[0,1],[1,3],[0,4]],[[0,1],[1,3],[0,4]],[[0,1],[1,3],[0,4]],[[0,8]],[[0,8]]],\"width\":8}", + "openings": [ + "{\"commitment\":\"401ae50766a4814251ad9f95e2fe4f4e687381df4c6d4f122f9e13e049c3ec2a\",\"salt\":\"a22544fbd69dc0e0cd999af21ce8d4deaae21ba15ff6503a2c03c92cdfb58c25\",\"text\":\"remove the lamp post\"}" + ], + "states": [ + "0d05a7d8748e616c57dee8b26ff97f580d19633e05fd32e5e44f54e48bdda060e62bb9cbcc8006ec78c48c93f180148e6b92554544036c3c9c217c54956c7fd0b47bd8083d531a9554a0c8de2d4e0d5901dfd92261bcd38b3196632b62f6f42d6cb32304750118aba0fc8d1ec530c77cf846734da15cd09b1b1ff881a931037475d606326596851a1ec9fb4d15e45f70", + "0d05a7d8748e616c57dee8b26ff97f580d19633e05fd32e5e44f54e63540ef54b2a64f7ecc8006ec78c48c93f180148e6b9255d66ba46a4d163ca1c1956c7fd0b47bd8083d531a9554a0c825c26653ed4d3f8fd761bcd38b3196632b62f6f42d6cb32304750118aba0fc8d1ec530c77cf846734da15cd09b1b1ff881a931037475d606326596851a1ec9fb4d15e45f70" + ], + "models": [ + "963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e" + ], + "origins": [], + "outcome": "accept", + "statements": { + "tier": "checked", + "session": "2f6a714690ae7a3eb7f11090ea9d29c0025f3a13798104ebbbc8714fd0dd981d", + "record": "b0bec8cd29b4a499fabb14680194b0208d88a1099852549e83b75e4829572bc3", + "steps": [ + { + "seq": 0, + "act": "author", + "party": 0, + "check": "replicate", + "status": "checked" + }, + { + "seq": 1, + "act": "inpaint", + "party": 3, + "check": "attest", + "status": "attested" + } + ], + "committed": 0, + "computed": { + "samples": 48, + "made_by": [ + { + "party": 0, + "samples": 39 + }, + { + "party": 3, + "samples": 9 + } + ], + "made_by_unknown": 0, + "made_by_undisclosed": 0, + "directed_by": [ + { + "party": 0, + "samples": 9 + } + ], + "directed_by_unknown": 0, + "directed_by_undisclosed": 0 + }, + "stated": { + "samples": 48, + "made_by": [ + { + "party": 0, + "samples": 39 + }, + { + "party": 3, + "samples": 9 + } + ], + "made_by_unknown": 0, + "made_by_undisclosed": 0, + "directed_by": [ + { + "party": 0, + "samples": 9 + } + ], + "directed_by_unknown": 0, + "directed_by_undisclosed": 0 + }, + "estimates": [], + "origin": null, + "c2pa": "{\"actions\":[{\"action\":\"c2pa.created\",\"digitalSourceType\":\"http://c2pa.org/digitalsourcetype/empty\",\"softwareAgent\":{\"name\":\"conformance-studio/1\"}},{\"action\":\"c2pa.edited\",\"digitalSourceType\":\"http://cv.iptc.org/newscodes/digitalsourcetype/digitalCapture\",\"softwareAgent\":{\"name\":\"conformance-studio/1\"}},{\"action\":\"c2pa.edited\",\"changes\":[{\"region\":[{\"shape\":{\"height\":3,\"origin\":{\"x\":1,\"y\":1},\"type\":\"rectangle\",\"unit\":\"pixel\",\"width\":3},\"type\":\"spatial\"}]}],\"digitalSourceType\":\"http://cv.iptc.org/newscodes/digitalsourcetype/compositeWithTrainedAlgorithmicMedia\",\"softwareAgent\":{\"name\":\"tag:transaction.science,2026:wai/model/af0cc7d1226d60c32186ea7d6abdd4f4f71737d99f94c2a9b6f57e1cd5f63d25\"}}]}" + } + }, + { + "name": "scaling_unknown", + "about": "an attested scaling, whose sample mapping no rule pins, then a brush stroke over it: the samples outside the stroke are unknown, credited to no one (§7.1, §7.2)", + "policy": { + "tier": "stated" + }, + "session": "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-session\",\"media\":\"image\",\"parties\":[{\"key\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\",\"role\":\"human\"},{\"key\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\",\"role\":\"human\"},{\"digest\":\"963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e\",\"role\":\"model\",\"type\":\"algorithmic\"},{\"digest\":\"af0cc7d1226d60c32186ea7d6abdd4f4f71737d99f94c2a9b6f57e1cd5f63d25\",\"role\":\"model\",\"type\":\"trained\"},{\"key\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\",\"role\":\"audience\"}],\"session\":\"6d5daf54744a3ea17d6f25ca30dd2e95cae06b9fe92cee6b4094b223c6d41b0f\",\"sig\":\"edc90cd084f42362b4b594cc294e7e6cbc4c8f7130ff970e6b9c98662c78de82fbfa8523a3fa6cf973602ad775b41f0a4392c8a05a768434c52cfe0a7d1a6d0a\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"tool\":\"conformance-studio/1\"}", + "memberships": [ + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":0,\"session\":\"bd17fc95a3b31f372c04e302ef79c62f3fe4b71c95e55b1be7c8624ce0a8a8fc\",\"sig\":\"0c70ef29596adbaf5401ab1bef51ceff12c65d49b0a9cdaef3294ed67906f0e611f03c043d7535920a479e77ee1b817de02a0308a17256aa00cfa50aca864f04\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":1,\"session\":\"bd17fc95a3b31f372c04e302ef79c62f3fe4b71c95e55b1be7c8624ce0a8a8fc\",\"sig\":\"bc938bf11ff21cb021bfacc0c14fd90d334d01191670a819f5fc2ce250cb67ad46b39e4d61ccb81400642856e6bd75208bab54c80b8d58eb4e4b6e94e52f0f0f\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":4,\"session\":\"bd17fc95a3b31f372c04e302ef79c62f3fe4b71c95e55b1be7c8624ce0a8a8fc\",\"sig\":\"ed9da89cf7836d442e177adc1c2fc070e746f321953147524ffec7e95b41cc4016c36a793bef36ab4ec5a6c62224678c3116e60b85928cb9f624e8b577465b06\",\"signer_pubkey\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\"}" + ], + "record": "{\"estimates\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-contribution\",\"map\":\"119e60a4c9e46b7ac996d7567e96442bf9bc5cea37b055f84fe7515031b0b1fc\",\"origin\":null,\"output\":{\"content_hash\":null,\"height\":3,\"samples\":\"6f5896ebefcd39e19c0c6ba939458d7c53f12a555d827daf029348a5d80c5fdb\",\"step\":2,\"width\":4},\"root\":\"07d6b0dc228aed8c8faeaf3ed98cc5b6612d9714ce73fac72a57fcb9d1d1d02d\",\"session\":\"bd17fc95a3b31f372c04e302ef79c62f3fe4b71c95e55b1be7c8624ce0a8a8fc\",\"sig\":\"903c496681a53be69c060808fb34223e3c7e929e552f0b26cd095c7529d82dadb7d2712caf90a5bc59ed852f1409887381122d0812f9d5e86c5afc6c9505c10a\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"steps\":3}", + "steps": [ + { + "step": "{\"act\":\"author\",\"check\":\"replicate\",\"inputs\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"ac513423d5d03f18ef19032111823c26a3c6a9add5e70bc8b2235608d99b525e\",\"width\":8},\"params\":{\"source\":\"digitalCreation\"},\"party\":0,\"prev\":null,\"region\":null,\"seq\":0,\"session\":\"bd17fc95a3b31f372c04e302ef79c62f3fe4b71c95e55b1be7c8624ce0a8a8fc\",\"sig\":\"62ae6b106d17e66353f956061a5958019d748f5c7b982591713f0ef6bd14218453c659167a2db4ef1813d10b7ea821dd379ebd24ce4df8bf4de4fe706375c109\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "9838c812ce42c4cea01f958b9df7e87ceccbb3f223c93a8fc81405c0318cc47e", + "9dbef56ed862cb2e025346f8e71f472fdfc0e3bdff9057bddba44eec92cc0cce" + ] + }, + { + "step": "{\"act\":\"transform\",\"check\":\"attest\",\"inputs\":[{\"samples\":\"ac513423d5d03f18ef19032111823c26a3c6a9add5e70bc8b2235608d99b525e\",\"step\":0}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":3,\"samples\":\"c7e4f176175ab86e0b2f3c65d5a9c6c253647ee6d7a36ed80b034e4ffb561b21\",\"width\":4},\"params\":{\"derivation\":\"wai.derive.scaling\",\"params\":{\"height\":3,\"width\":4}},\"party\":0,\"prev\":\"140618c70e678790cf631c8ea2b0ec2f901b2cd12740c312f76ceeff353de55d\",\"region\":null,\"seq\":1,\"session\":\"bd17fc95a3b31f372c04e302ef79c62f3fe4b71c95e55b1be7c8624ce0a8a8fc\",\"sig\":\"c8eb483d3392cb30ecd44efa11b6f34ec1d49024095efbb272d13435f1fe5b1aced2ddbf50fc2a1b533b800a722e5313cfa60473ad8a316d432ab7f70a0d5604\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "5bc6013b5ffe7a638c7c26cc8624f62623c4ab18210da7057c5f043c69f246a1", + "9dbef56ed862cb2e025346f8e71f472fdfc0e3bdff9057bddba44eec92cc0cce" + ] + }, + { + "step": "{\"act\":\"edit\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"c7e4f176175ab86e0b2f3c65d5a9c6c253647ee6d7a36ed80b034e4ffb561b21\",\"step\":1}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":3,\"samples\":\"6f5896ebefcd39e19c0c6ba939458d7c53f12a555d827daf029348a5d80c5fdb\",\"width\":4},\"params\":{},\"party\":1,\"prev\":\"46b3f50230543c27fa26d28f77718137538c0e98d82afc58600bee1785017b50\",\"region\":[{\"h\":1,\"w\":2,\"x\":0,\"y\":0}],\"seq\":2,\"session\":\"bd17fc95a3b31f372c04e302ef79c62f3fe4b71c95e55b1be7c8624ce0a8a8fc\",\"sig\":\"bbe43bb1a8d1111362cbf06b39bf48563f2499b359471f0bbf0e12a79a20734052dea1c11f1f4c0599504c5f910184d99806a755e4f18ed8649bed4f278a9a0f\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "proof": [ + "663eef006fc3112a9ef22f3019bf9e42e7a5cadafbc37efe76c071f244a5b822", + "373e0ed8c8cd66a7d8740e146f09d632ab5c89f1bb906a7eb28c422aeee1d57d" + ] + } + ], + "map": "{\"height\":3,\"kind\":\"wai-authorship-map\",\"output\":\"6f5896ebefcd39e19c0c6ba939458d7c53f12a555d827daf029348a5d80c5fdb\",\"palette\":[{\"directed_by\":[],\"made_by\":[1]},{\"directed_by\":[\"unknown\"],\"made_by\":[\"unknown\"]}],\"rows\":[[[0,2],[1,2]],[[1,4]],[[1,4]]],\"width\":4}", + "openings": [], + "states": [ + "e686763ca305c0f860ce2b17f35fba16288d94d89d165cda8cdab7bf0a21feded273437953a85d2e7d678cb5178d9768e4c8b507b54b8da298acb11502e3045608381a763bcf170362b08df07626d66db8d9b86a0ef9acb7c7828f5767c07b26ecd916378b724d671708530c0177ff5ffe90324dd049cc9f996c89097bef204ddbb65e00aa9d8f68acecc5a170d1c836", + "e68676c0f860f35fba94d89de4c8b58da29802e3041a763becd9164d67170177ff324dd0", + "cfeff3ea4d1af35fba94d89de4c8b58da29802e3041a763becd9164d67170177ff324dd0" + ], + "models": [ + "963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e" + ], + "origins": [], + "outcome": "accept", + "statements": { + "tier": "checked", + "session": "bd17fc95a3b31f372c04e302ef79c62f3fe4b71c95e55b1be7c8624ce0a8a8fc", + "record": "091e97fd7f94126d07b9cabfda27c9c55485e17ba828d36d6f7c42564ab0aea5", + "steps": [ + { + "seq": 0, + "act": "author", + "party": 0, + "check": "replicate", + "status": "checked" + }, + { + "seq": 1, + "act": "transform", + "party": 0, + "check": "attest", + "status": "attested" + }, + { + "seq": 2, + "act": "edit", + "party": 1, + "check": "replicate", + "status": "checked" + } + ], + "committed": 0, + "computed": { + "samples": 12, + "made_by": [ + { + "party": 1, + "samples": 2 + } + ], + "made_by_unknown": 10, + "made_by_undisclosed": 0, + "directed_by": [], + "directed_by_unknown": 10, + "directed_by_undisclosed": 0 + }, + "stated": { + "samples": 12, + "made_by": [ + { + "party": 1, + "samples": 2 + } + ], + "made_by_unknown": 10, + "made_by_undisclosed": 0, + "directed_by": [], + "directed_by_unknown": 10, + "directed_by_undisclosed": 0 + }, + "estimates": [], + "origin": null, + "c2pa": "{\"actions\":[{\"action\":\"c2pa.created\",\"digitalSourceType\":\"http://c2pa.org/digitalsourcetype/empty\",\"softwareAgent\":{\"name\":\"conformance-studio/1\"}},{\"action\":\"c2pa.edited\",\"digitalSourceType\":\"http://cv.iptc.org/newscodes/digitalsourcetype/digitalCreation\",\"softwareAgent\":{\"name\":\"conformance-studio/1\"}},{\"action\":\"c2pa.resized\",\"softwareAgent\":{\"name\":\"conformance-studio/1\"}},{\"action\":\"c2pa.drawing\",\"changes\":[{\"region\":[{\"shape\":{\"height\":1,\"origin\":{\"x\":0,\"y\":0},\"type\":\"rectangle\",\"unit\":\"pixel\",\"width\":2},\"type\":\"spatial\"}]}],\"digitalSourceType\":\"http://cv.iptc.org/newscodes/digitalsourcetype/digitalCreation\",\"softwareAgent\":{\"name\":\"conformance-studio/1\"}}]}" + } + }, + { + "name": "candidates_partial", + "about": "the candidates session with its generating step undisclosed and no state held: the selection, the rejection and the colour table check against the root, and the candidates' samples are undisclosed (§7.1, §8.2)", + "policy": { + "tier": "stated" + }, + "session": "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-session\",\"media\":\"image\",\"parties\":[{\"key\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\",\"role\":\"human\"},{\"key\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\",\"role\":\"human\"},{\"digest\":\"963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e\",\"role\":\"model\",\"type\":\"algorithmic\"},{\"digest\":\"af0cc7d1226d60c32186ea7d6abdd4f4f71737d99f94c2a9b6f57e1cd5f63d25\",\"role\":\"model\",\"type\":\"trained\"},{\"key\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\",\"role\":\"audience\"}],\"session\":\"97af1afd986c95aeea3bbf11ffa0940289cbda0759f3c735e7f0ea27847fcdc0\",\"sig\":\"29a0d9d9c0b8aa46048ca8ad83ece41304b729afff09ad9025b452fdf01ac6247675dbaa947c359ee21238b5328b431ec5410f36fa945713744f50bc4f631006\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"tool\":\"conformance-studio/1\"}", + "memberships": [ + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":0,\"session\":\"fc5e6d6dc68b92575425f6f17f9c727ad19924eb8a07f73c0ce91411319aaf23\",\"sig\":\"2da2330f1a56c4e71ca2f09d1784d41b221eb6af65c9b1c44c6896b2d5f905b0d479460fcde8b737d0e5d8aa996d366434fd25768995748521aa1e1d61cae709\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":1,\"session\":\"fc5e6d6dc68b92575425f6f17f9c727ad19924eb8a07f73c0ce91411319aaf23\",\"sig\":\"8b1d411d99b72f63e8689ae30635413bc0b695c93cdef12a88ebb1d68eec01fadb5a5fdabf16c0f36d2dd4b0a4544c07c6b3025708be2dc9c37619afab11290f\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":4,\"session\":\"fc5e6d6dc68b92575425f6f17f9c727ad19924eb8a07f73c0ce91411319aaf23\",\"sig\":\"88c15aa3a690d3581c5b42b8d134a5bb32454d3c31057e38d5ebe611b61c5a1ede6d4d8a9ae28bd1db844c4a61400acd67a4fa509e0224ca2cb64e94f94be401\",\"signer_pubkey\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\"}" + ], + "record": "{\"estimates\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-contribution\",\"map\":\"9b84d11f86f90a381734cc43391ff55b40f57509bfd8af1e9c9805d39163f71e\",\"origin\":null,\"output\":{\"content_hash\":null,\"height\":6,\"samples\":\"cbb50f401f7143171133c6dc51bd20697f25e6645ddd9e83f1792de79f1e2176\",\"step\":3,\"width\":8},\"root\":\"fdfd0c71a05ef818204c45d795ae2573ec18c4ee49643e1559826d38c83e5f80\",\"session\":\"fc5e6d6dc68b92575425f6f17f9c727ad19924eb8a07f73c0ce91411319aaf23\",\"sig\":\"0c483927399d3f7c9d7b4096b98d12fa428de29ebd466dc3a6c75b6b1a9f22fe0e284f22293a2f57090b1abd4078e2cd0d9d02c263a6c1604fb44132903d1602\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"steps\":4}", + "steps": [ + { + "step": "{\"act\":\"select\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"ead59c0c830935f72953869a290d9a901e1bd96545d12619785e5fd9757fd056\",\"step\":0}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"ead59c0c830935f72953869a290d9a901e1bd96545d12619785e5fd9757fd056\",\"width\":8},\"params\":{},\"party\":4,\"prev\":\"ad881daf4685a6d1e7f12330ddd06aedd0d778785ab72653c7bed7237499d347\",\"region\":null,\"seq\":1,\"session\":\"fc5e6d6dc68b92575425f6f17f9c727ad19924eb8a07f73c0ce91411319aaf23\",\"sig\":\"f1975202fb6c8aa2d799fb0d8c9a92abffd8b86e0be52f30b29888ed7e9555fd0bb79f2fb915492e6103638578f6b83c93dca9d0a6aaa034189f3a301bce7b0b\",\"signer_pubkey\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\"}", + "proof": [ + "062b2835e9fca49210101b25ebad0cfa126fa2f919417636e468047bd1ffba40", + "60b3b8d958162d730b2112eefeab007e3feb62f37871cd360d820e2d272bee83" + ] + }, + { + "step": "{\"act\":\"reject\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"eb7d21d6172387fa8e5a7953f08878927175a0d53939a9b5dcbdceb38db56ea5\",\"step\":0}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":null,\"params\":{},\"party\":0,\"prev\":\"57025335d11ad00775f2a5555306d94d071c6b360f6a139f0ccc7f463f9ac701\",\"region\":null,\"seq\":2,\"session\":\"fc5e6d6dc68b92575425f6f17f9c727ad19924eb8a07f73c0ce91411319aaf23\",\"sig\":\"d1fbd42d940aebf9f92c73f5621173203cdd558f4ffbd2fe49f76f6e719c4a2b727298984afc02f616b5ef744775594fca0da24d08cabaee6d3b81ad85c08c06\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "c4e51911fbff18579eea695ba779cb4bc4b8b853f1f383bbbbbe398ae5ba0f41", + "4852389a733b52d6c0be74c466c1e5d4c9f378eecfe8712bf287320954609582" + ] + }, + { + "step": "{\"act\":\"transform\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"ead59c0c830935f72953869a290d9a901e1bd96545d12619785e5fd9757fd056\",\"step\":1}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"cbb50f401f7143171133c6dc51bd20697f25e6645ddd9e83f1792de79f1e2176\",\"width\":8},\"params\":{\"derivation\":\"wai-contribution:lut\",\"params\":{\"table\":\"2828292a2b2b2c2d2e2e2f303131323334343536373738393a3a3b3c3d3d3e3f40404142434344454646474849494a4b4c4c4d4e4f4f505152525354555556575858595a5b5b5c5d5e5e5f606161626364646566676768696a6a6b6c6d6d6e6f70707172737374757676777879797a7b7c7c7d7e7f7f808182828384858586878888898a8b8b8c8d8e8e8f909191929394949596979798999a9a9b9c9d9d9e9fa0a0a1a2a3a3a4a5a6a6a7a8a9a9aaabacacadaeafafb0b1b2b2b3b4b5b5b6b7b8b8b9babbbbbcbdbebebfc0c1c1c2c3c4c4c5c6c7c7c8c9cacacbcccdcdcecfd0d0d1d2d3d3d4d5d6d6d7d8d9d9dadbdcdcdddedfdfe0e1e2e2e3e4e5e5e6e7000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfefffffefdfcfbfaf9f8f7f6f5f4f3f2f1f0efeeedecebeae9e8e7e6e5e4e3e2e1e0dfdedddcdbdad9d8d7d6d5d4d3d2d1d0cfcecdcccbcac9c8c7c6c5c4c3c2c1c0bfbebdbcbbbab9b8b7b6b5b4b3b2b1b0afaeadacabaaa9a8a7a6a5a4a3a2a1a09f9e9d9c9b9a999897969594939291908f8e8d8c8b8a898887868584838281807f7e7d7c7b7a797877767574737271706f6e6d6c6b6a696867666564636261605f5e5d5c5b5a595857565554535251504f4e4d4c4b4a494847464544434241403f3e3d3c3b3a393837363534333231302f2e2d2c2b2a292827262524232221201f1e1d1c1b1a191817161514131211100f0e0d0c0b0a09080706050403020100\"}},\"party\":0,\"prev\":\"95b8e5e62e3e1b9535c2a2b8d6e3710a2cadf263eff0e69e73944326c4aa8f58\",\"region\":null,\"seq\":3,\"session\":\"fc5e6d6dc68b92575425f6f17f9c727ad19924eb8a07f73c0ce91411319aaf23\",\"sig\":\"e70ac668f10349469b0e755eea64f18566d84bd15aacfd06687ca0f4b4adaad19226ec6f04ba4455870c58d9569e868887e16d9282f83ee9b379ad0620636a0f\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "7a3bae482938ec69e7e298613f59351d3f7d7621a1eedefcc89872d3762df903", + "4852389a733b52d6c0be74c466c1e5d4c9f378eecfe8712bf287320954609582" + ] + } + ], + "map": "{\"height\":6,\"kind\":\"wai-authorship-map\",\"output\":\"cbb50f401f7143171133c6dc51bd20697f25e6645ddd9e83f1792de79f1e2176\",\"palette\":[{\"directed_by\":[0,4],\"made_by\":[2]}],\"rows\":[[[0,8]],[[0,8]],[[0,8]],[[0,8]],[[0,8]],[[0,8]]],\"width\":8}", + "openings": [ + "{\"commitment\":\"426086c64da7c1c19c02055132da0ae84a7b3a45b804db95bbe263f5734b3413\",\"salt\":\"a3b062613d3ff73f4d8607aa9b8bedc0a589a6b50ac9d93829f2d59752ea427c\",\"text\":\"a bright spiral of fire\"}" + ], + "states": [], + "models": [ + "963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e" + ], + "origins": [], + "outcome": "accept", + "statements": { + "tier": "checked", + "session": "fc5e6d6dc68b92575425f6f17f9c727ad19924eb8a07f73c0ce91411319aaf23", + "record": "110b6cf562afc4b4a8f91003f2361d74e1fe1ac5405e57280362c993c51faea5", + "steps": [ + { + "seq": 1, + "act": "select", + "party": 4, + "check": "replicate", + "status": "not-checked" + }, + { + "seq": 2, + "act": "reject", + "party": 0, + "check": "replicate", + "status": "not-checked" + }, + { + "seq": 3, + "act": "transform", + "party": 0, + "check": "replicate", + "status": "not-checked" + } + ], + "committed": 1, + "computed": { + "samples": 48, + "made_by": [], + "made_by_unknown": 0, + "made_by_undisclosed": 48, + "directed_by": [ + { + "party": 0, + "samples": 48 + }, + { + "party": 4, + "samples": 48 + } + ], + "directed_by_unknown": 0, + "directed_by_undisclosed": 48 + }, + "stated": { + "samples": 48, + "made_by": [ + { + "party": 2, + "samples": 48 + } + ], + "made_by_unknown": 0, + "made_by_undisclosed": 0, + "directed_by": [ + { + "party": 0, + "samples": 48 + }, + { + "party": 4, + "samples": 48 + } + ], + "directed_by_unknown": 0, + "directed_by_undisclosed": 0 + }, + "estimates": [], + "origin": null, + "c2pa": null + } + }, + { + "name": "candidates_prompt_private", + "about": "every step of the candidates session disclosed but its prompt kept private: the candidates are not regenerated, and the outcome is checked (§8.1, §8.2)", + "policy": { + "tier": "stated" + }, + "session": "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-session\",\"media\":\"image\",\"parties\":[{\"key\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\",\"role\":\"human\"},{\"key\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\",\"role\":\"human\"},{\"digest\":\"963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e\",\"role\":\"model\",\"type\":\"algorithmic\"},{\"digest\":\"af0cc7d1226d60c32186ea7d6abdd4f4f71737d99f94c2a9b6f57e1cd5f63d25\",\"role\":\"model\",\"type\":\"trained\"},{\"key\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\",\"role\":\"audience\"}],\"session\":\"97af1afd986c95aeea3bbf11ffa0940289cbda0759f3c735e7f0ea27847fcdc0\",\"sig\":\"29a0d9d9c0b8aa46048ca8ad83ece41304b729afff09ad9025b452fdf01ac6247675dbaa947c359ee21238b5328b431ec5410f36fa945713744f50bc4f631006\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"tool\":\"conformance-studio/1\"}", + "memberships": [ + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":0,\"session\":\"fc5e6d6dc68b92575425f6f17f9c727ad19924eb8a07f73c0ce91411319aaf23\",\"sig\":\"2da2330f1a56c4e71ca2f09d1784d41b221eb6af65c9b1c44c6896b2d5f905b0d479460fcde8b737d0e5d8aa996d366434fd25768995748521aa1e1d61cae709\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":1,\"session\":\"fc5e6d6dc68b92575425f6f17f9c727ad19924eb8a07f73c0ce91411319aaf23\",\"sig\":\"8b1d411d99b72f63e8689ae30635413bc0b695c93cdef12a88ebb1d68eec01fadb5a5fdabf16c0f36d2dd4b0a4544c07c6b3025708be2dc9c37619afab11290f\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":4,\"session\":\"fc5e6d6dc68b92575425f6f17f9c727ad19924eb8a07f73c0ce91411319aaf23\",\"sig\":\"88c15aa3a690d3581c5b42b8d134a5bb32454d3c31057e38d5ebe611b61c5a1ede6d4d8a9ae28bd1db844c4a61400acd67a4fa509e0224ca2cb64e94f94be401\",\"signer_pubkey\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\"}" + ], + "record": "{\"estimates\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-contribution\",\"map\":\"9b84d11f86f90a381734cc43391ff55b40f57509bfd8af1e9c9805d39163f71e\",\"origin\":null,\"output\":{\"content_hash\":null,\"height\":6,\"samples\":\"cbb50f401f7143171133c6dc51bd20697f25e6645ddd9e83f1792de79f1e2176\",\"step\":3,\"width\":8},\"root\":\"fdfd0c71a05ef818204c45d795ae2573ec18c4ee49643e1559826d38c83e5f80\",\"session\":\"fc5e6d6dc68b92575425f6f17f9c727ad19924eb8a07f73c0ce91411319aaf23\",\"sig\":\"0c483927399d3f7c9d7b4096b98d12fa428de29ebd466dc3a6c75b6b1a9f22fe0e284f22293a2f57090b1abd4078e2cd0d9d02c263a6c1604fb44132903d1602\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"steps\":4}", + "steps": [ + { + "step": "{\"act\":\"candidates\",\"check\":\"replicate\",\"inputs\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"set\":[\"eb7d21d6172387fa8e5a7953f08878927175a0d53939a9b5dcbdceb38db56ea5\",\"ead59c0c830935f72953869a290d9a901e1bd96545d12619785e5fd9757fd056\",\"565b3a4aa7ff815f0fb585b94b19419ae6e368a0b02a2ff4e3fcc342aba8461e\"],\"width\":8},\"params\":{\"generator\":\"wai.generate.spectral\",\"prompt\":\"426086c64da7c1c19c02055132da0ae84a7b3a45b804db95bbe263f5734b3413\",\"prompt_by\":0,\"seeds\":[1,2,3],\"steps\":1},\"party\":2,\"prev\":null,\"region\":null,\"seq\":0,\"session\":\"fc5e6d6dc68b92575425f6f17f9c727ad19924eb8a07f73c0ce91411319aaf23\",\"sig\":\"b2986cc36ed1414f7b012ae76a4dea11cf36e9084a401ccda24247ed7d166fb639f8a1cb9c99330187affb7574d0c47e1dcd829648a6c47417c5e0a3b7527707\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\"}", + "proof": [ + "aae1986ea35bb20c33fef6ebc84943aad8e0ab1166169435c470a23dfb8b2e46", + "60b3b8d958162d730b2112eefeab007e3feb62f37871cd360d820e2d272bee83" + ] + }, + { + "step": "{\"act\":\"select\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"ead59c0c830935f72953869a290d9a901e1bd96545d12619785e5fd9757fd056\",\"step\":0}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"ead59c0c830935f72953869a290d9a901e1bd96545d12619785e5fd9757fd056\",\"width\":8},\"params\":{},\"party\":4,\"prev\":\"ad881daf4685a6d1e7f12330ddd06aedd0d778785ab72653c7bed7237499d347\",\"region\":null,\"seq\":1,\"session\":\"fc5e6d6dc68b92575425f6f17f9c727ad19924eb8a07f73c0ce91411319aaf23\",\"sig\":\"f1975202fb6c8aa2d799fb0d8c9a92abffd8b86e0be52f30b29888ed7e9555fd0bb79f2fb915492e6103638578f6b83c93dca9d0a6aaa034189f3a301bce7b0b\",\"signer_pubkey\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\"}", + "proof": [ + "062b2835e9fca49210101b25ebad0cfa126fa2f919417636e468047bd1ffba40", + "60b3b8d958162d730b2112eefeab007e3feb62f37871cd360d820e2d272bee83" + ] + }, + { + "step": "{\"act\":\"reject\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"eb7d21d6172387fa8e5a7953f08878927175a0d53939a9b5dcbdceb38db56ea5\",\"step\":0}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":null,\"params\":{},\"party\":0,\"prev\":\"57025335d11ad00775f2a5555306d94d071c6b360f6a139f0ccc7f463f9ac701\",\"region\":null,\"seq\":2,\"session\":\"fc5e6d6dc68b92575425f6f17f9c727ad19924eb8a07f73c0ce91411319aaf23\",\"sig\":\"d1fbd42d940aebf9f92c73f5621173203cdd558f4ffbd2fe49f76f6e719c4a2b727298984afc02f616b5ef744775594fca0da24d08cabaee6d3b81ad85c08c06\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "c4e51911fbff18579eea695ba779cb4bc4b8b853f1f383bbbbbe398ae5ba0f41", + "4852389a733b52d6c0be74c466c1e5d4c9f378eecfe8712bf287320954609582" + ] + }, + { + "step": "{\"act\":\"transform\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"ead59c0c830935f72953869a290d9a901e1bd96545d12619785e5fd9757fd056\",\"step\":1}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"cbb50f401f7143171133c6dc51bd20697f25e6645ddd9e83f1792de79f1e2176\",\"width\":8},\"params\":{\"derivation\":\"wai-contribution:lut\",\"params\":{\"table\":\"2828292a2b2b2c2d2e2e2f303131323334343536373738393a3a3b3c3d3d3e3f40404142434344454646474849494a4b4c4c4d4e4f4f505152525354555556575858595a5b5b5c5d5e5e5f606161626364646566676768696a6a6b6c6d6d6e6f70707172737374757676777879797a7b7c7c7d7e7f7f808182828384858586878888898a8b8b8c8d8e8e8f909191929394949596979798999a9a9b9c9d9d9e9fa0a0a1a2a3a3a4a5a6a6a7a8a9a9aaabacacadaeafafb0b1b2b2b3b4b5b5b6b7b8b8b9babbbbbcbdbebebfc0c1c1c2c3c4c4c5c6c7c7c8c9cacacbcccdcdcecfd0d0d1d2d3d3d4d5d6d6d7d8d9d9dadbdcdcdddedfdfe0e1e2e2e3e4e5e5e6e7000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfefffffefdfcfbfaf9f8f7f6f5f4f3f2f1f0efeeedecebeae9e8e7e6e5e4e3e2e1e0dfdedddcdbdad9d8d7d6d5d4d3d2d1d0cfcecdcccbcac9c8c7c6c5c4c3c2c1c0bfbebdbcbbbab9b8b7b6b5b4b3b2b1b0afaeadacabaaa9a8a7a6a5a4a3a2a1a09f9e9d9c9b9a999897969594939291908f8e8d8c8b8a898887868584838281807f7e7d7c7b7a797877767574737271706f6e6d6c6b6a696867666564636261605f5e5d5c5b5a595857565554535251504f4e4d4c4b4a494847464544434241403f3e3d3c3b3a393837363534333231302f2e2d2c2b2a292827262524232221201f1e1d1c1b1a191817161514131211100f0e0d0c0b0a09080706050403020100\"}},\"party\":0,\"prev\":\"95b8e5e62e3e1b9535c2a2b8d6e3710a2cadf263eff0e69e73944326c4aa8f58\",\"region\":null,\"seq\":3,\"session\":\"fc5e6d6dc68b92575425f6f17f9c727ad19924eb8a07f73c0ce91411319aaf23\",\"sig\":\"e70ac668f10349469b0e755eea64f18566d84bd15aacfd06687ca0f4b4adaad19226ec6f04ba4455870c58d9569e868887e16d9282f83ee9b379ad0620636a0f\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "7a3bae482938ec69e7e298613f59351d3f7d7621a1eedefcc89872d3762df903", + "4852389a733b52d6c0be74c466c1e5d4c9f378eecfe8712bf287320954609582" + ] + } + ], + "map": "{\"height\":6,\"kind\":\"wai-authorship-map\",\"output\":\"cbb50f401f7143171133c6dc51bd20697f25e6645ddd9e83f1792de79f1e2176\",\"palette\":[{\"directed_by\":[0,4],\"made_by\":[2]}],\"rows\":[[[0,8]],[[0,8]],[[0,8]],[[0,8]],[[0,8]],[[0,8]]],\"width\":8}", + "openings": [], + "states": [ + "2c45a64a4d898d2b797e0ca379367dba0083890f98a3266e5420ad4729af58418a9f0d8b78367e9c009a942d72d00d66702c8d801a94780ea666398776367f863377c0017ea9038c3f45984d3f945a3b8f67368a7a357e87337594336d9e3365461eba6712af8d12926a358a79337f8634759f0e89c10f6f7315a27d268a5e378f83109c79367caa137c8e3b698a297d", + "926c41b04d4b80417b698447d83e3c9b3077685478787f41767251877541c04b41625c76db3e3b873b7b6e7c4bcb62227a754a84694f816a51cd493add3e39687b51df4233ca2d58337f743b79744472744c6c759a5553a05251a55050aa4e4e8418a0ca077eff322c606f64c23d4ef5085eb75d36ae5148f12e3bc970155e7460ca394cc53a4e496c78fa0061f54124", + "90396260368916777f6379432f737071664d136d8a12b1478d5a449548506137872d8f562a776f584e7711ad4b5f8c347a703c7c6f3c88643e603b84267b6f12aa4e57794c3d88514e8a42488c44428f463c9148827e28807f297d802a7b822a3577673e6b6c5b5e656e892c459a3948b71a2564875e4f71555c6b715c5772852e059270449d369620784cba14009a6c", + "956cbeac4db48841847684b8ca3ec39c3088765487827fbe8072ae8d75beb84bbe715c89cc3ec48d3b847a7cb4c062dd8375b58b69b0886aaec149c5cd3ec6767baecf42ccbf2da74e7f8b54798b5b728b616c8a9b55aca052aea350afa74eb18b185fbf0781e732d3706f9bb93db1df08a1b15dc9aa51b7dc2ec4be70ea6e749fbf39b3bb3ab15e6c87e3009edf41db" + ], + "models": [ + "963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e" + ], + "origins": [], + "outcome": "accept", + "statements": { + "tier": "checked", + "session": "fc5e6d6dc68b92575425f6f17f9c727ad19924eb8a07f73c0ce91411319aaf23", + "record": "110b6cf562afc4b4a8f91003f2361d74e1fe1ac5405e57280362c993c51faea5", + "steps": [ + { + "seq": 0, + "act": "candidates", + "party": 2, + "check": "replicate", + "status": "not-checked" + }, + { + "seq": 1, + "act": "select", + "party": 4, + "check": "replicate", + "status": "checked" + }, + { + "seq": 2, + "act": "reject", + "party": 0, + "check": "replicate", + "status": "checked" + }, + { + "seq": 3, + "act": "transform", + "party": 0, + "check": "replicate", + "status": "checked" + } + ], + "committed": 0, + "computed": { + "samples": 48, + "made_by": [ + { + "party": 2, + "samples": 48 + } + ], + "made_by_unknown": 0, + "made_by_undisclosed": 0, + "directed_by": [ + { + "party": 0, + "samples": 48 + }, + { + "party": 4, + "samples": 48 + } + ], + "directed_by_unknown": 0, + "directed_by_undisclosed": 0 + }, + "stated": { + "samples": 48, + "made_by": [ + { + "party": 2, + "samples": 48 + } + ], + "made_by_unknown": 0, + "made_by_undisclosed": 0, + "directed_by": [ + { + "party": 0, + "samples": 48 + }, + { + "party": 4, + "samples": 48 + } + ], + "directed_by_unknown": 0, + "directed_by_undisclosed": 0 + }, + "estimates": [], + "origin": null, + "c2pa": "{\"actions\":[{\"action\":\"c2pa.created\",\"digitalSourceType\":\"http://c2pa.org/digitalsourcetype/empty\",\"softwareAgent\":{\"name\":\"conformance-studio/1\"}},{\"action\":\"c2pa.edited\",\"digitalSourceType\":\"http://cv.iptc.org/newscodes/digitalsourcetype/algorithmicMedia\",\"softwareAgent\":{\"name\":\"tag:transaction.science,2026:wai/model/963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e\"}},{\"action\":\"c2pa.adjustedColor\",\"softwareAgent\":{\"name\":\"conformance-studio/1\"}}]}" + } + }, + { + "name": "stated", + "about": "the record and the map alone: the signed map is held, nothing recomputed (§8.2)", + "policy": { + "tier": "stated" + }, + "session": "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-session\",\"media\":\"image\",\"parties\":[{\"key\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\",\"role\":\"human\"},{\"key\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\",\"role\":\"human\"},{\"digest\":\"963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e\",\"role\":\"model\",\"type\":\"algorithmic\"},{\"digest\":\"af0cc7d1226d60c32186ea7d6abdd4f4f71737d99f94c2a9b6f57e1cd5f63d25\",\"role\":\"model\",\"type\":\"trained\"},{\"key\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\",\"role\":\"audience\"}],\"session\":\"97af1afd986c95aeea3bbf11ffa0940289cbda0759f3c735e7f0ea27847fcdc0\",\"sig\":\"29a0d9d9c0b8aa46048ca8ad83ece41304b729afff09ad9025b452fdf01ac6247675dbaa947c359ee21238b5328b431ec5410f36fa945713744f50bc4f631006\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"tool\":\"conformance-studio/1\"}", + "memberships": [ + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":0,\"session\":\"fc5e6d6dc68b92575425f6f17f9c727ad19924eb8a07f73c0ce91411319aaf23\",\"sig\":\"2da2330f1a56c4e71ca2f09d1784d41b221eb6af65c9b1c44c6896b2d5f905b0d479460fcde8b737d0e5d8aa996d366434fd25768995748521aa1e1d61cae709\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":1,\"session\":\"fc5e6d6dc68b92575425f6f17f9c727ad19924eb8a07f73c0ce91411319aaf23\",\"sig\":\"8b1d411d99b72f63e8689ae30635413bc0b695c93cdef12a88ebb1d68eec01fadb5a5fdabf16c0f36d2dd4b0a4544c07c6b3025708be2dc9c37619afab11290f\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":4,\"session\":\"fc5e6d6dc68b92575425f6f17f9c727ad19924eb8a07f73c0ce91411319aaf23\",\"sig\":\"88c15aa3a690d3581c5b42b8d134a5bb32454d3c31057e38d5ebe611b61c5a1ede6d4d8a9ae28bd1db844c4a61400acd67a4fa509e0224ca2cb64e94f94be401\",\"signer_pubkey\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\"}" + ], + "record": "{\"estimates\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-contribution\",\"map\":\"9b84d11f86f90a381734cc43391ff55b40f57509bfd8af1e9c9805d39163f71e\",\"origin\":null,\"output\":{\"content_hash\":null,\"height\":6,\"samples\":\"cbb50f401f7143171133c6dc51bd20697f25e6645ddd9e83f1792de79f1e2176\",\"step\":3,\"width\":8},\"root\":\"fdfd0c71a05ef818204c45d795ae2573ec18c4ee49643e1559826d38c83e5f80\",\"session\":\"fc5e6d6dc68b92575425f6f17f9c727ad19924eb8a07f73c0ce91411319aaf23\",\"sig\":\"0c483927399d3f7c9d7b4096b98d12fa428de29ebd466dc3a6c75b6b1a9f22fe0e284f22293a2f57090b1abd4078e2cd0d9d02c263a6c1604fb44132903d1602\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"steps\":4}", + "steps": [], + "map": "{\"height\":6,\"kind\":\"wai-authorship-map\",\"output\":\"cbb50f401f7143171133c6dc51bd20697f25e6645ddd9e83f1792de79f1e2176\",\"palette\":[{\"directed_by\":[0,4],\"made_by\":[2]}],\"rows\":[[[0,8]],[[0,8]],[[0,8]],[[0,8]],[[0,8]],[[0,8]]],\"width\":8}", + "openings": [], + "states": [], + "models": [], + "origins": [], + "outcome": "accept", + "statements": { + "tier": "stated", + "session": "fc5e6d6dc68b92575425f6f17f9c727ad19924eb8a07f73c0ce91411319aaf23", + "record": "110b6cf562afc4b4a8f91003f2361d74e1fe1ac5405e57280362c993c51faea5", + "steps": [], + "committed": 4, + "computed": { + "samples": 48, + "made_by": [], + "made_by_unknown": 0, + "made_by_undisclosed": 48, + "directed_by": [], + "directed_by_unknown": 0, + "directed_by_undisclosed": 48 + }, + "stated": { + "samples": 48, + "made_by": [ + { + "party": 2, + "samples": 48 + } + ], + "made_by_unknown": 0, + "made_by_undisclosed": 0, + "directed_by": [ + { + "party": 0, + "samples": 48 + }, + { + "party": 4, + "samples": 48 + } + ], + "directed_by_unknown": 0, + "directed_by_undisclosed": 0 + }, + "estimates": [], + "origin": null, + "c2pa": null + } + }, + { + "name": "estimate", + "about": "a record that attaches an estimated share with its class, reported as stated beside the exact counts (§6)", + "policy": { + "tier": "stated" + }, + "session": "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-session\",\"media\":\"image\",\"parties\":[{\"key\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\",\"role\":\"human\"},{\"key\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\",\"role\":\"human\"},{\"digest\":\"963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e\",\"role\":\"model\",\"type\":\"algorithmic\"},{\"digest\":\"af0cc7d1226d60c32186ea7d6abdd4f4f71737d99f94c2a9b6f57e1cd5f63d25\",\"role\":\"model\",\"type\":\"trained\"},{\"key\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\",\"role\":\"audience\"}],\"session\":\"ba8343191c03771d24b7824ef8bd7179b3636d877fa8e6139992a7f5b697fe83\",\"sig\":\"98c1ee158f4a39cb257612d4e86f66fdea2b252cb682d469b944d2fc4a3513006c4a83a92237c1683895dfca660577f9e93b01ccab062b09c50d457ed24fff03\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"tool\":\"conformance-studio/1\"}", + "memberships": [ + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":0,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"91c18a1463ce0471fdd019182706f53c05efa1859d1db93c353de9122a3abd108e40965c9c14cbf4be3f40911af82dbddbcc0a144a3a6e7825a8cad8a6cd360c\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":1,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"0e786ad78bda25fe732583bb04e62ec999f9c3f78cd719ee67cb159a3aa5e2b2e8fed6a305100264a392bd920e7753f30d5c9ba99053ec590f8c9c9f8a94f707\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":4,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"8859195c031cbe3863fa98a4bfa0775a0fa5cc10b24814f05ab16aa23ae2d14652bd72942158fa310cf06fbd7f5f0e8be8e79b7985493993516fd978d7d09606\",\"signer_pubkey\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\"}" + ], + "record": "{\"estimates\":[{\"basis\":\"made_by\",\"class\":\"information-theoretic\",\"estimator\":\"conformance-estimator\",\"party\":1,\"share_ppm\":412500}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-contribution\",\"map\":\"7b57936bf90119925c5a51e2c75c49fc5f4a229dc9693356b484e9dc95ebd5bf\",\"origin\":null,\"output\":{\"content_hash\":\"590634ad26c92bb75ec3709b855abb567c988889acd51e954b48253ca7212074\",\"height\":4,\"samples\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"step\":2,\"width\":6},\"root\":\"69f0fec811c3971ba1f39eb0dfbd7aa72855e3b1e1acdb826bce4e189201152c\",\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"cb2eb8a20674e3c9db5b520c1154d710b3775dade14a28c82920b4d91fd7830fc68f97fe605cd9122b2bb19095ccb971a22b89521db1e8537796fbc855cff40b\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"steps\":3}", + "steps": [], + "map": "{\"height\":4,\"kind\":\"wai-authorship-map\",\"output\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"palette\":[{\"directed_by\":[0],\"made_by\":[0]},{\"directed_by\":[0],\"made_by\":[1]}],\"rows\":[[[0,1],[1,3],[0,2]],[[0,1],[1,3],[0,2]],[[0,6]],[[0,4],[1,2]]],\"width\":6}", + "openings": [], + "states": [ + "0d1d3ed84439e6b8290ac53a929a9d0bbb23f77a846cc30d3e7138c921a13828374a02675b15eb568a7e2d9367e55fd5e68d6094f01ce8d7d851f2563a283ddb9a7ff533b99f121a31aa2a47a59649f213c65626aa95c589af77518e06d5c96e86732a066e27a6ea92f5426716b09ae8a2b2beb98dd19512bfce11b59bc1c7293827acfb1d3a8fc061fadfe922f5c6d2", + "0d1d3ed84439e6b8290ac53a929a9d0bbb23f77a846cc30d3e7138c921a129b8bbf6bfe98beab3568a7e2d9367e55fd5e68d6094f01cea6da5d5ac55651fb1db9a7ff533b99f121a31aa2a47a59649f213c65626aa95c589af77518e06d5c96e86732a066e27a6ea92f5426716b09a7c34c5e6a158d19512bfce11b59bc1c7293827acfb1d3a8fc061fadfe922f5c6d2", + "c921a129b8bbf6bfe98beab3568a7e2d936794f01cea6da5d5ac55651fb1db9a7ff533b947a59649f213c65626aa95c589af77518e06066e27a6ea92f5426716b09a7c34c5e6a158" + ], + "models": [ + "963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e" + ], + "origins": [], + "outcome": "accept", + "statements": { + "tier": "stated", + "session": "7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b", + "record": "9539f866a263b2ca513af53a1ce86025996992dedbf0a268f8b1173844ec9f04", + "steps": [], + "committed": 3, + "computed": { + "samples": 24, + "made_by": [], + "made_by_unknown": 0, + "made_by_undisclosed": 24, + "directed_by": [], + "directed_by_unknown": 0, + "directed_by_undisclosed": 24 + }, + "stated": { + "samples": 24, + "made_by": [ + { + "party": 0, + "samples": 16 + }, + { + "party": 1, + "samples": 8 + } + ], + "made_by_unknown": 0, + "made_by_undisclosed": 0, + "directed_by": [ + { + "party": 0, + "samples": 24 + } + ], + "directed_by_unknown": 0, + "directed_by_undisclosed": 0 + }, + "estimates": [ + { + "basis": "made_by", + "class": "information-theoretic", + "estimator": "conformance-estimator", + "party": 1, + "share_ppm": 412500 + } + ], + "origin": null, + "c2pa": null + } + }, + { + "name": "record_malformed", + "about": "a step with a member §4.1 does not list", + "policy": { + "tier": "stated" + }, + "session": "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-session\",\"media\":\"image\",\"parties\":[{\"key\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\",\"role\":\"human\"},{\"key\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\",\"role\":\"human\"},{\"digest\":\"963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e\",\"role\":\"model\",\"type\":\"algorithmic\"},{\"digest\":\"af0cc7d1226d60c32186ea7d6abdd4f4f71737d99f94c2a9b6f57e1cd5f63d25\",\"role\":\"model\",\"type\":\"trained\"},{\"key\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\",\"role\":\"audience\"}],\"session\":\"ba8343191c03771d24b7824ef8bd7179b3636d877fa8e6139992a7f5b697fe83\",\"sig\":\"98c1ee158f4a39cb257612d4e86f66fdea2b252cb682d469b944d2fc4a3513006c4a83a92237c1683895dfca660577f9e93b01ccab062b09c50d457ed24fff03\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"tool\":\"conformance-studio/1\"}", + "memberships": [ + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":0,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"91c18a1463ce0471fdd019182706f53c05efa1859d1db93c353de9122a3abd108e40965c9c14cbf4be3f40911af82dbddbcc0a144a3a6e7825a8cad8a6cd360c\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":1,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"0e786ad78bda25fe732583bb04e62ec999f9c3f78cd719ee67cb159a3aa5e2b2e8fed6a305100264a392bd920e7753f30d5c9ba99053ec590f8c9c9f8a94f707\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":4,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"8859195c031cbe3863fa98a4bfa0775a0fa5cc10b24814f05ab16aa23ae2d14652bd72942158fa310cf06fbd7f5f0e8be8e79b7985493993516fd978d7d09606\",\"signer_pubkey\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\"}" + ], + "record": "{\"estimates\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-contribution\",\"map\":\"7b57936bf90119925c5a51e2c75c49fc5f4a229dc9693356b484e9dc95ebd5bf\",\"origin\":null,\"output\":{\"content_hash\":\"590634ad26c92bb75ec3709b855abb567c988889acd51e954b48253ca7212074\",\"height\":4,\"samples\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"step\":2,\"width\":6},\"root\":\"69f0fec811c3971ba1f39eb0dfbd7aa72855e3b1e1acdb826bce4e189201152c\",\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"66bc492ce568861b10785b03f3abbaf4aa4f2450ab5792bd08eda84c7b290fed6f4e6925fcb30e7fb7f14db960eae0646159bc42dd22818bb489684bc702ca06\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"steps\":3}", + "steps": [ + { + "step": "{\"act\":\"author\",\"check\":\"replicate\",\"inputs\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"3ee879760a3cf69d9a48c7ae08b6971eb96ae7e973fa4d22002039b546590262\",\"width\":8},\"params\":{\"source\":\"digitalCreation\"},\"party\":0,\"prev\":null,\"region\":null,\"seq\":0,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"8ea7f11877bc720d3fb66c874946222d94968502ddae7dd9616e1e8ac5df2bc5438245b03ff1409f4b4330b06f54746a4ec4680f7d7782906100dc20d854b807\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "245375c1b3eef49019e8eba5a71603dafa53dc4221d07f2c2ce83f3ead4c1831", + "1253b3fdb178c6577638adec86a5c20800a5e95cd7af39cfeae404a78a46a796" + ] + }, + { + "step": "{\"act\":\"edit\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"3ee879760a3cf69d9a48c7ae08b6971eb96ae7e973fa4d22002039b546590262\",\"step\":0}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"note\":\"an extra member\",\"output\":{\"height\":6,\"samples\":\"42e8909f556c4557eeb9b6b60d14209ecaafc4dffd191ac77b2e99e88805221a\",\"width\":8},\"params\":{},\"party\":1,\"prev\":\"d2b0576f27f28c0adf54c945acf85fdb780e2fb98bdfc1c63c7a4c2edfdcc455\",\"region\":[{\"h\":2,\"w\":3,\"x\":2,\"y\":1},{\"h\":1,\"w\":2,\"x\":5,\"y\":4}],\"seq\":1,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"51fe8688c627a5cb31f2382cf4848287c61cccc92ff098bc433ccb331f2d24306e6d0acf030c3f574cee9b3e04f9075b87617c60a5f412549d80aaa53e225d02\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "proof": [ + "05feabecad5dccde03a732abeadb8509061da9400bd37de4930f9eef582cc718", + "1253b3fdb178c6577638adec86a5c20800a5e95cd7af39cfeae404a78a46a796" + ] + }, + { + "step": "{\"act\":\"transform\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"42e8909f556c4557eeb9b6b60d14209ecaafc4dffd191ac77b2e99e88805221a\",\"step\":1}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":4,\"samples\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"width\":6},\"params\":{\"derivation\":\"wai.derive.crop\",\"params\":{\"h\":4,\"w\":6,\"x\":1,\"y\":1}},\"party\":0,\"prev\":\"8062364c2fc760a54f6852d468b63400b62a8871cf6fc94110796620d2626d79\",\"region\":null,\"seq\":2,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"1b2267557ee56cc3fca9cf2f506d779d0a2935f5d780f2ddcfa3020a0ce13e935637b8f75629d1b0a9a10659224ff12b8829fdb20b9799452e1c4eb66af7d404\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "63c4467d39c4bfdfdec4750ba1c3147909ff1f30a293173a389b7bbde600e148", + "ad1b48e9ac9cec5aaf434f4b80be9a16e7e3823f7dee7417b49d5eb09f74f422" + ] + } + ], + "map": "{\"height\":4,\"kind\":\"wai-authorship-map\",\"output\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"palette\":[{\"directed_by\":[0],\"made_by\":[0]},{\"directed_by\":[0],\"made_by\":[1]}],\"rows\":[[[0,1],[1,3],[0,2]],[[0,1],[1,3],[0,2]],[[0,6]],[[0,4],[1,2]]],\"width\":6}", + "openings": [], + "states": [ + "0d1d3ed84439e6b8290ac53a929a9d0bbb23f77a846cc30d3e7138c921a13828374a02675b15eb568a7e2d9367e55fd5e68d6094f01ce8d7d851f2563a283ddb9a7ff533b99f121a31aa2a47a59649f213c65626aa95c589af77518e06d5c96e86732a066e27a6ea92f5426716b09ae8a2b2beb98dd19512bfce11b59bc1c7293827acfb1d3a8fc061fadfe922f5c6d2", + "0d1d3ed84439e6b8290ac53a929a9d0bbb23f77a846cc30d3e7138c921a129b8bbf6bfe98beab3568a7e2d9367e55fd5e68d6094f01cea6da5d5ac55651fb1db9a7ff533b99f121a31aa2a47a59649f213c65626aa95c589af77518e06d5c96e86732a066e27a6ea92f5426716b09a7c34c5e6a158d19512bfce11b59bc1c7293827acfb1d3a8fc061fadfe922f5c6d2", + "c921a129b8bbf6bfe98beab3568a7e2d936794f01cea6da5d5ac55651fb1db9a7ff533b947a59649f213c65626aa95c589af77518e06066e27a6ea92f5426716b09a7c34c5e6a158" + ], + "models": [ + "963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e" + ], + "origins": [], + "outcome": "refuse", + "reason": "record_malformed", + "at": [ + "step", + 1 + ] + }, + { + "name": "bad_key", + "about": "a membership whose key is the identity point, of small order (SPEC §7 *Signatures* step 2)", + "policy": { + "tier": "stated" + }, + "session": "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-session\",\"media\":\"image\",\"parties\":[{\"key\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\",\"role\":\"human\"},{\"key\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\",\"role\":\"human\"},{\"digest\":\"963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e\",\"role\":\"model\",\"type\":\"algorithmic\"},{\"digest\":\"af0cc7d1226d60c32186ea7d6abdd4f4f71737d99f94c2a9b6f57e1cd5f63d25\",\"role\":\"model\",\"type\":\"trained\"},{\"key\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\",\"role\":\"audience\"}],\"session\":\"ba8343191c03771d24b7824ef8bd7179b3636d877fa8e6139992a7f5b697fe83\",\"sig\":\"98c1ee158f4a39cb257612d4e86f66fdea2b252cb682d469b944d2fc4a3513006c4a83a92237c1683895dfca660577f9e93b01ccab062b09c50d457ed24fff03\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"tool\":\"conformance-studio/1\"}", + "memberships": [ + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":0,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"91c18a1463ce0471fdd019182706f53c05efa1859d1db93c353de9122a3abd108e40965c9c14cbf4be3f40911af82dbddbcc0a144a3a6e7825a8cad8a6cd360c\",\"signer_pubkey\":\"0100000000000000000000000000000000000000000000000000000000000000\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":1,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"0e786ad78bda25fe732583bb04e62ec999f9c3f78cd719ee67cb159a3aa5e2b2e8fed6a305100264a392bd920e7753f30d5c9ba99053ec590f8c9c9f8a94f707\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":4,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"8859195c031cbe3863fa98a4bfa0775a0fa5cc10b24814f05ab16aa23ae2d14652bd72942158fa310cf06fbd7f5f0e8be8e79b7985493993516fd978d7d09606\",\"signer_pubkey\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\"}" + ], + "record": "{\"estimates\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-contribution\",\"map\":\"7b57936bf90119925c5a51e2c75c49fc5f4a229dc9693356b484e9dc95ebd5bf\",\"origin\":null,\"output\":{\"content_hash\":\"590634ad26c92bb75ec3709b855abb567c988889acd51e954b48253ca7212074\",\"height\":4,\"samples\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"step\":2,\"width\":6},\"root\":\"69f0fec811c3971ba1f39eb0dfbd7aa72855e3b1e1acdb826bce4e189201152c\",\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"66bc492ce568861b10785b03f3abbaf4aa4f2450ab5792bd08eda84c7b290fed6f4e6925fcb30e7fb7f14db960eae0646159bc42dd22818bb489684bc702ca06\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"steps\":3}", + "steps": [ + { + "step": "{\"act\":\"author\",\"check\":\"replicate\",\"inputs\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"3ee879760a3cf69d9a48c7ae08b6971eb96ae7e973fa4d22002039b546590262\",\"width\":8},\"params\":{\"source\":\"digitalCreation\"},\"party\":0,\"prev\":null,\"region\":null,\"seq\":0,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"8ea7f11877bc720d3fb66c874946222d94968502ddae7dd9616e1e8ac5df2bc5438245b03ff1409f4b4330b06f54746a4ec4680f7d7782906100dc20d854b807\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "245375c1b3eef49019e8eba5a71603dafa53dc4221d07f2c2ce83f3ead4c1831", + "1253b3fdb178c6577638adec86a5c20800a5e95cd7af39cfeae404a78a46a796" + ] + }, + { + "step": "{\"act\":\"edit\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"3ee879760a3cf69d9a48c7ae08b6971eb96ae7e973fa4d22002039b546590262\",\"step\":0}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"42e8909f556c4557eeb9b6b60d14209ecaafc4dffd191ac77b2e99e88805221a\",\"width\":8},\"params\":{},\"party\":1,\"prev\":\"d2b0576f27f28c0adf54c945acf85fdb780e2fb98bdfc1c63c7a4c2edfdcc455\",\"region\":[{\"h\":2,\"w\":3,\"x\":2,\"y\":1},{\"h\":1,\"w\":2,\"x\":5,\"y\":4}],\"seq\":1,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"34451e4e29bdef7402b9c4070c611b18dbfa1d9cfd04528aab1d9541b946374dfc59a746ed5df6c5421f1cbc335fe65d1978f14af9713de413f9dd1b7e8fb40c\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "proof": [ + "05feabecad5dccde03a732abeadb8509061da9400bd37de4930f9eef582cc718", + "1253b3fdb178c6577638adec86a5c20800a5e95cd7af39cfeae404a78a46a796" + ] + }, + { + "step": "{\"act\":\"transform\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"42e8909f556c4557eeb9b6b60d14209ecaafc4dffd191ac77b2e99e88805221a\",\"step\":1}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":4,\"samples\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"width\":6},\"params\":{\"derivation\":\"wai.derive.crop\",\"params\":{\"h\":4,\"w\":6,\"x\":1,\"y\":1}},\"party\":0,\"prev\":\"8062364c2fc760a54f6852d468b63400b62a8871cf6fc94110796620d2626d79\",\"region\":null,\"seq\":2,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"1b2267557ee56cc3fca9cf2f506d779d0a2935f5d780f2ddcfa3020a0ce13e935637b8f75629d1b0a9a10659224ff12b8829fdb20b9799452e1c4eb66af7d404\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "63c4467d39c4bfdfdec4750ba1c3147909ff1f30a293173a389b7bbde600e148", + "ad1b48e9ac9cec5aaf434f4b80be9a16e7e3823f7dee7417b49d5eb09f74f422" + ] + } + ], + "map": "{\"height\":4,\"kind\":\"wai-authorship-map\",\"output\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"palette\":[{\"directed_by\":[0],\"made_by\":[0]},{\"directed_by\":[0],\"made_by\":[1]}],\"rows\":[[[0,1],[1,3],[0,2]],[[0,1],[1,3],[0,2]],[[0,6]],[[0,4],[1,2]]],\"width\":6}", + "openings": [], + "states": [ + "0d1d3ed84439e6b8290ac53a929a9d0bbb23f77a846cc30d3e7138c921a13828374a02675b15eb568a7e2d9367e55fd5e68d6094f01ce8d7d851f2563a283ddb9a7ff533b99f121a31aa2a47a59649f213c65626aa95c589af77518e06d5c96e86732a066e27a6ea92f5426716b09ae8a2b2beb98dd19512bfce11b59bc1c7293827acfb1d3a8fc061fadfe922f5c6d2", + "0d1d3ed84439e6b8290ac53a929a9d0bbb23f77a846cc30d3e7138c921a129b8bbf6bfe98beab3568a7e2d9367e55fd5e68d6094f01cea6da5d5ac55651fb1db9a7ff533b99f121a31aa2a47a59649f213c65626aa95c589af77518e06d5c96e86732a066e27a6ea92f5426716b09a7c34c5e6a158d19512bfce11b59bc1c7293827acfb1d3a8fc061fadfe922f5c6d2", + "c921a129b8bbf6bfe98beab3568a7e2d936794f01cea6da5d5ac55651fb1db9a7ff533b947a59649f213c65626aa95c589af77518e06066e27a6ea92f5426716b09a7c34c5e6a158" + ], + "models": [ + "963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e" + ], + "origins": [], + "outcome": "refuse", + "reason": "bad_key", + "at": [ + "membership", + 0 + ] + }, + { + "name": "bad_signature", + "about": "a step whose signature has one digit changed", + "policy": { + "tier": "stated" + }, + "session": "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-session\",\"media\":\"image\",\"parties\":[{\"key\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\",\"role\":\"human\"},{\"key\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\",\"role\":\"human\"},{\"digest\":\"963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e\",\"role\":\"model\",\"type\":\"algorithmic\"},{\"digest\":\"af0cc7d1226d60c32186ea7d6abdd4f4f71737d99f94c2a9b6f57e1cd5f63d25\",\"role\":\"model\",\"type\":\"trained\"},{\"key\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\",\"role\":\"audience\"}],\"session\":\"ba8343191c03771d24b7824ef8bd7179b3636d877fa8e6139992a7f5b697fe83\",\"sig\":\"98c1ee158f4a39cb257612d4e86f66fdea2b252cb682d469b944d2fc4a3513006c4a83a92237c1683895dfca660577f9e93b01ccab062b09c50d457ed24fff03\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"tool\":\"conformance-studio/1\"}", + "memberships": [ + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":0,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"91c18a1463ce0471fdd019182706f53c05efa1859d1db93c353de9122a3abd108e40965c9c14cbf4be3f40911af82dbddbcc0a144a3a6e7825a8cad8a6cd360c\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":1,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"0e786ad78bda25fe732583bb04e62ec999f9c3f78cd719ee67cb159a3aa5e2b2e8fed6a305100264a392bd920e7753f30d5c9ba99053ec590f8c9c9f8a94f707\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":4,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"8859195c031cbe3863fa98a4bfa0775a0fa5cc10b24814f05ab16aa23ae2d14652bd72942158fa310cf06fbd7f5f0e8be8e79b7985493993516fd978d7d09606\",\"signer_pubkey\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\"}" + ], + "record": "{\"estimates\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-contribution\",\"map\":\"7b57936bf90119925c5a51e2c75c49fc5f4a229dc9693356b484e9dc95ebd5bf\",\"origin\":null,\"output\":{\"content_hash\":\"590634ad26c92bb75ec3709b855abb567c988889acd51e954b48253ca7212074\",\"height\":4,\"samples\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"step\":2,\"width\":6},\"root\":\"69f0fec811c3971ba1f39eb0dfbd7aa72855e3b1e1acdb826bce4e189201152c\",\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"66bc492ce568861b10785b03f3abbaf4aa4f2450ab5792bd08eda84c7b290fed6f4e6925fcb30e7fb7f14db960eae0646159bc42dd22818bb489684bc702ca06\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"steps\":3}", + "steps": [ + { + "step": "{\"act\":\"author\",\"check\":\"replicate\",\"inputs\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"3ee879760a3cf69d9a48c7ae08b6971eb96ae7e973fa4d22002039b546590262\",\"width\":8},\"params\":{\"source\":\"digitalCreation\"},\"party\":0,\"prev\":null,\"region\":null,\"seq\":0,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"0ea7f11877bc720d3fb66c874946222d94968502ddae7dd9616e1e8ac5df2bc5438245b03ff1409f4b4330b06f54746a4ec4680f7d7782906100dc20d854b807\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "245375c1b3eef49019e8eba5a71603dafa53dc4221d07f2c2ce83f3ead4c1831", + "1253b3fdb178c6577638adec86a5c20800a5e95cd7af39cfeae404a78a46a796" + ] + }, + { + "step": "{\"act\":\"edit\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"3ee879760a3cf69d9a48c7ae08b6971eb96ae7e973fa4d22002039b546590262\",\"step\":0}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"42e8909f556c4557eeb9b6b60d14209ecaafc4dffd191ac77b2e99e88805221a\",\"width\":8},\"params\":{},\"party\":1,\"prev\":\"d2b0576f27f28c0adf54c945acf85fdb780e2fb98bdfc1c63c7a4c2edfdcc455\",\"region\":[{\"h\":2,\"w\":3,\"x\":2,\"y\":1},{\"h\":1,\"w\":2,\"x\":5,\"y\":4}],\"seq\":1,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"34451e4e29bdef7402b9c4070c611b18dbfa1d9cfd04528aab1d9541b946374dfc59a746ed5df6c5421f1cbc335fe65d1978f14af9713de413f9dd1b7e8fb40c\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "proof": [ + "05feabecad5dccde03a732abeadb8509061da9400bd37de4930f9eef582cc718", + "1253b3fdb178c6577638adec86a5c20800a5e95cd7af39cfeae404a78a46a796" + ] + }, + { + "step": "{\"act\":\"transform\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"42e8909f556c4557eeb9b6b60d14209ecaafc4dffd191ac77b2e99e88805221a\",\"step\":1}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":4,\"samples\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"width\":6},\"params\":{\"derivation\":\"wai.derive.crop\",\"params\":{\"h\":4,\"w\":6,\"x\":1,\"y\":1}},\"party\":0,\"prev\":\"8062364c2fc760a54f6852d468b63400b62a8871cf6fc94110796620d2626d79\",\"region\":null,\"seq\":2,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"1b2267557ee56cc3fca9cf2f506d779d0a2935f5d780f2ddcfa3020a0ce13e935637b8f75629d1b0a9a10659224ff12b8829fdb20b9799452e1c4eb66af7d404\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "63c4467d39c4bfdfdec4750ba1c3147909ff1f30a293173a389b7bbde600e148", + "ad1b48e9ac9cec5aaf434f4b80be9a16e7e3823f7dee7417b49d5eb09f74f422" + ] + } + ], + "map": "{\"height\":4,\"kind\":\"wai-authorship-map\",\"output\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"palette\":[{\"directed_by\":[0],\"made_by\":[0]},{\"directed_by\":[0],\"made_by\":[1]}],\"rows\":[[[0,1],[1,3],[0,2]],[[0,1],[1,3],[0,2]],[[0,6]],[[0,4],[1,2]]],\"width\":6}", + "openings": [], + "states": [ + "0d1d3ed84439e6b8290ac53a929a9d0bbb23f77a846cc30d3e7138c921a13828374a02675b15eb568a7e2d9367e55fd5e68d6094f01ce8d7d851f2563a283ddb9a7ff533b99f121a31aa2a47a59649f213c65626aa95c589af77518e06d5c96e86732a066e27a6ea92f5426716b09ae8a2b2beb98dd19512bfce11b59bc1c7293827acfb1d3a8fc061fadfe922f5c6d2", + "0d1d3ed84439e6b8290ac53a929a9d0bbb23f77a846cc30d3e7138c921a129b8bbf6bfe98beab3568a7e2d9367e55fd5e68d6094f01cea6da5d5ac55651fb1db9a7ff533b99f121a31aa2a47a59649f213c65626aa95c589af77518e06d5c96e86732a066e27a6ea92f5426716b09a7c34c5e6a158d19512bfce11b59bc1c7293827acfb1d3a8fc061fadfe922f5c6d2", + "c921a129b8bbf6bfe98beab3568a7e2d936794f01cea6da5d5ac55651fb1db9a7ff533b947a59649f213c65626aa95c589af77518e06066e27a6ea92f5426716b09a7c34c5e6a158" + ], + "models": [ + "963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e" + ], + "origins": [], + "outcome": "refuse", + "reason": "bad_signature", + "at": [ + "step", + 0 + ] + }, + { + "name": "act_reserved", + "about": "a step naming the reserved act direct (§4.2)", + "policy": { + "tier": "stated" + }, + "session": "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-session\",\"media\":\"image\",\"parties\":[{\"key\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\",\"role\":\"human\"},{\"key\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\",\"role\":\"human\"},{\"digest\":\"963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e\",\"role\":\"model\",\"type\":\"algorithmic\"},{\"digest\":\"af0cc7d1226d60c32186ea7d6abdd4f4f71737d99f94c2a9b6f57e1cd5f63d25\",\"role\":\"model\",\"type\":\"trained\"},{\"key\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\",\"role\":\"audience\"}],\"session\":\"ba8343191c03771d24b7824ef8bd7179b3636d877fa8e6139992a7f5b697fe83\",\"sig\":\"98c1ee158f4a39cb257612d4e86f66fdea2b252cb682d469b944d2fc4a3513006c4a83a92237c1683895dfca660577f9e93b01ccab062b09c50d457ed24fff03\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"tool\":\"conformance-studio/1\"}", + "memberships": [ + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":0,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"91c18a1463ce0471fdd019182706f53c05efa1859d1db93c353de9122a3abd108e40965c9c14cbf4be3f40911af82dbddbcc0a144a3a6e7825a8cad8a6cd360c\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":1,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"0e786ad78bda25fe732583bb04e62ec999f9c3f78cd719ee67cb159a3aa5e2b2e8fed6a305100264a392bd920e7753f30d5c9ba99053ec590f8c9c9f8a94f707\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":4,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"8859195c031cbe3863fa98a4bfa0775a0fa5cc10b24814f05ab16aa23ae2d14652bd72942158fa310cf06fbd7f5f0e8be8e79b7985493993516fd978d7d09606\",\"signer_pubkey\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\"}" + ], + "record": "{\"estimates\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-contribution\",\"map\":\"7b57936bf90119925c5a51e2c75c49fc5f4a229dc9693356b484e9dc95ebd5bf\",\"origin\":null,\"output\":{\"content_hash\":\"590634ad26c92bb75ec3709b855abb567c988889acd51e954b48253ca7212074\",\"height\":4,\"samples\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"step\":2,\"width\":6},\"root\":\"69f0fec811c3971ba1f39eb0dfbd7aa72855e3b1e1acdb826bce4e189201152c\",\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"66bc492ce568861b10785b03f3abbaf4aa4f2450ab5792bd08eda84c7b290fed6f4e6925fcb30e7fb7f14db960eae0646159bc42dd22818bb489684bc702ca06\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"steps\":3}", + "steps": [ + { + "step": "{\"act\":\"author\",\"check\":\"replicate\",\"inputs\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"3ee879760a3cf69d9a48c7ae08b6971eb96ae7e973fa4d22002039b546590262\",\"width\":8},\"params\":{\"source\":\"digitalCreation\"},\"party\":0,\"prev\":null,\"region\":null,\"seq\":0,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"8ea7f11877bc720d3fb66c874946222d94968502ddae7dd9616e1e8ac5df2bc5438245b03ff1409f4b4330b06f54746a4ec4680f7d7782906100dc20d854b807\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "245375c1b3eef49019e8eba5a71603dafa53dc4221d07f2c2ce83f3ead4c1831", + "1253b3fdb178c6577638adec86a5c20800a5e95cd7af39cfeae404a78a46a796" + ] + }, + { + "step": "{\"act\":\"edit\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"3ee879760a3cf69d9a48c7ae08b6971eb96ae7e973fa4d22002039b546590262\",\"step\":0}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"42e8909f556c4557eeb9b6b60d14209ecaafc4dffd191ac77b2e99e88805221a\",\"width\":8},\"params\":{},\"party\":1,\"prev\":\"d2b0576f27f28c0adf54c945acf85fdb780e2fb98bdfc1c63c7a4c2edfdcc455\",\"region\":[{\"h\":2,\"w\":3,\"x\":2,\"y\":1},{\"h\":1,\"w\":2,\"x\":5,\"y\":4}],\"seq\":1,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"34451e4e29bdef7402b9c4070c611b18dbfa1d9cfd04528aab1d9541b946374dfc59a746ed5df6c5421f1cbc335fe65d1978f14af9713de413f9dd1b7e8fb40c\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "proof": [ + "05feabecad5dccde03a732abeadb8509061da9400bd37de4930f9eef582cc718", + "1253b3fdb178c6577638adec86a5c20800a5e95cd7af39cfeae404a78a46a796" + ] + }, + { + "step": "{\"act\":\"transform\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"42e8909f556c4557eeb9b6b60d14209ecaafc4dffd191ac77b2e99e88805221a\",\"step\":1}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":4,\"samples\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"width\":6},\"params\":{\"derivation\":\"wai.derive.crop\",\"params\":{\"h\":4,\"w\":6,\"x\":1,\"y\":1}},\"party\":0,\"prev\":\"8062364c2fc760a54f6852d468b63400b62a8871cf6fc94110796620d2626d79\",\"region\":null,\"seq\":2,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"1b2267557ee56cc3fca9cf2f506d779d0a2935f5d780f2ddcfa3020a0ce13e935637b8f75629d1b0a9a10659224ff12b8829fdb20b9799452e1c4eb66af7d404\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "63c4467d39c4bfdfdec4750ba1c3147909ff1f30a293173a389b7bbde600e148", + "ad1b48e9ac9cec5aaf434f4b80be9a16e7e3823f7dee7417b49d5eb09f74f422" + ] + }, + { + "step": "{\"act\":\"direct\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"42e8909f556c4557eeb9b6b60d14209ecaafc4dffd191ac77b2e99e88805221a\",\"step\":1}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":4,\"samples\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"width\":6},\"params\":{\"derivation\":\"wai.derive.crop\",\"params\":{\"h\":4,\"w\":6,\"x\":1,\"y\":1}},\"party\":0,\"prev\":\"8062364c2fc760a54f6852d468b63400b62a8871cf6fc94110796620d2626d79\",\"region\":null,\"seq\":2,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"c0f6aaab84976a93b3a2f7635ec4cc6b862bbbcd6970b193317edb703b2b84ccdc049982634fdc9f91dbed6f3040084b523f1bf581f6140f88d52b30b3be2a0d\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [] + } + ], + "map": "{\"height\":4,\"kind\":\"wai-authorship-map\",\"output\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"palette\":[{\"directed_by\":[0],\"made_by\":[0]},{\"directed_by\":[0],\"made_by\":[1]}],\"rows\":[[[0,1],[1,3],[0,2]],[[0,1],[1,3],[0,2]],[[0,6]],[[0,4],[1,2]]],\"width\":6}", + "openings": [], + "states": [ + "0d1d3ed84439e6b8290ac53a929a9d0bbb23f77a846cc30d3e7138c921a13828374a02675b15eb568a7e2d9367e55fd5e68d6094f01ce8d7d851f2563a283ddb9a7ff533b99f121a31aa2a47a59649f213c65626aa95c589af77518e06d5c96e86732a066e27a6ea92f5426716b09ae8a2b2beb98dd19512bfce11b59bc1c7293827acfb1d3a8fc061fadfe922f5c6d2", + "0d1d3ed84439e6b8290ac53a929a9d0bbb23f77a846cc30d3e7138c921a129b8bbf6bfe98beab3568a7e2d9367e55fd5e68d6094f01cea6da5d5ac55651fb1db9a7ff533b99f121a31aa2a47a59649f213c65626aa95c589af77518e06d5c96e86732a066e27a6ea92f5426716b09a7c34c5e6a158d19512bfce11b59bc1c7293827acfb1d3a8fc061fadfe922f5c6d2", + "c921a129b8bbf6bfe98beab3568a7e2d936794f01cea6da5d5ac55651fb1db9a7ff533b947a59649f213c65626aa95c589af77518e06066e27a6ea92f5426716b09a7c34c5e6a158" + ], + "models": [ + "963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e" + ], + "origins": [], + "outcome": "refuse", + "reason": "act_reserved", + "at": [ + "step", + 3 + ] + }, + { + "name": "map_malformed", + "about": "a map with a run split in two: a map has one encoding (§7.3)", + "policy": { + "tier": "stated" + }, + "session": "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-session\",\"media\":\"image\",\"parties\":[{\"key\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\",\"role\":\"human\"},{\"key\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\",\"role\":\"human\"},{\"digest\":\"963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e\",\"role\":\"model\",\"type\":\"algorithmic\"},{\"digest\":\"af0cc7d1226d60c32186ea7d6abdd4f4f71737d99f94c2a9b6f57e1cd5f63d25\",\"role\":\"model\",\"type\":\"trained\"},{\"key\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\",\"role\":\"audience\"}],\"session\":\"ba8343191c03771d24b7824ef8bd7179b3636d877fa8e6139992a7f5b697fe83\",\"sig\":\"98c1ee158f4a39cb257612d4e86f66fdea2b252cb682d469b944d2fc4a3513006c4a83a92237c1683895dfca660577f9e93b01ccab062b09c50d457ed24fff03\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"tool\":\"conformance-studio/1\"}", + "memberships": [ + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":0,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"91c18a1463ce0471fdd019182706f53c05efa1859d1db93c353de9122a3abd108e40965c9c14cbf4be3f40911af82dbddbcc0a144a3a6e7825a8cad8a6cd360c\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":1,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"0e786ad78bda25fe732583bb04e62ec999f9c3f78cd719ee67cb159a3aa5e2b2e8fed6a305100264a392bd920e7753f30d5c9ba99053ec590f8c9c9f8a94f707\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":4,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"8859195c031cbe3863fa98a4bfa0775a0fa5cc10b24814f05ab16aa23ae2d14652bd72942158fa310cf06fbd7f5f0e8be8e79b7985493993516fd978d7d09606\",\"signer_pubkey\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\"}" + ], + "record": "{\"estimates\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-contribution\",\"map\":\"7b57936bf90119925c5a51e2c75c49fc5f4a229dc9693356b484e9dc95ebd5bf\",\"origin\":null,\"output\":{\"content_hash\":\"590634ad26c92bb75ec3709b855abb567c988889acd51e954b48253ca7212074\",\"height\":4,\"samples\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"step\":2,\"width\":6},\"root\":\"69f0fec811c3971ba1f39eb0dfbd7aa72855e3b1e1acdb826bce4e189201152c\",\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"66bc492ce568861b10785b03f3abbaf4aa4f2450ab5792bd08eda84c7b290fed6f4e6925fcb30e7fb7f14db960eae0646159bc42dd22818bb489684bc702ca06\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"steps\":3}", + "steps": [ + { + "step": "{\"act\":\"author\",\"check\":\"replicate\",\"inputs\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"3ee879760a3cf69d9a48c7ae08b6971eb96ae7e973fa4d22002039b546590262\",\"width\":8},\"params\":{\"source\":\"digitalCreation\"},\"party\":0,\"prev\":null,\"region\":null,\"seq\":0,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"8ea7f11877bc720d3fb66c874946222d94968502ddae7dd9616e1e8ac5df2bc5438245b03ff1409f4b4330b06f54746a4ec4680f7d7782906100dc20d854b807\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "245375c1b3eef49019e8eba5a71603dafa53dc4221d07f2c2ce83f3ead4c1831", + "1253b3fdb178c6577638adec86a5c20800a5e95cd7af39cfeae404a78a46a796" + ] + }, + { + "step": "{\"act\":\"edit\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"3ee879760a3cf69d9a48c7ae08b6971eb96ae7e973fa4d22002039b546590262\",\"step\":0}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"42e8909f556c4557eeb9b6b60d14209ecaafc4dffd191ac77b2e99e88805221a\",\"width\":8},\"params\":{},\"party\":1,\"prev\":\"d2b0576f27f28c0adf54c945acf85fdb780e2fb98bdfc1c63c7a4c2edfdcc455\",\"region\":[{\"h\":2,\"w\":3,\"x\":2,\"y\":1},{\"h\":1,\"w\":2,\"x\":5,\"y\":4}],\"seq\":1,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"34451e4e29bdef7402b9c4070c611b18dbfa1d9cfd04528aab1d9541b946374dfc59a746ed5df6c5421f1cbc335fe65d1978f14af9713de413f9dd1b7e8fb40c\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "proof": [ + "05feabecad5dccde03a732abeadb8509061da9400bd37de4930f9eef582cc718", + "1253b3fdb178c6577638adec86a5c20800a5e95cd7af39cfeae404a78a46a796" + ] + }, + { + "step": "{\"act\":\"transform\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"42e8909f556c4557eeb9b6b60d14209ecaafc4dffd191ac77b2e99e88805221a\",\"step\":1}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":4,\"samples\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"width\":6},\"params\":{\"derivation\":\"wai.derive.crop\",\"params\":{\"h\":4,\"w\":6,\"x\":1,\"y\":1}},\"party\":0,\"prev\":\"8062364c2fc760a54f6852d468b63400b62a8871cf6fc94110796620d2626d79\",\"region\":null,\"seq\":2,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"1b2267557ee56cc3fca9cf2f506d779d0a2935f5d780f2ddcfa3020a0ce13e935637b8f75629d1b0a9a10659224ff12b8829fdb20b9799452e1c4eb66af7d404\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "63c4467d39c4bfdfdec4750ba1c3147909ff1f30a293173a389b7bbde600e148", + "ad1b48e9ac9cec5aaf434f4b80be9a16e7e3823f7dee7417b49d5eb09f74f422" + ] + } + ], + "map": "{\"height\":4,\"kind\":\"wai-authorship-map\",\"output\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"palette\":[{\"directed_by\":[0],\"made_by\":[0]},{\"directed_by\":[0],\"made_by\":[1]}],\"rows\":[[[0,1],[1,1],[1,2],[0,2]],[[0,1],[1,3],[0,2]],[[0,6]],[[0,4],[1,2]]],\"width\":6}", + "openings": [], + "states": [ + "0d1d3ed84439e6b8290ac53a929a9d0bbb23f77a846cc30d3e7138c921a13828374a02675b15eb568a7e2d9367e55fd5e68d6094f01ce8d7d851f2563a283ddb9a7ff533b99f121a31aa2a47a59649f213c65626aa95c589af77518e06d5c96e86732a066e27a6ea92f5426716b09ae8a2b2beb98dd19512bfce11b59bc1c7293827acfb1d3a8fc061fadfe922f5c6d2", + "0d1d3ed84439e6b8290ac53a929a9d0bbb23f77a846cc30d3e7138c921a129b8bbf6bfe98beab3568a7e2d9367e55fd5e68d6094f01cea6da5d5ac55651fb1db9a7ff533b99f121a31aa2a47a59649f213c65626aa95c589af77518e06d5c96e86732a066e27a6ea92f5426716b09a7c34c5e6a158d19512bfce11b59bc1c7293827acfb1d3a8fc061fadfe922f5c6d2", + "c921a129b8bbf6bfe98beab3568a7e2d936794f01cea6da5d5ac55651fb1db9a7ff533b947a59649f213c65626aa95c589af77518e06066e27a6ea92f5426716b09a7c34c5e6a158" + ], + "models": [ + "963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e" + ], + "origins": [], + "outcome": "refuse", + "reason": "map_malformed", + "at": [ + "map" + ] + }, + { + "name": "opening_mismatch", + "about": "a prompt commitment that does not open: the opening's text is not the text committed (§8.1)", + "policy": { + "tier": "stated" + }, + "session": "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-session\",\"media\":\"image\",\"parties\":[{\"key\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\",\"role\":\"human\"},{\"key\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\",\"role\":\"human\"},{\"digest\":\"963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e\",\"role\":\"model\",\"type\":\"algorithmic\"},{\"digest\":\"af0cc7d1226d60c32186ea7d6abdd4f4f71737d99f94c2a9b6f57e1cd5f63d25\",\"role\":\"model\",\"type\":\"trained\"},{\"key\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\",\"role\":\"audience\"}],\"session\":\"fe8bc8548d988c07cc90690099b1d96fe3c01c7ee94600328864e24cbd5989a0\",\"sig\":\"21c99265c1458853d72a085e54c6334ce5560df1810aea602c1743a0b9fa17ef64ef401b409c6bc192cb3c78ba551eacdd37206728b5d8500e3b3e3e18dc9201\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"tool\":\"conformance-studio/1\"}", + "memberships": [ + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":0,\"session\":\"eed602319bb966a624634886808edfc6525835494f3ea5882b453716a2eb65cc\",\"sig\":\"6744bf69fadf7ccab2d972675edf401352f3c2f15b650e9f6ddb40a944a4b7da0e518710c09c9bfa85b996df5fe4d14a1a97fae6f7362cc928030193d9d49802\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":1,\"session\":\"eed602319bb966a624634886808edfc6525835494f3ea5882b453716a2eb65cc\",\"sig\":\"40af74282555d31cce26b320aff97f92a18a5fee05e7eacf969fe46c4237f2685489df637d187afb0be516ec3934d0c94bbce61d7d4885567572f185e9bec20c\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":4,\"session\":\"eed602319bb966a624634886808edfc6525835494f3ea5882b453716a2eb65cc\",\"sig\":\"94a1e8e97017d173931c153f73949751fa59969645dec034c656cdc32a669a70f9b4d0f621423419a3dcef60fc968fd9398738d8c8f88617c7e17aa29569ce01\",\"signer_pubkey\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\"}" + ], + "record": "{\"estimates\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-contribution\",\"map\":\"9189deda5189aceb78acf444d6c0160da78b605078b0d7b969711c105924a73d\",\"origin\":null,\"output\":{\"content_hash\":\"59bfead5d6c73420e81fe2cc2bd4b9e8f29675f8f46e9464dbe0165b9be67f69\",\"height\":6,\"samples\":\"8df68b812b2940622a51e58e7a4451cbf808a897180435af2ed874a315cc01e9\",\"step\":1,\"width\":8},\"root\":\"4dce3e58c50a100b3187025fbf6c16e7e70c52f793c000c2c563dc332d4d708b\",\"session\":\"eed602319bb966a624634886808edfc6525835494f3ea5882b453716a2eb65cc\",\"sig\":\"d5370769bc4832d442f983f85306dc84611cdd98a683daa1ab1a1eaa0ca2767552c7feb5bc0090d42e6d3b3762ea77e2c99f7f4e8ce34e2018da9a2b1f45dc08\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"steps\":2}", + "steps": [ + { + "step": "{\"act\":\"author\",\"check\":\"replicate\",\"inputs\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"40a2d70b508758c89240249c8b3a7fe58e2bc2a6119e2417c2c8f926781a47c2\",\"width\":8},\"params\":{\"source\":\"digitalCapture\"},\"party\":0,\"prev\":null,\"region\":null,\"seq\":0,\"session\":\"eed602319bb966a624634886808edfc6525835494f3ea5882b453716a2eb65cc\",\"sig\":\"1f16c4ec09a2cf6b2f57c1882de9d41e40c3cffbca83e17915aa93c7b2709766fd17dbc2e42c7eadf0a8f60d76d5e1de56158d5ad1feffc3445478602fd6ca08\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "78f52f27870dc666d1d4dbf7d0fd7957b9b5a7fb10d691450bb0fd3a7ddb651a" + ] + }, + { + "step": "{\"act\":\"inpaint\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"40a2d70b508758c89240249c8b3a7fe58e2bc2a6119e2417c2c8f926781a47c2\",\"step\":0}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"8df68b812b2940622a51e58e7a4451cbf808a897180435af2ed874a315cc01e9\",\"width\":8},\"params\":{\"generator\":\"wai.generate.spectral\",\"mask_by\":0,\"prompt\":\"298f91f8b7154b4286d301f659536b906142446e4c02efbcbae62cf3ffa53b8b\",\"prompt_by\":1,\"seed\":7,\"steps\":1},\"party\":2,\"prev\":\"612906b63e47fb5bc2c2d1fb53206aa05cc916d4113a4f40ada6d762c6a991e4\",\"region\":[{\"h\":3,\"w\":4,\"x\":3,\"y\":2}],\"seq\":1,\"session\":\"eed602319bb966a624634886808edfc6525835494f3ea5882b453716a2eb65cc\",\"sig\":\"9c6b40c936021d4c3bb40e137a231f3d918155fac666dc7b5f9bdc2b822ec13bb4e0098f6dbe8b5b1103fa04e37afe4c3efd637ce82144d4032478300b53d806\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\"}", + "proof": [ + "fae599cc0ae864c8d560185de8fb79d20e6da983a7002e52e1d8b9de9705f450" + ] + } + ], + "map": "{\"height\":6,\"kind\":\"wai-authorship-map\",\"output\":\"8df68b812b2940622a51e58e7a4451cbf808a897180435af2ed874a315cc01e9\",\"palette\":[{\"directed_by\":[],\"made_by\":[0]},{\"directed_by\":[0,1],\"made_by\":[2]}],\"rows\":[[[0,8]],[[0,8]],[[0,3],[1,4],[0,1]],[[0,3],[1,4],[0,1]],[[0,3],[1,4],[0,1]],[[0,8]]],\"width\":8}", + "openings": [ + "{\"commitment\":\"298f91f8b7154b4286d301f659536b906142446e4c02efbcbae62cf3ffa53b8b\",\"salt\":\"3b8d40cb4e2a97dabde92bc24a3b13f2a909dbd907c3977d6a3198198508e299\",\"text\":\"a calm ocean horizon at night\"}" + ], + "states": [ + "267629b3040c9f3b1c9610661ac28f85b2191626eba7a6a2e2fa8b4b40c467c164be2c967b341f333d710d86679438f1b88352c0d8e677f174b1573bc60c756b855e0d300556a6aa58eeb26575c9f200f0c38720a23051bd0201dee24ad0283eab78be7903cdca09839b779299ccf11d08342179ec07a075129ebeda0935ecc525ae4fa60aee9a365bea641efa4a8a4d", + "267629b3040c9f3b1c9610661ac28f85b2191626eba7a6a2e2fa8b4b40c467c164be2c967b341f333d710d86679438f1b88352c0d8e677f1748a7c258a7c248b7c238b7d2256a6aa58eeb26575c9f200f0887719897719897818897817d0283eab78be7903cdca098386730e87730d87730d87730c07a075129ebeda0935ecc525ae4fa60aee9a365bea641efa4a8a4d" + ], + "models": [ + "963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e" + ], + "origins": [], + "outcome": "refuse", + "reason": "opening_mismatch", + "at": [ + "opening", + 0 + ] + }, + { + "name": "membership_invalid", + "about": "the collaborator's membership signed by the tool's key, not the collaborator's (§3.2)", + "policy": { + "tier": "stated" + }, + "session": "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-session\",\"media\":\"image\",\"parties\":[{\"key\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\",\"role\":\"human\"},{\"key\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\",\"role\":\"human\"},{\"digest\":\"963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e\",\"role\":\"model\",\"type\":\"algorithmic\"},{\"digest\":\"af0cc7d1226d60c32186ea7d6abdd4f4f71737d99f94c2a9b6f57e1cd5f63d25\",\"role\":\"model\",\"type\":\"trained\"},{\"key\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\",\"role\":\"audience\"}],\"session\":\"ba8343191c03771d24b7824ef8bd7179b3636d877fa8e6139992a7f5b697fe83\",\"sig\":\"98c1ee158f4a39cb257612d4e86f66fdea2b252cb682d469b944d2fc4a3513006c4a83a92237c1683895dfca660577f9e93b01ccab062b09c50d457ed24fff03\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"tool\":\"conformance-studio/1\"}", + "memberships": [ + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":0,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"91c18a1463ce0471fdd019182706f53c05efa1859d1db93c353de9122a3abd108e40965c9c14cbf4be3f40911af82dbddbcc0a144a3a6e7825a8cad8a6cd360c\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":1,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"1c7dc6f107f0fa43cb17ee5edb10f108f2104604261ad76299717b1bae14ec41cf0ed0a659589b0a4a9590eb4544089e1001d1c96391b5fa793faa2805d6070c\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":4,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"8859195c031cbe3863fa98a4bfa0775a0fa5cc10b24814f05ab16aa23ae2d14652bd72942158fa310cf06fbd7f5f0e8be8e79b7985493993516fd978d7d09606\",\"signer_pubkey\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\"}" + ], + "record": "{\"estimates\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-contribution\",\"map\":\"7b57936bf90119925c5a51e2c75c49fc5f4a229dc9693356b484e9dc95ebd5bf\",\"origin\":null,\"output\":{\"content_hash\":\"590634ad26c92bb75ec3709b855abb567c988889acd51e954b48253ca7212074\",\"height\":4,\"samples\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"step\":2,\"width\":6},\"root\":\"69f0fec811c3971ba1f39eb0dfbd7aa72855e3b1e1acdb826bce4e189201152c\",\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"66bc492ce568861b10785b03f3abbaf4aa4f2450ab5792bd08eda84c7b290fed6f4e6925fcb30e7fb7f14db960eae0646159bc42dd22818bb489684bc702ca06\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"steps\":3}", + "steps": [ + { + "step": "{\"act\":\"author\",\"check\":\"replicate\",\"inputs\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"3ee879760a3cf69d9a48c7ae08b6971eb96ae7e973fa4d22002039b546590262\",\"width\":8},\"params\":{\"source\":\"digitalCreation\"},\"party\":0,\"prev\":null,\"region\":null,\"seq\":0,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"8ea7f11877bc720d3fb66c874946222d94968502ddae7dd9616e1e8ac5df2bc5438245b03ff1409f4b4330b06f54746a4ec4680f7d7782906100dc20d854b807\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "245375c1b3eef49019e8eba5a71603dafa53dc4221d07f2c2ce83f3ead4c1831", + "1253b3fdb178c6577638adec86a5c20800a5e95cd7af39cfeae404a78a46a796" + ] + }, + { + "step": "{\"act\":\"edit\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"3ee879760a3cf69d9a48c7ae08b6971eb96ae7e973fa4d22002039b546590262\",\"step\":0}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"42e8909f556c4557eeb9b6b60d14209ecaafc4dffd191ac77b2e99e88805221a\",\"width\":8},\"params\":{},\"party\":1,\"prev\":\"d2b0576f27f28c0adf54c945acf85fdb780e2fb98bdfc1c63c7a4c2edfdcc455\",\"region\":[{\"h\":2,\"w\":3,\"x\":2,\"y\":1},{\"h\":1,\"w\":2,\"x\":5,\"y\":4}],\"seq\":1,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"34451e4e29bdef7402b9c4070c611b18dbfa1d9cfd04528aab1d9541b946374dfc59a746ed5df6c5421f1cbc335fe65d1978f14af9713de413f9dd1b7e8fb40c\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "proof": [ + "05feabecad5dccde03a732abeadb8509061da9400bd37de4930f9eef582cc718", + "1253b3fdb178c6577638adec86a5c20800a5e95cd7af39cfeae404a78a46a796" + ] + }, + { + "step": "{\"act\":\"transform\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"42e8909f556c4557eeb9b6b60d14209ecaafc4dffd191ac77b2e99e88805221a\",\"step\":1}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":4,\"samples\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"width\":6},\"params\":{\"derivation\":\"wai.derive.crop\",\"params\":{\"h\":4,\"w\":6,\"x\":1,\"y\":1}},\"party\":0,\"prev\":\"8062364c2fc760a54f6852d468b63400b62a8871cf6fc94110796620d2626d79\",\"region\":null,\"seq\":2,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"1b2267557ee56cc3fca9cf2f506d779d0a2935f5d780f2ddcfa3020a0ce13e935637b8f75629d1b0a9a10659224ff12b8829fdb20b9799452e1c4eb66af7d404\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "63c4467d39c4bfdfdec4750ba1c3147909ff1f30a293173a389b7bbde600e148", + "ad1b48e9ac9cec5aaf434f4b80be9a16e7e3823f7dee7417b49d5eb09f74f422" + ] + } + ], + "map": "{\"height\":4,\"kind\":\"wai-authorship-map\",\"output\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"palette\":[{\"directed_by\":[0],\"made_by\":[0]},{\"directed_by\":[0],\"made_by\":[1]}],\"rows\":[[[0,1],[1,3],[0,2]],[[0,1],[1,3],[0,2]],[[0,6]],[[0,4],[1,2]]],\"width\":6}", + "openings": [], + "states": [ + "0d1d3ed84439e6b8290ac53a929a9d0bbb23f77a846cc30d3e7138c921a13828374a02675b15eb568a7e2d9367e55fd5e68d6094f01ce8d7d851f2563a283ddb9a7ff533b99f121a31aa2a47a59649f213c65626aa95c589af77518e06d5c96e86732a066e27a6ea92f5426716b09ae8a2b2beb98dd19512bfce11b59bc1c7293827acfb1d3a8fc061fadfe922f5c6d2", + "0d1d3ed84439e6b8290ac53a929a9d0bbb23f77a846cc30d3e7138c921a129b8bbf6bfe98beab3568a7e2d9367e55fd5e68d6094f01cea6da5d5ac55651fb1db9a7ff533b99f121a31aa2a47a59649f213c65626aa95c589af77518e06d5c96e86732a066e27a6ea92f5426716b09a7c34c5e6a158d19512bfce11b59bc1c7293827acfb1d3a8fc061fadfe922f5c6d2", + "c921a129b8bbf6bfe98beab3568a7e2d936794f01cea6da5d5ac55651fb1db9a7ff533b947a59649f213c65626aa95c589af77518e06066e27a6ea92f5426716b09a7c34c5e6a158" + ], + "models": [ + "963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e" + ], + "origins": [], + "outcome": "refuse", + "reason": "membership_invalid", + "at": [ + "membership", + 1 + ] + }, + { + "name": "party_not_countersigned", + "about": "a person enrolled as a party of the session without countersigning it (§3.2)", + "policy": { + "tier": "stated" + }, + "session": "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-session\",\"media\":\"image\",\"parties\":[{\"key\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\",\"role\":\"human\"},{\"key\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\",\"role\":\"human\"},{\"digest\":\"963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e\",\"role\":\"model\",\"type\":\"algorithmic\"},{\"digest\":\"af0cc7d1226d60c32186ea7d6abdd4f4f71737d99f94c2a9b6f57e1cd5f63d25\",\"role\":\"model\",\"type\":\"trained\"},{\"key\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\",\"role\":\"audience\"}],\"session\":\"ba8343191c03771d24b7824ef8bd7179b3636d877fa8e6139992a7f5b697fe83\",\"sig\":\"98c1ee158f4a39cb257612d4e86f66fdea2b252cb682d469b944d2fc4a3513006c4a83a92237c1683895dfca660577f9e93b01ccab062b09c50d457ed24fff03\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"tool\":\"conformance-studio/1\"}", + "memberships": [ + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":0,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"91c18a1463ce0471fdd019182706f53c05efa1859d1db93c353de9122a3abd108e40965c9c14cbf4be3f40911af82dbddbcc0a144a3a6e7825a8cad8a6cd360c\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":4,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"8859195c031cbe3863fa98a4bfa0775a0fa5cc10b24814f05ab16aa23ae2d14652bd72942158fa310cf06fbd7f5f0e8be8e79b7985493993516fd978d7d09606\",\"signer_pubkey\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\"}" + ], + "record": "{\"estimates\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-contribution\",\"map\":\"7b57936bf90119925c5a51e2c75c49fc5f4a229dc9693356b484e9dc95ebd5bf\",\"origin\":null,\"output\":{\"content_hash\":\"590634ad26c92bb75ec3709b855abb567c988889acd51e954b48253ca7212074\",\"height\":4,\"samples\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"step\":2,\"width\":6},\"root\":\"69f0fec811c3971ba1f39eb0dfbd7aa72855e3b1e1acdb826bce4e189201152c\",\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"66bc492ce568861b10785b03f3abbaf4aa4f2450ab5792bd08eda84c7b290fed6f4e6925fcb30e7fb7f14db960eae0646159bc42dd22818bb489684bc702ca06\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"steps\":3}", + "steps": [ + { + "step": "{\"act\":\"author\",\"check\":\"replicate\",\"inputs\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"3ee879760a3cf69d9a48c7ae08b6971eb96ae7e973fa4d22002039b546590262\",\"width\":8},\"params\":{\"source\":\"digitalCreation\"},\"party\":0,\"prev\":null,\"region\":null,\"seq\":0,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"8ea7f11877bc720d3fb66c874946222d94968502ddae7dd9616e1e8ac5df2bc5438245b03ff1409f4b4330b06f54746a4ec4680f7d7782906100dc20d854b807\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "245375c1b3eef49019e8eba5a71603dafa53dc4221d07f2c2ce83f3ead4c1831", + "1253b3fdb178c6577638adec86a5c20800a5e95cd7af39cfeae404a78a46a796" + ] + }, + { + "step": "{\"act\":\"edit\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"3ee879760a3cf69d9a48c7ae08b6971eb96ae7e973fa4d22002039b546590262\",\"step\":0}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"42e8909f556c4557eeb9b6b60d14209ecaafc4dffd191ac77b2e99e88805221a\",\"width\":8},\"params\":{},\"party\":1,\"prev\":\"d2b0576f27f28c0adf54c945acf85fdb780e2fb98bdfc1c63c7a4c2edfdcc455\",\"region\":[{\"h\":2,\"w\":3,\"x\":2,\"y\":1},{\"h\":1,\"w\":2,\"x\":5,\"y\":4}],\"seq\":1,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"34451e4e29bdef7402b9c4070c611b18dbfa1d9cfd04528aab1d9541b946374dfc59a746ed5df6c5421f1cbc335fe65d1978f14af9713de413f9dd1b7e8fb40c\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "proof": [ + "05feabecad5dccde03a732abeadb8509061da9400bd37de4930f9eef582cc718", + "1253b3fdb178c6577638adec86a5c20800a5e95cd7af39cfeae404a78a46a796" + ] + }, + { + "step": "{\"act\":\"transform\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"42e8909f556c4557eeb9b6b60d14209ecaafc4dffd191ac77b2e99e88805221a\",\"step\":1}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":4,\"samples\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"width\":6},\"params\":{\"derivation\":\"wai.derive.crop\",\"params\":{\"h\":4,\"w\":6,\"x\":1,\"y\":1}},\"party\":0,\"prev\":\"8062364c2fc760a54f6852d468b63400b62a8871cf6fc94110796620d2626d79\",\"region\":null,\"seq\":2,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"1b2267557ee56cc3fca9cf2f506d779d0a2935f5d780f2ddcfa3020a0ce13e935637b8f75629d1b0a9a10659224ff12b8829fdb20b9799452e1c4eb66af7d404\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "63c4467d39c4bfdfdec4750ba1c3147909ff1f30a293173a389b7bbde600e148", + "ad1b48e9ac9cec5aaf434f4b80be9a16e7e3823f7dee7417b49d5eb09f74f422" + ] + } + ], + "map": "{\"height\":4,\"kind\":\"wai-authorship-map\",\"output\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"palette\":[{\"directed_by\":[0],\"made_by\":[0]},{\"directed_by\":[0],\"made_by\":[1]}],\"rows\":[[[0,1],[1,3],[0,2]],[[0,1],[1,3],[0,2]],[[0,6]],[[0,4],[1,2]]],\"width\":6}", + "openings": [], + "states": [ + "0d1d3ed84439e6b8290ac53a929a9d0bbb23f77a846cc30d3e7138c921a13828374a02675b15eb568a7e2d9367e55fd5e68d6094f01ce8d7d851f2563a283ddb9a7ff533b99f121a31aa2a47a59649f213c65626aa95c589af77518e06d5c96e86732a066e27a6ea92f5426716b09ae8a2b2beb98dd19512bfce11b59bc1c7293827acfb1d3a8fc061fadfe922f5c6d2", + "0d1d3ed84439e6b8290ac53a929a9d0bbb23f77a846cc30d3e7138c921a129b8bbf6bfe98beab3568a7e2d9367e55fd5e68d6094f01cea6da5d5ac55651fb1db9a7ff533b99f121a31aa2a47a59649f213c65626aa95c589af77518e06d5c96e86732a066e27a6ea92f5426716b09a7c34c5e6a158d19512bfce11b59bc1c7293827acfb1d3a8fc061fadfe922f5c6d2", + "c921a129b8bbf6bfe98beab3568a7e2d936794f01cea6da5d5ac55651fb1db9a7ff533b947a59649f213c65626aa95c589af77518e06066e27a6ea92f5426716b09a7c34c5e6a158" + ], + "models": [ + "963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e" + ], + "origins": [], + "outcome": "refuse", + "reason": "party_not_countersigned", + "at": [ + "session", + "party", + 1 + ] + }, + { + "name": "session_mismatch", + "about": "a step of another session (§4.1)", + "policy": { + "tier": "stated" + }, + "session": "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-session\",\"media\":\"image\",\"parties\":[{\"key\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\",\"role\":\"human\"},{\"key\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\",\"role\":\"human\"},{\"digest\":\"963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e\",\"role\":\"model\",\"type\":\"algorithmic\"},{\"digest\":\"af0cc7d1226d60c32186ea7d6abdd4f4f71737d99f94c2a9b6f57e1cd5f63d25\",\"role\":\"model\",\"type\":\"trained\"},{\"key\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\",\"role\":\"audience\"}],\"session\":\"ba8343191c03771d24b7824ef8bd7179b3636d877fa8e6139992a7f5b697fe83\",\"sig\":\"98c1ee158f4a39cb257612d4e86f66fdea2b252cb682d469b944d2fc4a3513006c4a83a92237c1683895dfca660577f9e93b01ccab062b09c50d457ed24fff03\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"tool\":\"conformance-studio/1\"}", + "memberships": [ + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":0,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"91c18a1463ce0471fdd019182706f53c05efa1859d1db93c353de9122a3abd108e40965c9c14cbf4be3f40911af82dbddbcc0a144a3a6e7825a8cad8a6cd360c\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":1,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"0e786ad78bda25fe732583bb04e62ec999f9c3f78cd719ee67cb159a3aa5e2b2e8fed6a305100264a392bd920e7753f30d5c9ba99053ec590f8c9c9f8a94f707\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":4,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"8859195c031cbe3863fa98a4bfa0775a0fa5cc10b24814f05ab16aa23ae2d14652bd72942158fa310cf06fbd7f5f0e8be8e79b7985493993516fd978d7d09606\",\"signer_pubkey\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\"}" + ], + "record": "{\"estimates\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-contribution\",\"map\":\"7b57936bf90119925c5a51e2c75c49fc5f4a229dc9693356b484e9dc95ebd5bf\",\"origin\":null,\"output\":{\"content_hash\":\"590634ad26c92bb75ec3709b855abb567c988889acd51e954b48253ca7212074\",\"height\":4,\"samples\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"step\":2,\"width\":6},\"root\":\"69f0fec811c3971ba1f39eb0dfbd7aa72855e3b1e1acdb826bce4e189201152c\",\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"66bc492ce568861b10785b03f3abbaf4aa4f2450ab5792bd08eda84c7b290fed6f4e6925fcb30e7fb7f14db960eae0646159bc42dd22818bb489684bc702ca06\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"steps\":3}", + "steps": [ + { + "step": "{\"act\":\"author\",\"check\":\"replicate\",\"inputs\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"3ee879760a3cf69d9a48c7ae08b6971eb96ae7e973fa4d22002039b546590262\",\"width\":8},\"params\":{\"source\":\"digitalCreation\"},\"party\":0,\"prev\":null,\"region\":null,\"seq\":0,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"8ea7f11877bc720d3fb66c874946222d94968502ddae7dd9616e1e8ac5df2bc5438245b03ff1409f4b4330b06f54746a4ec4680f7d7782906100dc20d854b807\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "245375c1b3eef49019e8eba5a71603dafa53dc4221d07f2c2ce83f3ead4c1831", + "1253b3fdb178c6577638adec86a5c20800a5e95cd7af39cfeae404a78a46a796" + ] + }, + { + "step": "{\"act\":\"edit\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"3ee879760a3cf69d9a48c7ae08b6971eb96ae7e973fa4d22002039b546590262\",\"step\":0}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"42e8909f556c4557eeb9b6b60d14209ecaafc4dffd191ac77b2e99e88805221a\",\"width\":8},\"params\":{},\"party\":1,\"prev\":\"d2b0576f27f28c0adf54c945acf85fdb780e2fb98bdfc1c63c7a4c2edfdcc455\",\"region\":[{\"h\":2,\"w\":3,\"x\":2,\"y\":1},{\"h\":1,\"w\":2,\"x\":5,\"y\":4}],\"seq\":1,\"session\":\"a1feee56bab9f8c89d9a3a091f01c2a3b0c5d5f0c4a2eb286a3b3a689bfe68ff\",\"sig\":\"085a9fb052718467a553187806ca4222ee94114600ba5e36207e347245c6a3222849b83b14a6d9b0abe226e238a7c967b22d2131a6b2c279c58a724df9692001\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "proof": [ + "05feabecad5dccde03a732abeadb8509061da9400bd37de4930f9eef582cc718", + "1253b3fdb178c6577638adec86a5c20800a5e95cd7af39cfeae404a78a46a796" + ] + }, + { + "step": "{\"act\":\"transform\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"42e8909f556c4557eeb9b6b60d14209ecaafc4dffd191ac77b2e99e88805221a\",\"step\":1}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":4,\"samples\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"width\":6},\"params\":{\"derivation\":\"wai.derive.crop\",\"params\":{\"h\":4,\"w\":6,\"x\":1,\"y\":1}},\"party\":0,\"prev\":\"8062364c2fc760a54f6852d468b63400b62a8871cf6fc94110796620d2626d79\",\"region\":null,\"seq\":2,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"1b2267557ee56cc3fca9cf2f506d779d0a2935f5d780f2ddcfa3020a0ce13e935637b8f75629d1b0a9a10659224ff12b8829fdb20b9799452e1c4eb66af7d404\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "63c4467d39c4bfdfdec4750ba1c3147909ff1f30a293173a389b7bbde600e148", + "ad1b48e9ac9cec5aaf434f4b80be9a16e7e3823f7dee7417b49d5eb09f74f422" + ] + } + ], + "map": "{\"height\":4,\"kind\":\"wai-authorship-map\",\"output\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"palette\":[{\"directed_by\":[0],\"made_by\":[0]},{\"directed_by\":[0],\"made_by\":[1]}],\"rows\":[[[0,1],[1,3],[0,2]],[[0,1],[1,3],[0,2]],[[0,6]],[[0,4],[1,2]]],\"width\":6}", + "openings": [], + "states": [ + "0d1d3ed84439e6b8290ac53a929a9d0bbb23f77a846cc30d3e7138c921a13828374a02675b15eb568a7e2d9367e55fd5e68d6094f01ce8d7d851f2563a283ddb9a7ff533b99f121a31aa2a47a59649f213c65626aa95c589af77518e06d5c96e86732a066e27a6ea92f5426716b09ae8a2b2beb98dd19512bfce11b59bc1c7293827acfb1d3a8fc061fadfe922f5c6d2", + "0d1d3ed84439e6b8290ac53a929a9d0bbb23f77a846cc30d3e7138c921a129b8bbf6bfe98beab3568a7e2d9367e55fd5e68d6094f01cea6da5d5ac55651fb1db9a7ff533b99f121a31aa2a47a59649f213c65626aa95c589af77518e06d5c96e86732a066e27a6ea92f5426716b09a7c34c5e6a158d19512bfce11b59bc1c7293827acfb1d3a8fc061fadfe922f5c6d2", + "c921a129b8bbf6bfe98beab3568a7e2d936794f01cea6da5d5ac55651fb1db9a7ff533b947a59649f213c65626aa95c589af77518e06066e27a6ea92f5426716b09a7c34c5e6a158" + ], + "models": [ + "963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e" + ], + "origins": [], + "outcome": "refuse", + "reason": "session_mismatch", + "at": [ + "step", + 1 + ] + }, + { + "name": "party_unknown", + "about": "a step by a party the session does not have (§4.1)", + "policy": { + "tier": "stated" + }, + "session": "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-session\",\"media\":\"image\",\"parties\":[{\"key\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\",\"role\":\"human\"},{\"key\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\",\"role\":\"human\"},{\"digest\":\"963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e\",\"role\":\"model\",\"type\":\"algorithmic\"},{\"digest\":\"af0cc7d1226d60c32186ea7d6abdd4f4f71737d99f94c2a9b6f57e1cd5f63d25\",\"role\":\"model\",\"type\":\"trained\"},{\"key\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\",\"role\":\"audience\"}],\"session\":\"ba8343191c03771d24b7824ef8bd7179b3636d877fa8e6139992a7f5b697fe83\",\"sig\":\"98c1ee158f4a39cb257612d4e86f66fdea2b252cb682d469b944d2fc4a3513006c4a83a92237c1683895dfca660577f9e93b01ccab062b09c50d457ed24fff03\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"tool\":\"conformance-studio/1\"}", + "memberships": [ + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":0,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"91c18a1463ce0471fdd019182706f53c05efa1859d1db93c353de9122a3abd108e40965c9c14cbf4be3f40911af82dbddbcc0a144a3a6e7825a8cad8a6cd360c\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":1,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"0e786ad78bda25fe732583bb04e62ec999f9c3f78cd719ee67cb159a3aa5e2b2e8fed6a305100264a392bd920e7753f30d5c9ba99053ec590f8c9c9f8a94f707\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":4,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"8859195c031cbe3863fa98a4bfa0775a0fa5cc10b24814f05ab16aa23ae2d14652bd72942158fa310cf06fbd7f5f0e8be8e79b7985493993516fd978d7d09606\",\"signer_pubkey\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\"}" + ], + "record": "{\"estimates\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-contribution\",\"map\":\"7b57936bf90119925c5a51e2c75c49fc5f4a229dc9693356b484e9dc95ebd5bf\",\"origin\":null,\"output\":{\"content_hash\":\"590634ad26c92bb75ec3709b855abb567c988889acd51e954b48253ca7212074\",\"height\":4,\"samples\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"step\":2,\"width\":6},\"root\":\"69f0fec811c3971ba1f39eb0dfbd7aa72855e3b1e1acdb826bce4e189201152c\",\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"66bc492ce568861b10785b03f3abbaf4aa4f2450ab5792bd08eda84c7b290fed6f4e6925fcb30e7fb7f14db960eae0646159bc42dd22818bb489684bc702ca06\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"steps\":3}", + "steps": [ + { + "step": "{\"act\":\"author\",\"check\":\"replicate\",\"inputs\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"3ee879760a3cf69d9a48c7ae08b6971eb96ae7e973fa4d22002039b546590262\",\"width\":8},\"params\":{\"source\":\"digitalCreation\"},\"party\":0,\"prev\":null,\"region\":null,\"seq\":0,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"8ea7f11877bc720d3fb66c874946222d94968502ddae7dd9616e1e8ac5df2bc5438245b03ff1409f4b4330b06f54746a4ec4680f7d7782906100dc20d854b807\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "245375c1b3eef49019e8eba5a71603dafa53dc4221d07f2c2ce83f3ead4c1831", + "1253b3fdb178c6577638adec86a5c20800a5e95cd7af39cfeae404a78a46a796" + ] + }, + { + "step": "{\"act\":\"edit\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"3ee879760a3cf69d9a48c7ae08b6971eb96ae7e973fa4d22002039b546590262\",\"step\":0}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"42e8909f556c4557eeb9b6b60d14209ecaafc4dffd191ac77b2e99e88805221a\",\"width\":8},\"params\":{},\"party\":9,\"prev\":\"d2b0576f27f28c0adf54c945acf85fdb780e2fb98bdfc1c63c7a4c2edfdcc455\",\"region\":[{\"h\":2,\"w\":3,\"x\":2,\"y\":1},{\"h\":1,\"w\":2,\"x\":5,\"y\":4}],\"seq\":1,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"8f0ae7e569e15327b6b117b766258dd61bfdc9fc8cddf0cb1e845a67ea1501415dc91f43a61f8b07fdd910a309a94212670f516ee61fad239ea66f15e8fa1308\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "proof": [ + "05feabecad5dccde03a732abeadb8509061da9400bd37de4930f9eef582cc718", + "1253b3fdb178c6577638adec86a5c20800a5e95cd7af39cfeae404a78a46a796" + ] + }, + { + "step": "{\"act\":\"transform\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"42e8909f556c4557eeb9b6b60d14209ecaafc4dffd191ac77b2e99e88805221a\",\"step\":1}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":4,\"samples\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"width\":6},\"params\":{\"derivation\":\"wai.derive.crop\",\"params\":{\"h\":4,\"w\":6,\"x\":1,\"y\":1}},\"party\":0,\"prev\":\"8062364c2fc760a54f6852d468b63400b62a8871cf6fc94110796620d2626d79\",\"region\":null,\"seq\":2,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"1b2267557ee56cc3fca9cf2f506d779d0a2935f5d780f2ddcfa3020a0ce13e935637b8f75629d1b0a9a10659224ff12b8829fdb20b9799452e1c4eb66af7d404\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "63c4467d39c4bfdfdec4750ba1c3147909ff1f30a293173a389b7bbde600e148", + "ad1b48e9ac9cec5aaf434f4b80be9a16e7e3823f7dee7417b49d5eb09f74f422" + ] + } + ], + "map": "{\"height\":4,\"kind\":\"wai-authorship-map\",\"output\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"palette\":[{\"directed_by\":[0],\"made_by\":[0]},{\"directed_by\":[0],\"made_by\":[1]}],\"rows\":[[[0,1],[1,3],[0,2]],[[0,1],[1,3],[0,2]],[[0,6]],[[0,4],[1,2]]],\"width\":6}", + "openings": [], + "states": [ + "0d1d3ed84439e6b8290ac53a929a9d0bbb23f77a846cc30d3e7138c921a13828374a02675b15eb568a7e2d9367e55fd5e68d6094f01ce8d7d851f2563a283ddb9a7ff533b99f121a31aa2a47a59649f213c65626aa95c589af77518e06d5c96e86732a066e27a6ea92f5426716b09ae8a2b2beb98dd19512bfce11b59bc1c7293827acfb1d3a8fc061fadfe922f5c6d2", + "0d1d3ed84439e6b8290ac53a929a9d0bbb23f77a846cc30d3e7138c921a129b8bbf6bfe98beab3568a7e2d9367e55fd5e68d6094f01cea6da5d5ac55651fb1db9a7ff533b99f121a31aa2a47a59649f213c65626aa95c589af77518e06d5c96e86732a066e27a6ea92f5426716b09a7c34c5e6a158d19512bfce11b59bc1c7293827acfb1d3a8fc061fadfe922f5c6d2", + "c921a129b8bbf6bfe98beab3568a7e2d936794f01cea6da5d5ac55651fb1db9a7ff533b947a59649f213c65626aa95c589af77518e06066e27a6ea92f5426716b09a7c34c5e6a158" + ], + "models": [ + "963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e" + ], + "origins": [], + "outcome": "refuse", + "reason": "party_unknown", + "at": [ + "step", + 1 + ] + }, + { + "name": "party_role_mismatch", + "about": "a drawing stated as authored by a model: author is a person's act (§4.2)", + "policy": { + "tier": "stated" + }, + "session": "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-session\",\"media\":\"image\",\"parties\":[{\"key\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\",\"role\":\"human\"},{\"key\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\",\"role\":\"human\"},{\"digest\":\"963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e\",\"role\":\"model\",\"type\":\"algorithmic\"},{\"digest\":\"af0cc7d1226d60c32186ea7d6abdd4f4f71737d99f94c2a9b6f57e1cd5f63d25\",\"role\":\"model\",\"type\":\"trained\"},{\"key\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\",\"role\":\"audience\"}],\"session\":\"ba8343191c03771d24b7824ef8bd7179b3636d877fa8e6139992a7f5b697fe83\",\"sig\":\"98c1ee158f4a39cb257612d4e86f66fdea2b252cb682d469b944d2fc4a3513006c4a83a92237c1683895dfca660577f9e93b01ccab062b09c50d457ed24fff03\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"tool\":\"conformance-studio/1\"}", + "memberships": [ + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":0,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"91c18a1463ce0471fdd019182706f53c05efa1859d1db93c353de9122a3abd108e40965c9c14cbf4be3f40911af82dbddbcc0a144a3a6e7825a8cad8a6cd360c\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":1,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"0e786ad78bda25fe732583bb04e62ec999f9c3f78cd719ee67cb159a3aa5e2b2e8fed6a305100264a392bd920e7753f30d5c9ba99053ec590f8c9c9f8a94f707\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":4,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"8859195c031cbe3863fa98a4bfa0775a0fa5cc10b24814f05ab16aa23ae2d14652bd72942158fa310cf06fbd7f5f0e8be8e79b7985493993516fd978d7d09606\",\"signer_pubkey\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\"}" + ], + "record": "{\"estimates\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-contribution\",\"map\":\"7b57936bf90119925c5a51e2c75c49fc5f4a229dc9693356b484e9dc95ebd5bf\",\"origin\":null,\"output\":{\"content_hash\":\"590634ad26c92bb75ec3709b855abb567c988889acd51e954b48253ca7212074\",\"height\":4,\"samples\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"step\":2,\"width\":6},\"root\":\"69f0fec811c3971ba1f39eb0dfbd7aa72855e3b1e1acdb826bce4e189201152c\",\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"66bc492ce568861b10785b03f3abbaf4aa4f2450ab5792bd08eda84c7b290fed6f4e6925fcb30e7fb7f14db960eae0646159bc42dd22818bb489684bc702ca06\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"steps\":3}", + "steps": [ + { + "step": "{\"act\":\"author\",\"check\":\"replicate\",\"inputs\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"3ee879760a3cf69d9a48c7ae08b6971eb96ae7e973fa4d22002039b546590262\",\"width\":8},\"params\":{\"source\":\"digitalCreation\"},\"party\":2,\"prev\":null,\"region\":null,\"seq\":0,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"04be9ece08ca6b932c4e069cc4222850764d8f93c050d624cf1931322261c68bb11695200b768a1ad2419a709de3dbf1bc87cddaa9cc5536539e034d97aba900\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\"}", + "proof": [ + "245375c1b3eef49019e8eba5a71603dafa53dc4221d07f2c2ce83f3ead4c1831", + "1253b3fdb178c6577638adec86a5c20800a5e95cd7af39cfeae404a78a46a796" + ] + }, + { + "step": "{\"act\":\"edit\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"3ee879760a3cf69d9a48c7ae08b6971eb96ae7e973fa4d22002039b546590262\",\"step\":0}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"42e8909f556c4557eeb9b6b60d14209ecaafc4dffd191ac77b2e99e88805221a\",\"width\":8},\"params\":{},\"party\":1,\"prev\":\"d2b0576f27f28c0adf54c945acf85fdb780e2fb98bdfc1c63c7a4c2edfdcc455\",\"region\":[{\"h\":2,\"w\":3,\"x\":2,\"y\":1},{\"h\":1,\"w\":2,\"x\":5,\"y\":4}],\"seq\":1,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"34451e4e29bdef7402b9c4070c611b18dbfa1d9cfd04528aab1d9541b946374dfc59a746ed5df6c5421f1cbc335fe65d1978f14af9713de413f9dd1b7e8fb40c\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "proof": [ + "05feabecad5dccde03a732abeadb8509061da9400bd37de4930f9eef582cc718", + "1253b3fdb178c6577638adec86a5c20800a5e95cd7af39cfeae404a78a46a796" + ] + }, + { + "step": "{\"act\":\"transform\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"42e8909f556c4557eeb9b6b60d14209ecaafc4dffd191ac77b2e99e88805221a\",\"step\":1}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":4,\"samples\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"width\":6},\"params\":{\"derivation\":\"wai.derive.crop\",\"params\":{\"h\":4,\"w\":6,\"x\":1,\"y\":1}},\"party\":0,\"prev\":\"8062364c2fc760a54f6852d468b63400b62a8871cf6fc94110796620d2626d79\",\"region\":null,\"seq\":2,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"1b2267557ee56cc3fca9cf2f506d779d0a2935f5d780f2ddcfa3020a0ce13e935637b8f75629d1b0a9a10659224ff12b8829fdb20b9799452e1c4eb66af7d404\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "63c4467d39c4bfdfdec4750ba1c3147909ff1f30a293173a389b7bbde600e148", + "ad1b48e9ac9cec5aaf434f4b80be9a16e7e3823f7dee7417b49d5eb09f74f422" + ] + } + ], + "map": "{\"height\":4,\"kind\":\"wai-authorship-map\",\"output\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"palette\":[{\"directed_by\":[0],\"made_by\":[0]},{\"directed_by\":[0],\"made_by\":[1]}],\"rows\":[[[0,1],[1,3],[0,2]],[[0,1],[1,3],[0,2]],[[0,6]],[[0,4],[1,2]]],\"width\":6}", + "openings": [], + "states": [ + "0d1d3ed84439e6b8290ac53a929a9d0bbb23f77a846cc30d3e7138c921a13828374a02675b15eb568a7e2d9367e55fd5e68d6094f01ce8d7d851f2563a283ddb9a7ff533b99f121a31aa2a47a59649f213c65626aa95c589af77518e06d5c96e86732a066e27a6ea92f5426716b09ae8a2b2beb98dd19512bfce11b59bc1c7293827acfb1d3a8fc061fadfe922f5c6d2", + "0d1d3ed84439e6b8290ac53a929a9d0bbb23f77a846cc30d3e7138c921a129b8bbf6bfe98beab3568a7e2d9367e55fd5e68d6094f01cea6da5d5ac55651fb1db9a7ff533b99f121a31aa2a47a59649f213c65626aa95c589af77518e06d5c96e86732a066e27a6ea92f5426716b09a7c34c5e6a158d19512bfce11b59bc1c7293827acfb1d3a8fc061fadfe922f5c6d2", + "c921a129b8bbf6bfe98beab3568a7e2d936794f01cea6da5d5ac55651fb1db9a7ff533b947a59649f213c65626aa95c589af77518e06066e27a6ea92f5426716b09a7c34c5e6a158" + ], + "models": [ + "963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e" + ], + "origins": [], + "outcome": "refuse", + "reason": "party_role_mismatch", + "at": [ + "step", + 0 + ] + }, + { + "name": "signer_mismatch", + "about": "a person's brush edit signed by the tool's key instead of the person's (§4.1)", + "policy": { + "tier": "stated" + }, + "session": "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-session\",\"media\":\"image\",\"parties\":[{\"key\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\",\"role\":\"human\"},{\"key\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\",\"role\":\"human\"},{\"digest\":\"963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e\",\"role\":\"model\",\"type\":\"algorithmic\"},{\"digest\":\"af0cc7d1226d60c32186ea7d6abdd4f4f71737d99f94c2a9b6f57e1cd5f63d25\",\"role\":\"model\",\"type\":\"trained\"},{\"key\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\",\"role\":\"audience\"}],\"session\":\"ba8343191c03771d24b7824ef8bd7179b3636d877fa8e6139992a7f5b697fe83\",\"sig\":\"98c1ee158f4a39cb257612d4e86f66fdea2b252cb682d469b944d2fc4a3513006c4a83a92237c1683895dfca660577f9e93b01ccab062b09c50d457ed24fff03\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"tool\":\"conformance-studio/1\"}", + "memberships": [ + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":0,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"91c18a1463ce0471fdd019182706f53c05efa1859d1db93c353de9122a3abd108e40965c9c14cbf4be3f40911af82dbddbcc0a144a3a6e7825a8cad8a6cd360c\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":1,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"0e786ad78bda25fe732583bb04e62ec999f9c3f78cd719ee67cb159a3aa5e2b2e8fed6a305100264a392bd920e7753f30d5c9ba99053ec590f8c9c9f8a94f707\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":4,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"8859195c031cbe3863fa98a4bfa0775a0fa5cc10b24814f05ab16aa23ae2d14652bd72942158fa310cf06fbd7f5f0e8be8e79b7985493993516fd978d7d09606\",\"signer_pubkey\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\"}" + ], + "record": "{\"estimates\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-contribution\",\"map\":\"7b57936bf90119925c5a51e2c75c49fc5f4a229dc9693356b484e9dc95ebd5bf\",\"origin\":null,\"output\":{\"content_hash\":\"590634ad26c92bb75ec3709b855abb567c988889acd51e954b48253ca7212074\",\"height\":4,\"samples\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"step\":2,\"width\":6},\"root\":\"69f0fec811c3971ba1f39eb0dfbd7aa72855e3b1e1acdb826bce4e189201152c\",\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"66bc492ce568861b10785b03f3abbaf4aa4f2450ab5792bd08eda84c7b290fed6f4e6925fcb30e7fb7f14db960eae0646159bc42dd22818bb489684bc702ca06\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"steps\":3}", + "steps": [ + { + "step": "{\"act\":\"author\",\"check\":\"replicate\",\"inputs\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"3ee879760a3cf69d9a48c7ae08b6971eb96ae7e973fa4d22002039b546590262\",\"width\":8},\"params\":{\"source\":\"digitalCreation\"},\"party\":0,\"prev\":null,\"region\":null,\"seq\":0,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"8ea7f11877bc720d3fb66c874946222d94968502ddae7dd9616e1e8ac5df2bc5438245b03ff1409f4b4330b06f54746a4ec4680f7d7782906100dc20d854b807\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "245375c1b3eef49019e8eba5a71603dafa53dc4221d07f2c2ce83f3ead4c1831", + "1253b3fdb178c6577638adec86a5c20800a5e95cd7af39cfeae404a78a46a796" + ] + }, + { + "step": "{\"act\":\"edit\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"3ee879760a3cf69d9a48c7ae08b6971eb96ae7e973fa4d22002039b546590262\",\"step\":0}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"42e8909f556c4557eeb9b6b60d14209ecaafc4dffd191ac77b2e99e88805221a\",\"width\":8},\"params\":{},\"party\":1,\"prev\":\"d2b0576f27f28c0adf54c945acf85fdb780e2fb98bdfc1c63c7a4c2edfdcc455\",\"region\":[{\"h\":2,\"w\":3,\"x\":2,\"y\":1},{\"h\":1,\"w\":2,\"x\":5,\"y\":4}],\"seq\":1,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"1af9a2cbbe52d0b0515c2cdd8da901e1421215378dffdbaaba40d36ce9ce88bd588d8651b4c4843928617eb01b48b973cb0f1716be3f3fb09eeed26bf2d0300b\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\"}", + "proof": [ + "05feabecad5dccde03a732abeadb8509061da9400bd37de4930f9eef582cc718", + "1253b3fdb178c6577638adec86a5c20800a5e95cd7af39cfeae404a78a46a796" + ] + }, + { + "step": "{\"act\":\"transform\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"42e8909f556c4557eeb9b6b60d14209ecaafc4dffd191ac77b2e99e88805221a\",\"step\":1}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":4,\"samples\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"width\":6},\"params\":{\"derivation\":\"wai.derive.crop\",\"params\":{\"h\":4,\"w\":6,\"x\":1,\"y\":1}},\"party\":0,\"prev\":\"8062364c2fc760a54f6852d468b63400b62a8871cf6fc94110796620d2626d79\",\"region\":null,\"seq\":2,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"1b2267557ee56cc3fca9cf2f506d779d0a2935f5d780f2ddcfa3020a0ce13e935637b8f75629d1b0a9a10659224ff12b8829fdb20b9799452e1c4eb66af7d404\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "63c4467d39c4bfdfdec4750ba1c3147909ff1f30a293173a389b7bbde600e148", + "ad1b48e9ac9cec5aaf434f4b80be9a16e7e3823f7dee7417b49d5eb09f74f422" + ] + } + ], + "map": "{\"height\":4,\"kind\":\"wai-authorship-map\",\"output\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"palette\":[{\"directed_by\":[0],\"made_by\":[0]},{\"directed_by\":[0],\"made_by\":[1]}],\"rows\":[[[0,1],[1,3],[0,2]],[[0,1],[1,3],[0,2]],[[0,6]],[[0,4],[1,2]]],\"width\":6}", + "openings": [], + "states": [ + "0d1d3ed84439e6b8290ac53a929a9d0bbb23f77a846cc30d3e7138c921a13828374a02675b15eb568a7e2d9367e55fd5e68d6094f01ce8d7d851f2563a283ddb9a7ff533b99f121a31aa2a47a59649f213c65626aa95c589af77518e06d5c96e86732a066e27a6ea92f5426716b09ae8a2b2beb98dd19512bfce11b59bc1c7293827acfb1d3a8fc061fadfe922f5c6d2", + "0d1d3ed84439e6b8290ac53a929a9d0bbb23f77a846cc30d3e7138c921a129b8bbf6bfe98beab3568a7e2d9367e55fd5e68d6094f01cea6da5d5ac55651fb1db9a7ff533b99f121a31aa2a47a59649f213c65626aa95c589af77518e06d5c96e86732a066e27a6ea92f5426716b09a7c34c5e6a158d19512bfce11b59bc1c7293827acfb1d3a8fc061fadfe922f5c6d2", + "c921a129b8bbf6bfe98beab3568a7e2d936794f01cea6da5d5ac55651fb1db9a7ff533b947a59649f213c65626aa95c589af77518e06066e27a6ea92f5426716b09a7c34c5e6a158" + ], + "models": [ + "963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e" + ], + "origins": [], + "outcome": "refuse", + "reason": "signer_mismatch", + "at": [ + "step", + 1 + ] + }, + { + "name": "check_mismatch", + "about": "a pinned crop stated as attested (§4.4)", + "policy": { + "tier": "stated" + }, + "session": "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-session\",\"media\":\"image\",\"parties\":[{\"key\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\",\"role\":\"human\"},{\"key\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\",\"role\":\"human\"},{\"digest\":\"963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e\",\"role\":\"model\",\"type\":\"algorithmic\"},{\"digest\":\"af0cc7d1226d60c32186ea7d6abdd4f4f71737d99f94c2a9b6f57e1cd5f63d25\",\"role\":\"model\",\"type\":\"trained\"},{\"key\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\",\"role\":\"audience\"}],\"session\":\"ba8343191c03771d24b7824ef8bd7179b3636d877fa8e6139992a7f5b697fe83\",\"sig\":\"98c1ee158f4a39cb257612d4e86f66fdea2b252cb682d469b944d2fc4a3513006c4a83a92237c1683895dfca660577f9e93b01ccab062b09c50d457ed24fff03\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"tool\":\"conformance-studio/1\"}", + "memberships": [ + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":0,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"91c18a1463ce0471fdd019182706f53c05efa1859d1db93c353de9122a3abd108e40965c9c14cbf4be3f40911af82dbddbcc0a144a3a6e7825a8cad8a6cd360c\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":1,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"0e786ad78bda25fe732583bb04e62ec999f9c3f78cd719ee67cb159a3aa5e2b2e8fed6a305100264a392bd920e7753f30d5c9ba99053ec590f8c9c9f8a94f707\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":4,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"8859195c031cbe3863fa98a4bfa0775a0fa5cc10b24814f05ab16aa23ae2d14652bd72942158fa310cf06fbd7f5f0e8be8e79b7985493993516fd978d7d09606\",\"signer_pubkey\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\"}" + ], + "record": "{\"estimates\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-contribution\",\"map\":\"7b57936bf90119925c5a51e2c75c49fc5f4a229dc9693356b484e9dc95ebd5bf\",\"origin\":null,\"output\":{\"content_hash\":\"590634ad26c92bb75ec3709b855abb567c988889acd51e954b48253ca7212074\",\"height\":4,\"samples\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"step\":2,\"width\":6},\"root\":\"69f0fec811c3971ba1f39eb0dfbd7aa72855e3b1e1acdb826bce4e189201152c\",\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"66bc492ce568861b10785b03f3abbaf4aa4f2450ab5792bd08eda84c7b290fed6f4e6925fcb30e7fb7f14db960eae0646159bc42dd22818bb489684bc702ca06\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"steps\":3}", + "steps": [ + { + "step": "{\"act\":\"author\",\"check\":\"replicate\",\"inputs\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"3ee879760a3cf69d9a48c7ae08b6971eb96ae7e973fa4d22002039b546590262\",\"width\":8},\"params\":{\"source\":\"digitalCreation\"},\"party\":0,\"prev\":null,\"region\":null,\"seq\":0,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"8ea7f11877bc720d3fb66c874946222d94968502ddae7dd9616e1e8ac5df2bc5438245b03ff1409f4b4330b06f54746a4ec4680f7d7782906100dc20d854b807\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "245375c1b3eef49019e8eba5a71603dafa53dc4221d07f2c2ce83f3ead4c1831", + "1253b3fdb178c6577638adec86a5c20800a5e95cd7af39cfeae404a78a46a796" + ] + }, + { + "step": "{\"act\":\"edit\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"3ee879760a3cf69d9a48c7ae08b6971eb96ae7e973fa4d22002039b546590262\",\"step\":0}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"42e8909f556c4557eeb9b6b60d14209ecaafc4dffd191ac77b2e99e88805221a\",\"width\":8},\"params\":{},\"party\":1,\"prev\":\"d2b0576f27f28c0adf54c945acf85fdb780e2fb98bdfc1c63c7a4c2edfdcc455\",\"region\":[{\"h\":2,\"w\":3,\"x\":2,\"y\":1},{\"h\":1,\"w\":2,\"x\":5,\"y\":4}],\"seq\":1,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"34451e4e29bdef7402b9c4070c611b18dbfa1d9cfd04528aab1d9541b946374dfc59a746ed5df6c5421f1cbc335fe65d1978f14af9713de413f9dd1b7e8fb40c\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "proof": [ + "05feabecad5dccde03a732abeadb8509061da9400bd37de4930f9eef582cc718", + "1253b3fdb178c6577638adec86a5c20800a5e95cd7af39cfeae404a78a46a796" + ] + }, + { + "step": "{\"act\":\"transform\",\"check\":\"attest\",\"inputs\":[{\"samples\":\"42e8909f556c4557eeb9b6b60d14209ecaafc4dffd191ac77b2e99e88805221a\",\"step\":1}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":4,\"samples\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"width\":6},\"params\":{\"derivation\":\"wai.derive.crop\",\"params\":{\"h\":4,\"w\":6,\"x\":1,\"y\":1}},\"party\":0,\"prev\":\"8062364c2fc760a54f6852d468b63400b62a8871cf6fc94110796620d2626d79\",\"region\":null,\"seq\":2,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"ecf0f6ea30c4072ff923961485717437812e60e9261b69f8235456cca0d78529cf65139f6bc76ada27b15d3197d3df00004ca8c90eb80416752274a85285da04\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "63c4467d39c4bfdfdec4750ba1c3147909ff1f30a293173a389b7bbde600e148", + "ad1b48e9ac9cec5aaf434f4b80be9a16e7e3823f7dee7417b49d5eb09f74f422" + ] + } + ], + "map": "{\"height\":4,\"kind\":\"wai-authorship-map\",\"output\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"palette\":[{\"directed_by\":[0],\"made_by\":[0]},{\"directed_by\":[0],\"made_by\":[1]}],\"rows\":[[[0,1],[1,3],[0,2]],[[0,1],[1,3],[0,2]],[[0,6]],[[0,4],[1,2]]],\"width\":6}", + "openings": [], + "states": [ + "0d1d3ed84439e6b8290ac53a929a9d0bbb23f77a846cc30d3e7138c921a13828374a02675b15eb568a7e2d9367e55fd5e68d6094f01ce8d7d851f2563a283ddb9a7ff533b99f121a31aa2a47a59649f213c65626aa95c589af77518e06d5c96e86732a066e27a6ea92f5426716b09ae8a2b2beb98dd19512bfce11b59bc1c7293827acfb1d3a8fc061fadfe922f5c6d2", + "0d1d3ed84439e6b8290ac53a929a9d0bbb23f77a846cc30d3e7138c921a129b8bbf6bfe98beab3568a7e2d9367e55fd5e68d6094f01cea6da5d5ac55651fb1db9a7ff533b99f121a31aa2a47a59649f213c65626aa95c589af77518e06d5c96e86732a066e27a6ea92f5426716b09a7c34c5e6a158d19512bfce11b59bc1c7293827acfb1d3a8fc061fadfe922f5c6d2", + "c921a129b8bbf6bfe98beab3568a7e2d936794f01cea6da5d5ac55651fb1db9a7ff533b947a59649f213c65626aa95c589af77518e06066e27a6ea92f5426716b09a7c34c5e6a158" + ], + "models": [ + "963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e" + ], + "origins": [], + "outcome": "refuse", + "reason": "check_mismatch", + "at": [ + "step", + 2 + ] + }, + { + "name": "params_invalid", + "about": "a crop whose region lies outside its input (§4.5)", + "policy": { + "tier": "stated" + }, + "session": "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-session\",\"media\":\"image\",\"parties\":[{\"key\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\",\"role\":\"human\"},{\"key\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\",\"role\":\"human\"},{\"digest\":\"963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e\",\"role\":\"model\",\"type\":\"algorithmic\"},{\"digest\":\"af0cc7d1226d60c32186ea7d6abdd4f4f71737d99f94c2a9b6f57e1cd5f63d25\",\"role\":\"model\",\"type\":\"trained\"},{\"key\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\",\"role\":\"audience\"}],\"session\":\"1f5468f138d3eb6c3e24da1191644ff1cb06acf6b71088a1103bc6b61c04b2fc\",\"sig\":\"5bfbdf93e31d65fbdeb5bf3c70ec0cf5dfea6a694ff8e86d53b462cbeccae1d51144375c1559cf49611f71b2ef1fa25bee1017f887c4047cf82b99bfef8e6f0a\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"tool\":\"conformance-studio/1\"}", + "memberships": [ + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":0,\"session\":\"51ec013035d49c282dfea5bb7a50f0a5e1c30668451914d1cc67bf28b7c4f963\",\"sig\":\"2b5565aa2589abf9af000b47366f5f8fde77eec4b50dbed9fb9052a3556ebc39abf1af0b1056ddc3f177a1b840a009f1508c887285d3988f2f9ad53a4715d409\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":1,\"session\":\"51ec013035d49c282dfea5bb7a50f0a5e1c30668451914d1cc67bf28b7c4f963\",\"sig\":\"9c3266c7390a16ff55e81884635e8406b51064a109664b2179411c4a52c2a9cd981bcb6e3c7d6017b3d0c52b95d957480880c6a711b5ba6c0eabca55b698020b\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":4,\"session\":\"51ec013035d49c282dfea5bb7a50f0a5e1c30668451914d1cc67bf28b7c4f963\",\"sig\":\"0838c4959b359bbc0704e257c114db23c42fd7163c45c663c9dbe49bde58353badcc8d1908564c28f87a272b46404ae92979048b339c98371f72e2a92f235600\",\"signer_pubkey\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\"}" + ], + "record": "{\"estimates\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-contribution\",\"map\":\"7b52b2abc1eced99149dcec2f3e19db0e39ae38345f5262f873f9d1c40e9b810\",\"origin\":null,\"output\":{\"content_hash\":null,\"height\":4,\"samples\":\"a1d0da764b40e0395078317f07c0ee157c5ae0548308973b2c46801821d270f7\",\"step\":1,\"width\":6},\"root\":\"974070f139acf9771de5c249c00a4cb94f0cde622d956c73d53a7a77fa24efb7\",\"session\":\"51ec013035d49c282dfea5bb7a50f0a5e1c30668451914d1cc67bf28b7c4f963\",\"sig\":\"40347eeef62cc2478ca61fb2093c7dfa7d017fdced272fa0eccef83976448fdbe45c8db7ddda08c159affad0910913e15df7536a24695d346225efc2f6135e0b\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"steps\":2}", + "steps": [ + { + "step": "{\"act\":\"author\",\"check\":\"replicate\",\"inputs\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"47a63e0f0a5f7aca2563ce1cd0c15b7feec6fa6e88c5debb6a65b06a70016f4c\",\"width\":8},\"params\":{\"source\":\"digitalCreation\"},\"party\":0,\"prev\":null,\"region\":null,\"seq\":0,\"session\":\"51ec013035d49c282dfea5bb7a50f0a5e1c30668451914d1cc67bf28b7c4f963\",\"sig\":\"9ba17ea68883045756f365cb7ae898837048699769a337c8cd2a3cb5d176e39d76e345b41183e846a335c02c24c0075cb00e9245796623deb443c029a26f7807\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "2a02ade7f6d14249aaa48af709d60d80becd54f2e26aeb09bc2f710115e6c0d8" + ] + }, + { + "step": "{\"act\":\"transform\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"47a63e0f0a5f7aca2563ce1cd0c15b7feec6fa6e88c5debb6a65b06a70016f4c\",\"step\":0}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":4,\"samples\":\"a1d0da764b40e0395078317f07c0ee157c5ae0548308973b2c46801821d270f7\",\"width\":6},\"params\":{\"derivation\":\"wai.derive.crop\",\"params\":{\"h\":4,\"w\":6,\"x\":4,\"y\":1}},\"party\":0,\"prev\":\"ba5be295cd800c4d6496e40c58433df28d528a707af3fc41ebf90c668536f87a\",\"region\":null,\"seq\":1,\"session\":\"51ec013035d49c282dfea5bb7a50f0a5e1c30668451914d1cc67bf28b7c4f963\",\"sig\":\"341d3832c619a9a3df261ed293f2593fe94216f54b9777333c45667e24a763de531eb6776d5c452b8ad1943014b63bc41503f70aaf9d0b578074291352b49e09\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "357e408a83b883aff5769a2719302c4d886074810f1e29b38c7986114ac388d6" + ] + } + ], + "map": "{\"height\":4,\"kind\":\"wai-authorship-map\",\"output\":\"a1d0da764b40e0395078317f07c0ee157c5ae0548308973b2c46801821d270f7\",\"palette\":[{\"directed_by\":[0],\"made_by\":[0]}],\"rows\":[[[0,6]],[[0,6]],[[0,6]],[[0,6]]],\"width\":6}", + "openings": [], + "states": [ + "d76013844700e458067cdbbfe39109669c07bc06c381eb2419a1a70c08054a719ec4461ebbe6c4ed8e7f4467835c12c9b4bf4b8d845dabb2dc3674abeb089908986319bf99c95dd91de4298b926cec888b26fc138e075e60a975d177b57daa747fb35e4bac23ed35a5f3ae14b418c917396f25c331b0e0b83a463060364deea65e1f9d474b5b26a2d3f948d90d2c16ab", + "cfaa9bf1f2efccd2be47c00ffdb8d987f6788574aad2df9eabbe87752db65c257e98db8c9b94df47e45bd1d25c0ec2439324063256067861a0906b1f711ad43543c87ffcdd6aee61" + ], + "models": [ + "963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e" + ], + "origins": [], + "outcome": "refuse", + "reason": "params_invalid", + "at": [ + "step", + 1 + ] + }, + { + "name": "chain_broken", + "about": "a gap in the chain: the steps are numbered 0, 1 and 3, and the record counts three (§5.1)", + "policy": { + "tier": "stated" + }, + "session": "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-session\",\"media\":\"image\",\"parties\":[{\"key\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\",\"role\":\"human\"},{\"key\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\",\"role\":\"human\"},{\"digest\":\"963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e\",\"role\":\"model\",\"type\":\"algorithmic\"},{\"digest\":\"af0cc7d1226d60c32186ea7d6abdd4f4f71737d99f94c2a9b6f57e1cd5f63d25\",\"role\":\"model\",\"type\":\"trained\"},{\"key\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\",\"role\":\"audience\"}],\"session\":\"ba8343191c03771d24b7824ef8bd7179b3636d877fa8e6139992a7f5b697fe83\",\"sig\":\"98c1ee158f4a39cb257612d4e86f66fdea2b252cb682d469b944d2fc4a3513006c4a83a92237c1683895dfca660577f9e93b01ccab062b09c50d457ed24fff03\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"tool\":\"conformance-studio/1\"}", + "memberships": [ + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":0,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"91c18a1463ce0471fdd019182706f53c05efa1859d1db93c353de9122a3abd108e40965c9c14cbf4be3f40911af82dbddbcc0a144a3a6e7825a8cad8a6cd360c\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":1,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"0e786ad78bda25fe732583bb04e62ec999f9c3f78cd719ee67cb159a3aa5e2b2e8fed6a305100264a392bd920e7753f30d5c9ba99053ec590f8c9c9f8a94f707\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":4,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"8859195c031cbe3863fa98a4bfa0775a0fa5cc10b24814f05ab16aa23ae2d14652bd72942158fa310cf06fbd7f5f0e8be8e79b7985493993516fd978d7d09606\",\"signer_pubkey\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\"}" + ], + "record": "{\"estimates\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-contribution\",\"map\":\"7b57936bf90119925c5a51e2c75c49fc5f4a229dc9693356b484e9dc95ebd5bf\",\"origin\":null,\"output\":{\"content_hash\":\"590634ad26c92bb75ec3709b855abb567c988889acd51e954b48253ca7212074\",\"height\":4,\"samples\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"step\":2,\"width\":6},\"root\":\"acc3f2605f0e7a7f082bc64d6f97d1d4af053482a4090e609abb08b00a9e8c06\",\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"93f983e1382d0b262c6d4a25c415e0a7985984f6562487790f5260aa2dd2bc321b45aa5f2d44d6e2bfb53ea3c300e0271bc31203009c112d40882a0cce36630e\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"steps\":3}", + "steps": [ + { + "step": "{\"act\":\"author\",\"check\":\"replicate\",\"inputs\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"3ee879760a3cf69d9a48c7ae08b6971eb96ae7e973fa4d22002039b546590262\",\"width\":8},\"params\":{\"source\":\"digitalCreation\"},\"party\":0,\"prev\":null,\"region\":null,\"seq\":0,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"8ea7f11877bc720d3fb66c874946222d94968502ddae7dd9616e1e8ac5df2bc5438245b03ff1409f4b4330b06f54746a4ec4680f7d7782906100dc20d854b807\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "245375c1b3eef49019e8eba5a71603dafa53dc4221d07f2c2ce83f3ead4c1831", + "510af45462fc5cd17bb74a712c808261c38b40499983b80c961d271b1c7387cd" + ] + }, + { + "step": "{\"act\":\"edit\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"3ee879760a3cf69d9a48c7ae08b6971eb96ae7e973fa4d22002039b546590262\",\"step\":0}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"42e8909f556c4557eeb9b6b60d14209ecaafc4dffd191ac77b2e99e88805221a\",\"width\":8},\"params\":{},\"party\":1,\"prev\":\"d2b0576f27f28c0adf54c945acf85fdb780e2fb98bdfc1c63c7a4c2edfdcc455\",\"region\":[{\"h\":2,\"w\":3,\"x\":2,\"y\":1},{\"h\":1,\"w\":2,\"x\":5,\"y\":4}],\"seq\":1,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"34451e4e29bdef7402b9c4070c611b18dbfa1d9cfd04528aab1d9541b946374dfc59a746ed5df6c5421f1cbc335fe65d1978f14af9713de413f9dd1b7e8fb40c\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "proof": [ + "05feabecad5dccde03a732abeadb8509061da9400bd37de4930f9eef582cc718", + "510af45462fc5cd17bb74a712c808261c38b40499983b80c961d271b1c7387cd" + ] + }, + { + "step": "{\"act\":\"transform\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"42e8909f556c4557eeb9b6b60d14209ecaafc4dffd191ac77b2e99e88805221a\",\"step\":1}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":4,\"samples\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"width\":6},\"params\":{\"derivation\":\"wai.derive.crop\",\"params\":{\"h\":4,\"w\":6,\"x\":1,\"y\":1}},\"party\":0,\"prev\":\"8062364c2fc760a54f6852d468b63400b62a8871cf6fc94110796620d2626d79\",\"region\":null,\"seq\":3,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"b616503ff2a3ed82b009f8f5253174602f346dbd28dae79a66588be2fa7a2fcf33e9fcbafd3a66719f8fd8f230db20a8237490bf5e31b9daa1d73427b5ae8b01\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "ae0db8ecc7a9c97ded898386cfc0155b4206aef971b7b6b03007c6849b78568f", + "ad1b48e9ac9cec5aaf434f4b80be9a16e7e3823f7dee7417b49d5eb09f74f422" + ] + } + ], + "map": "{\"height\":4,\"kind\":\"wai-authorship-map\",\"output\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"palette\":[{\"directed_by\":[0],\"made_by\":[0]},{\"directed_by\":[0],\"made_by\":[1]}],\"rows\":[[[0,1],[1,3],[0,2]],[[0,1],[1,3],[0,2]],[[0,6]],[[0,4],[1,2]]],\"width\":6}", + "openings": [], + "states": [ + "0d1d3ed84439e6b8290ac53a929a9d0bbb23f77a846cc30d3e7138c921a13828374a02675b15eb568a7e2d9367e55fd5e68d6094f01ce8d7d851f2563a283ddb9a7ff533b99f121a31aa2a47a59649f213c65626aa95c589af77518e06d5c96e86732a066e27a6ea92f5426716b09ae8a2b2beb98dd19512bfce11b59bc1c7293827acfb1d3a8fc061fadfe922f5c6d2", + "0d1d3ed84439e6b8290ac53a929a9d0bbb23f77a846cc30d3e7138c921a129b8bbf6bfe98beab3568a7e2d9367e55fd5e68d6094f01cea6da5d5ac55651fb1db9a7ff533b99f121a31aa2a47a59649f213c65626aa95c589af77518e06d5c96e86732a066e27a6ea92f5426716b09a7c34c5e6a158d19512bfce11b59bc1c7293827acfb1d3a8fc061fadfe922f5c6d2", + "c921a129b8bbf6bfe98beab3568a7e2d936794f01cea6da5d5ac55651fb1db9a7ff533b947a59649f213c65626aa95c589af77518e06066e27a6ea92f5426716b09a7c34c5e6a158" + ], + "models": [ + "963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e" + ], + "origins": [], + "outcome": "refuse", + "reason": "chain_broken", + "at": [ + "step", + 2 + ] + }, + { + "name": "inclusion_failed", + "about": "a step whose inclusion proof has a sibling changed (§5.2)", + "policy": { + "tier": "stated" + }, + "session": "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-session\",\"media\":\"image\",\"parties\":[{\"key\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\",\"role\":\"human\"},{\"key\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\",\"role\":\"human\"},{\"digest\":\"963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e\",\"role\":\"model\",\"type\":\"algorithmic\"},{\"digest\":\"af0cc7d1226d60c32186ea7d6abdd4f4f71737d99f94c2a9b6f57e1cd5f63d25\",\"role\":\"model\",\"type\":\"trained\"},{\"key\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\",\"role\":\"audience\"}],\"session\":\"ba8343191c03771d24b7824ef8bd7179b3636d877fa8e6139992a7f5b697fe83\",\"sig\":\"98c1ee158f4a39cb257612d4e86f66fdea2b252cb682d469b944d2fc4a3513006c4a83a92237c1683895dfca660577f9e93b01ccab062b09c50d457ed24fff03\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"tool\":\"conformance-studio/1\"}", + "memberships": [ + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":0,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"91c18a1463ce0471fdd019182706f53c05efa1859d1db93c353de9122a3abd108e40965c9c14cbf4be3f40911af82dbddbcc0a144a3a6e7825a8cad8a6cd360c\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":1,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"0e786ad78bda25fe732583bb04e62ec999f9c3f78cd719ee67cb159a3aa5e2b2e8fed6a305100264a392bd920e7753f30d5c9ba99053ec590f8c9c9f8a94f707\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":4,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"8859195c031cbe3863fa98a4bfa0775a0fa5cc10b24814f05ab16aa23ae2d14652bd72942158fa310cf06fbd7f5f0e8be8e79b7985493993516fd978d7d09606\",\"signer_pubkey\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\"}" + ], + "record": "{\"estimates\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-contribution\",\"map\":\"7b57936bf90119925c5a51e2c75c49fc5f4a229dc9693356b484e9dc95ebd5bf\",\"origin\":null,\"output\":{\"content_hash\":\"590634ad26c92bb75ec3709b855abb567c988889acd51e954b48253ca7212074\",\"height\":4,\"samples\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"step\":2,\"width\":6},\"root\":\"69f0fec811c3971ba1f39eb0dfbd7aa72855e3b1e1acdb826bce4e189201152c\",\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"66bc492ce568861b10785b03f3abbaf4aa4f2450ab5792bd08eda84c7b290fed6f4e6925fcb30e7fb7f14db960eae0646159bc42dd22818bb489684bc702ca06\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"steps\":3}", + "steps": [ + { + "step": "{\"act\":\"author\",\"check\":\"replicate\",\"inputs\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"3ee879760a3cf69d9a48c7ae08b6971eb96ae7e973fa4d22002039b546590262\",\"width\":8},\"params\":{\"source\":\"digitalCreation\"},\"party\":0,\"prev\":null,\"region\":null,\"seq\":0,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"8ea7f11877bc720d3fb66c874946222d94968502ddae7dd9616e1e8ac5df2bc5438245b03ff1409f4b4330b06f54746a4ec4680f7d7782906100dc20d854b807\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "245375c1b3eef49019e8eba5a71603dafa53dc4221d07f2c2ce83f3ead4c1831", + "1253b3fdb178c6577638adec86a5c20800a5e95cd7af39cfeae404a78a46a796" + ] + }, + { + "step": "{\"act\":\"edit\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"3ee879760a3cf69d9a48c7ae08b6971eb96ae7e973fa4d22002039b546590262\",\"step\":0}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"42e8909f556c4557eeb9b6b60d14209ecaafc4dffd191ac77b2e99e88805221a\",\"width\":8},\"params\":{},\"party\":1,\"prev\":\"d2b0576f27f28c0adf54c945acf85fdb780e2fb98bdfc1c63c7a4c2edfdcc455\",\"region\":[{\"h\":2,\"w\":3,\"x\":2,\"y\":1},{\"h\":1,\"w\":2,\"x\":5,\"y\":4}],\"seq\":1,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"34451e4e29bdef7402b9c4070c611b18dbfa1d9cfd04528aab1d9541b946374dfc59a746ed5df6c5421f1cbc335fe65d1978f14af9713de413f9dd1b7e8fb40c\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "proof": [ + "05fe0becad5dccde03a732abeadb8509061da9400bd37de4930f9eef582cc718", + "1253b3fdb178c6577638adec86a5c20800a5e95cd7af39cfeae404a78a46a796" + ] + }, + { + "step": "{\"act\":\"transform\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"42e8909f556c4557eeb9b6b60d14209ecaafc4dffd191ac77b2e99e88805221a\",\"step\":1}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":4,\"samples\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"width\":6},\"params\":{\"derivation\":\"wai.derive.crop\",\"params\":{\"h\":4,\"w\":6,\"x\":1,\"y\":1}},\"party\":0,\"prev\":\"8062364c2fc760a54f6852d468b63400b62a8871cf6fc94110796620d2626d79\",\"region\":null,\"seq\":2,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"1b2267557ee56cc3fca9cf2f506d779d0a2935f5d780f2ddcfa3020a0ce13e935637b8f75629d1b0a9a10659224ff12b8829fdb20b9799452e1c4eb66af7d404\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "63c4467d39c4bfdfdec4750ba1c3147909ff1f30a293173a389b7bbde600e148", + "ad1b48e9ac9cec5aaf434f4b80be9a16e7e3823f7dee7417b49d5eb09f74f422" + ] + } + ], + "map": "{\"height\":4,\"kind\":\"wai-authorship-map\",\"output\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"palette\":[{\"directed_by\":[0],\"made_by\":[0]},{\"directed_by\":[0],\"made_by\":[1]}],\"rows\":[[[0,1],[1,3],[0,2]],[[0,1],[1,3],[0,2]],[[0,6]],[[0,4],[1,2]]],\"width\":6}", + "openings": [], + "states": [ + "0d1d3ed84439e6b8290ac53a929a9d0bbb23f77a846cc30d3e7138c921a13828374a02675b15eb568a7e2d9367e55fd5e68d6094f01ce8d7d851f2563a283ddb9a7ff533b99f121a31aa2a47a59649f213c65626aa95c589af77518e06d5c96e86732a066e27a6ea92f5426716b09ae8a2b2beb98dd19512bfce11b59bc1c7293827acfb1d3a8fc061fadfe922f5c6d2", + "0d1d3ed84439e6b8290ac53a929a9d0bbb23f77a846cc30d3e7138c921a129b8bbf6bfe98beab3568a7e2d9367e55fd5e68d6094f01cea6da5d5ac55651fb1db9a7ff533b99f121a31aa2a47a59649f213c65626aa95c589af77518e06d5c96e86732a066e27a6ea92f5426716b09a7c34c5e6a158d19512bfce11b59bc1c7293827acfb1d3a8fc061fadfe922f5c6d2", + "c921a129b8bbf6bfe98beab3568a7e2d936794f01cea6da5d5ac55651fb1db9a7ff533b947a59649f213c65626aa95c589af77518e06066e27a6ea92f5426716b09a7c34c5e6a158" + ], + "models": [ + "963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e" + ], + "origins": [], + "outcome": "refuse", + "reason": "inclusion_failed", + "at": [ + "step", + 1 + ] + }, + { + "name": "samples_mismatch", + "about": "a drawing that states 4 × 6 pixels for samples of 8 × 6 (§10.2 step 6)", + "policy": { + "tier": "stated" + }, + "session": "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-session\",\"media\":\"image\",\"parties\":[{\"key\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\",\"role\":\"human\"},{\"key\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\",\"role\":\"human\"},{\"digest\":\"963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e\",\"role\":\"model\",\"type\":\"algorithmic\"},{\"digest\":\"af0cc7d1226d60c32186ea7d6abdd4f4f71737d99f94c2a9b6f57e1cd5f63d25\",\"role\":\"model\",\"type\":\"trained\"},{\"key\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\",\"role\":\"audience\"}],\"session\":\"9b31f01fa1d0ed802d0b31484818264e21d99bcb14469f13e34e10be3e641871\",\"sig\":\"7f480643cafd8243af80b1e0af80c1511ee95b86a33d3c6816d319b8f9b6838dfaf7ecea113ddceb6c25ed868551bf8b8a66340ee2f3b4d0081a655c86ada004\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"tool\":\"conformance-studio/1\"}", + "memberships": [ + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":0,\"session\":\"175a8482202f53243f27dd64af9aa6ff3a303ead1531ce5bc882b2454de72582\",\"sig\":\"0db0803fc10c7aec0185882dde6b65d8e6da1a12a26ccaa0fe43699392abc92fe97df8fbddd2733c6535544679be825c6eedb60a02a85cce1622d2ef6db52602\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":1,\"session\":\"175a8482202f53243f27dd64af9aa6ff3a303ead1531ce5bc882b2454de72582\",\"sig\":\"8636a4b352dd3367c20b5d5415ce48f85c3f96b460674aeb157fb8298a6b1953eb109823177b37e5dba2d0417371f8c6f24ccfa6d1826dd558dfc526b7f36f03\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":4,\"session\":\"175a8482202f53243f27dd64af9aa6ff3a303ead1531ce5bc882b2454de72582\",\"sig\":\"d9c7239cd8fe28f7a2a84f71a1eab70f484afacf8e90a2b7df75188a32b6ec1d0ca13af110366455aed8c738eb1b614e96c22acf70f34d1cfe43eeaeb43ff902\",\"signer_pubkey\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\"}" + ], + "record": "{\"estimates\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-contribution\",\"map\":\"840731d22f3db08aabd239ff66bd408be1b8507becbdd95c771a04aad2ebd710\",\"origin\":null,\"output\":{\"content_hash\":null,\"height\":6,\"samples\":\"5685db610432641c33871e43b43aaea06d34f5fa5e868a9d25744212c14b7880\",\"step\":0,\"width\":4},\"root\":\"bc5eadcbbe8a56230aad005e2c347482f6e8e0f71452fb2833f7307359527ce8\",\"session\":\"175a8482202f53243f27dd64af9aa6ff3a303ead1531ce5bc882b2454de72582\",\"sig\":\"d2c3e10e537ef5e914ed1d3050fd55f2b7a55044ef37f817b83c0e7d2e3397ac0196bae51bf992e8ab6b2c103ea70e24c72fef44e0c50a335165b69e10cd150a\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"steps\":1}", + "steps": [ + { + "step": "{\"act\":\"author\",\"check\":\"replicate\",\"inputs\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"5685db610432641c33871e43b43aaea06d34f5fa5e868a9d25744212c14b7880\",\"width\":4},\"params\":{\"source\":\"digitalCreation\"},\"party\":0,\"prev\":null,\"region\":null,\"seq\":0,\"session\":\"175a8482202f53243f27dd64af9aa6ff3a303ead1531ce5bc882b2454de72582\",\"sig\":\"386d86cb8a1a313183179801a0b6d76559a4b5b28055b09d6dae1b3205f619029319a79fdf08fcdaa82d2cb30efee430af73b15450adf98f87955a4853cd3a07\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [] + } + ], + "map": "{\"height\":6,\"kind\":\"wai-authorship-map\",\"output\":\"5685db610432641c33871e43b43aaea06d34f5fa5e868a9d25744212c14b7880\",\"palette\":[{\"directed_by\":[],\"made_by\":[0]}],\"rows\":[[[0,4]],[[0,4]],[[0,4]],[[0,4]],[[0,4]],[[0,4]]],\"width\":4}", + "openings": [], + "states": [ + "3af5a27df35b9a747d6d2550aec23379003be8001cc7e4cc604009afded0ff931dd2ff71494cf6aaf6c72d4897e46284f23aa5e16f6e4ec094789f171b1ae26b6af74ef2879f77070280e4a89978f0e5e998fd3fd0194c8a3683f6e32988936551d7a59b66c1f7869001567ea2843e6a16007e18e6f64b261bcb3aa147762f0519a2d20045834629f4e2a59ba0e50776" + ], + "models": [ + "963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e" + ], + "origins": [], + "outcome": "refuse", + "reason": "samples_mismatch", + "at": [ + "step", + 0 + ] + }, + { + "name": "input_unknown", + "about": "an edit whose input names the drawing's step with samples that step did not produce (§10.2 step 6)", + "policy": { + "tier": "stated" + }, + "session": "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-session\",\"media\":\"image\",\"parties\":[{\"key\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\",\"role\":\"human\"},{\"key\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\",\"role\":\"human\"},{\"digest\":\"963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e\",\"role\":\"model\",\"type\":\"algorithmic\"},{\"digest\":\"af0cc7d1226d60c32186ea7d6abdd4f4f71737d99f94c2a9b6f57e1cd5f63d25\",\"role\":\"model\",\"type\":\"trained\"},{\"key\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\",\"role\":\"audience\"}],\"session\":\"ba8343191c03771d24b7824ef8bd7179b3636d877fa8e6139992a7f5b697fe83\",\"sig\":\"98c1ee158f4a39cb257612d4e86f66fdea2b252cb682d469b944d2fc4a3513006c4a83a92237c1683895dfca660577f9e93b01ccab062b09c50d457ed24fff03\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"tool\":\"conformance-studio/1\"}", + "memberships": [ + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":0,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"91c18a1463ce0471fdd019182706f53c05efa1859d1db93c353de9122a3abd108e40965c9c14cbf4be3f40911af82dbddbcc0a144a3a6e7825a8cad8a6cd360c\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":1,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"0e786ad78bda25fe732583bb04e62ec999f9c3f78cd719ee67cb159a3aa5e2b2e8fed6a305100264a392bd920e7753f30d5c9ba99053ec590f8c9c9f8a94f707\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":4,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"8859195c031cbe3863fa98a4bfa0775a0fa5cc10b24814f05ab16aa23ae2d14652bd72942158fa310cf06fbd7f5f0e8be8e79b7985493993516fd978d7d09606\",\"signer_pubkey\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\"}" + ], + "record": "{\"estimates\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-contribution\",\"map\":\"7b57936bf90119925c5a51e2c75c49fc5f4a229dc9693356b484e9dc95ebd5bf\",\"origin\":null,\"output\":{\"content_hash\":\"590634ad26c92bb75ec3709b855abb567c988889acd51e954b48253ca7212074\",\"height\":4,\"samples\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"step\":2,\"width\":6},\"root\":\"a3b3a52c1cf908e6eed3db5af897c09de5bf239251f58c9442d606d641c9e3fd\",\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"81926da7ac6f6e4f2ac823c289f0cb1d8c64296a54162354c9f9e06734379f4f17b78495062cb9dde996e4617b414ccfa159cc8ef1117a1e3c9b6d947abaf108\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"steps\":3}", + "steps": [ + { + "step": "{\"act\":\"author\",\"check\":\"replicate\",\"inputs\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"3ee879760a3cf69d9a48c7ae08b6971eb96ae7e973fa4d22002039b546590262\",\"width\":8},\"params\":{\"source\":\"digitalCreation\"},\"party\":0,\"prev\":null,\"region\":null,\"seq\":0,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"8ea7f11877bc720d3fb66c874946222d94968502ddae7dd9616e1e8ac5df2bc5438245b03ff1409f4b4330b06f54746a4ec4680f7d7782906100dc20d854b807\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "6007810e430adc99b04344806a83ea4b2ea5a7040a0bae3caa6c9fa929945e07", + "cec7d3fe1582d127cbdeae38367db291d8fb96a25029ef31633d8e6a180a0808" + ] + }, + { + "step": "{\"act\":\"edit\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"3d1ec9f315fdc53c36d5752289225fac55723e4cf25f4c5f21d78d3897f7a505\",\"step\":0}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"42e8909f556c4557eeb9b6b60d14209ecaafc4dffd191ac77b2e99e88805221a\",\"width\":8},\"params\":{},\"party\":1,\"prev\":\"d2b0576f27f28c0adf54c945acf85fdb780e2fb98bdfc1c63c7a4c2edfdcc455\",\"region\":[{\"h\":2,\"w\":3,\"x\":2,\"y\":1},{\"h\":1,\"w\":2,\"x\":5,\"y\":4}],\"seq\":1,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"72e3961a4539ba65e4ab9dfc92f55ff0c44d8777430c6b510742d57f687f39eb335b725cd570fd0e13757afae96f1addeebec3c628991230cb123c9564f77107\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "proof": [ + "05feabecad5dccde03a732abeadb8509061da9400bd37de4930f9eef582cc718", + "cec7d3fe1582d127cbdeae38367db291d8fb96a25029ef31633d8e6a180a0808" + ] + }, + { + "step": "{\"act\":\"transform\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"42e8909f556c4557eeb9b6b60d14209ecaafc4dffd191ac77b2e99e88805221a\",\"step\":1}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":4,\"samples\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"width\":6},\"params\":{\"derivation\":\"wai.derive.crop\",\"params\":{\"h\":4,\"w\":6,\"x\":1,\"y\":1}},\"party\":0,\"prev\":\"80cc44daa70040fb5c9a658bf1a8c43ce72c5ddd4505b3e216edd7ecc4dcec5b\",\"region\":null,\"seq\":2,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"553902e51785a1c5d304698055f1c05ba1a520b63a260d674bfe7c2793bab8f9cdef9aad572b3a3b5590b5d587846862e64e759fb92d45ce9ae7a6bb512ad505\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "1aa0cb0aed73dda331c812cec58561367ce37b50db65363abb83cb4f1f506f1a", + "e84934c61c5fa036ff847a1bea2a4a768d25c1d59299fe6eaa7b519328a9845c" + ] + } + ], + "map": "{\"height\":4,\"kind\":\"wai-authorship-map\",\"output\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"palette\":[{\"directed_by\":[0],\"made_by\":[0]},{\"directed_by\":[0],\"made_by\":[1]}],\"rows\":[[[0,1],[1,3],[0,2]],[[0,1],[1,3],[0,2]],[[0,6]],[[0,4],[1,2]]],\"width\":6}", + "openings": [], + "states": [ + "0d1d3ed84439e6b8290ac53a929a9d0bbb23f77a846cc30d3e7138c921a13828374a02675b15eb568a7e2d9367e55fd5e68d6094f01ce8d7d851f2563a283ddb9a7ff533b99f121a31aa2a47a59649f213c65626aa95c589af77518e06d5c96e86732a066e27a6ea92f5426716b09ae8a2b2beb98dd19512bfce11b59bc1c7293827acfb1d3a8fc061fadfe922f5c6d2", + "a2012d826ae8ed74db9716fdfcc33d8482378e3e3bd405051110e82bc75645d23fa5c3b6482699fa1ef25f1a139b297510694dcb8a59dc7edbb2fa8215cbf163d8c46485c0af3a4c0e58c927bf4fbc48219b17f3a7a563d656b760aa393ff47baed61fa0b33242ef4576b0f2ba460485e99c737b972f43645af5d0c6c69710140d56d2958386c532abc236501d99696f", + "0d1d3ed84439e6b8290ac53a929a9d0bbb23f77a846cc30d3e7138c921a129b8bbf6bfe98beab3568a7e2d9367e55fd5e68d6094f01cea6da5d5ac55651fb1db9a7ff533b99f121a31aa2a47a59649f213c65626aa95c589af77518e06d5c96e86732a066e27a6ea92f5426716b09a7c34c5e6a158d19512bfce11b59bc1c7293827acfb1d3a8fc061fadfe922f5c6d2", + "c921a129b8bbf6bfe98beab3568a7e2d936794f01cea6da5d5ac55651fb1db9a7ff533b947a59649f213c65626aa95c589af77518e06066e27a6ea92f5426716b09a7c34c5e6a158" + ], + "models": [ + "963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e" + ], + "origins": [], + "outcome": "refuse", + "reason": "input_unknown", + "at": [ + "step", + 1 + ] + }, + { + "name": "selection_not_in_set", + "about": "a selected output that is not a member of the committed set: the picture of seed 3, where the set holds seeds 1 and 2 (§4.2)", + "policy": { + "tier": "stated" + }, + "session": "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-session\",\"media\":\"image\",\"parties\":[{\"key\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\",\"role\":\"human\"},{\"key\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\",\"role\":\"human\"},{\"digest\":\"963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e\",\"role\":\"model\",\"type\":\"algorithmic\"},{\"digest\":\"af0cc7d1226d60c32186ea7d6abdd4f4f71737d99f94c2a9b6f57e1cd5f63d25\",\"role\":\"model\",\"type\":\"trained\"},{\"key\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\",\"role\":\"audience\"}],\"session\":\"97c7cd5455006ae3396378ec1600e504aed6a3ae62372c7651eec20db831c187\",\"sig\":\"172e0eada525975eda85aa82667c60d67bd2faeb458f50d400ccb506a5622be01cec09848504309564574eb6b82f4d9e2485d88f02978b891d19b1eb3597d70f\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"tool\":\"conformance-studio/1\"}", + "memberships": [ + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":0,\"session\":\"68720beac3179bc53e73f6f10495cfe3a2360bc1739e4c9251ce5f6a6f44674a\",\"sig\":\"df523e0df11965e99109a507f7678d9a1224af1b5a26f37d87bad9b0629c33602d834ae5847691a138d9e0f7e0bf5ffc8b25126d6e1be4d9a61979b61ac62601\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":1,\"session\":\"68720beac3179bc53e73f6f10495cfe3a2360bc1739e4c9251ce5f6a6f44674a\",\"sig\":\"c4aa6aeee1f54d700ce8927c31e6bf2fe4474ac97c20ec82192ff8d1bd4b1af3a9dcefa3cfba4e884dedfed44078da13368bc7964c034467a8043f0541612e06\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":4,\"session\":\"68720beac3179bc53e73f6f10495cfe3a2360bc1739e4c9251ce5f6a6f44674a\",\"sig\":\"1573a98325c9844f52ecaf5ae59eccb7d7c90ec7f045c2ad6132fdd49bc2d5f897799fb58d32a45651be71b1b05ab2c2e2be64fbddb720f2b8a3ffdb8b626b08\",\"signer_pubkey\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\"}" + ], + "record": "{\"estimates\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-contribution\",\"map\":\"231dbf979269d89eea4504ddcd27faf214b169fdf4816434ae48ecbc765e9615\",\"origin\":null,\"output\":{\"content_hash\":null,\"height\":6,\"samples\":\"565b3a4aa7ff815f0fb585b94b19419ae6e368a0b02a2ff4e3fcc342aba8461e\",\"step\":1,\"width\":8},\"root\":\"68527ba258509aee0089e69317188c17dd5d23a673b12cd3baed58e794fd33b5\",\"session\":\"68720beac3179bc53e73f6f10495cfe3a2360bc1739e4c9251ce5f6a6f44674a\",\"sig\":\"7be3e7ac411c1a414dfd90031359265cdacc9fdf526bb9ade147ba8898b907dd3a03208968150b24913d90e0d27f1b02780d9a3defc423f12da5b7becafe8a0e\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"steps\":2}", + "steps": [ + { + "step": "{\"act\":\"candidates\",\"check\":\"replicate\",\"inputs\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"set\":[\"eb7d21d6172387fa8e5a7953f08878927175a0d53939a9b5dcbdceb38db56ea5\",\"ead59c0c830935f72953869a290d9a901e1bd96545d12619785e5fd9757fd056\"],\"width\":8},\"params\":{\"generator\":\"wai.generate.spectral\",\"prompt\":\"426086c64da7c1c19c02055132da0ae84a7b3a45b804db95bbe263f5734b3413\",\"prompt_by\":0,\"seeds\":[1,2],\"steps\":1},\"party\":2,\"prev\":null,\"region\":null,\"seq\":0,\"session\":\"68720beac3179bc53e73f6f10495cfe3a2360bc1739e4c9251ce5f6a6f44674a\",\"sig\":\"34db57b285b980e27e5c079ca000d41a5549908458ca7d620ff564eb29f97c0914225a2eed91593320025749b4345a999c0e1c4a910535b924a94b7a037c990d\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\"}", + "proof": [ + "a8ed52142a1cf27419d57b8fc62399b1135d416a50dede0d8f32dd07d339ae93" + ] + }, + { + "step": "{\"act\":\"select\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"565b3a4aa7ff815f0fb585b94b19419ae6e368a0b02a2ff4e3fcc342aba8461e\",\"step\":0}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"565b3a4aa7ff815f0fb585b94b19419ae6e368a0b02a2ff4e3fcc342aba8461e\",\"width\":8},\"params\":{},\"party\":0,\"prev\":\"60a44d399e23e89bd64baa5e7fb2735239127cb5d8c7ed1629c6569605aa03c2\",\"region\":null,\"seq\":1,\"session\":\"68720beac3179bc53e73f6f10495cfe3a2360bc1739e4c9251ce5f6a6f44674a\",\"sig\":\"05cafcf755e462710ead5085e653072f16fc40e3c55bac0130e4f75c245abffd10468b6723e8b7ad8bc78e1e717829042f4b6fe7dd80119b9a7338e2df48f202\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "0743cf0cb1b4fea579b278338c7f24a5b4c34c773ad9c21bd8ba046fbc8406b9" + ] + } + ], + "map": "{\"height\":6,\"kind\":\"wai-authorship-map\",\"output\":\"565b3a4aa7ff815f0fb585b94b19419ae6e368a0b02a2ff4e3fcc342aba8461e\",\"palette\":[{\"directed_by\":[0],\"made_by\":[2]}],\"rows\":[[[0,8]],[[0,8]],[[0,8]],[[0,8]],[[0,8]],[[0,8]]],\"width\":8}", + "openings": [ + "{\"commitment\":\"426086c64da7c1c19c02055132da0ae84a7b3a45b804db95bbe263f5734b3413\",\"salt\":\"a3b062613d3ff73f4d8607aa9b8bedc0a589a6b50ac9d93829f2d59752ea427c\",\"text\":\"a bright spiral of fire\"}" + ], + "states": [ + "2c45a64a4d898d2b797e0ca379367dba0083890f98a3266e5420ad4729af58418a9f0d8b78367e9c009a942d72d00d66702c8d801a94780ea666398776367f863377c0017ea9038c3f45984d3f945a3b8f67368a7a357e87337594336d9e3365461eba6712af8d12926a358a79337f8634759f0e89c10f6f7315a27d268a5e378f83109c79367caa137c8e3b698a297d", + "926c41b04d4b80417b698447d83e3c9b3077685478787f41767251877541c04b41625c76db3e3b873b7b6e7c4bcb62227a754a84694f816a51cd493add3e39687b51df4233ca2d58337f743b79744472744c6c759a5553a05251a55050aa4e4e8418a0ca077eff322c606f64c23d4ef5085eb75d36ae5148f12e3bc970155e7460ca394cc53a4e496c78fa0061f54124", + "90396260368916777f6379432f737071664d136d8a12b1478d5a449548506137872d8f562a776f584e7711ad4b5f8c347a703c7c6f3c88643e603b84267b6f12aa4e57794c3d88514e8a42488c44428f463c9148827e28807f297d802a7b822a3577673e6b6c5b5e656e892c459a3948b71a2564875e4f71555c6b715c5772852e059270449d369620784cba14009a6c" + ], + "models": [ + "963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e" + ], + "origins": [], + "outcome": "refuse", + "reason": "selection_not_in_set", + "at": [ + "step", + 1 + ] + }, + { + "name": "region_invalid", + "about": "a brush edit whose output is 6 × 6 over an input of 8 × 6 (§10.2 step 6)", + "policy": { + "tier": "stated" + }, + "session": "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-session\",\"media\":\"image\",\"parties\":[{\"key\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\",\"role\":\"human\"},{\"key\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\",\"role\":\"human\"},{\"digest\":\"963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e\",\"role\":\"model\",\"type\":\"algorithmic\"},{\"digest\":\"af0cc7d1226d60c32186ea7d6abdd4f4f71737d99f94c2a9b6f57e1cd5f63d25\",\"role\":\"model\",\"type\":\"trained\"},{\"key\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\",\"role\":\"audience\"}],\"session\":\"ba8343191c03771d24b7824ef8bd7179b3636d877fa8e6139992a7f5b697fe83\",\"sig\":\"98c1ee158f4a39cb257612d4e86f66fdea2b252cb682d469b944d2fc4a3513006c4a83a92237c1683895dfca660577f9e93b01ccab062b09c50d457ed24fff03\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"tool\":\"conformance-studio/1\"}", + "memberships": [ + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":0,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"91c18a1463ce0471fdd019182706f53c05efa1859d1db93c353de9122a3abd108e40965c9c14cbf4be3f40911af82dbddbcc0a144a3a6e7825a8cad8a6cd360c\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":1,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"0e786ad78bda25fe732583bb04e62ec999f9c3f78cd719ee67cb159a3aa5e2b2e8fed6a305100264a392bd920e7753f30d5c9ba99053ec590f8c9c9f8a94f707\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":4,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"8859195c031cbe3863fa98a4bfa0775a0fa5cc10b24814f05ab16aa23ae2d14652bd72942158fa310cf06fbd7f5f0e8be8e79b7985493993516fd978d7d09606\",\"signer_pubkey\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\"}" + ], + "record": "{\"estimates\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-contribution\",\"map\":\"597aedf687acb4e9b1df598daf799073f8523e73a29ec1961777b67631a9498b\",\"origin\":null,\"output\":{\"content_hash\":\"590634ad26c92bb75ec3709b855abb567c988889acd51e954b48253ca7212074\",\"height\":4,\"samples\":\"d6e8fd65568875937c73d04821bbb6498c65978d4c04a77c39aaff56937c6a04\",\"step\":2,\"width\":6},\"root\":\"3888674e45770080f6f8c0b753c840bb8314f7f3f22a5ad7b87383ea1705bc17\",\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"935c488787aabaf04d8db0b48bebe8a141b6dc0b6c438b9ff057674268be6fda5a4dffa4f0f2f676d692a94b54a9c7119a0998686237155bb53224de8c068106\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"steps\":3}", + "steps": [ + { + "step": "{\"act\":\"author\",\"check\":\"replicate\",\"inputs\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"3ee879760a3cf69d9a48c7ae08b6971eb96ae7e973fa4d22002039b546590262\",\"width\":8},\"params\":{\"source\":\"digitalCreation\"},\"party\":0,\"prev\":null,\"region\":null,\"seq\":0,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"8ea7f11877bc720d3fb66c874946222d94968502ddae7dd9616e1e8ac5df2bc5438245b03ff1409f4b4330b06f54746a4ec4680f7d7782906100dc20d854b807\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "35d266e67a953e49366d574c3430579782d3a0e5f716016097610bb04931a153", + "6ecaae55a8932ac7958e3e6b35b2b65512b56a3aebf111d6eac8ee94c4b4b589" + ] + }, + { + "step": "{\"act\":\"edit\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"3ee879760a3cf69d9a48c7ae08b6971eb96ae7e973fa4d22002039b546590262\",\"step\":0}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"ce18bc4290cc55f3c68767d880f350e8775b2c1895a78d370f5c1105b25c4b2a\",\"width\":6},\"params\":{},\"party\":1,\"prev\":\"d2b0576f27f28c0adf54c945acf85fdb780e2fb98bdfc1c63c7a4c2edfdcc455\",\"region\":[{\"h\":2,\"w\":3,\"x\":2,\"y\":1}],\"seq\":1,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"4765f307fbea242bc2cd6f92f4ac35c7ea38f15daea029c85fce219804a1c7623b398217b6b0467f7b3c76a6158f08913c969b79cd0c60cf42c6c3f1bd2dae0a\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "proof": [ + "05feabecad5dccde03a732abeadb8509061da9400bd37de4930f9eef582cc718", + "6ecaae55a8932ac7958e3e6b35b2b65512b56a3aebf111d6eac8ee94c4b4b589" + ] + }, + { + "step": "{\"act\":\"transform\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"ce18bc4290cc55f3c68767d880f350e8775b2c1895a78d370f5c1105b25c4b2a\",\"step\":1}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":4,\"samples\":\"d6e8fd65568875937c73d04821bbb6498c65978d4c04a77c39aaff56937c6a04\",\"width\":6},\"params\":{\"derivation\":\"wai.derive.crop\",\"params\":{\"h\":4,\"w\":6,\"x\":1,\"y\":1}},\"party\":0,\"prev\":\"ea07aa8e4fcfc2f05abdeeb283bcce02712916c82057759cac32e47724c05be8\",\"region\":null,\"seq\":2,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"4bfbd1e1c94386d3dad43c56e963af9a64b06a98401915e2ed619631d5875aca820eee60c977a99a2205ed06e9bcf551b031f55f78fc2d34d95fc6c228430502\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "2a610de3e53806f2b74d5cd58dce9caa5cc9717854d530c64f925968c22a9331", + "44cda9fe4b221649fa4b27ef86fca5b6214ca4f9e973a2ca5b7c6056f85faaf4" + ] + } + ], + "map": "{\"height\":4,\"kind\":\"wai-authorship-map\",\"output\":\"d6e8fd65568875937c73d04821bbb6498c65978d4c04a77c39aaff56937c6a04\",\"palette\":[{\"directed_by\":[0],\"made_by\":[0]},{\"directed_by\":[0],\"made_by\":[1]}],\"rows\":[[[0,1],[1,3],[0,2]],[[0,1],[1,3],[0,2]],[[0,6]],[[0,6]]],\"width\":6}", + "openings": [], + "states": [ + "0d1d3ed84439e6b8290ac53a929a9d0bbb23f77a846cc30d3e7138c921a13828374a02675b15eb568a7e2d9367e55fd5e68d6094f01ce8d7d851f2563a283ddb9a7ff533b99f121a31aa2a47a59649f213c65626aa95c589af77518e06d5c96e86732a066e27a6ea92f5426716b09ae8a2b2beb98dd19512bfce11b59bc1c7293827acfb1d3a8fc061fadfe922f5c6d2", + "0d1d3ed84439e6b8290ac53a929a9d0bbb23f77a846cc30d3e7138c921a129b8bbf6bfe98beab3568a7e2d9367e55fd5e68d6094f01cea6da5d5ac55651fb1db9a7ff533b99f121a31aa2a47a59649f213c65626aa95c589af77518e06d5c96e86732a066e27a6ea92f54267", + "7e701018a926722de1091b35a1cba2462527e9f1eaf54a21001d145ad48006174220989591752f2d9ec32d8b5d4cf9083741678c5bcad50492e4accfcb569f1adafbb36d19b949c7" + ], + "models": [ + "963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e" + ], + "origins": [], + "outcome": "refuse", + "reason": "region_invalid", + "at": [ + "step", + 1 + ] + }, + { + "name": "outside_region_changed", + "about": "a sample outside the edit's region changed: the first byte of the edited picture differs from the drawing's (§10.2 step 6)", + "policy": { + "tier": "stated" + }, + "session": "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-session\",\"media\":\"image\",\"parties\":[{\"key\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\",\"role\":\"human\"},{\"key\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\",\"role\":\"human\"},{\"digest\":\"963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e\",\"role\":\"model\",\"type\":\"algorithmic\"},{\"digest\":\"af0cc7d1226d60c32186ea7d6abdd4f4f71737d99f94c2a9b6f57e1cd5f63d25\",\"role\":\"model\",\"type\":\"trained\"},{\"key\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\",\"role\":\"audience\"}],\"session\":\"ba8343191c03771d24b7824ef8bd7179b3636d877fa8e6139992a7f5b697fe83\",\"sig\":\"98c1ee158f4a39cb257612d4e86f66fdea2b252cb682d469b944d2fc4a3513006c4a83a92237c1683895dfca660577f9e93b01ccab062b09c50d457ed24fff03\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"tool\":\"conformance-studio/1\"}", + "memberships": [ + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":0,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"91c18a1463ce0471fdd019182706f53c05efa1859d1db93c353de9122a3abd108e40965c9c14cbf4be3f40911af82dbddbcc0a144a3a6e7825a8cad8a6cd360c\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":1,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"0e786ad78bda25fe732583bb04e62ec999f9c3f78cd719ee67cb159a3aa5e2b2e8fed6a305100264a392bd920e7753f30d5c9ba99053ec590f8c9c9f8a94f707\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":4,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"8859195c031cbe3863fa98a4bfa0775a0fa5cc10b24814f05ab16aa23ae2d14652bd72942158fa310cf06fbd7f5f0e8be8e79b7985493993516fd978d7d09606\",\"signer_pubkey\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\"}" + ], + "record": "{\"estimates\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-contribution\",\"map\":\"7b57936bf90119925c5a51e2c75c49fc5f4a229dc9693356b484e9dc95ebd5bf\",\"origin\":null,\"output\":{\"content_hash\":\"590634ad26c92bb75ec3709b855abb567c988889acd51e954b48253ca7212074\",\"height\":4,\"samples\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"step\":2,\"width\":6},\"root\":\"a2f811c23b5c0a5d9b2986e817b9ea0ce3e4f5fe14e33bd4fb02b428f9210d63\",\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"ebd5f5dcd9bcf0dff55673f8e0ddafa4791922c008f839fb626779e7940df86422a5541a783a2155536bbd61bb7581cf1a872017aeea7b2b628f2da6942bce0c\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"steps\":3}", + "steps": [ + { + "step": "{\"act\":\"author\",\"check\":\"replicate\",\"inputs\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"3ee879760a3cf69d9a48c7ae08b6971eb96ae7e973fa4d22002039b546590262\",\"width\":8},\"params\":{\"source\":\"digitalCreation\"},\"party\":0,\"prev\":null,\"region\":null,\"seq\":0,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"8ea7f11877bc720d3fb66c874946222d94968502ddae7dd9616e1e8ac5df2bc5438245b03ff1409f4b4330b06f54746a4ec4680f7d7782906100dc20d854b807\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "13e174d1581d8d85a02b42bc8a61b5ea89a9d2856e13de79455526cf17c05805", + "1bbf0b4867ab8210847b25fe89eade6b051a2b685dce2de63e7548ec74536900" + ] + }, + { + "step": "{\"act\":\"edit\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"3ee879760a3cf69d9a48c7ae08b6971eb96ae7e973fa4d22002039b546590262\",\"step\":0}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"6d4332218b9bfd6768c5ef47846e8f44e1cd42ece8e6704a21dacd0fa6be57f7\",\"width\":8},\"params\":{},\"party\":1,\"prev\":\"d2b0576f27f28c0adf54c945acf85fdb780e2fb98bdfc1c63c7a4c2edfdcc455\",\"region\":[{\"h\":2,\"w\":3,\"x\":2,\"y\":1},{\"h\":1,\"w\":2,\"x\":5,\"y\":4}],\"seq\":1,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"e3935948daae0fe9c22191dd9662f82e0b692797b59d9cf4be6cc7f1def7c352cccd452288c52ce2dd5a72752a7abe1852c1b2608b921a767168c3c1d2cabb07\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "proof": [ + "05feabecad5dccde03a732abeadb8509061da9400bd37de4930f9eef582cc718", + "1bbf0b4867ab8210847b25fe89eade6b051a2b685dce2de63e7548ec74536900" + ] + }, + { + "step": "{\"act\":\"transform\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"6d4332218b9bfd6768c5ef47846e8f44e1cd42ece8e6704a21dacd0fa6be57f7\",\"step\":1}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":4,\"samples\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"width\":6},\"params\":{\"derivation\":\"wai.derive.crop\",\"params\":{\"h\":4,\"w\":6,\"x\":1,\"y\":1}},\"party\":0,\"prev\":\"51969141fd8ff5c58d17cecb805e92d6f01ba1684ac73d67be011d48111d62dc\",\"region\":null,\"seq\":2,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"e21e53d01eacbc2914175c998c54713450bcc3f1ec5569cf8a3c8d78697014d77fe5a9ab59feb36339ecf6f8f1d7837381d51b716bb59b7007c48246d94d460f\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "6e5e61caf4884a2c6370e6b92491026ac74c744d378c937e87f470e1c8c85a25", + "b6b87bce77bd3d45f0a397436d7c0f4de585f6a20b238f6f6ffecfebebf3f5ba" + ] + } + ], + "map": "{\"height\":4,\"kind\":\"wai-authorship-map\",\"output\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"palette\":[{\"directed_by\":[0],\"made_by\":[0]},{\"directed_by\":[0],\"made_by\":[1]}],\"rows\":[[[0,1],[1,3],[0,2]],[[0,1],[1,3],[0,2]],[[0,6]],[[0,4],[1,2]]],\"width\":6}", + "openings": [], + "states": [ + "0d1d3ed84439e6b8290ac53a929a9d0bbb23f77a846cc30d3e7138c921a13828374a02675b15eb568a7e2d9367e55fd5e68d6094f01ce8d7d851f2563a283ddb9a7ff533b99f121a31aa2a47a59649f213c65626aa95c589af77518e06d5c96e86732a066e27a6ea92f5426716b09ae8a2b2beb98dd19512bfce11b59bc1c7293827acfb1d3a8fc061fadfe922f5c6d2", + "0c1d3ed84439e6b8290ac53a929a9d0bbb23f77a846cc30d3e7138c921a129b8bbf6bfe98beab3568a7e2d9367e55fd5e68d6094f01cea6da5d5ac55651fb1db9a7ff533b99f121a31aa2a47a59649f213c65626aa95c589af77518e06d5c96e86732a066e27a6ea92f5426716b09a7c34c5e6a158d19512bfce11b59bc1c7293827acfb1d3a8fc061fadfe922f5c6d2", + "c921a129b8bbf6bfe98beab3568a7e2d936794f01cea6da5d5ac55651fb1db9a7ff533b947a59649f213c65626aa95c589af77518e06066e27a6ea92f5426716b09a7c34c5e6a158" + ], + "models": [ + "963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e" + ], + "origins": [], + "outcome": "refuse", + "reason": "outside_region_changed", + "at": [ + "step", + 1 + ] + }, + { + "name": "regeneration_mismatch", + "about": "a candidate that does not regenerate: the set holds the picture of seed 3, and the step states seed 4 (§4.5)", + "policy": { + "tier": "stated" + }, + "session": "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-session\",\"media\":\"image\",\"parties\":[{\"key\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\",\"role\":\"human\"},{\"key\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\",\"role\":\"human\"},{\"digest\":\"963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e\",\"role\":\"model\",\"type\":\"algorithmic\"},{\"digest\":\"af0cc7d1226d60c32186ea7d6abdd4f4f71737d99f94c2a9b6f57e1cd5f63d25\",\"role\":\"model\",\"type\":\"trained\"},{\"key\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\",\"role\":\"audience\"}],\"session\":\"97af1afd986c95aeea3bbf11ffa0940289cbda0759f3c735e7f0ea27847fcdc0\",\"sig\":\"29a0d9d9c0b8aa46048ca8ad83ece41304b729afff09ad9025b452fdf01ac6247675dbaa947c359ee21238b5328b431ec5410f36fa945713744f50bc4f631006\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"tool\":\"conformance-studio/1\"}", + "memberships": [ + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":0,\"session\":\"fc5e6d6dc68b92575425f6f17f9c727ad19924eb8a07f73c0ce91411319aaf23\",\"sig\":\"2da2330f1a56c4e71ca2f09d1784d41b221eb6af65c9b1c44c6896b2d5f905b0d479460fcde8b737d0e5d8aa996d366434fd25768995748521aa1e1d61cae709\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":1,\"session\":\"fc5e6d6dc68b92575425f6f17f9c727ad19924eb8a07f73c0ce91411319aaf23\",\"sig\":\"8b1d411d99b72f63e8689ae30635413bc0b695c93cdef12a88ebb1d68eec01fadb5a5fdabf16c0f36d2dd4b0a4544c07c6b3025708be2dc9c37619afab11290f\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":4,\"session\":\"fc5e6d6dc68b92575425f6f17f9c727ad19924eb8a07f73c0ce91411319aaf23\",\"sig\":\"88c15aa3a690d3581c5b42b8d134a5bb32454d3c31057e38d5ebe611b61c5a1ede6d4d8a9ae28bd1db844c4a61400acd67a4fa509e0224ca2cb64e94f94be401\",\"signer_pubkey\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\"}" + ], + "record": "{\"estimates\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-contribution\",\"map\":\"9b84d11f86f90a381734cc43391ff55b40f57509bfd8af1e9c9805d39163f71e\",\"origin\":null,\"output\":{\"content_hash\":null,\"height\":6,\"samples\":\"cbb50f401f7143171133c6dc51bd20697f25e6645ddd9e83f1792de79f1e2176\",\"step\":3,\"width\":8},\"root\":\"ee9fbaf55db74ab4b7f69cab90aa1bb851d29fe3b3d5584e42dae3bedf2070de\",\"session\":\"fc5e6d6dc68b92575425f6f17f9c727ad19924eb8a07f73c0ce91411319aaf23\",\"sig\":\"e66b0b0af9a3453ebb945a93ab4613e48688994d3474c4b477a13957313ce4083ae494946766e800fe80b29f9063773d680313e6f8b6a74c0b8d282ba68cec06\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"steps\":4}", + "steps": [ + { + "step": "{\"act\":\"candidates\",\"check\":\"replicate\",\"inputs\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"set\":[\"eb7d21d6172387fa8e5a7953f08878927175a0d53939a9b5dcbdceb38db56ea5\",\"ead59c0c830935f72953869a290d9a901e1bd96545d12619785e5fd9757fd056\",\"565b3a4aa7ff815f0fb585b94b19419ae6e368a0b02a2ff4e3fcc342aba8461e\"],\"width\":8},\"params\":{\"generator\":\"wai.generate.spectral\",\"prompt\":\"426086c64da7c1c19c02055132da0ae84a7b3a45b804db95bbe263f5734b3413\",\"prompt_by\":0,\"seeds\":[1,2,4],\"steps\":1},\"party\":2,\"prev\":null,\"region\":null,\"seq\":0,\"session\":\"fc5e6d6dc68b92575425f6f17f9c727ad19924eb8a07f73c0ce91411319aaf23\",\"sig\":\"611b42a131bb80d54b5e474c8a11d25809e2d832591f1e72217b63d7798942b23a6c25745e7620c9d0b682d768b564e379fc3005252166a7e33f64827e01aa0f\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\"}", + "proof": [ + "179d169847a0a7cfa675545fe7c70fafe278dbab4c69f302b2bde9b1ed5e2c69", + "dbfb9e231c30c4f78fd13969acad7cddaadec18185f7d4ad25920e168e733dcc" + ] + }, + { + "step": "{\"act\":\"select\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"ead59c0c830935f72953869a290d9a901e1bd96545d12619785e5fd9757fd056\",\"step\":0}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"ead59c0c830935f72953869a290d9a901e1bd96545d12619785e5fd9757fd056\",\"width\":8},\"params\":{},\"party\":4,\"prev\":\"436a6b30bd46966df0c296e57d4e41bb9bb300294a521c8777e34a17819fccc7\",\"region\":null,\"seq\":1,\"session\":\"fc5e6d6dc68b92575425f6f17f9c727ad19924eb8a07f73c0ce91411319aaf23\",\"sig\":\"42b52346a8fbcc6e5a33e8737da6e8023cafcf0b3cda99dc3c6021c8ac01189199d3fc476874811cf33c0e07eff0bfeb23a204cb40e2376bbba41e1709d2120b\",\"signer_pubkey\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\"}", + "proof": [ + "77cf355ce5d8000ca2366122c832e4746c8a7f7bafd0257e025f4e2e8a55a7cb", + "dbfb9e231c30c4f78fd13969acad7cddaadec18185f7d4ad25920e168e733dcc" + ] + }, + { + "step": "{\"act\":\"reject\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"eb7d21d6172387fa8e5a7953f08878927175a0d53939a9b5dcbdceb38db56ea5\",\"step\":0}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":null,\"params\":{},\"party\":0,\"prev\":\"056fd1fe209030de5e942c0d22f863f725689abb68d90ce75f85a2d7703bae89\",\"region\":null,\"seq\":2,\"session\":\"fc5e6d6dc68b92575425f6f17f9c727ad19924eb8a07f73c0ce91411319aaf23\",\"sig\":\"4fb487d94b11a4aed47ffcfb4c4625106743aa21fffc80664eee7bfed85457d9bccd16d8cfe158601e78f7c2f695d735a48d1ffc60f29e2d42275b404165ef0f\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "054425ce04d878a78234175a697a344077ed6f55788b16d1f194ccccca0d94b5", + "782af9afdad761949ee0bff119f546e03dbebf145655d556fd8cd4d778ee92f3" + ] + }, + { + "step": "{\"act\":\"transform\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"ead59c0c830935f72953869a290d9a901e1bd96545d12619785e5fd9757fd056\",\"step\":1}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"cbb50f401f7143171133c6dc51bd20697f25e6645ddd9e83f1792de79f1e2176\",\"width\":8},\"params\":{\"derivation\":\"wai-contribution:lut\",\"params\":{\"table\":\"2828292a2b2b2c2d2e2e2f303131323334343536373738393a3a3b3c3d3d3e3f40404142434344454646474849494a4b4c4c4d4e4f4f505152525354555556575858595a5b5b5c5d5e5e5f606161626364646566676768696a6a6b6c6d6d6e6f70707172737374757676777879797a7b7c7c7d7e7f7f808182828384858586878888898a8b8b8c8d8e8e8f909191929394949596979798999a9a9b9c9d9d9e9fa0a0a1a2a3a3a4a5a6a6a7a8a9a9aaabacacadaeafafb0b1b2b2b3b4b5b5b6b7b8b8b9babbbbbcbdbebebfc0c1c1c2c3c4c4c5c6c7c7c8c9cacacbcccdcdcecfd0d0d1d2d3d3d4d5d6d6d7d8d9d9dadbdcdcdddedfdfe0e1e2e2e3e4e5e5e6e7000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfefffffefdfcfbfaf9f8f7f6f5f4f3f2f1f0efeeedecebeae9e8e7e6e5e4e3e2e1e0dfdedddcdbdad9d8d7d6d5d4d3d2d1d0cfcecdcccbcac9c8c7c6c5c4c3c2c1c0bfbebdbcbbbab9b8b7b6b5b4b3b2b1b0afaeadacabaaa9a8a7a6a5a4a3a2a1a09f9e9d9c9b9a999897969594939291908f8e8d8c8b8a898887868584838281807f7e7d7c7b7a797877767574737271706f6e6d6c6b6a696867666564636261605f5e5d5c5b5a595857565554535251504f4e4d4c4b4a494847464544434241403f3e3d3c3b3a393837363534333231302f2e2d2c2b2a292827262524232221201f1e1d1c1b1a191817161514131211100f0e0d0c0b0a09080706050403020100\"}},\"party\":0,\"prev\":\"05845cc782bca3c38d9fff66dae135b3b13f611a780ca225bd97a6b4012c9e64\",\"region\":null,\"seq\":3,\"session\":\"fc5e6d6dc68b92575425f6f17f9c727ad19924eb8a07f73c0ce91411319aaf23\",\"sig\":\"c8560e0ebeee1cc618a05260b81a9791fec832e0b7fcf6baac312c33583d07b47030f9e797c36063cfba275ebeaa959b660db0100615ad41be4106db0bbf5d0d\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "39013e1c4fe34da4694e7d3db0925cdb723f68a8b4b5ba488dd5f27982ee6bde", + "782af9afdad761949ee0bff119f546e03dbebf145655d556fd8cd4d778ee92f3" + ] + } + ], + "map": "{\"height\":6,\"kind\":\"wai-authorship-map\",\"output\":\"cbb50f401f7143171133c6dc51bd20697f25e6645ddd9e83f1792de79f1e2176\",\"palette\":[{\"directed_by\":[0,4],\"made_by\":[2]}],\"rows\":[[[0,8]],[[0,8]],[[0,8]],[[0,8]],[[0,8]],[[0,8]]],\"width\":8}", + "openings": [ + "{\"commitment\":\"426086c64da7c1c19c02055132da0ae84a7b3a45b804db95bbe263f5734b3413\",\"salt\":\"a3b062613d3ff73f4d8607aa9b8bedc0a589a6b50ac9d93829f2d59752ea427c\",\"text\":\"a bright spiral of fire\"}" + ], + "states": [ + "2c45a64a4d898d2b797e0ca379367dba0083890f98a3266e5420ad4729af58418a9f0d8b78367e9c009a942d72d00d66702c8d801a94780ea666398776367f863377c0017ea9038c3f45984d3f945a3b8f67368a7a357e87337594336d9e3365461eba6712af8d12926a358a79337f8634759f0e89c10f6f7315a27d268a5e378f83109c79367caa137c8e3b698a297d", + "926c41b04d4b80417b698447d83e3c9b3077685478787f41767251877541c04b41625c76db3e3b873b7b6e7c4bcb62227a754a84694f816a51cd493add3e39687b51df4233ca2d58337f743b79744472744c6c759a5553a05251a55050aa4e4e8418a0ca077eff322c606f64c23d4ef5085eb75d36ae5148f12e3bc970155e7460ca394cc53a4e496c78fa0061f54124", + "90396260368916777f6379432f737071664d136d8a12b1478d5a449548506137872d8f562a776f584e7711ad4b5f8c347a703c7c6f3c88643e603b84267b6f12aa4e57794c3d88514e8a42488c44428f463c9148827e28807f297d802a7b822a3577673e6b6c5b5e656e892c459a3948b71a2564875e4f71555c6b715c5772852e059270449d369620784cba14009a6c", + "956cbeac4db48841847684b8ca3ec39c3088765487827fbe8072ae8d75beb84bbe715c89cc3ec48d3b847a7cb4c062dd8375b58b69b0886aaec149c5cd3ec6767baecf42ccbf2da74e7f8b54798b5b728b616c8a9b55aca052aea350afa74eb18b185fbf0781e732d3706f9bb93db1df08a1b15dc9aa51b7dc2ec4be70ea6e749fbf39b3bb3ab15e6c87e3009edf41db" + ], + "models": [ + "963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e" + ], + "origins": [], + "outcome": "refuse", + "reason": "regeneration_mismatch", + "at": [ + "step", + 0 + ] + }, + { + "name": "regeneration_mismatch_inpaint", + "about": "an inpainting whose region does not regenerate: one byte inside the region is not the generator's (§4.5)", + "policy": { + "tier": "stated" + }, + "session": "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-session\",\"media\":\"image\",\"parties\":[{\"key\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\",\"role\":\"human\"},{\"key\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\",\"role\":\"human\"},{\"digest\":\"963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e\",\"role\":\"model\",\"type\":\"algorithmic\"},{\"digest\":\"af0cc7d1226d60c32186ea7d6abdd4f4f71737d99f94c2a9b6f57e1cd5f63d25\",\"role\":\"model\",\"type\":\"trained\"},{\"key\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\",\"role\":\"audience\"}],\"session\":\"fe8bc8548d988c07cc90690099b1d96fe3c01c7ee94600328864e24cbd5989a0\",\"sig\":\"21c99265c1458853d72a085e54c6334ce5560df1810aea602c1743a0b9fa17ef64ef401b409c6bc192cb3c78ba551eacdd37206728b5d8500e3b3e3e18dc9201\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"tool\":\"conformance-studio/1\"}", + "memberships": [ + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":0,\"session\":\"eed602319bb966a624634886808edfc6525835494f3ea5882b453716a2eb65cc\",\"sig\":\"6744bf69fadf7ccab2d972675edf401352f3c2f15b650e9f6ddb40a944a4b7da0e518710c09c9bfa85b996df5fe4d14a1a97fae6f7362cc928030193d9d49802\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":1,\"session\":\"eed602319bb966a624634886808edfc6525835494f3ea5882b453716a2eb65cc\",\"sig\":\"40af74282555d31cce26b320aff97f92a18a5fee05e7eacf969fe46c4237f2685489df637d187afb0be516ec3934d0c94bbce61d7d4885567572f185e9bec20c\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":4,\"session\":\"eed602319bb966a624634886808edfc6525835494f3ea5882b453716a2eb65cc\",\"sig\":\"94a1e8e97017d173931c153f73949751fa59969645dec034c656cdc32a669a70f9b4d0f621423419a3dcef60fc968fd9398738d8c8f88617c7e17aa29569ce01\",\"signer_pubkey\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\"}" + ], + "record": "{\"estimates\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-contribution\",\"map\":\"45e0b84de58e894de53e277425a2d7db015765c9b37c5af42f216708ba3118f3\",\"origin\":null,\"output\":{\"content_hash\":\"59bfead5d6c73420e81fe2cc2bd4b9e8f29675f8f46e9464dbe0165b9be67f69\",\"height\":6,\"samples\":\"6c847e47a5c90af17eaa3f4eb427dc254b12fd86b96f7cc626bd7edaaf7fba08\",\"step\":1,\"width\":8},\"root\":\"3c98a960a8368f6caa1331734075458a2a1a0928af8292f4512b9e5a7907d5a6\",\"session\":\"eed602319bb966a624634886808edfc6525835494f3ea5882b453716a2eb65cc\",\"sig\":\"a54f74acc0d58fdf9a2dca4ba6bace60e63ca6e4f4905106bb71510c15562d74438db2ef58f542160fa0c00f263fa06be71d2560da11666c557eec3d7f195303\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"steps\":2}", + "steps": [ + { + "step": "{\"act\":\"author\",\"check\":\"replicate\",\"inputs\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"40a2d70b508758c89240249c8b3a7fe58e2bc2a6119e2417c2c8f926781a47c2\",\"width\":8},\"params\":{\"source\":\"digitalCapture\"},\"party\":0,\"prev\":null,\"region\":null,\"seq\":0,\"session\":\"eed602319bb966a624634886808edfc6525835494f3ea5882b453716a2eb65cc\",\"sig\":\"1f16c4ec09a2cf6b2f57c1882de9d41e40c3cffbca83e17915aa93c7b2709766fd17dbc2e42c7eadf0a8f60d76d5e1de56158d5ad1feffc3445478602fd6ca08\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "1e196ca1fc4387bb6690a940628c63779afdc45698e055e33ef1e4d863cb4cfb" + ] + }, + { + "step": "{\"act\":\"inpaint\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"40a2d70b508758c89240249c8b3a7fe58e2bc2a6119e2417c2c8f926781a47c2\",\"step\":0}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"6c847e47a5c90af17eaa3f4eb427dc254b12fd86b96f7cc626bd7edaaf7fba08\",\"width\":8},\"params\":{\"generator\":\"wai.generate.spectral\",\"mask_by\":0,\"prompt\":\"298f91f8b7154b4286d301f659536b906142446e4c02efbcbae62cf3ffa53b8b\",\"prompt_by\":1,\"seed\":7,\"steps\":1},\"party\":2,\"prev\":\"612906b63e47fb5bc2c2d1fb53206aa05cc916d4113a4f40ada6d762c6a991e4\",\"region\":[{\"h\":3,\"w\":4,\"x\":3,\"y\":2}],\"seq\":1,\"session\":\"eed602319bb966a624634886808edfc6525835494f3ea5882b453716a2eb65cc\",\"sig\":\"0b7b1d118c16211af6792089754a0898cf2706edb1d0481ed855cb651870627bfa5d9c607bb776cc6d1470ca059662601a8c2db81a59c2ef1ea3b8677654ab05\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\"}", + "proof": [ + "fae599cc0ae864c8d560185de8fb79d20e6da983a7002e52e1d8b9de9705f450" + ] + } + ], + "map": "{\"height\":6,\"kind\":\"wai-authorship-map\",\"output\":\"6c847e47a5c90af17eaa3f4eb427dc254b12fd86b96f7cc626bd7edaaf7fba08\",\"palette\":[{\"directed_by\":[],\"made_by\":[0]},{\"directed_by\":[0,1],\"made_by\":[2]}],\"rows\":[[[0,8]],[[0,8]],[[0,3],[1,4],[0,1]],[[0,3],[1,4],[0,1]],[[0,3],[1,4],[0,1]],[[0,8]]],\"width\":8}", + "openings": [ + "{\"commitment\":\"298f91f8b7154b4286d301f659536b906142446e4c02efbcbae62cf3ffa53b8b\",\"salt\":\"3b8d40cb4e2a97dabde92bc24a3b13f2a909dbd907c3977d6a3198198508e299\",\"text\":\"a calm ocean horizon\"}" + ], + "states": [ + "267629b3040c9f3b1c9610661ac28f85b2191626eba7a6a2e2fa8b4b40c467c164be2c967b341f333d710d86679438f1b88352c0d8e677f174b1573bc60c756b855e0d300556a6aa58eeb26575c9f200f0c38720a23051bd0201dee24ad0283eab78be7903cdca09839b779299ccf11d08342179ec07a075129ebeda0935ecc525ae4fa60aee9a365bea641efa4a8a4d", + "267629b3040c9f3b1c9610661ac28f85b2191626eba7a6a2e2fa8b4b40c467c164be2c967b341f333d710d86679438f1b88352c0d8e677f1748b7c258a7c248b7c238b7d2256a6aa58eeb26575c9f200f0887719897719897818897817d0283eab78be7903cdca098386730e87730d87730d87730c07a075129ebeda0935ecc525ae4fa60aee9a365bea641efa4a8a4d" + ], + "models": [ + "963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e" + ], + "origins": [], + "outcome": "refuse", + "reason": "regeneration_mismatch", + "at": [ + "step", + 1 + ] + }, + { + "name": "recompute_mismatch", + "about": "a crop whose stated output has one byte the crop does not give (§4.5)", + "policy": { + "tier": "stated" + }, + "session": "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-session\",\"media\":\"image\",\"parties\":[{\"key\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\",\"role\":\"human\"},{\"key\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\",\"role\":\"human\"},{\"digest\":\"963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e\",\"role\":\"model\",\"type\":\"algorithmic\"},{\"digest\":\"af0cc7d1226d60c32186ea7d6abdd4f4f71737d99f94c2a9b6f57e1cd5f63d25\",\"role\":\"model\",\"type\":\"trained\"},{\"key\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\",\"role\":\"audience\"}],\"session\":\"ba8343191c03771d24b7824ef8bd7179b3636d877fa8e6139992a7f5b697fe83\",\"sig\":\"98c1ee158f4a39cb257612d4e86f66fdea2b252cb682d469b944d2fc4a3513006c4a83a92237c1683895dfca660577f9e93b01ccab062b09c50d457ed24fff03\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"tool\":\"conformance-studio/1\"}", + "memberships": [ + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":0,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"91c18a1463ce0471fdd019182706f53c05efa1859d1db93c353de9122a3abd108e40965c9c14cbf4be3f40911af82dbddbcc0a144a3a6e7825a8cad8a6cd360c\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":1,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"0e786ad78bda25fe732583bb04e62ec999f9c3f78cd719ee67cb159a3aa5e2b2e8fed6a305100264a392bd920e7753f30d5c9ba99053ec590f8c9c9f8a94f707\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":4,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"8859195c031cbe3863fa98a4bfa0775a0fa5cc10b24814f05ab16aa23ae2d14652bd72942158fa310cf06fbd7f5f0e8be8e79b7985493993516fd978d7d09606\",\"signer_pubkey\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\"}" + ], + "record": "{\"estimates\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-contribution\",\"map\":\"93feb5497c428083448c5b8ca09c1af31b6b116d5578b2721416f9f174896bc0\",\"origin\":null,\"output\":{\"content_hash\":\"590634ad26c92bb75ec3709b855abb567c988889acd51e954b48253ca7212074\",\"height\":4,\"samples\":\"6ae59f29691c265ce86b06ff50c1b4302fd7c4e613bec3164c906f1e8380f0a0\",\"step\":2,\"width\":6},\"root\":\"2c4bb6cbbd9ae445692f3033f902f176d85530836c2e82a448a4357eb0ab8709\",\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"93c52a8944e62ea24c9a2f6764ffd5d9480d10bd172b91ae3bf53fe8372626865059c0d989f3a8ee27dd4f1bd597a0ed58f81a8c72b7683b40c73afb60f56509\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"steps\":3}", + "steps": [ + { + "step": "{\"act\":\"author\",\"check\":\"replicate\",\"inputs\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"3ee879760a3cf69d9a48c7ae08b6971eb96ae7e973fa4d22002039b546590262\",\"width\":8},\"params\":{\"source\":\"digitalCreation\"},\"party\":0,\"prev\":null,\"region\":null,\"seq\":0,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"8ea7f11877bc720d3fb66c874946222d94968502ddae7dd9616e1e8ac5df2bc5438245b03ff1409f4b4330b06f54746a4ec4680f7d7782906100dc20d854b807\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "245375c1b3eef49019e8eba5a71603dafa53dc4221d07f2c2ce83f3ead4c1831", + "8e5438c7931ba36f313336699d0cecf61b8767de3fa73fa8c2a199007b5b110b" + ] + }, + { + "step": "{\"act\":\"edit\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"3ee879760a3cf69d9a48c7ae08b6971eb96ae7e973fa4d22002039b546590262\",\"step\":0}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"42e8909f556c4557eeb9b6b60d14209ecaafc4dffd191ac77b2e99e88805221a\",\"width\":8},\"params\":{},\"party\":1,\"prev\":\"d2b0576f27f28c0adf54c945acf85fdb780e2fb98bdfc1c63c7a4c2edfdcc455\",\"region\":[{\"h\":2,\"w\":3,\"x\":2,\"y\":1},{\"h\":1,\"w\":2,\"x\":5,\"y\":4}],\"seq\":1,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"34451e4e29bdef7402b9c4070c611b18dbfa1d9cfd04528aab1d9541b946374dfc59a746ed5df6c5421f1cbc335fe65d1978f14af9713de413f9dd1b7e8fb40c\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "proof": [ + "05feabecad5dccde03a732abeadb8509061da9400bd37de4930f9eef582cc718", + "8e5438c7931ba36f313336699d0cecf61b8767de3fa73fa8c2a199007b5b110b" + ] + }, + { + "step": "{\"act\":\"transform\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"42e8909f556c4557eeb9b6b60d14209ecaafc4dffd191ac77b2e99e88805221a\",\"step\":1}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":4,\"samples\":\"6ae59f29691c265ce86b06ff50c1b4302fd7c4e613bec3164c906f1e8380f0a0\",\"width\":6},\"params\":{\"derivation\":\"wai.derive.crop\",\"params\":{\"h\":4,\"w\":6,\"x\":1,\"y\":1}},\"party\":0,\"prev\":\"8062364c2fc760a54f6852d468b63400b62a8871cf6fc94110796620d2626d79\",\"region\":null,\"seq\":2,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"5aa47effa3964cfae0af9ff4fd061fa6ba62dd8124ee678c999eae379af85376ce5ea1cf657cbdf48933e21f8b60c8dbbea87b5ad645d096ca5558913eb3b00a\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "54586413715ca72255dc5ccdde704f5f93394863d2de5eb206fc84b60254a3c5", + "ad1b48e9ac9cec5aaf434f4b80be9a16e7e3823f7dee7417b49d5eb09f74f422" + ] + } + ], + "map": "{\"height\":4,\"kind\":\"wai-authorship-map\",\"output\":\"6ae59f29691c265ce86b06ff50c1b4302fd7c4e613bec3164c906f1e8380f0a0\",\"palette\":[{\"directed_by\":[0],\"made_by\":[0]},{\"directed_by\":[0],\"made_by\":[1]}],\"rows\":[[[0,1],[1,3],[0,2]],[[0,1],[1,3],[0,2]],[[0,6]],[[0,4],[1,2]]],\"width\":6}", + "openings": [], + "states": [ + "0d1d3ed84439e6b8290ac53a929a9d0bbb23f77a846cc30d3e7138c921a13828374a02675b15eb568a7e2d9367e55fd5e68d6094f01ce8d7d851f2563a283ddb9a7ff533b99f121a31aa2a47a59649f213c65626aa95c589af77518e06d5c96e86732a066e27a6ea92f5426716b09ae8a2b2beb98dd19512bfce11b59bc1c7293827acfb1d3a8fc061fadfe922f5c6d2", + "0d1d3ed84439e6b8290ac53a929a9d0bbb23f77a846cc30d3e7138c921a129b8bbf6bfe98beab3568a7e2d9367e55fd5e68d6094f01cea6da5d5ac55651fb1db9a7ff533b99f121a31aa2a47a59649f213c65626aa95c589af77518e06d5c96e86732a066e27a6ea92f5426716b09a7c34c5e6a158d19512bfce11b59bc1c7293827acfb1d3a8fc061fadfe922f5c6d2", + "c921a129b8abf6bfe98beab3568a7e2d936794f01cea6da5d5ac55651fb1db9a7ff533b947a59649f213c65626aa95c589af77518e06066e27a6ea92f5426716b09a7c34c5e6a158" + ], + "models": [ + "963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e" + ], + "origins": [], + "outcome": "refuse", + "reason": "recompute_mismatch", + "at": [ + "step", + 2 + ] + }, + { + "name": "output_mismatch", + "about": "a record naming the edit's step for the crop's output (§10.2 step 7)", + "policy": { + "tier": "stated" + }, + "session": "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-session\",\"media\":\"image\",\"parties\":[{\"key\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\",\"role\":\"human\"},{\"key\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\",\"role\":\"human\"},{\"digest\":\"963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e\",\"role\":\"model\",\"type\":\"algorithmic\"},{\"digest\":\"af0cc7d1226d60c32186ea7d6abdd4f4f71737d99f94c2a9b6f57e1cd5f63d25\",\"role\":\"model\",\"type\":\"trained\"},{\"key\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\",\"role\":\"audience\"}],\"session\":\"ba8343191c03771d24b7824ef8bd7179b3636d877fa8e6139992a7f5b697fe83\",\"sig\":\"98c1ee158f4a39cb257612d4e86f66fdea2b252cb682d469b944d2fc4a3513006c4a83a92237c1683895dfca660577f9e93b01ccab062b09c50d457ed24fff03\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"tool\":\"conformance-studio/1\"}", + "memberships": [ + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":0,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"91c18a1463ce0471fdd019182706f53c05efa1859d1db93c353de9122a3abd108e40965c9c14cbf4be3f40911af82dbddbcc0a144a3a6e7825a8cad8a6cd360c\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":1,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"0e786ad78bda25fe732583bb04e62ec999f9c3f78cd719ee67cb159a3aa5e2b2e8fed6a305100264a392bd920e7753f30d5c9ba99053ec590f8c9c9f8a94f707\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":4,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"8859195c031cbe3863fa98a4bfa0775a0fa5cc10b24814f05ab16aa23ae2d14652bd72942158fa310cf06fbd7f5f0e8be8e79b7985493993516fd978d7d09606\",\"signer_pubkey\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\"}" + ], + "record": "{\"estimates\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-contribution\",\"map\":\"7b57936bf90119925c5a51e2c75c49fc5f4a229dc9693356b484e9dc95ebd5bf\",\"origin\":null,\"output\":{\"content_hash\":\"590634ad26c92bb75ec3709b855abb567c988889acd51e954b48253ca7212074\",\"height\":4,\"samples\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"step\":1,\"width\":6},\"root\":\"69f0fec811c3971ba1f39eb0dfbd7aa72855e3b1e1acdb826bce4e189201152c\",\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"ead13ed92fe128b8ca95c67ded5ab287c3ddffc3f281c319ed4fccdbc9ec758192f9e0f2ee1aaafcb130702dba2a2a19f5afc5e2a6f90076f2253c15bd2f0203\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"steps\":3}", + "steps": [ + { + "step": "{\"act\":\"author\",\"check\":\"replicate\",\"inputs\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"3ee879760a3cf69d9a48c7ae08b6971eb96ae7e973fa4d22002039b546590262\",\"width\":8},\"params\":{\"source\":\"digitalCreation\"},\"party\":0,\"prev\":null,\"region\":null,\"seq\":0,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"8ea7f11877bc720d3fb66c874946222d94968502ddae7dd9616e1e8ac5df2bc5438245b03ff1409f4b4330b06f54746a4ec4680f7d7782906100dc20d854b807\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "245375c1b3eef49019e8eba5a71603dafa53dc4221d07f2c2ce83f3ead4c1831", + "1253b3fdb178c6577638adec86a5c20800a5e95cd7af39cfeae404a78a46a796" + ] + }, + { + "step": "{\"act\":\"edit\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"3ee879760a3cf69d9a48c7ae08b6971eb96ae7e973fa4d22002039b546590262\",\"step\":0}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"42e8909f556c4557eeb9b6b60d14209ecaafc4dffd191ac77b2e99e88805221a\",\"width\":8},\"params\":{},\"party\":1,\"prev\":\"d2b0576f27f28c0adf54c945acf85fdb780e2fb98bdfc1c63c7a4c2edfdcc455\",\"region\":[{\"h\":2,\"w\":3,\"x\":2,\"y\":1},{\"h\":1,\"w\":2,\"x\":5,\"y\":4}],\"seq\":1,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"34451e4e29bdef7402b9c4070c611b18dbfa1d9cfd04528aab1d9541b946374dfc59a746ed5df6c5421f1cbc335fe65d1978f14af9713de413f9dd1b7e8fb40c\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "proof": [ + "05feabecad5dccde03a732abeadb8509061da9400bd37de4930f9eef582cc718", + "1253b3fdb178c6577638adec86a5c20800a5e95cd7af39cfeae404a78a46a796" + ] + }, + { + "step": "{\"act\":\"transform\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"42e8909f556c4557eeb9b6b60d14209ecaafc4dffd191ac77b2e99e88805221a\",\"step\":1}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":4,\"samples\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"width\":6},\"params\":{\"derivation\":\"wai.derive.crop\",\"params\":{\"h\":4,\"w\":6,\"x\":1,\"y\":1}},\"party\":0,\"prev\":\"8062364c2fc760a54f6852d468b63400b62a8871cf6fc94110796620d2626d79\",\"region\":null,\"seq\":2,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"1b2267557ee56cc3fca9cf2f506d779d0a2935f5d780f2ddcfa3020a0ce13e935637b8f75629d1b0a9a10659224ff12b8829fdb20b9799452e1c4eb66af7d404\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "63c4467d39c4bfdfdec4750ba1c3147909ff1f30a293173a389b7bbde600e148", + "ad1b48e9ac9cec5aaf434f4b80be9a16e7e3823f7dee7417b49d5eb09f74f422" + ] + } + ], + "map": "{\"height\":4,\"kind\":\"wai-authorship-map\",\"output\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"palette\":[{\"directed_by\":[0],\"made_by\":[0]},{\"directed_by\":[0],\"made_by\":[1]}],\"rows\":[[[0,1],[1,3],[0,2]],[[0,1],[1,3],[0,2]],[[0,6]],[[0,4],[1,2]]],\"width\":6}", + "openings": [], + "states": [ + "0d1d3ed84439e6b8290ac53a929a9d0bbb23f77a846cc30d3e7138c921a13828374a02675b15eb568a7e2d9367e55fd5e68d6094f01ce8d7d851f2563a283ddb9a7ff533b99f121a31aa2a47a59649f213c65626aa95c589af77518e06d5c96e86732a066e27a6ea92f5426716b09ae8a2b2beb98dd19512bfce11b59bc1c7293827acfb1d3a8fc061fadfe922f5c6d2", + "0d1d3ed84439e6b8290ac53a929a9d0bbb23f77a846cc30d3e7138c921a129b8bbf6bfe98beab3568a7e2d9367e55fd5e68d6094f01cea6da5d5ac55651fb1db9a7ff533b99f121a31aa2a47a59649f213c65626aa95c589af77518e06d5c96e86732a066e27a6ea92f5426716b09a7c34c5e6a158d19512bfce11b59bc1c7293827acfb1d3a8fc061fadfe922f5c6d2", + "c921a129b8bbf6bfe98beab3568a7e2d936794f01cea6da5d5ac55651fb1db9a7ff533b947a59649f213c65626aa95c589af77518e06066e27a6ea92f5426716b09a7c34c5e6a158" + ], + "models": [ + "963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e" + ], + "origins": [], + "outcome": "refuse", + "reason": "output_mismatch", + "at": [ + "record" + ] + }, + { + "name": "map_unbound", + "about": "the map of another session's output given with the record (§7.3)", + "policy": { + "tier": "stated" + }, + "session": "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-session\",\"media\":\"image\",\"parties\":[{\"key\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\",\"role\":\"human\"},{\"key\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\",\"role\":\"human\"},{\"digest\":\"963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e\",\"role\":\"model\",\"type\":\"algorithmic\"},{\"digest\":\"af0cc7d1226d60c32186ea7d6abdd4f4f71737d99f94c2a9b6f57e1cd5f63d25\",\"role\":\"model\",\"type\":\"trained\"},{\"key\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\",\"role\":\"audience\"}],\"session\":\"ba8343191c03771d24b7824ef8bd7179b3636d877fa8e6139992a7f5b697fe83\",\"sig\":\"98c1ee158f4a39cb257612d4e86f66fdea2b252cb682d469b944d2fc4a3513006c4a83a92237c1683895dfca660577f9e93b01ccab062b09c50d457ed24fff03\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"tool\":\"conformance-studio/1\"}", + "memberships": [ + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":0,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"91c18a1463ce0471fdd019182706f53c05efa1859d1db93c353de9122a3abd108e40965c9c14cbf4be3f40911af82dbddbcc0a144a3a6e7825a8cad8a6cd360c\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":1,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"0e786ad78bda25fe732583bb04e62ec999f9c3f78cd719ee67cb159a3aa5e2b2e8fed6a305100264a392bd920e7753f30d5c9ba99053ec590f8c9c9f8a94f707\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":4,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"8859195c031cbe3863fa98a4bfa0775a0fa5cc10b24814f05ab16aa23ae2d14652bd72942158fa310cf06fbd7f5f0e8be8e79b7985493993516fd978d7d09606\",\"signer_pubkey\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\"}" + ], + "record": "{\"estimates\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-contribution\",\"map\":\"7b57936bf90119925c5a51e2c75c49fc5f4a229dc9693356b484e9dc95ebd5bf\",\"origin\":null,\"output\":{\"content_hash\":\"590634ad26c92bb75ec3709b855abb567c988889acd51e954b48253ca7212074\",\"height\":4,\"samples\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"step\":2,\"width\":6},\"root\":\"69f0fec811c3971ba1f39eb0dfbd7aa72855e3b1e1acdb826bce4e189201152c\",\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"66bc492ce568861b10785b03f3abbaf4aa4f2450ab5792bd08eda84c7b290fed6f4e6925fcb30e7fb7f14db960eae0646159bc42dd22818bb489684bc702ca06\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"steps\":3}", + "steps": [ + { + "step": "{\"act\":\"author\",\"check\":\"replicate\",\"inputs\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"3ee879760a3cf69d9a48c7ae08b6971eb96ae7e973fa4d22002039b546590262\",\"width\":8},\"params\":{\"source\":\"digitalCreation\"},\"party\":0,\"prev\":null,\"region\":null,\"seq\":0,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"8ea7f11877bc720d3fb66c874946222d94968502ddae7dd9616e1e8ac5df2bc5438245b03ff1409f4b4330b06f54746a4ec4680f7d7782906100dc20d854b807\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "245375c1b3eef49019e8eba5a71603dafa53dc4221d07f2c2ce83f3ead4c1831", + "1253b3fdb178c6577638adec86a5c20800a5e95cd7af39cfeae404a78a46a796" + ] + }, + { + "step": "{\"act\":\"edit\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"3ee879760a3cf69d9a48c7ae08b6971eb96ae7e973fa4d22002039b546590262\",\"step\":0}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"42e8909f556c4557eeb9b6b60d14209ecaafc4dffd191ac77b2e99e88805221a\",\"width\":8},\"params\":{},\"party\":1,\"prev\":\"d2b0576f27f28c0adf54c945acf85fdb780e2fb98bdfc1c63c7a4c2edfdcc455\",\"region\":[{\"h\":2,\"w\":3,\"x\":2,\"y\":1},{\"h\":1,\"w\":2,\"x\":5,\"y\":4}],\"seq\":1,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"34451e4e29bdef7402b9c4070c611b18dbfa1d9cfd04528aab1d9541b946374dfc59a746ed5df6c5421f1cbc335fe65d1978f14af9713de413f9dd1b7e8fb40c\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "proof": [ + "05feabecad5dccde03a732abeadb8509061da9400bd37de4930f9eef582cc718", + "1253b3fdb178c6577638adec86a5c20800a5e95cd7af39cfeae404a78a46a796" + ] + }, + { + "step": "{\"act\":\"transform\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"42e8909f556c4557eeb9b6b60d14209ecaafc4dffd191ac77b2e99e88805221a\",\"step\":1}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":4,\"samples\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"width\":6},\"params\":{\"derivation\":\"wai.derive.crop\",\"params\":{\"h\":4,\"w\":6,\"x\":1,\"y\":1}},\"party\":0,\"prev\":\"8062364c2fc760a54f6852d468b63400b62a8871cf6fc94110796620d2626d79\",\"region\":null,\"seq\":2,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"1b2267557ee56cc3fca9cf2f506d779d0a2935f5d780f2ddcfa3020a0ce13e935637b8f75629d1b0a9a10659224ff12b8829fdb20b9799452e1c4eb66af7d404\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "63c4467d39c4bfdfdec4750ba1c3147909ff1f30a293173a389b7bbde600e148", + "ad1b48e9ac9cec5aaf434f4b80be9a16e7e3823f7dee7417b49d5eb09f74f422" + ] + } + ], + "map": "{\"height\":6,\"kind\":\"wai-authorship-map\",\"output\":\"cbb50f401f7143171133c6dc51bd20697f25e6645ddd9e83f1792de79f1e2176\",\"palette\":[{\"directed_by\":[0,4],\"made_by\":[2]}],\"rows\":[[[0,8]],[[0,8]],[[0,8]],[[0,8]],[[0,8]],[[0,8]]],\"width\":8}", + "openings": [], + "states": [ + "0d1d3ed84439e6b8290ac53a929a9d0bbb23f77a846cc30d3e7138c921a13828374a02675b15eb568a7e2d9367e55fd5e68d6094f01ce8d7d851f2563a283ddb9a7ff533b99f121a31aa2a47a59649f213c65626aa95c589af77518e06d5c96e86732a066e27a6ea92f5426716b09ae8a2b2beb98dd19512bfce11b59bc1c7293827acfb1d3a8fc061fadfe922f5c6d2", + "0d1d3ed84439e6b8290ac53a929a9d0bbb23f77a846cc30d3e7138c921a129b8bbf6bfe98beab3568a7e2d9367e55fd5e68d6094f01cea6da5d5ac55651fb1db9a7ff533b99f121a31aa2a47a59649f213c65626aa95c589af77518e06d5c96e86732a066e27a6ea92f5426716b09a7c34c5e6a158d19512bfce11b59bc1c7293827acfb1d3a8fc061fadfe922f5c6d2", + "c921a129b8bbf6bfe98beab3568a7e2d936794f01cea6da5d5ac55651fb1db9a7ff533b947a59649f213c65626aa95c589af77518e06066e27a6ea92f5426716b09a7c34c5e6a158" + ], + "models": [ + "963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e" + ], + "origins": [], + "outcome": "refuse", + "reason": "map_unbound", + "at": [ + "map" + ] + }, + { + "name": "map_mismatch", + "about": "a map that does not recompute: the collaborator's brush strokes credited to the first person (§7.2, §10.2 step 8)", + "policy": { + "tier": "stated" + }, + "session": "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-session\",\"media\":\"image\",\"parties\":[{\"key\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\",\"role\":\"human\"},{\"key\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\",\"role\":\"human\"},{\"digest\":\"963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e\",\"role\":\"model\",\"type\":\"algorithmic\"},{\"digest\":\"af0cc7d1226d60c32186ea7d6abdd4f4f71737d99f94c2a9b6f57e1cd5f63d25\",\"role\":\"model\",\"type\":\"trained\"},{\"key\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\",\"role\":\"audience\"}],\"session\":\"ba8343191c03771d24b7824ef8bd7179b3636d877fa8e6139992a7f5b697fe83\",\"sig\":\"98c1ee158f4a39cb257612d4e86f66fdea2b252cb682d469b944d2fc4a3513006c4a83a92237c1683895dfca660577f9e93b01ccab062b09c50d457ed24fff03\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"tool\":\"conformance-studio/1\"}", + "memberships": [ + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":0,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"91c18a1463ce0471fdd019182706f53c05efa1859d1db93c353de9122a3abd108e40965c9c14cbf4be3f40911af82dbddbcc0a144a3a6e7825a8cad8a6cd360c\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":1,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"0e786ad78bda25fe732583bb04e62ec999f9c3f78cd719ee67cb159a3aa5e2b2e8fed6a305100264a392bd920e7753f30d5c9ba99053ec590f8c9c9f8a94f707\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":4,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"8859195c031cbe3863fa98a4bfa0775a0fa5cc10b24814f05ab16aa23ae2d14652bd72942158fa310cf06fbd7f5f0e8be8e79b7985493993516fd978d7d09606\",\"signer_pubkey\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\"}" + ], + "record": "{\"estimates\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-contribution\",\"map\":\"5a559a0236aaf6d16ad957719fc15fdd13dd53f90f77b3796fda778e9a77ab53\",\"origin\":null,\"output\":{\"content_hash\":\"590634ad26c92bb75ec3709b855abb567c988889acd51e954b48253ca7212074\",\"height\":4,\"samples\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"step\":2,\"width\":6},\"root\":\"69f0fec811c3971ba1f39eb0dfbd7aa72855e3b1e1acdb826bce4e189201152c\",\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"966724e356c69ec9c727831825811d93c95afba64f851a9af0f3bd1339c927db2fd334c4a269f0e3bf43f59dbd053352f9d7c193e6dd4541cccd23d1f767f301\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"steps\":3}", + "steps": [ + { + "step": "{\"act\":\"author\",\"check\":\"replicate\",\"inputs\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"3ee879760a3cf69d9a48c7ae08b6971eb96ae7e973fa4d22002039b546590262\",\"width\":8},\"params\":{\"source\":\"digitalCreation\"},\"party\":0,\"prev\":null,\"region\":null,\"seq\":0,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"8ea7f11877bc720d3fb66c874946222d94968502ddae7dd9616e1e8ac5df2bc5438245b03ff1409f4b4330b06f54746a4ec4680f7d7782906100dc20d854b807\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "245375c1b3eef49019e8eba5a71603dafa53dc4221d07f2c2ce83f3ead4c1831", + "1253b3fdb178c6577638adec86a5c20800a5e95cd7af39cfeae404a78a46a796" + ] + }, + { + "step": "{\"act\":\"edit\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"3ee879760a3cf69d9a48c7ae08b6971eb96ae7e973fa4d22002039b546590262\",\"step\":0}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"42e8909f556c4557eeb9b6b60d14209ecaafc4dffd191ac77b2e99e88805221a\",\"width\":8},\"params\":{},\"party\":1,\"prev\":\"d2b0576f27f28c0adf54c945acf85fdb780e2fb98bdfc1c63c7a4c2edfdcc455\",\"region\":[{\"h\":2,\"w\":3,\"x\":2,\"y\":1},{\"h\":1,\"w\":2,\"x\":5,\"y\":4}],\"seq\":1,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"34451e4e29bdef7402b9c4070c611b18dbfa1d9cfd04528aab1d9541b946374dfc59a746ed5df6c5421f1cbc335fe65d1978f14af9713de413f9dd1b7e8fb40c\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "proof": [ + "05feabecad5dccde03a732abeadb8509061da9400bd37de4930f9eef582cc718", + "1253b3fdb178c6577638adec86a5c20800a5e95cd7af39cfeae404a78a46a796" + ] + }, + { + "step": "{\"act\":\"transform\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"42e8909f556c4557eeb9b6b60d14209ecaafc4dffd191ac77b2e99e88805221a\",\"step\":1}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":4,\"samples\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"width\":6},\"params\":{\"derivation\":\"wai.derive.crop\",\"params\":{\"h\":4,\"w\":6,\"x\":1,\"y\":1}},\"party\":0,\"prev\":\"8062364c2fc760a54f6852d468b63400b62a8871cf6fc94110796620d2626d79\",\"region\":null,\"seq\":2,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"1b2267557ee56cc3fca9cf2f506d779d0a2935f5d780f2ddcfa3020a0ce13e935637b8f75629d1b0a9a10659224ff12b8829fdb20b9799452e1c4eb66af7d404\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "63c4467d39c4bfdfdec4750ba1c3147909ff1f30a293173a389b7bbde600e148", + "ad1b48e9ac9cec5aaf434f4b80be9a16e7e3823f7dee7417b49d5eb09f74f422" + ] + } + ], + "map": "{\"height\":4,\"kind\":\"wai-authorship-map\",\"output\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"palette\":[{\"directed_by\":[0],\"made_by\":[0]}],\"rows\":[[[0,6]],[[0,6]],[[0,6]],[[0,6]]],\"width\":6}", + "openings": [], + "states": [ + "0d1d3ed84439e6b8290ac53a929a9d0bbb23f77a846cc30d3e7138c921a13828374a02675b15eb568a7e2d9367e55fd5e68d6094f01ce8d7d851f2563a283ddb9a7ff533b99f121a31aa2a47a59649f213c65626aa95c589af77518e06d5c96e86732a066e27a6ea92f5426716b09ae8a2b2beb98dd19512bfce11b59bc1c7293827acfb1d3a8fc061fadfe922f5c6d2", + "0d1d3ed84439e6b8290ac53a929a9d0bbb23f77a846cc30d3e7138c921a129b8bbf6bfe98beab3568a7e2d9367e55fd5e68d6094f01cea6da5d5ac55651fb1db9a7ff533b99f121a31aa2a47a59649f213c65626aa95c589af77518e06d5c96e86732a066e27a6ea92f5426716b09a7c34c5e6a158d19512bfce11b59bc1c7293827acfb1d3a8fc061fadfe922f5c6d2", + "c921a129b8bbf6bfe98beab3568a7e2d936794f01cea6da5d5ac55651fb1db9a7ff533b947a59649f213c65626aa95c589af77518e06066e27a6ea92f5426716b09a7c34c5e6a158" + ], + "models": [ + "963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e" + ], + "origins": [], + "outcome": "refuse", + "reason": "map_mismatch", + "at": [ + "map", + 1, + 0 + ] + }, + { + "name": "unknown_attributed", + "about": "an attested scaling's samples, which no rule maps, credited to the person who chose it instead of unknown (§7.1, §10.2 step 8)", + "policy": { + "tier": "stated" + }, + "session": "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-session\",\"media\":\"image\",\"parties\":[{\"key\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\",\"role\":\"human\"},{\"key\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\",\"role\":\"human\"},{\"digest\":\"963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e\",\"role\":\"model\",\"type\":\"algorithmic\"},{\"digest\":\"af0cc7d1226d60c32186ea7d6abdd4f4f71737d99f94c2a9b6f57e1cd5f63d25\",\"role\":\"model\",\"type\":\"trained\"},{\"key\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\",\"role\":\"audience\"}],\"session\":\"6d5daf54744a3ea17d6f25ca30dd2e95cae06b9fe92cee6b4094b223c6d41b0f\",\"sig\":\"edc90cd084f42362b4b594cc294e7e6cbc4c8f7130ff970e6b9c98662c78de82fbfa8523a3fa6cf973602ad775b41f0a4392c8a05a768434c52cfe0a7d1a6d0a\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"tool\":\"conformance-studio/1\"}", + "memberships": [ + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":0,\"session\":\"bd17fc95a3b31f372c04e302ef79c62f3fe4b71c95e55b1be7c8624ce0a8a8fc\",\"sig\":\"0c70ef29596adbaf5401ab1bef51ceff12c65d49b0a9cdaef3294ed67906f0e611f03c043d7535920a479e77ee1b817de02a0308a17256aa00cfa50aca864f04\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":1,\"session\":\"bd17fc95a3b31f372c04e302ef79c62f3fe4b71c95e55b1be7c8624ce0a8a8fc\",\"sig\":\"bc938bf11ff21cb021bfacc0c14fd90d334d01191670a819f5fc2ce250cb67ad46b39e4d61ccb81400642856e6bd75208bab54c80b8d58eb4e4b6e94e52f0f0f\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":4,\"session\":\"bd17fc95a3b31f372c04e302ef79c62f3fe4b71c95e55b1be7c8624ce0a8a8fc\",\"sig\":\"ed9da89cf7836d442e177adc1c2fc070e746f321953147524ffec7e95b41cc4016c36a793bef36ab4ec5a6c62224678c3116e60b85928cb9f624e8b577465b06\",\"signer_pubkey\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\"}" + ], + "record": "{\"estimates\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-contribution\",\"map\":\"045bbf6dca841e1e45dc708a690ebede03dc1efc424580958c34ea3c8bb201bb\",\"origin\":null,\"output\":{\"content_hash\":null,\"height\":3,\"samples\":\"6f5896ebefcd39e19c0c6ba939458d7c53f12a555d827daf029348a5d80c5fdb\",\"step\":2,\"width\":4},\"root\":\"07d6b0dc228aed8c8faeaf3ed98cc5b6612d9714ce73fac72a57fcb9d1d1d02d\",\"session\":\"bd17fc95a3b31f372c04e302ef79c62f3fe4b71c95e55b1be7c8624ce0a8a8fc\",\"sig\":\"1097138d49edcbddf20a0d19af1030674b18cca9ef55b554ee25c299c5cbc00ef7c47f1b0c5ef71be5d0784236a61e78782894e97515f8f667838983b9e1c10e\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"steps\":3}", + "steps": [ + { + "step": "{\"act\":\"author\",\"check\":\"replicate\",\"inputs\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"ac513423d5d03f18ef19032111823c26a3c6a9add5e70bc8b2235608d99b525e\",\"width\":8},\"params\":{\"source\":\"digitalCreation\"},\"party\":0,\"prev\":null,\"region\":null,\"seq\":0,\"session\":\"bd17fc95a3b31f372c04e302ef79c62f3fe4b71c95e55b1be7c8624ce0a8a8fc\",\"sig\":\"62ae6b106d17e66353f956061a5958019d748f5c7b982591713f0ef6bd14218453c659167a2db4ef1813d10b7ea821dd379ebd24ce4df8bf4de4fe706375c109\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "9838c812ce42c4cea01f958b9df7e87ceccbb3f223c93a8fc81405c0318cc47e", + "9dbef56ed862cb2e025346f8e71f472fdfc0e3bdff9057bddba44eec92cc0cce" + ] + }, + { + "step": "{\"act\":\"transform\",\"check\":\"attest\",\"inputs\":[{\"samples\":\"ac513423d5d03f18ef19032111823c26a3c6a9add5e70bc8b2235608d99b525e\",\"step\":0}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":3,\"samples\":\"c7e4f176175ab86e0b2f3c65d5a9c6c253647ee6d7a36ed80b034e4ffb561b21\",\"width\":4},\"params\":{\"derivation\":\"wai.derive.scaling\",\"params\":{\"height\":3,\"width\":4}},\"party\":0,\"prev\":\"140618c70e678790cf631c8ea2b0ec2f901b2cd12740c312f76ceeff353de55d\",\"region\":null,\"seq\":1,\"session\":\"bd17fc95a3b31f372c04e302ef79c62f3fe4b71c95e55b1be7c8624ce0a8a8fc\",\"sig\":\"c8eb483d3392cb30ecd44efa11b6f34ec1d49024095efbb272d13435f1fe5b1aced2ddbf50fc2a1b533b800a722e5313cfa60473ad8a316d432ab7f70a0d5604\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "5bc6013b5ffe7a638c7c26cc8624f62623c4ab18210da7057c5f043c69f246a1", + "9dbef56ed862cb2e025346f8e71f472fdfc0e3bdff9057bddba44eec92cc0cce" + ] + }, + { + "step": "{\"act\":\"edit\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"c7e4f176175ab86e0b2f3c65d5a9c6c253647ee6d7a36ed80b034e4ffb561b21\",\"step\":1}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":3,\"samples\":\"6f5896ebefcd39e19c0c6ba939458d7c53f12a555d827daf029348a5d80c5fdb\",\"width\":4},\"params\":{},\"party\":1,\"prev\":\"46b3f50230543c27fa26d28f77718137538c0e98d82afc58600bee1785017b50\",\"region\":[{\"h\":1,\"w\":2,\"x\":0,\"y\":0}],\"seq\":2,\"session\":\"bd17fc95a3b31f372c04e302ef79c62f3fe4b71c95e55b1be7c8624ce0a8a8fc\",\"sig\":\"bbe43bb1a8d1111362cbf06b39bf48563f2499b359471f0bbf0e12a79a20734052dea1c11f1f4c0599504c5f910184d99806a755e4f18ed8649bed4f278a9a0f\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "proof": [ + "663eef006fc3112a9ef22f3019bf9e42e7a5cadafbc37efe76c071f244a5b822", + "373e0ed8c8cd66a7d8740e146f09d632ab5c89f1bb906a7eb28c422aeee1d57d" + ] + } + ], + "map": "{\"height\":3,\"kind\":\"wai-authorship-map\",\"output\":\"6f5896ebefcd39e19c0c6ba939458d7c53f12a555d827daf029348a5d80c5fdb\",\"palette\":[{\"directed_by\":[],\"made_by\":[1]},{\"directed_by\":[0],\"made_by\":[0]}],\"rows\":[[[0,2],[1,2]],[[1,4]],[[1,4]]],\"width\":4}", + "openings": [], + "states": [ + "e686763ca305c0f860ce2b17f35fba16288d94d89d165cda8cdab7bf0a21feded273437953a85d2e7d678cb5178d9768e4c8b507b54b8da298acb11502e3045608381a763bcf170362b08df07626d66db8d9b86a0ef9acb7c7828f5767c07b26ecd916378b724d671708530c0177ff5ffe90324dd049cc9f996c89097bef204ddbb65e00aa9d8f68acecc5a170d1c836", + "e68676c0f860f35fba94d89de4c8b58da29802e3041a763becd9164d67170177ff324dd0", + "cfeff3ea4d1af35fba94d89de4c8b58da29802e3041a763becd9164d67170177ff324dd0" + ], + "models": [ + "963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e" + ], + "origins": [], + "outcome": "refuse", + "reason": "unknown_attributed", + "at": [ + "map", + 2, + 0 + ] + }, + { + "name": "origin_mismatch", + "about": "an origin claim about another object (§9.1)", + "policy": { + "tier": "stated" + }, + "session": "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-session\",\"media\":\"image\",\"parties\":[{\"key\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\",\"role\":\"human\"},{\"key\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\",\"role\":\"human\"},{\"digest\":\"963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e\",\"role\":\"model\",\"type\":\"algorithmic\"},{\"digest\":\"af0cc7d1226d60c32186ea7d6abdd4f4f71737d99f94c2a9b6f57e1cd5f63d25\",\"role\":\"model\",\"type\":\"trained\"},{\"key\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\",\"role\":\"audience\"}],\"session\":\"fe8bc8548d988c07cc90690099b1d96fe3c01c7ee94600328864e24cbd5989a0\",\"sig\":\"21c99265c1458853d72a085e54c6334ce5560df1810aea602c1743a0b9fa17ef64ef401b409c6bc192cb3c78ba551eacdd37206728b5d8500e3b3e3e18dc9201\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"tool\":\"conformance-studio/1\"}", + "memberships": [ + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":0,\"session\":\"eed602319bb966a624634886808edfc6525835494f3ea5882b453716a2eb65cc\",\"sig\":\"6744bf69fadf7ccab2d972675edf401352f3c2f15b650e9f6ddb40a944a4b7da0e518710c09c9bfa85b996df5fe4d14a1a97fae6f7362cc928030193d9d49802\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":1,\"session\":\"eed602319bb966a624634886808edfc6525835494f3ea5882b453716a2eb65cc\",\"sig\":\"40af74282555d31cce26b320aff97f92a18a5fee05e7eacf969fe46c4237f2685489df637d187afb0be516ec3934d0c94bbce61d7d4885567572f185e9bec20c\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":4,\"session\":\"eed602319bb966a624634886808edfc6525835494f3ea5882b453716a2eb65cc\",\"sig\":\"94a1e8e97017d173931c153f73949751fa59969645dec034c656cdc32a669a70f9b4d0f621423419a3dcef60fc968fd9398738d8c8f88617c7e17aa29569ce01\",\"signer_pubkey\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\"}" + ], + "record": "{\"estimates\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-contribution\",\"map\":\"9189deda5189aceb78acf444d6c0160da78b605078b0d7b969711c105924a73d\",\"origin\":\"6301643601494ac1c89bc4ce34f5aa2c7f3ae6b218d7ab15263b4c8d4d6821ed\",\"output\":{\"content_hash\":\"59bfead5d6c73420e81fe2cc2bd4b9e8f29675f8f46e9464dbe0165b9be67f69\",\"height\":6,\"samples\":\"8df68b812b2940622a51e58e7a4451cbf808a897180435af2ed874a315cc01e9\",\"step\":1,\"width\":8},\"root\":\"4dce3e58c50a100b3187025fbf6c16e7e70c52f793c000c2c563dc332d4d708b\",\"session\":\"eed602319bb966a624634886808edfc6525835494f3ea5882b453716a2eb65cc\",\"sig\":\"9062ea6abde6c9c40b39978b733dd5283d452dad75d758514166edda7f956c22215b9a9f579a420fb56e6fc853269da6d870c432ed194c265c97c3d095a51303\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"steps\":2}", + "steps": [ + { + "step": "{\"act\":\"author\",\"check\":\"replicate\",\"inputs\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"40a2d70b508758c89240249c8b3a7fe58e2bc2a6119e2417c2c8f926781a47c2\",\"width\":8},\"params\":{\"source\":\"digitalCapture\"},\"party\":0,\"prev\":null,\"region\":null,\"seq\":0,\"session\":\"eed602319bb966a624634886808edfc6525835494f3ea5882b453716a2eb65cc\",\"sig\":\"1f16c4ec09a2cf6b2f57c1882de9d41e40c3cffbca83e17915aa93c7b2709766fd17dbc2e42c7eadf0a8f60d76d5e1de56158d5ad1feffc3445478602fd6ca08\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "78f52f27870dc666d1d4dbf7d0fd7957b9b5a7fb10d691450bb0fd3a7ddb651a" + ] + }, + { + "step": "{\"act\":\"inpaint\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"40a2d70b508758c89240249c8b3a7fe58e2bc2a6119e2417c2c8f926781a47c2\",\"step\":0}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"8df68b812b2940622a51e58e7a4451cbf808a897180435af2ed874a315cc01e9\",\"width\":8},\"params\":{\"generator\":\"wai.generate.spectral\",\"mask_by\":0,\"prompt\":\"298f91f8b7154b4286d301f659536b906142446e4c02efbcbae62cf3ffa53b8b\",\"prompt_by\":1,\"seed\":7,\"steps\":1},\"party\":2,\"prev\":\"612906b63e47fb5bc2c2d1fb53206aa05cc916d4113a4f40ada6d762c6a991e4\",\"region\":[{\"h\":3,\"w\":4,\"x\":3,\"y\":2}],\"seq\":1,\"session\":\"eed602319bb966a624634886808edfc6525835494f3ea5882b453716a2eb65cc\",\"sig\":\"9c6b40c936021d4c3bb40e137a231f3d918155fac666dc7b5f9bdc2b822ec13bb4e0098f6dbe8b5b1103fa04e37afe4c3efd637ce82144d4032478300b53d806\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\"}", + "proof": [ + "fae599cc0ae864c8d560185de8fb79d20e6da983a7002e52e1d8b9de9705f450" + ] + } + ], + "map": "{\"height\":6,\"kind\":\"wai-authorship-map\",\"output\":\"8df68b812b2940622a51e58e7a4451cbf808a897180435af2ed874a315cc01e9\",\"palette\":[{\"directed_by\":[],\"made_by\":[0]},{\"directed_by\":[0,1],\"made_by\":[2]}],\"rows\":[[[0,8]],[[0,8]],[[0,3],[1,4],[0,1]],[[0,3],[1,4],[0,1]],[[0,3],[1,4],[0,1]],[[0,8]]],\"width\":8}", + "openings": [ + "{\"commitment\":\"298f91f8b7154b4286d301f659536b906142446e4c02efbcbae62cf3ffa53b8b\",\"salt\":\"3b8d40cb4e2a97dabde92bc24a3b13f2a909dbd907c3977d6a3198198508e299\",\"text\":\"a calm ocean horizon\"}" + ], + "states": [ + "267629b3040c9f3b1c9610661ac28f85b2191626eba7a6a2e2fa8b4b40c467c164be2c967b341f333d710d86679438f1b88352c0d8e677f174b1573bc60c756b855e0d300556a6aa58eeb26575c9f200f0c38720a23051bd0201dee24ad0283eab78be7903cdca09839b779299ccf11d08342179ec07a075129ebeda0935ecc525ae4fa60aee9a365bea641efa4a8a4d", + "267629b3040c9f3b1c9610661ac28f85b2191626eba7a6a2e2fa8b4b40c467c164be2c967b341f333d710d86679438f1b88352c0d8e677f1748a7c258a7c248b7c238b7d2256a6aa58eeb26575c9f200f0887719897719897818897817d0283eab78be7903cdca098386730e87730d87730d87730c07a075129ebeda0935ecc525ae4fa60aee9a365bea641efa4a8a4d" + ], + "models": [ + "963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e" + ], + "origins": [ + "{\"class\":\"synthesized\",\"evidence\":null,\"inputs\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-origin\",\"media\":\"image\",\"models\":[{\"digest\":\"963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e\",\"type\":\"algorithmic\"}],\"operation\":\"inpainting\",\"oversight\":\"prompt_guided\",\"record\":null,\"sig\":\"a5ec83819607824f14ee28ddc704468c15aee93b308f304e317ded2a6e76e1070489a08835a4331a35e1760822a3701604c5242786eb3b7dde093e5e5aa54c0d\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"source\":\"algorithmicMedia\",\"step\":\"generate\",\"subject\":{\"content_hash\":\"953259c6b2924dee8fc2c39bceb05c61e9ac6fcf8a36d5458888f431e987ae68\",\"type\":\"object\"}}" + ], + "outcome": "refuse", + "reason": "origin_mismatch", + "at": [ + "origin", + 0 + ] + }, + { + "name": "origin_understated", + "about": "an inpainted picture whose origin claim says captured: a model made part of it (§9.1)", + "policy": { + "tier": "stated" + }, + "session": "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-session\",\"media\":\"image\",\"parties\":[{\"key\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\",\"role\":\"human\"},{\"key\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\",\"role\":\"human\"},{\"digest\":\"963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e\",\"role\":\"model\",\"type\":\"algorithmic\"},{\"digest\":\"af0cc7d1226d60c32186ea7d6abdd4f4f71737d99f94c2a9b6f57e1cd5f63d25\",\"role\":\"model\",\"type\":\"trained\"},{\"key\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\",\"role\":\"audience\"}],\"session\":\"fe8bc8548d988c07cc90690099b1d96fe3c01c7ee94600328864e24cbd5989a0\",\"sig\":\"21c99265c1458853d72a085e54c6334ce5560df1810aea602c1743a0b9fa17ef64ef401b409c6bc192cb3c78ba551eacdd37206728b5d8500e3b3e3e18dc9201\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"tool\":\"conformance-studio/1\"}", + "memberships": [ + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":0,\"session\":\"eed602319bb966a624634886808edfc6525835494f3ea5882b453716a2eb65cc\",\"sig\":\"6744bf69fadf7ccab2d972675edf401352f3c2f15b650e9f6ddb40a944a4b7da0e518710c09c9bfa85b996df5fe4d14a1a97fae6f7362cc928030193d9d49802\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":1,\"session\":\"eed602319bb966a624634886808edfc6525835494f3ea5882b453716a2eb65cc\",\"sig\":\"40af74282555d31cce26b320aff97f92a18a5fee05e7eacf969fe46c4237f2685489df637d187afb0be516ec3934d0c94bbce61d7d4885567572f185e9bec20c\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":4,\"session\":\"eed602319bb966a624634886808edfc6525835494f3ea5882b453716a2eb65cc\",\"sig\":\"94a1e8e97017d173931c153f73949751fa59969645dec034c656cdc32a669a70f9b4d0f621423419a3dcef60fc968fd9398738d8c8f88617c7e17aa29569ce01\",\"signer_pubkey\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\"}" + ], + "record": "{\"estimates\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-contribution\",\"map\":\"9189deda5189aceb78acf444d6c0160da78b605078b0d7b969711c105924a73d\",\"origin\":\"e505ead6ead4751ca788a9ab8fb026657eb3ac0cc715bf7907f68d5689d93d72\",\"output\":{\"content_hash\":\"59bfead5d6c73420e81fe2cc2bd4b9e8f29675f8f46e9464dbe0165b9be67f69\",\"height\":6,\"samples\":\"8df68b812b2940622a51e58e7a4451cbf808a897180435af2ed874a315cc01e9\",\"step\":1,\"width\":8},\"root\":\"4dce3e58c50a100b3187025fbf6c16e7e70c52f793c000c2c563dc332d4d708b\",\"session\":\"eed602319bb966a624634886808edfc6525835494f3ea5882b453716a2eb65cc\",\"sig\":\"26ffab403cc58de3cae74306a6651ad11250953569285e590304e800f576274e4d83f66a6032880db847b88a0d023e2176a295a24204481f6156e8e287057003\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"steps\":2}", + "steps": [ + { + "step": "{\"act\":\"author\",\"check\":\"replicate\",\"inputs\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"40a2d70b508758c89240249c8b3a7fe58e2bc2a6119e2417c2c8f926781a47c2\",\"width\":8},\"params\":{\"source\":\"digitalCapture\"},\"party\":0,\"prev\":null,\"region\":null,\"seq\":0,\"session\":\"eed602319bb966a624634886808edfc6525835494f3ea5882b453716a2eb65cc\",\"sig\":\"1f16c4ec09a2cf6b2f57c1882de9d41e40c3cffbca83e17915aa93c7b2709766fd17dbc2e42c7eadf0a8f60d76d5e1de56158d5ad1feffc3445478602fd6ca08\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "78f52f27870dc666d1d4dbf7d0fd7957b9b5a7fb10d691450bb0fd3a7ddb651a" + ] + }, + { + "step": "{\"act\":\"inpaint\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"40a2d70b508758c89240249c8b3a7fe58e2bc2a6119e2417c2c8f926781a47c2\",\"step\":0}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"8df68b812b2940622a51e58e7a4451cbf808a897180435af2ed874a315cc01e9\",\"width\":8},\"params\":{\"generator\":\"wai.generate.spectral\",\"mask_by\":0,\"prompt\":\"298f91f8b7154b4286d301f659536b906142446e4c02efbcbae62cf3ffa53b8b\",\"prompt_by\":1,\"seed\":7,\"steps\":1},\"party\":2,\"prev\":\"612906b63e47fb5bc2c2d1fb53206aa05cc916d4113a4f40ada6d762c6a991e4\",\"region\":[{\"h\":3,\"w\":4,\"x\":3,\"y\":2}],\"seq\":1,\"session\":\"eed602319bb966a624634886808edfc6525835494f3ea5882b453716a2eb65cc\",\"sig\":\"9c6b40c936021d4c3bb40e137a231f3d918155fac666dc7b5f9bdc2b822ec13bb4e0098f6dbe8b5b1103fa04e37afe4c3efd637ce82144d4032478300b53d806\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\"}", + "proof": [ + "fae599cc0ae864c8d560185de8fb79d20e6da983a7002e52e1d8b9de9705f450" + ] + } + ], + "map": "{\"height\":6,\"kind\":\"wai-authorship-map\",\"output\":\"8df68b812b2940622a51e58e7a4451cbf808a897180435af2ed874a315cc01e9\",\"palette\":[{\"directed_by\":[],\"made_by\":[0]},{\"directed_by\":[0,1],\"made_by\":[2]}],\"rows\":[[[0,8]],[[0,8]],[[0,3],[1,4],[0,1]],[[0,3],[1,4],[0,1]],[[0,3],[1,4],[0,1]],[[0,8]]],\"width\":8}", + "openings": [ + "{\"commitment\":\"298f91f8b7154b4286d301f659536b906142446e4c02efbcbae62cf3ffa53b8b\",\"salt\":\"3b8d40cb4e2a97dabde92bc24a3b13f2a909dbd907c3977d6a3198198508e299\",\"text\":\"a calm ocean horizon\"}" + ], + "states": [ + "267629b3040c9f3b1c9610661ac28f85b2191626eba7a6a2e2fa8b4b40c467c164be2c967b341f333d710d86679438f1b88352c0d8e677f174b1573bc60c756b855e0d300556a6aa58eeb26575c9f200f0c38720a23051bd0201dee24ad0283eab78be7903cdca09839b779299ccf11d08342179ec07a075129ebeda0935ecc525ae4fa60aee9a365bea641efa4a8a4d", + "267629b3040c9f3b1c9610661ac28f85b2191626eba7a6a2e2fa8b4b40c467c164be2c967b341f333d710d86679438f1b88352c0d8e677f1748a7c258a7c248b7c238b7d2256a6aa58eeb26575c9f200f0887719897719897818897817d0283eab78be7903cdca098386730e87730d87730d87730c07a075129ebeda0935ecc525ae4fa60aee9a365bea641efa4a8a4d" + ], + "models": [ + "963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e" + ], + "origins": [ + "{\"class\":\"captured\",\"evidence\":null,\"inputs\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-origin\",\"media\":\"image\",\"models\":[],\"operation\":\"capture\",\"oversight\":null,\"record\":null,\"sig\":\"35ca4caa9f6e6b4fee6aeb94d3a7ae6fe8852f2ec5bb6b9847f4e112930c0cbec45f9a3d5646abdf73e76e65401039bbc08383b214b1a9d1e14601af3f492f03\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"source\":\"digitalCreation\",\"step\":\"capture\",\"subject\":{\"content_hash\":\"59bfead5d6c73420e81fe2cc2bd4b9e8f29675f8f46e9464dbe0165b9be67f69\",\"type\":\"object\"}}" + ], + "outcome": "refuse", + "reason": "origin_understated", + "at": [ + "origin", + 0 + ] + }, + { + "name": "samples_mismatch_output", + "about": "a record stating 6 × 5 pixels for an output whose held samples are 6 × 4, no step disclosed (§10.2 step 7)", + "policy": { + "tier": "stated" + }, + "session": "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-session\",\"media\":\"image\",\"parties\":[{\"key\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\",\"role\":\"human\"},{\"key\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\",\"role\":\"human\"},{\"digest\":\"963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e\",\"role\":\"model\",\"type\":\"algorithmic\"},{\"digest\":\"af0cc7d1226d60c32186ea7d6abdd4f4f71737d99f94c2a9b6f57e1cd5f63d25\",\"role\":\"model\",\"type\":\"trained\"},{\"key\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\",\"role\":\"audience\"}],\"session\":\"ba8343191c03771d24b7824ef8bd7179b3636d877fa8e6139992a7f5b697fe83\",\"sig\":\"98c1ee158f4a39cb257612d4e86f66fdea2b252cb682d469b944d2fc4a3513006c4a83a92237c1683895dfca660577f9e93b01ccab062b09c50d457ed24fff03\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"tool\":\"conformance-studio/1\"}", + "memberships": [ + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":0,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"91c18a1463ce0471fdd019182706f53c05efa1859d1db93c353de9122a3abd108e40965c9c14cbf4be3f40911af82dbddbcc0a144a3a6e7825a8cad8a6cd360c\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":1,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"0e786ad78bda25fe732583bb04e62ec999f9c3f78cd719ee67cb159a3aa5e2b2e8fed6a305100264a392bd920e7753f30d5c9ba99053ec590f8c9c9f8a94f707\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":4,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"8859195c031cbe3863fa98a4bfa0775a0fa5cc10b24814f05ab16aa23ae2d14652bd72942158fa310cf06fbd7f5f0e8be8e79b7985493993516fd978d7d09606\",\"signer_pubkey\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\"}" + ], + "record": "{\"estimates\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-contribution\",\"map\":\"ddd8c428f60c07699579be8e66a358bc8b736244dd76bd532212d6c74319a62f\",\"origin\":null,\"output\":{\"content_hash\":\"590634ad26c92bb75ec3709b855abb567c988889acd51e954b48253ca7212074\",\"height\":5,\"samples\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"step\":2,\"width\":6},\"root\":\"69f0fec811c3971ba1f39eb0dfbd7aa72855e3b1e1acdb826bce4e189201152c\",\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"fcb9d7026537c0370b0543f5053d2b6d42ef992099a79a527c82cd43889321d86073c1cce57e4edefe724827c34c2b502993f23078eb13aaaf070602a1390204\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"steps\":3}", + "steps": [], + "map": "{\"height\":5,\"kind\":\"wai-authorship-map\",\"output\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"palette\":[{\"directed_by\":[0],\"made_by\":[0]}],\"rows\":[[[0,6]],[[0,6]],[[0,6]],[[0,6]],[[0,6]]],\"width\":6}", + "openings": [], + "states": [ + "0d1d3ed84439e6b8290ac53a929a9d0bbb23f77a846cc30d3e7138c921a13828374a02675b15eb568a7e2d9367e55fd5e68d6094f01ce8d7d851f2563a283ddb9a7ff533b99f121a31aa2a47a59649f213c65626aa95c589af77518e06d5c96e86732a066e27a6ea92f5426716b09ae8a2b2beb98dd19512bfce11b59bc1c7293827acfb1d3a8fc061fadfe922f5c6d2", + "0d1d3ed84439e6b8290ac53a929a9d0bbb23f77a846cc30d3e7138c921a129b8bbf6bfe98beab3568a7e2d9367e55fd5e68d6094f01cea6da5d5ac55651fb1db9a7ff533b99f121a31aa2a47a59649f213c65626aa95c589af77518e06d5c96e86732a066e27a6ea92f5426716b09a7c34c5e6a158d19512bfce11b59bc1c7293827acfb1d3a8fc061fadfe922f5c6d2", + "c921a129b8bbf6bfe98beab3568a7e2d936794f01cea6da5d5ac55651fb1db9a7ff533b947a59649f213c65626aa95c589af77518e06066e27a6ea92f5426716b09a7c34c5e6a158" + ], + "models": [ + "963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e" + ], + "origins": [], + "outcome": "refuse", + "reason": "samples_mismatch", + "at": [ + "record" + ] + }, + { + "name": "region_invalid_buffer", + "about": "a brush edit whose output is 6 × 6 over a held input of 8 × 6, the input's step not disclosed (§10.2 step 6)", + "policy": { + "tier": "stated" + }, + "session": "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-session\",\"media\":\"image\",\"parties\":[{\"key\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\",\"role\":\"human\"},{\"key\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\",\"role\":\"human\"},{\"digest\":\"963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e\",\"role\":\"model\",\"type\":\"algorithmic\"},{\"digest\":\"af0cc7d1226d60c32186ea7d6abdd4f4f71737d99f94c2a9b6f57e1cd5f63d25\",\"role\":\"model\",\"type\":\"trained\"},{\"key\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\",\"role\":\"audience\"}],\"session\":\"ba8343191c03771d24b7824ef8bd7179b3636d877fa8e6139992a7f5b697fe83\",\"sig\":\"98c1ee158f4a39cb257612d4e86f66fdea2b252cb682d469b944d2fc4a3513006c4a83a92237c1683895dfca660577f9e93b01ccab062b09c50d457ed24fff03\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"tool\":\"conformance-studio/1\"}", + "memberships": [ + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":0,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"91c18a1463ce0471fdd019182706f53c05efa1859d1db93c353de9122a3abd108e40965c9c14cbf4be3f40911af82dbddbcc0a144a3a6e7825a8cad8a6cd360c\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":1,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"0e786ad78bda25fe732583bb04e62ec999f9c3f78cd719ee67cb159a3aa5e2b2e8fed6a305100264a392bd920e7753f30d5c9ba99053ec590f8c9c9f8a94f707\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":4,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"8859195c031cbe3863fa98a4bfa0775a0fa5cc10b24814f05ab16aa23ae2d14652bd72942158fa310cf06fbd7f5f0e8be8e79b7985493993516fd978d7d09606\",\"signer_pubkey\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\"}" + ], + "record": "{\"estimates\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-contribution\",\"map\":\"597aedf687acb4e9b1df598daf799073f8523e73a29ec1961777b67631a9498b\",\"origin\":null,\"output\":{\"content_hash\":\"590634ad26c92bb75ec3709b855abb567c988889acd51e954b48253ca7212074\",\"height\":4,\"samples\":\"d6e8fd65568875937c73d04821bbb6498c65978d4c04a77c39aaff56937c6a04\",\"step\":2,\"width\":6},\"root\":\"3888674e45770080f6f8c0b753c840bb8314f7f3f22a5ad7b87383ea1705bc17\",\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"935c488787aabaf04d8db0b48bebe8a141b6dc0b6c438b9ff057674268be6fda5a4dffa4f0f2f676d692a94b54a9c7119a0998686237155bb53224de8c068106\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"steps\":3}", + "steps": [ + { + "step": "{\"act\":\"edit\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"3ee879760a3cf69d9a48c7ae08b6971eb96ae7e973fa4d22002039b546590262\",\"step\":0}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"ce18bc4290cc55f3c68767d880f350e8775b2c1895a78d370f5c1105b25c4b2a\",\"width\":6},\"params\":{},\"party\":1,\"prev\":\"d2b0576f27f28c0adf54c945acf85fdb780e2fb98bdfc1c63c7a4c2edfdcc455\",\"region\":[{\"h\":2,\"w\":3,\"x\":2,\"y\":1}],\"seq\":1,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"4765f307fbea242bc2cd6f92f4ac35c7ea38f15daea029c85fce219804a1c7623b398217b6b0467f7b3c76a6158f08913c969b79cd0c60cf42c6c3f1bd2dae0a\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "proof": [ + "05feabecad5dccde03a732abeadb8509061da9400bd37de4930f9eef582cc718", + "6ecaae55a8932ac7958e3e6b35b2b65512b56a3aebf111d6eac8ee94c4b4b589" + ] + }, + { + "step": "{\"act\":\"transform\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"ce18bc4290cc55f3c68767d880f350e8775b2c1895a78d370f5c1105b25c4b2a\",\"step\":1}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":4,\"samples\":\"d6e8fd65568875937c73d04821bbb6498c65978d4c04a77c39aaff56937c6a04\",\"width\":6},\"params\":{\"derivation\":\"wai.derive.crop\",\"params\":{\"h\":4,\"w\":6,\"x\":1,\"y\":1}},\"party\":0,\"prev\":\"ea07aa8e4fcfc2f05abdeeb283bcce02712916c82057759cac32e47724c05be8\",\"region\":null,\"seq\":2,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"4bfbd1e1c94386d3dad43c56e963af9a64b06a98401915e2ed619631d5875aca820eee60c977a99a2205ed06e9bcf551b031f55f78fc2d34d95fc6c228430502\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "2a610de3e53806f2b74d5cd58dce9caa5cc9717854d530c64f925968c22a9331", + "44cda9fe4b221649fa4b27ef86fca5b6214ca4f9e973a2ca5b7c6056f85faaf4" + ] + } + ], + "map": "{\"height\":4,\"kind\":\"wai-authorship-map\",\"output\":\"d6e8fd65568875937c73d04821bbb6498c65978d4c04a77c39aaff56937c6a04\",\"palette\":[{\"directed_by\":[0],\"made_by\":[0]},{\"directed_by\":[0],\"made_by\":[1]}],\"rows\":[[[0,1],[1,3],[0,2]],[[0,1],[1,3],[0,2]],[[0,6]],[[0,6]]],\"width\":6}", + "openings": [], + "states": [ + "0d1d3ed84439e6b8290ac53a929a9d0bbb23f77a846cc30d3e7138c921a13828374a02675b15eb568a7e2d9367e55fd5e68d6094f01ce8d7d851f2563a283ddb9a7ff533b99f121a31aa2a47a59649f213c65626aa95c589af77518e06d5c96e86732a066e27a6ea92f5426716b09ae8a2b2beb98dd19512bfce11b59bc1c7293827acfb1d3a8fc061fadfe922f5c6d2", + "0d1d3ed84439e6b8290ac53a929a9d0bbb23f77a846cc30d3e7138c921a129b8bbf6bfe98beab3568a7e2d9367e55fd5e68d6094f01cea6da5d5ac55651fb1db9a7ff533b99f121a31aa2a47a59649f213c65626aa95c589af77518e06d5c96e86732a066e27a6ea92f54267", + "7e701018a926722de1091b35a1cba2462527e9f1eaf54a21001d145ad48006174220989591752f2d9ec32d8b5d4cf9083741678c5bcad50492e4accfcb569f1adafbb36d19b949c7" + ], + "models": [ + "963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e" + ], + "origins": [], + "outcome": "refuse", + "reason": "region_invalid", + "at": [ + "step", + 0 + ] + }, + { + "name": "selection_not_in_set_output", + "about": "a selection whose output is not the member it selected (§4.2)", + "policy": { + "tier": "stated" + }, + "session": "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-session\",\"media\":\"image\",\"parties\":[{\"key\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\",\"role\":\"human\"},{\"key\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\",\"role\":\"human\"},{\"digest\":\"963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e\",\"role\":\"model\",\"type\":\"algorithmic\"},{\"digest\":\"af0cc7d1226d60c32186ea7d6abdd4f4f71737d99f94c2a9b6f57e1cd5f63d25\",\"role\":\"model\",\"type\":\"trained\"},{\"key\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\",\"role\":\"audience\"}],\"session\":\"3d5e82835e1cfca87ae0b8d86faebc51e942c69af33b4bd2cde66dc9327ebe0c\",\"sig\":\"e37f7df1203d95bb8d93b6d2d6482a54712ded039a0ab88f62a82fcf2542818beb53a1f37b5cc0c2c524da81e83c9740a70c10d075deebd6227ffaeb2740f500\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"tool\":\"conformance-studio/1\"}", + "memberships": [ + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":0,\"session\":\"0c749acbd1b038cd746b5f1059635a79e1a3f1f3bdd5deab2181ac48b74ed90c\",\"sig\":\"269792a149112de42b795c732d7e452258baefbb2522eb3bc5a4825e5256cfcb93928975cada5fdeb1ab0f87a67f1e84ae50029e55a6709fa666b5cd64435902\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":1,\"session\":\"0c749acbd1b038cd746b5f1059635a79e1a3f1f3bdd5deab2181ac48b74ed90c\",\"sig\":\"e759010d3fa7b74b19b821baa9e82480682adec6ddd8990175be0d77f751a5b05a26a75d8b7ca04bad8244ef24123c693b31d32449c15d8cb27e7fada80dfb01\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":4,\"session\":\"0c749acbd1b038cd746b5f1059635a79e1a3f1f3bdd5deab2181ac48b74ed90c\",\"sig\":\"504b90198ee93151a729535ab8ae34997affbb7aa99e827806403a0ced0fb5b2481253b65fd6fd7c93a9b0efa3f70ecb05cebf69dc5efa77a2f01436b40ead07\",\"signer_pubkey\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\"}" + ], + "record": "{\"estimates\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-contribution\",\"map\":\"087aa03b5e0b0c1b48f6fbacf461c468f1ff0ffb0265286b84ec5d2509791738\",\"origin\":null,\"output\":{\"content_hash\":null,\"height\":6,\"samples\":\"ead59c0c830935f72953869a290d9a901e1bd96545d12619785e5fd9757fd056\",\"step\":1,\"width\":8},\"root\":\"0e8d5a59db8c2fb272228e281cbd3726df3212654696d07bb4e83d42ba0b854a\",\"session\":\"0c749acbd1b038cd746b5f1059635a79e1a3f1f3bdd5deab2181ac48b74ed90c\",\"sig\":\"60f111a909dd42761c5f880e0bc9599e33f17bf4386cd3edda1e7d713292e67d98879aecc3758d38889e82b7ddaad2efa69fbdd35ce68e7527142c254605f40b\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"steps\":2}", + "steps": [ + { + "step": "{\"act\":\"candidates\",\"check\":\"replicate\",\"inputs\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"set\":[\"eb7d21d6172387fa8e5a7953f08878927175a0d53939a9b5dcbdceb38db56ea5\",\"ead59c0c830935f72953869a290d9a901e1bd96545d12619785e5fd9757fd056\"],\"width\":8},\"params\":{\"generator\":\"wai.generate.spectral\",\"prompt\":\"426086c64da7c1c19c02055132da0ae84a7b3a45b804db95bbe263f5734b3413\",\"prompt_by\":0,\"seeds\":[1,2],\"steps\":1},\"party\":2,\"prev\":null,\"region\":null,\"seq\":0,\"session\":\"0c749acbd1b038cd746b5f1059635a79e1a3f1f3bdd5deab2181ac48b74ed90c\",\"sig\":\"af72a1055cb5b11d10cd2de7464ac1dfb17290af3f4cd601bdd9f08c1032c749d9ff547c83e03b1d1274291cf00ee552f8bd918210953d9cfaf2bd282ca18202\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\"}", + "proof": [ + "a7025390f560f4775b88dc944b475281227c0e2b894d384913c0de669d881407" + ] + }, + { + "step": "{\"act\":\"select\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"eb7d21d6172387fa8e5a7953f08878927175a0d53939a9b5dcbdceb38db56ea5\",\"step\":0}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"ead59c0c830935f72953869a290d9a901e1bd96545d12619785e5fd9757fd056\",\"width\":8},\"params\":{},\"party\":0,\"prev\":\"cff358280136a323e26b1fc9c3a5608158ff03623a5f2b5f60e443a0001e7b6a\",\"region\":null,\"seq\":1,\"session\":\"0c749acbd1b038cd746b5f1059635a79e1a3f1f3bdd5deab2181ac48b74ed90c\",\"sig\":\"abec58fe79d7984e068c63d50ed1637d64ffe74504213515e981f4cc76240b070a412b98c44cb159020ab03143dec316a734026ad58e4b4a96e58282e656020d\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "7afaa51801f45fc79cce5cf4d7c8350b075ddb806feb6bd8971353b025c9b42b" + ] + } + ], + "map": "{\"height\":6,\"kind\":\"wai-authorship-map\",\"output\":\"ead59c0c830935f72953869a290d9a901e1bd96545d12619785e5fd9757fd056\",\"palette\":[{\"directed_by\":[0],\"made_by\":[2]}],\"rows\":[[[0,8]],[[0,8]],[[0,8]],[[0,8]],[[0,8]],[[0,8]]],\"width\":8}", + "openings": [ + "{\"commitment\":\"426086c64da7c1c19c02055132da0ae84a7b3a45b804db95bbe263f5734b3413\",\"salt\":\"a3b062613d3ff73f4d8607aa9b8bedc0a589a6b50ac9d93829f2d59752ea427c\",\"text\":\"a bright spiral of fire\"}" + ], + "states": [ + "2c45a64a4d898d2b797e0ca379367dba0083890f98a3266e5420ad4729af58418a9f0d8b78367e9c009a942d72d00d66702c8d801a94780ea666398776367f863377c0017ea9038c3f45984d3f945a3b8f67368a7a357e87337594336d9e3365461eba6712af8d12926a358a79337f8634759f0e89c10f6f7315a27d268a5e378f83109c79367caa137c8e3b698a297d", + "926c41b04d4b80417b698447d83e3c9b3077685478787f41767251877541c04b41625c76db3e3b873b7b6e7c4bcb62227a754a84694f816a51cd493add3e39687b51df4233ca2d58337f743b79744472744c6c759a5553a05251a55050aa4e4e8418a0ca077eff322c606f64c23d4ef5085eb75d36ae5148f12e3bc970155e7460ca394cc53a4e496c78fa0061f54124" + ], + "models": [ + "963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e" + ], + "origins": [], + "outcome": "refuse", + "reason": "selection_not_in_set", + "at": [ + "step", + 1 + ] + }, + { + "name": "recompute_mismatch_size", + "about": "a crop of 6 × 4 whose output states 5 × 4, the input's samples not held (§10.2 step 6)", + "policy": { + "tier": "stated" + }, + "session": "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-session\",\"media\":\"image\",\"parties\":[{\"key\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\",\"role\":\"human\"},{\"key\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\",\"role\":\"human\"},{\"digest\":\"963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e\",\"role\":\"model\",\"type\":\"algorithmic\"},{\"digest\":\"af0cc7d1226d60c32186ea7d6abdd4f4f71737d99f94c2a9b6f57e1cd5f63d25\",\"role\":\"model\",\"type\":\"trained\"},{\"key\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\",\"role\":\"audience\"}],\"session\":\"c45ac66110464ea9885c9927db36b3fdf1cc81a3e5ac746bd4578ad01931a02d\",\"sig\":\"047578d0b4f852f7f65821e75a462aacbe70b497f9ee75dd42f059a55630cf31e79a7ba642b3d3441d8b1ff97e2beabdb0f219708450198502e8b0363b5f150e\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"tool\":\"conformance-studio/1\"}", + "memberships": [ + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":0,\"session\":\"624b4ddbe6cc16adc225e274d971777af0333901154f8e389d294344e3735e93\",\"sig\":\"90bf40973cc387b732150dd18839927ceac1fa9cbe689bfdf04cf96e67ba244cc96894fa079616824312ba4b9a6e783663b6c0020edaf1003af0c8a15931c801\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":1,\"session\":\"624b4ddbe6cc16adc225e274d971777af0333901154f8e389d294344e3735e93\",\"sig\":\"f701272111e58a87f2ab61f35b8aa60c31b0d3f682c9ab5d706f87a869f0bb7f4bb0e9ffe09cfad6effbc78bd4dec4aa1bef0a6d37b03d8fd10f8e2f08e9d10b\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":4,\"session\":\"624b4ddbe6cc16adc225e274d971777af0333901154f8e389d294344e3735e93\",\"sig\":\"4c0e08d037096aa6b1db4fa4607698c9cca2f1470712e5f23bf4a9c6dfc22bfb9dc676e002b4be4ef89e764b10172b0fd215713e2b4c383df86fc7fa1938ae08\",\"signer_pubkey\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\"}" + ], + "record": "{\"estimates\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-contribution\",\"map\":\"296cd89bf826e2870b6e4b5e568f2b57d8304f6f8269c0b001c664356f71d1de\",\"origin\":null,\"output\":{\"content_hash\":null,\"height\":4,\"samples\":\"8c1f752b752058d48155467e8460af576bdc33990e522f7bdbf975dbd6d5ed2f\",\"step\":1,\"width\":5},\"root\":\"0d2e6c1b43e3797763029de58ebf4ef09fd1fd1c67bfca8f8ead76c47a012244\",\"session\":\"624b4ddbe6cc16adc225e274d971777af0333901154f8e389d294344e3735e93\",\"sig\":\"8cb2698d2d125d90c8d51c26892941227aa059c04e719ade3d6ec7487d1ff6e6a351ce28c4414ff963a972515776c86ec2aeb4dee1c52900f7fd214b5340f00b\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"steps\":2}", + "steps": [ + { + "step": "{\"act\":\"author\",\"check\":\"replicate\",\"inputs\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"ef021ce7fdc240809dd9296379bac42876112b6e438a62ea600254d450f964c5\",\"width\":8},\"params\":{\"source\":\"digitalCreation\"},\"party\":0,\"prev\":null,\"region\":null,\"seq\":0,\"session\":\"624b4ddbe6cc16adc225e274d971777af0333901154f8e389d294344e3735e93\",\"sig\":\"334a7302032204b1253badbe417aa84cead23bb35737ec73021bdc299569d7e9e4d4fda7a6d00e542231afc172da55e04ec8509369cef24d559ac2b2caeaa100\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "516703db96d8dd80582070d2a4095bc85911e6cbb33de48410d4a68f4a3904e0" + ] + }, + { + "step": "{\"act\":\"transform\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"ef021ce7fdc240809dd9296379bac42876112b6e438a62ea600254d450f964c5\",\"step\":0}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":4,\"samples\":\"8c1f752b752058d48155467e8460af576bdc33990e522f7bdbf975dbd6d5ed2f\",\"width\":5},\"params\":{\"derivation\":\"wai.derive.crop\",\"params\":{\"h\":4,\"w\":6,\"x\":1,\"y\":1}},\"party\":0,\"prev\":\"9996594f0349f95600807aabd59433d09d6c78e5a4bfcfaf8a960278d3f35872\",\"region\":null,\"seq\":1,\"session\":\"624b4ddbe6cc16adc225e274d971777af0333901154f8e389d294344e3735e93\",\"sig\":\"b5a850a1fc2f7be6c0255746135887f3fb96c97397f95d09adc6517eef6dadd9cb261bc7135a13b9f7bc1ef2d25bafcdf8395edb4cc61e10bd7d257b5a7a490f\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "83feb87f92c4fd25b64542e0506130c3d2a86a1623fa0ed149be21ca41956628" + ] + } + ], + "map": "{\"height\":4,\"kind\":\"wai-authorship-map\",\"output\":\"8c1f752b752058d48155467e8460af576bdc33990e522f7bdbf975dbd6d5ed2f\",\"palette\":[{\"directed_by\":[0],\"made_by\":[0]}],\"rows\":[[[0,5]],[[0,5]],[[0,5]],[[0,5]]],\"width\":5}", + "openings": [], + "states": [ + "a64264bfa2d4c5caba7ffff7a3a621735c9a6effed6a1de2f98ba9d36226a61c1dcf3c211dab42bded2575dae554e4033c8af3cc1eab4ecc93776244" + ], + "models": [ + "963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e" + ], + "origins": [], + "outcome": "refuse", + "reason": "recompute_mismatch", + "at": [ + "step", + 1 + ] + }, + { + "name": "params_invalid_shape", + "about": "a rotation by five quarter turns: not a parameter of the pinned rotation (§4.4, deriving-edge §4.2)", + "policy": { + "tier": "stated" + }, + "session": "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-session\",\"media\":\"image\",\"parties\":[{\"key\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\",\"role\":\"human\"},{\"key\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\",\"role\":\"human\"},{\"digest\":\"963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e\",\"role\":\"model\",\"type\":\"algorithmic\"},{\"digest\":\"af0cc7d1226d60c32186ea7d6abdd4f4f71737d99f94c2a9b6f57e1cd5f63d25\",\"role\":\"model\",\"type\":\"trained\"},{\"key\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\",\"role\":\"audience\"}],\"session\":\"e5a5634f63d55f77f62bf720909b7b3fe55f1ba5d9ad3a3ae2d8ffe9af3e905e\",\"sig\":\"8439287083e4982ebeb15fc9428aaca5362e00f2cd50a145277370b9bfa787405ba47ef18da91cbc27e44da2c8875a955fecddb8d9404819ce0d5ab8084f9509\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"tool\":\"conformance-studio/1\"}", + "memberships": [ + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":0,\"session\":\"acefaecc319910cbb0c478ca94c828b41e70b5144a7b0f0c86857f50bbb17273\",\"sig\":\"5630df5c9a8ac14afab9f8b69cd9ea411f5c6bfdf7234fb718f9804918d50aa2ab632021df99424d741df6a62e2c93ae9e327a19d4a9348081c1a11098e0ee01\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":1,\"session\":\"acefaecc319910cbb0c478ca94c828b41e70b5144a7b0f0c86857f50bbb17273\",\"sig\":\"3b0bea59a00dcd674456a9dc4023bb0471e7dc8e53049ff003e0372e6abddddf9803fe9bbbe285f4931c5927267d4da1f5a972575c2038ebcdcdb16920a78b07\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":4,\"session\":\"acefaecc319910cbb0c478ca94c828b41e70b5144a7b0f0c86857f50bbb17273\",\"sig\":\"092163d82bb62ecdaf1f284162697be7d8eb42919daf5803a6007414086b23921a597d92277dfdc85220741affc2861278c41b481b96998d6f6eae6c038a3307\",\"signer_pubkey\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\"}" + ], + "record": "{\"estimates\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-contribution\",\"map\":\"a07b64cde16cba4e214a2838d0aaa218f225279da8486ada35773db9c1632e46\",\"origin\":null,\"output\":{\"content_hash\":null,\"height\":8,\"samples\":\"fc4d131ccee94f1653d7c868b9f3a12bdaf8b0fb3a930f8b3102dd281b3a0aa0\",\"step\":1,\"width\":6},\"root\":\"64bdfc07ba0fdc6458f32aa2edabfbb7f6080e341c5039d4ab298e17361fb238\",\"session\":\"acefaecc319910cbb0c478ca94c828b41e70b5144a7b0f0c86857f50bbb17273\",\"sig\":\"7903236f3cce772200b39687fdd84c61f8d08e71eeb97d41be045957ce41fc3d28c9400d8f97bebda70ad0c5bd679545b1dcd5e14a87acc6133e0f36740d0905\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"steps\":2}", + "steps": [ + { + "step": "{\"act\":\"author\",\"check\":\"replicate\",\"inputs\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"232d4852447b42008a898fd4932c068051e1cdd33e5169af6a2dff4a23e4f307\",\"width\":8},\"params\":{\"source\":\"digitalCreation\"},\"party\":0,\"prev\":null,\"region\":null,\"seq\":0,\"session\":\"acefaecc319910cbb0c478ca94c828b41e70b5144a7b0f0c86857f50bbb17273\",\"sig\":\"a78eb4160d37c03d389505da9d4c9d71e5b92144afa61af5ec4d5f17a95fe36c064435dd3b09b9ce65e4b7f0631d56810f97424442d9c07768662d5a2d948609\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "947c52beb010b188af0f4bb6f415f4e934a33d77fe3f1333f289552b35800236" + ] + }, + { + "step": "{\"act\":\"transform\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"232d4852447b42008a898fd4932c068051e1cdd33e5169af6a2dff4a23e4f307\",\"step\":0}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":8,\"samples\":\"fc4d131ccee94f1653d7c868b9f3a12bdaf8b0fb3a930f8b3102dd281b3a0aa0\",\"width\":6},\"params\":{\"derivation\":\"wai.derive.rotation\",\"params\":{\"quarter_turns\":5}},\"party\":0,\"prev\":\"b19051192ecca8f013b6cb8b2d9b1a35589387fd35d5973a870d9e4ada5a109b\",\"region\":null,\"seq\":1,\"session\":\"acefaecc319910cbb0c478ca94c828b41e70b5144a7b0f0c86857f50bbb17273\",\"sig\":\"ea5f90dd6a200830e13eafdbf656d00548c185576c4533fd8e1c111323817de1aeeda2807119531ff3c755a009c5d57f25c38d3c5be267ded81aeb0219493f0b\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "75bcce2bbd824e4ddcb854b45a2dfafadb3e0734786760c9602ee446f4565f17" + ] + } + ], + "map": "{\"height\":8,\"kind\":\"wai-authorship-map\",\"output\":\"fc4d131ccee94f1653d7c868b9f3a12bdaf8b0fb3a930f8b3102dd281b3a0aa0\",\"palette\":[{\"directed_by\":[\"unknown\"],\"made_by\":[\"unknown\"]}],\"rows\":[[[0,6]],[[0,6]],[[0,6]],[[0,6]],[[0,6]],[[0,6]],[[0,6]],[[0,6]]],\"width\":6}", + "openings": [], + "states": [ + "b64989baebfcc057051e5000a89bd853d0a46b94b31d23467bd5b651e0c7c731a655a9192daa6872aedcfed4da3d4e1acff774fa9d721c54b6718e6e4d3b162c9ece667fde67076a002e1f7856ecbbfce48b1de01c5fdda6fd326de1d9fc5c141774407a4c67b55199cc7b738a86393dd471425c41b3d92dec3784649587bc313bee7cbed00aecd65279099bbb98fae6", + "06488ae079e6de022f352741bdc17f2d00da89dec588c8d0566a806ed7bf94289b5a479fa7f63404af18b923a7f06a15859148464e57b2e1e803263a16a9277cea3ef1064e666b48923157bea8835be4dd03ffebac070360a5ae13d69cbc04cfb52c0e5c1937afe1ea05ddde7b0c01ebdcc72e0e5326915e0e556dee243274c9a00c32e23c06292c71312ced7f125492" + ], + "models": [ + "963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e" + ], + "origins": [], + "outcome": "refuse", + "reason": "params_invalid", + "at": [ + "step", + 1 + ] + }, + { + "name": "party_unknown_estimate", + "about": "an estimate naming a party the session does not have (§6)", + "policy": { + "tier": "stated" + }, + "session": "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-session\",\"media\":\"image\",\"parties\":[{\"key\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\",\"role\":\"human\"},{\"key\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\",\"role\":\"human\"},{\"digest\":\"963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e\",\"role\":\"model\",\"type\":\"algorithmic\"},{\"digest\":\"af0cc7d1226d60c32186ea7d6abdd4f4f71737d99f94c2a9b6f57e1cd5f63d25\",\"role\":\"model\",\"type\":\"trained\"},{\"key\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\",\"role\":\"audience\"}],\"session\":\"ba8343191c03771d24b7824ef8bd7179b3636d877fa8e6139992a7f5b697fe83\",\"sig\":\"98c1ee158f4a39cb257612d4e86f66fdea2b252cb682d469b944d2fc4a3513006c4a83a92237c1683895dfca660577f9e93b01ccab062b09c50d457ed24fff03\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"tool\":\"conformance-studio/1\"}", + "memberships": [ + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":0,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"91c18a1463ce0471fdd019182706f53c05efa1859d1db93c353de9122a3abd108e40965c9c14cbf4be3f40911af82dbddbcc0a144a3a6e7825a8cad8a6cd360c\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":1,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"0e786ad78bda25fe732583bb04e62ec999f9c3f78cd719ee67cb159a3aa5e2b2e8fed6a305100264a392bd920e7753f30d5c9ba99053ec590f8c9c9f8a94f707\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":4,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"8859195c031cbe3863fa98a4bfa0775a0fa5cc10b24814f05ab16aa23ae2d14652bd72942158fa310cf06fbd7f5f0e8be8e79b7985493993516fd978d7d09606\",\"signer_pubkey\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\"}" + ], + "record": "{\"estimates\":[{\"basis\":\"made_by\",\"class\":\"information-theoretic\",\"estimator\":\"conformance-estimator\",\"party\":9,\"share_ppm\":1}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-contribution\",\"map\":\"7b57936bf90119925c5a51e2c75c49fc5f4a229dc9693356b484e9dc95ebd5bf\",\"origin\":null,\"output\":{\"content_hash\":\"590634ad26c92bb75ec3709b855abb567c988889acd51e954b48253ca7212074\",\"height\":4,\"samples\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"step\":2,\"width\":6},\"root\":\"69f0fec811c3971ba1f39eb0dfbd7aa72855e3b1e1acdb826bce4e189201152c\",\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"40176a6a7ee09fbfdb1c938c685a026aad40f72852b9ccc66d13159978e700a2a06ef3484e2aebac2884a381c13e1b85b808f7a0a5b2e5e0980dbea589d47b08\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"steps\":3}", + "steps": [ + { + "step": "{\"act\":\"author\",\"check\":\"replicate\",\"inputs\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"3ee879760a3cf69d9a48c7ae08b6971eb96ae7e973fa4d22002039b546590262\",\"width\":8},\"params\":{\"source\":\"digitalCreation\"},\"party\":0,\"prev\":null,\"region\":null,\"seq\":0,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"8ea7f11877bc720d3fb66c874946222d94968502ddae7dd9616e1e8ac5df2bc5438245b03ff1409f4b4330b06f54746a4ec4680f7d7782906100dc20d854b807\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "245375c1b3eef49019e8eba5a71603dafa53dc4221d07f2c2ce83f3ead4c1831", + "1253b3fdb178c6577638adec86a5c20800a5e95cd7af39cfeae404a78a46a796" + ] + }, + { + "step": "{\"act\":\"edit\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"3ee879760a3cf69d9a48c7ae08b6971eb96ae7e973fa4d22002039b546590262\",\"step\":0}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"42e8909f556c4557eeb9b6b60d14209ecaafc4dffd191ac77b2e99e88805221a\",\"width\":8},\"params\":{},\"party\":1,\"prev\":\"d2b0576f27f28c0adf54c945acf85fdb780e2fb98bdfc1c63c7a4c2edfdcc455\",\"region\":[{\"h\":2,\"w\":3,\"x\":2,\"y\":1},{\"h\":1,\"w\":2,\"x\":5,\"y\":4}],\"seq\":1,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"34451e4e29bdef7402b9c4070c611b18dbfa1d9cfd04528aab1d9541b946374dfc59a746ed5df6c5421f1cbc335fe65d1978f14af9713de413f9dd1b7e8fb40c\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "proof": [ + "05feabecad5dccde03a732abeadb8509061da9400bd37de4930f9eef582cc718", + "1253b3fdb178c6577638adec86a5c20800a5e95cd7af39cfeae404a78a46a796" + ] + }, + { + "step": "{\"act\":\"transform\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"42e8909f556c4557eeb9b6b60d14209ecaafc4dffd191ac77b2e99e88805221a\",\"step\":1}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":4,\"samples\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"width\":6},\"params\":{\"derivation\":\"wai.derive.crop\",\"params\":{\"h\":4,\"w\":6,\"x\":1,\"y\":1}},\"party\":0,\"prev\":\"8062364c2fc760a54f6852d468b63400b62a8871cf6fc94110796620d2626d79\",\"region\":null,\"seq\":2,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"1b2267557ee56cc3fca9cf2f506d779d0a2935f5d780f2ddcfa3020a0ce13e935637b8f75629d1b0a9a10659224ff12b8829fdb20b9799452e1c4eb66af7d404\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "63c4467d39c4bfdfdec4750ba1c3147909ff1f30a293173a389b7bbde600e148", + "ad1b48e9ac9cec5aaf434f4b80be9a16e7e3823f7dee7417b49d5eb09f74f422" + ] + } + ], + "map": "{\"height\":4,\"kind\":\"wai-authorship-map\",\"output\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"palette\":[{\"directed_by\":[0],\"made_by\":[0]},{\"directed_by\":[0],\"made_by\":[1]}],\"rows\":[[[0,1],[1,3],[0,2]],[[0,1],[1,3],[0,2]],[[0,6]],[[0,4],[1,2]]],\"width\":6}", + "openings": [], + "states": [ + "0d1d3ed84439e6b8290ac53a929a9d0bbb23f77a846cc30d3e7138c921a13828374a02675b15eb568a7e2d9367e55fd5e68d6094f01ce8d7d851f2563a283ddb9a7ff533b99f121a31aa2a47a59649f213c65626aa95c589af77518e06d5c96e86732a066e27a6ea92f5426716b09ae8a2b2beb98dd19512bfce11b59bc1c7293827acfb1d3a8fc061fadfe922f5c6d2", + "0d1d3ed84439e6b8290ac53a929a9d0bbb23f77a846cc30d3e7138c921a129b8bbf6bfe98beab3568a7e2d9367e55fd5e68d6094f01cea6da5d5ac55651fb1db9a7ff533b99f121a31aa2a47a59649f213c65626aa95c589af77518e06d5c96e86732a066e27a6ea92f5426716b09a7c34c5e6a158d19512bfce11b59bc1c7293827acfb1d3a8fc061fadfe922f5c6d2", + "c921a129b8bbf6bfe98beab3568a7e2d936794f01cea6da5d5ac55651fb1db9a7ff533b947a59649f213c65626aa95c589af77518e06066e27a6ea92f5426716b09a7c34c5e6a158" + ], + "models": [ + "963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e" + ], + "origins": [], + "outcome": "refuse", + "reason": "party_unknown", + "at": [ + "record" + ] + }, + { + "name": "session_mismatch_record", + "about": "a contribution record of another session (§6)", + "policy": { + "tier": "stated" + }, + "session": "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-session\",\"media\":\"image\",\"parties\":[{\"key\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\",\"role\":\"human\"},{\"key\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\",\"role\":\"human\"},{\"digest\":\"963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e\",\"role\":\"model\",\"type\":\"algorithmic\"},{\"digest\":\"af0cc7d1226d60c32186ea7d6abdd4f4f71737d99f94c2a9b6f57e1cd5f63d25\",\"role\":\"model\",\"type\":\"trained\"},{\"key\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\",\"role\":\"audience\"}],\"session\":\"ba8343191c03771d24b7824ef8bd7179b3636d877fa8e6139992a7f5b697fe83\",\"sig\":\"98c1ee158f4a39cb257612d4e86f66fdea2b252cb682d469b944d2fc4a3513006c4a83a92237c1683895dfca660577f9e93b01ccab062b09c50d457ed24fff03\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"tool\":\"conformance-studio/1\"}", + "memberships": [ + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":0,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"91c18a1463ce0471fdd019182706f53c05efa1859d1db93c353de9122a3abd108e40965c9c14cbf4be3f40911af82dbddbcc0a144a3a6e7825a8cad8a6cd360c\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":1,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"0e786ad78bda25fe732583bb04e62ec999f9c3f78cd719ee67cb159a3aa5e2b2e8fed6a305100264a392bd920e7753f30d5c9ba99053ec590f8c9c9f8a94f707\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":4,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"8859195c031cbe3863fa98a4bfa0775a0fa5cc10b24814f05ab16aa23ae2d14652bd72942158fa310cf06fbd7f5f0e8be8e79b7985493993516fd978d7d09606\",\"signer_pubkey\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\"}" + ], + "record": "{\"estimates\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-contribution\",\"map\":\"7b57936bf90119925c5a51e2c75c49fc5f4a229dc9693356b484e9dc95ebd5bf\",\"origin\":null,\"output\":{\"content_hash\":\"590634ad26c92bb75ec3709b855abb567c988889acd51e954b48253ca7212074\",\"height\":4,\"samples\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"step\":2,\"width\":6},\"root\":\"69f0fec811c3971ba1f39eb0dfbd7aa72855e3b1e1acdb826bce4e189201152c\",\"session\":\"a1feee56bab9f8c89d9a3a091f01c2a3b0c5d5f0c4a2eb286a3b3a689bfe68ff\",\"sig\":\"fc246a029e35bd047e4a7a8d072d527fb9dbb54391ccb6aacc69b7f50216bc9e13bd671fbbfb37dc9d0895bfc4997222b8acb871de62e001a4a940656921070d\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"steps\":3}", + "steps": [ + { + "step": "{\"act\":\"author\",\"check\":\"replicate\",\"inputs\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"3ee879760a3cf69d9a48c7ae08b6971eb96ae7e973fa4d22002039b546590262\",\"width\":8},\"params\":{\"source\":\"digitalCreation\"},\"party\":0,\"prev\":null,\"region\":null,\"seq\":0,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"8ea7f11877bc720d3fb66c874946222d94968502ddae7dd9616e1e8ac5df2bc5438245b03ff1409f4b4330b06f54746a4ec4680f7d7782906100dc20d854b807\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "245375c1b3eef49019e8eba5a71603dafa53dc4221d07f2c2ce83f3ead4c1831", + "1253b3fdb178c6577638adec86a5c20800a5e95cd7af39cfeae404a78a46a796" + ] + }, + { + "step": "{\"act\":\"edit\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"3ee879760a3cf69d9a48c7ae08b6971eb96ae7e973fa4d22002039b546590262\",\"step\":0}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"42e8909f556c4557eeb9b6b60d14209ecaafc4dffd191ac77b2e99e88805221a\",\"width\":8},\"params\":{},\"party\":1,\"prev\":\"d2b0576f27f28c0adf54c945acf85fdb780e2fb98bdfc1c63c7a4c2edfdcc455\",\"region\":[{\"h\":2,\"w\":3,\"x\":2,\"y\":1},{\"h\":1,\"w\":2,\"x\":5,\"y\":4}],\"seq\":1,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"34451e4e29bdef7402b9c4070c611b18dbfa1d9cfd04528aab1d9541b946374dfc59a746ed5df6c5421f1cbc335fe65d1978f14af9713de413f9dd1b7e8fb40c\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "proof": [ + "05feabecad5dccde03a732abeadb8509061da9400bd37de4930f9eef582cc718", + "1253b3fdb178c6577638adec86a5c20800a5e95cd7af39cfeae404a78a46a796" + ] + }, + { + "step": "{\"act\":\"transform\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"42e8909f556c4557eeb9b6b60d14209ecaafc4dffd191ac77b2e99e88805221a\",\"step\":1}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":4,\"samples\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"width\":6},\"params\":{\"derivation\":\"wai.derive.crop\",\"params\":{\"h\":4,\"w\":6,\"x\":1,\"y\":1}},\"party\":0,\"prev\":\"8062364c2fc760a54f6852d468b63400b62a8871cf6fc94110796620d2626d79\",\"region\":null,\"seq\":2,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"1b2267557ee56cc3fca9cf2f506d779d0a2935f5d780f2ddcfa3020a0ce13e935637b8f75629d1b0a9a10659224ff12b8829fdb20b9799452e1c4eb66af7d404\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "63c4467d39c4bfdfdec4750ba1c3147909ff1f30a293173a389b7bbde600e148", + "ad1b48e9ac9cec5aaf434f4b80be9a16e7e3823f7dee7417b49d5eb09f74f422" + ] + } + ], + "map": "{\"height\":4,\"kind\":\"wai-authorship-map\",\"output\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"palette\":[{\"directed_by\":[0],\"made_by\":[0]},{\"directed_by\":[0],\"made_by\":[1]}],\"rows\":[[[0,1],[1,3],[0,2]],[[0,1],[1,3],[0,2]],[[0,6]],[[0,4],[1,2]]],\"width\":6}", + "openings": [], + "states": [ + "0d1d3ed84439e6b8290ac53a929a9d0bbb23f77a846cc30d3e7138c921a13828374a02675b15eb568a7e2d9367e55fd5e68d6094f01ce8d7d851f2563a283ddb9a7ff533b99f121a31aa2a47a59649f213c65626aa95c589af77518e06d5c96e86732a066e27a6ea92f5426716b09ae8a2b2beb98dd19512bfce11b59bc1c7293827acfb1d3a8fc061fadfe922f5c6d2", + "0d1d3ed84439e6b8290ac53a929a9d0bbb23f77a846cc30d3e7138c921a129b8bbf6bfe98beab3568a7e2d9367e55fd5e68d6094f01cea6da5d5ac55651fb1db9a7ff533b99f121a31aa2a47a59649f213c65626aa95c589af77518e06d5c96e86732a066e27a6ea92f5426716b09a7c34c5e6a158d19512bfce11b59bc1c7293827acfb1d3a8fc061fadfe922f5c6d2", + "c921a129b8bbf6bfe98beab3568a7e2d936794f01cea6da5d5ac55651fb1db9a7ff533b947a59649f213c65626aa95c589af77518e06066e27a6ea92f5426716b09a7c34c5e6a158" + ], + "models": [ + "963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e" + ], + "origins": [], + "outcome": "refuse", + "reason": "session_mismatch", + "at": [ + "record" + ] + }, + { + "name": "signer_mismatch_record", + "about": "a contribution record signed by a person's key instead of the tool's (§6)", + "policy": { + "tier": "stated" + }, + "session": "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-session\",\"media\":\"image\",\"parties\":[{\"key\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\",\"role\":\"human\"},{\"key\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\",\"role\":\"human\"},{\"digest\":\"963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e\",\"role\":\"model\",\"type\":\"algorithmic\"},{\"digest\":\"af0cc7d1226d60c32186ea7d6abdd4f4f71737d99f94c2a9b6f57e1cd5f63d25\",\"role\":\"model\",\"type\":\"trained\"},{\"key\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\",\"role\":\"audience\"}],\"session\":\"ba8343191c03771d24b7824ef8bd7179b3636d877fa8e6139992a7f5b697fe83\",\"sig\":\"98c1ee158f4a39cb257612d4e86f66fdea2b252cb682d469b944d2fc4a3513006c4a83a92237c1683895dfca660577f9e93b01ccab062b09c50d457ed24fff03\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"tool\":\"conformance-studio/1\"}", + "memberships": [ + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":0,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"91c18a1463ce0471fdd019182706f53c05efa1859d1db93c353de9122a3abd108e40965c9c14cbf4be3f40911af82dbddbcc0a144a3a6e7825a8cad8a6cd360c\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":1,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"0e786ad78bda25fe732583bb04e62ec999f9c3f78cd719ee67cb159a3aa5e2b2e8fed6a305100264a392bd920e7753f30d5c9ba99053ec590f8c9c9f8a94f707\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":4,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"8859195c031cbe3863fa98a4bfa0775a0fa5cc10b24814f05ab16aa23ae2d14652bd72942158fa310cf06fbd7f5f0e8be8e79b7985493993516fd978d7d09606\",\"signer_pubkey\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\"}" + ], + "record": "{\"estimates\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-contribution\",\"map\":\"7b57936bf90119925c5a51e2c75c49fc5f4a229dc9693356b484e9dc95ebd5bf\",\"origin\":null,\"output\":{\"content_hash\":\"590634ad26c92bb75ec3709b855abb567c988889acd51e954b48253ca7212074\",\"height\":4,\"samples\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"step\":2,\"width\":6},\"root\":\"69f0fec811c3971ba1f39eb0dfbd7aa72855e3b1e1acdb826bce4e189201152c\",\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"f0260474ef858894f7547946e7f7a91fe53989485317a6640e8216b5faa9bbccf725e7c12a21728e82342a881b4aed542eeee1548371cec3d22a187817ce8b09\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\",\"steps\":3}", + "steps": [ + { + "step": "{\"act\":\"author\",\"check\":\"replicate\",\"inputs\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"3ee879760a3cf69d9a48c7ae08b6971eb96ae7e973fa4d22002039b546590262\",\"width\":8},\"params\":{\"source\":\"digitalCreation\"},\"party\":0,\"prev\":null,\"region\":null,\"seq\":0,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"8ea7f11877bc720d3fb66c874946222d94968502ddae7dd9616e1e8ac5df2bc5438245b03ff1409f4b4330b06f54746a4ec4680f7d7782906100dc20d854b807\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "245375c1b3eef49019e8eba5a71603dafa53dc4221d07f2c2ce83f3ead4c1831", + "1253b3fdb178c6577638adec86a5c20800a5e95cd7af39cfeae404a78a46a796" + ] + }, + { + "step": "{\"act\":\"edit\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"3ee879760a3cf69d9a48c7ae08b6971eb96ae7e973fa4d22002039b546590262\",\"step\":0}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"42e8909f556c4557eeb9b6b60d14209ecaafc4dffd191ac77b2e99e88805221a\",\"width\":8},\"params\":{},\"party\":1,\"prev\":\"d2b0576f27f28c0adf54c945acf85fdb780e2fb98bdfc1c63c7a4c2edfdcc455\",\"region\":[{\"h\":2,\"w\":3,\"x\":2,\"y\":1},{\"h\":1,\"w\":2,\"x\":5,\"y\":4}],\"seq\":1,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"34451e4e29bdef7402b9c4070c611b18dbfa1d9cfd04528aab1d9541b946374dfc59a746ed5df6c5421f1cbc335fe65d1978f14af9713de413f9dd1b7e8fb40c\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "proof": [ + "05feabecad5dccde03a732abeadb8509061da9400bd37de4930f9eef582cc718", + "1253b3fdb178c6577638adec86a5c20800a5e95cd7af39cfeae404a78a46a796" + ] + }, + { + "step": "{\"act\":\"transform\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"42e8909f556c4557eeb9b6b60d14209ecaafc4dffd191ac77b2e99e88805221a\",\"step\":1}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":4,\"samples\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"width\":6},\"params\":{\"derivation\":\"wai.derive.crop\",\"params\":{\"h\":4,\"w\":6,\"x\":1,\"y\":1}},\"party\":0,\"prev\":\"8062364c2fc760a54f6852d468b63400b62a8871cf6fc94110796620d2626d79\",\"region\":null,\"seq\":2,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"1b2267557ee56cc3fca9cf2f506d779d0a2935f5d780f2ddcfa3020a0ce13e935637b8f75629d1b0a9a10659224ff12b8829fdb20b9799452e1c4eb66af7d404\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "63c4467d39c4bfdfdec4750ba1c3147909ff1f30a293173a389b7bbde600e148", + "ad1b48e9ac9cec5aaf434f4b80be9a16e7e3823f7dee7417b49d5eb09f74f422" + ] + } + ], + "map": "{\"height\":4,\"kind\":\"wai-authorship-map\",\"output\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"palette\":[{\"directed_by\":[0],\"made_by\":[0]},{\"directed_by\":[0],\"made_by\":[1]}],\"rows\":[[[0,1],[1,3],[0,2]],[[0,1],[1,3],[0,2]],[[0,6]],[[0,4],[1,2]]],\"width\":6}", + "openings": [], + "states": [ + "0d1d3ed84439e6b8290ac53a929a9d0bbb23f77a846cc30d3e7138c921a13828374a02675b15eb568a7e2d9367e55fd5e68d6094f01ce8d7d851f2563a283ddb9a7ff533b99f121a31aa2a47a59649f213c65626aa95c589af77518e06d5c96e86732a066e27a6ea92f5426716b09ae8a2b2beb98dd19512bfce11b59bc1c7293827acfb1d3a8fc061fadfe922f5c6d2", + "0d1d3ed84439e6b8290ac53a929a9d0bbb23f77a846cc30d3e7138c921a129b8bbf6bfe98beab3568a7e2d9367e55fd5e68d6094f01cea6da5d5ac55651fb1db9a7ff533b99f121a31aa2a47a59649f213c65626aa95c589af77518e06d5c96e86732a066e27a6ea92f5426716b09a7c34c5e6a158d19512bfce11b59bc1c7293827acfb1d3a8fc061fadfe922f5c6d2", + "c921a129b8bbf6bfe98beab3568a7e2d936794f01cea6da5d5ac55651fb1db9a7ff533b947a59649f213c65626aa95c589af77518e06066e27a6ea92f5426716b09a7c34c5e6a158" + ], + "models": [ + "963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e" + ], + "origins": [], + "outcome": "refuse", + "reason": "signer_mismatch", + "at": [ + "record" + ] + }, + { + "name": "chain_broken_prev", + "about": "a step whose prev names the step two before it, skipping its predecessor (§5.1)", + "policy": { + "tier": "stated" + }, + "session": "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-session\",\"media\":\"image\",\"parties\":[{\"key\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\",\"role\":\"human\"},{\"key\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\",\"role\":\"human\"},{\"digest\":\"963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e\",\"role\":\"model\",\"type\":\"algorithmic\"},{\"digest\":\"af0cc7d1226d60c32186ea7d6abdd4f4f71737d99f94c2a9b6f57e1cd5f63d25\",\"role\":\"model\",\"type\":\"trained\"},{\"key\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\",\"role\":\"audience\"}],\"session\":\"ba8343191c03771d24b7824ef8bd7179b3636d877fa8e6139992a7f5b697fe83\",\"sig\":\"98c1ee158f4a39cb257612d4e86f66fdea2b252cb682d469b944d2fc4a3513006c4a83a92237c1683895dfca660577f9e93b01ccab062b09c50d457ed24fff03\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"tool\":\"conformance-studio/1\"}", + "memberships": [ + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":0,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"91c18a1463ce0471fdd019182706f53c05efa1859d1db93c353de9122a3abd108e40965c9c14cbf4be3f40911af82dbddbcc0a144a3a6e7825a8cad8a6cd360c\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":1,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"0e786ad78bda25fe732583bb04e62ec999f9c3f78cd719ee67cb159a3aa5e2b2e8fed6a305100264a392bd920e7753f30d5c9ba99053ec590f8c9c9f8a94f707\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":4,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"8859195c031cbe3863fa98a4bfa0775a0fa5cc10b24814f05ab16aa23ae2d14652bd72942158fa310cf06fbd7f5f0e8be8e79b7985493993516fd978d7d09606\",\"signer_pubkey\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\"}" + ], + "record": "{\"estimates\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-contribution\",\"map\":\"7b57936bf90119925c5a51e2c75c49fc5f4a229dc9693356b484e9dc95ebd5bf\",\"origin\":null,\"output\":{\"content_hash\":\"590634ad26c92bb75ec3709b855abb567c988889acd51e954b48253ca7212074\",\"height\":4,\"samples\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"step\":2,\"width\":6},\"root\":\"d59de84fa0ff08fd37fab2a2c075c64a7b90befb6434274342ee22b77f442c37\",\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"36a7b705bb3357e7859666088b6e056bc6694497839a49b212bda689899af9ce0b55ee88dfa704b8845c9ff5f3604653cc9909040c9c601d79855e5604253504\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"steps\":3}", + "steps": [ + { + "step": "{\"act\":\"author\",\"check\":\"replicate\",\"inputs\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"3ee879760a3cf69d9a48c7ae08b6971eb96ae7e973fa4d22002039b546590262\",\"width\":8},\"params\":{\"source\":\"digitalCreation\"},\"party\":0,\"prev\":null,\"region\":null,\"seq\":0,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"8ea7f11877bc720d3fb66c874946222d94968502ddae7dd9616e1e8ac5df2bc5438245b03ff1409f4b4330b06f54746a4ec4680f7d7782906100dc20d854b807\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "245375c1b3eef49019e8eba5a71603dafa53dc4221d07f2c2ce83f3ead4c1831", + "3fda488bf51754e0fe311ae440d2471301f7b06d2d2fc995c2afd43c0ff664ed" + ] + }, + { + "step": "{\"act\":\"edit\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"3ee879760a3cf69d9a48c7ae08b6971eb96ae7e973fa4d22002039b546590262\",\"step\":0}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"42e8909f556c4557eeb9b6b60d14209ecaafc4dffd191ac77b2e99e88805221a\",\"width\":8},\"params\":{},\"party\":1,\"prev\":\"d2b0576f27f28c0adf54c945acf85fdb780e2fb98bdfc1c63c7a4c2edfdcc455\",\"region\":[{\"h\":2,\"w\":3,\"x\":2,\"y\":1},{\"h\":1,\"w\":2,\"x\":5,\"y\":4}],\"seq\":1,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"34451e4e29bdef7402b9c4070c611b18dbfa1d9cfd04528aab1d9541b946374dfc59a746ed5df6c5421f1cbc335fe65d1978f14af9713de413f9dd1b7e8fb40c\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "proof": [ + "05feabecad5dccde03a732abeadb8509061da9400bd37de4930f9eef582cc718", + "3fda488bf51754e0fe311ae440d2471301f7b06d2d2fc995c2afd43c0ff664ed" + ] + }, + { + "step": "{\"act\":\"transform\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"42e8909f556c4557eeb9b6b60d14209ecaafc4dffd191ac77b2e99e88805221a\",\"step\":1}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":4,\"samples\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"width\":6},\"params\":{\"derivation\":\"wai.derive.crop\",\"params\":{\"h\":4,\"w\":6,\"x\":1,\"y\":1}},\"party\":0,\"prev\":\"d2b0576f27f28c0adf54c945acf85fdb780e2fb98bdfc1c63c7a4c2edfdcc455\",\"region\":null,\"seq\":2,\"session\":\"7807906466e7c7f6d196034c06e525800f832d208d47c01ec050c0902468035b\",\"sig\":\"8742216970bd4dc3caf2e10ee5dd59cde412cb630132256540d1e709c8c8dc6d4bed7e5e7e1dd0c8d2f4eecf93b4ddba8207559093b3cbde7a0c7b694abd6604\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "cafdaa9dbaca02b3e78935a2dbfa595d94201f2ac075bfa8216ea0a65f05f176", + "ad1b48e9ac9cec5aaf434f4b80be9a16e7e3823f7dee7417b49d5eb09f74f422" + ] + } + ], + "map": "{\"height\":4,\"kind\":\"wai-authorship-map\",\"output\":\"f12c7e396c9aa00d67e62cffac8c0fdd32b5268f3cd38179410a976bdb0163f2\",\"palette\":[{\"directed_by\":[0],\"made_by\":[0]},{\"directed_by\":[0],\"made_by\":[1]}],\"rows\":[[[0,1],[1,3],[0,2]],[[0,1],[1,3],[0,2]],[[0,6]],[[0,4],[1,2]]],\"width\":6}", + "openings": [], + "states": [ + "0d1d3ed84439e6b8290ac53a929a9d0bbb23f77a846cc30d3e7138c921a13828374a02675b15eb568a7e2d9367e55fd5e68d6094f01ce8d7d851f2563a283ddb9a7ff533b99f121a31aa2a47a59649f213c65626aa95c589af77518e06d5c96e86732a066e27a6ea92f5426716b09ae8a2b2beb98dd19512bfce11b59bc1c7293827acfb1d3a8fc061fadfe922f5c6d2", + "0d1d3ed84439e6b8290ac53a929a9d0bbb23f77a846cc30d3e7138c921a129b8bbf6bfe98beab3568a7e2d9367e55fd5e68d6094f01cea6da5d5ac55651fb1db9a7ff533b99f121a31aa2a47a59649f213c65626aa95c589af77518e06d5c96e86732a066e27a6ea92f5426716b09a7c34c5e6a158d19512bfce11b59bc1c7293827acfb1d3a8fc061fadfe922f5c6d2", + "c921a129b8bbf6bfe98beab3568a7e2d936794f01cea6da5d5ac55651fb1db9a7ff533b947a59649f213c65626aa95c589af77518e06066e27a6ea92f5426716b09a7c34c5e6a158" + ], + "models": [ + "963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e" + ], + "origins": [], + "outcome": "refuse", + "reason": "chain_broken", + "at": [ + "step", + 2 + ] + }, + { + "name": "tier_not_met", + "about": "the partially disclosed candidates session under a policy that accepts only recomputed outcomes (§10.1)", + "policy": { + "tier": "recomputed" + }, + "session": "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-session\",\"media\":\"image\",\"parties\":[{\"key\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\",\"role\":\"human\"},{\"key\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\",\"role\":\"human\"},{\"digest\":\"963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e\",\"role\":\"model\",\"type\":\"algorithmic\"},{\"digest\":\"af0cc7d1226d60c32186ea7d6abdd4f4f71737d99f94c2a9b6f57e1cd5f63d25\",\"role\":\"model\",\"type\":\"trained\"},{\"key\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\",\"role\":\"audience\"}],\"session\":\"97af1afd986c95aeea3bbf11ffa0940289cbda0759f3c735e7f0ea27847fcdc0\",\"sig\":\"29a0d9d9c0b8aa46048ca8ad83ece41304b729afff09ad9025b452fdf01ac6247675dbaa947c359ee21238b5328b431ec5410f36fa945713744f50bc4f631006\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"tool\":\"conformance-studio/1\"}", + "memberships": [ + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":0,\"session\":\"fc5e6d6dc68b92575425f6f17f9c727ad19924eb8a07f73c0ce91411319aaf23\",\"sig\":\"2da2330f1a56c4e71ca2f09d1784d41b221eb6af65c9b1c44c6896b2d5f905b0d479460fcde8b737d0e5d8aa996d366434fd25768995748521aa1e1d61cae709\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":1,\"session\":\"fc5e6d6dc68b92575425f6f17f9c727ad19924eb8a07f73c0ce91411319aaf23\",\"sig\":\"8b1d411d99b72f63e8689ae30635413bc0b695c93cdef12a88ebb1d68eec01fadb5a5fdabf16c0f36d2dd4b0a4544c07c6b3025708be2dc9c37619afab11290f\",\"signer_pubkey\":\"207a839b697577b3e4b597494e9b0b58f05f5a57ddd95d27d223e07620576043\"}", + "{\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-membership\",\"party\":4,\"session\":\"fc5e6d6dc68b92575425f6f17f9c727ad19924eb8a07f73c0ce91411319aaf23\",\"sig\":\"88c15aa3a690d3581c5b42b8d134a5bb32454d3c31057e38d5ebe611b61c5a1ede6d4d8a9ae28bd1db844c4a61400acd67a4fa509e0224ca2cb64e94f94be401\",\"signer_pubkey\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\"}" + ], + "record": "{\"estimates\":[],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-contribution\",\"map\":\"9b84d11f86f90a381734cc43391ff55b40f57509bfd8af1e9c9805d39163f71e\",\"origin\":null,\"output\":{\"content_hash\":null,\"height\":6,\"samples\":\"cbb50f401f7143171133c6dc51bd20697f25e6645ddd9e83f1792de79f1e2176\",\"step\":3,\"width\":8},\"root\":\"fdfd0c71a05ef818204c45d795ae2573ec18c4ee49643e1559826d38c83e5f80\",\"session\":\"fc5e6d6dc68b92575425f6f17f9c727ad19924eb8a07f73c0ce91411319aaf23\",\"sig\":\"0c483927399d3f7c9d7b4096b98d12fa428de29ebd466dc3a6c75b6b1a9f22fe0e284f22293a2f57090b1abd4078e2cd0d9d02c263a6c1604fb44132903d1602\",\"signer_pubkey\":\"2c991eb05e8454593887bbbb7df5fc370214362a5fa8ce0057a2e16bddc6a64d\",\"steps\":4}", + "steps": [ + { + "step": "{\"act\":\"select\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"ead59c0c830935f72953869a290d9a901e1bd96545d12619785e5fd9757fd056\",\"step\":0}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"ead59c0c830935f72953869a290d9a901e1bd96545d12619785e5fd9757fd056\",\"width\":8},\"params\":{},\"party\":4,\"prev\":\"ad881daf4685a6d1e7f12330ddd06aedd0d778785ab72653c7bed7237499d347\",\"region\":null,\"seq\":1,\"session\":\"fc5e6d6dc68b92575425f6f17f9c727ad19924eb8a07f73c0ce91411319aaf23\",\"sig\":\"f1975202fb6c8aa2d799fb0d8c9a92abffd8b86e0be52f30b29888ed7e9555fd0bb79f2fb915492e6103638578f6b83c93dca9d0a6aaa034189f3a301bce7b0b\",\"signer_pubkey\":\"fe1d6a5e8a7c07e2cfac5738f28011db67f3350b3a21774f1851b4d9574707b2\"}", + "proof": [ + "062b2835e9fca49210101b25ebad0cfa126fa2f919417636e468047bd1ffba40", + "60b3b8d958162d730b2112eefeab007e3feb62f37871cd360d820e2d272bee83" + ] + }, + { + "step": "{\"act\":\"reject\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"eb7d21d6172387fa8e5a7953f08878927175a0d53939a9b5dcbdceb38db56ea5\",\"step\":0}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":null,\"params\":{},\"party\":0,\"prev\":\"57025335d11ad00775f2a5555306d94d071c6b360f6a139f0ccc7f463f9ac701\",\"region\":null,\"seq\":2,\"session\":\"fc5e6d6dc68b92575425f6f17f9c727ad19924eb8a07f73c0ce91411319aaf23\",\"sig\":\"d1fbd42d940aebf9f92c73f5621173203cdd558f4ffbd2fe49f76f6e719c4a2b727298984afc02f616b5ef744775594fca0da24d08cabaee6d3b81ad85c08c06\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "c4e51911fbff18579eea695ba779cb4bc4b8b853f1f383bbbbbe398ae5ba0f41", + "4852389a733b52d6c0be74c466c1e5d4c9f378eecfe8712bf287320954609582" + ] + }, + { + "step": "{\"act\":\"transform\",\"check\":\"replicate\",\"inputs\":[{\"samples\":\"ead59c0c830935f72953869a290d9a901e1bd96545d12619785e5fd9757fd056\",\"step\":1}],\"issued_at\":\"2026-10-21T12:00:00Z\",\"kind\":\"wai-step\",\"output\":{\"height\":6,\"samples\":\"cbb50f401f7143171133c6dc51bd20697f25e6645ddd9e83f1792de79f1e2176\",\"width\":8},\"params\":{\"derivation\":\"wai-contribution:lut\",\"params\":{\"table\":\"2828292a2b2b2c2d2e2e2f303131323334343536373738393a3a3b3c3d3d3e3f40404142434344454646474849494a4b4c4c4d4e4f4f505152525354555556575858595a5b5b5c5d5e5e5f606161626364646566676768696a6a6b6c6d6d6e6f70707172737374757676777879797a7b7c7c7d7e7f7f808182828384858586878888898a8b8b8c8d8e8e8f909191929394949596979798999a9a9b9c9d9d9e9fa0a0a1a2a3a3a4a5a6a6a7a8a9a9aaabacacadaeafafb0b1b2b2b3b4b5b5b6b7b8b8b9babbbbbcbdbebebfc0c1c1c2c3c4c4c5c6c7c7c8c9cacacbcccdcdcecfd0d0d1d2d3d3d4d5d6d6d7d8d9d9dadbdcdcdddedfdfe0e1e2e2e3e4e5e5e6e7000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfefffffefdfcfbfaf9f8f7f6f5f4f3f2f1f0efeeedecebeae9e8e7e6e5e4e3e2e1e0dfdedddcdbdad9d8d7d6d5d4d3d2d1d0cfcecdcccbcac9c8c7c6c5c4c3c2c1c0bfbebdbcbbbab9b8b7b6b5b4b3b2b1b0afaeadacabaaa9a8a7a6a5a4a3a2a1a09f9e9d9c9b9a999897969594939291908f8e8d8c8b8a898887868584838281807f7e7d7c7b7a797877767574737271706f6e6d6c6b6a696867666564636261605f5e5d5c5b5a595857565554535251504f4e4d4c4b4a494847464544434241403f3e3d3c3b3a393837363534333231302f2e2d2c2b2a292827262524232221201f1e1d1c1b1a191817161514131211100f0e0d0c0b0a09080706050403020100\"}},\"party\":0,\"prev\":\"95b8e5e62e3e1b9535c2a2b8d6e3710a2cadf263eff0e69e73944326c4aa8f58\",\"region\":null,\"seq\":3,\"session\":\"fc5e6d6dc68b92575425f6f17f9c727ad19924eb8a07f73c0ce91411319aaf23\",\"sig\":\"e70ac668f10349469b0e755eea64f18566d84bd15aacfd06687ca0f4b4adaad19226ec6f04ba4455870c58d9569e868887e16d9282f83ee9b379ad0620636a0f\",\"signer_pubkey\":\"f8505216229355518e0ff175fc05cea89276053c9d76b85cabd24eab22f4a36e\"}", + "proof": [ + "7a3bae482938ec69e7e298613f59351d3f7d7621a1eedefcc89872d3762df903", + "4852389a733b52d6c0be74c466c1e5d4c9f378eecfe8712bf287320954609582" + ] + } + ], + "map": "{\"height\":6,\"kind\":\"wai-authorship-map\",\"output\":\"cbb50f401f7143171133c6dc51bd20697f25e6645ddd9e83f1792de79f1e2176\",\"palette\":[{\"directed_by\":[0,4],\"made_by\":[2]}],\"rows\":[[[0,8]],[[0,8]],[[0,8]],[[0,8]],[[0,8]],[[0,8]]],\"width\":8}", + "openings": [ + "{\"commitment\":\"426086c64da7c1c19c02055132da0ae84a7b3a45b804db95bbe263f5734b3413\",\"salt\":\"a3b062613d3ff73f4d8607aa9b8bedc0a589a6b50ac9d93829f2d59752ea427c\",\"text\":\"a bright spiral of fire\"}" + ], + "states": [], + "models": [ + "963ee634db1a964d14004618b139fd7e32598f627c023faf9526b14611504f9e" + ], + "origins": [], + "outcome": "refuse", + "reason": "tier_not_met", + "at": [ + "policy" + ] + } + ] +} diff --git a/wai/live-conformance/contribution_verify.py b/wai/live-conformance/contribution_verify.py new file mode 100644 index 000000000..96bc405f8 --- /dev/null +++ b/wai/live-conformance/contribution_verify.py @@ -0,0 +1,1273 @@ +#!/usr/bin/env python3 +"""Second implementation of extensions/contribution.md (`wai.media.contribution`), over the +corpus `live-conformance/contribution/`. + +Written from the extension's text. It shares no code with wai-rs: it reads every record as §2 +has it read, with the strict JSON reading and the encodings of the synthesis corpus's second +implementation (synthesis_verify.py), which also reads each origin claim (§9.1); it verifies +every signature with WAI's strict Ed25519 rule (claim-conformance/_ed25519.py) and every link +hash and tree node with BLAKE3 written from its specification (claim-conformance/_blake3.py); +it evaluates every pinned operation of §4.5 and runs the pinned generator in its own +arithmetic, which it first checks against the generator's conformance vector +(wai-rs/tests/vectors/generate/sha256.json); and it computes every authorship map, every +share and every C2PA statement itself. + + python3 -I contribution_verify.py + +It gives every vector of the corpus the outcome, the reason, the place and the statements the +corpus states and checks that every reason of §11 refuses a vector. Then it mutates copies of +the corpus and requires every copy to fail, and drops each of its own checks in turn and +requires the corpus to catch the weakened verifier. Exit status 0 only if all of that holds. +Python 3.8 or later; standard library only. +""" + +import copy +import hashlib +import json +import math +import os +import re +import sys + +HERE = os.path.dirname(os.path.abspath(__file__)) +sys.path.insert(0, HERE) +sys.path.insert(0, os.path.join(HERE, "..", "claim-conformance")) +import synthesis_verify as SYN # noqa: E402 +import _ed25519 as ED # noqa: E402 +from _blake3 import blake3 # noqa: E402 + +EXTENSION = os.path.join(HERE, "..", "extensions", "contribution.md") +GENERATOR_VECTOR = os.path.join(HERE, "..", "wai-rs", "tests", "vectors", "generate") + +SIGN_DOMAIN = b"wai:contribution\x01" # §2 +LINK_DOMAIN = b"wai:contribution-link\x01" # §2 +LEAF_DOMAIN = b"wai:contribution-leaf\x01" # §5.2 +NODE_DOMAIN = b"wai:contribution-node\x01" # §5.2 +MAP_DOMAIN = b"wai:contribution-map\x01" # §7.3 +SPECTRAL = "wai.generate.spectral" +LUT = "wai-contribution:lut" +CROP, ROTATION, MIRROR, SCALING = "wai.derive.crop", "wai.derive.rotation", "wai.derive.mirror", "wai.derive.scaling" +OVERLAY, GRID = "wai.derive.overlay_composition", "wai.derive.grid_composition" +UPSCALE2, DENOISE3 = "wai-synthesis:upscale2", "wai-synthesis:denoise3" +PINNED_TRANSFORMS = [CROP, ROTATION, MIRROR, UPSCALE2, DENOISE3, LUT] +PINNED_COMPOSITIONS = [OVERLAY, GRID] +EMPTY = "http://c2pa.org/digitalsourcetype/empty" +MAX_SAMPLES = 1 << 26 +ACTS = ["author", "generate", "candidates", "select", "edit", "inpaint", "transform", "compose", "reject"] +TIERS = ["stated", "checked", "recomputed"] +UNKNOWN, UNDISCLOSED = "unknown", "undisclosed" + +# The checks a mutation run may drop, by the reason each raises (§11). +DROPPED = set() + + +class Refuse(Exception): + def __init__(self, reason, at=None): + super().__init__(reason) + self.reason, self.at = reason, at + + +Bad = SYN.Bad +need, hexb, opt_hex, integer, term, one_of, members = SYN.need, SYN.hexb, SYN.opt_hex, SYN.integer, SYN.term, SYN.one_of, SYN.members +jcs = SYN.jcs + + +def fail(reason, at): + """Refuse with `reason` at `at`, unless a mutation run dropped that check.""" + if reason not in DROPPED: + raise Refuse(reason, at) + + +def sha(*parts): + h = hashlib.sha256() + for p in parts: + h.update(p) + return h.digest() + + +def link_hash(v): + return blake3(LINK_DOMAIN + jcs(v).encode("utf-8")) + + +def signing_bytes(v): + return SIGN_DOMAIN + jcs({k: x for k, x in v.items() if k != "sig"}).encode("utf-8") + + +def size_ok(w, h): + return w >= 1 and h >= 1 and w * h * 3 <= MAX_SAMPLES + + +# ---------------------------------------------------------------- §2-§6 reading + +def read(text, kind, names, fields): + """§2: a signed record of `kind`: its members, then its kind's own, then its signature.""" + try: + v = SYN.strict_json(text) + members(v, names) + need(v["kind"] == kind) + signer = hexb(v["signer_pubkey"], 32) + sig = hexb(v["sig"], 64) + SYN.date_time(v["issued_at"]) + r = fields(v, signer) + except (Bad, KeyError, TypeError, AttributeError, ValueError): + raise Refuse("record_malformed") + bad = ED.verify(signer, signing_bytes(v), sig) + if bad: + raise Refuse(bad) + r.update(value=v, signer=signer, link=link_hash(v)) + return r + + +def session_fields(v, signer): + """§3.1.""" + hexb(v["session"], 32) + tool = term(v["tool"]) + one_of(v["media"], ["image"]) + need(isinstance(v["parties"], list) and 1 <= len(v["parties"]) <= 64) + parties = [] + for p in v["parties"]: + need(isinstance(p, dict)) + role = p.get("role") + if role in ("human", "audience"): + members(p, ["role", "key"]) + parties.append({"role": role, "key": hexb(p["key"], 32), "digest": None, "trained": False}) + elif role == "model": + members(p, ["role", "digest", "type"]) + parties.append({"role": role, "key": None, "digest": hexb(p["digest"], 32), + "trained": one_of(p["type"], ["trained", "algorithmic"]) == "trained"}) + else: + raise Bad("a party of no role") + keys = [p["key"] for p in parties if p["key"] is not None] + digests = [p["digest"] for p in parties if p["digest"] is not None] + need(len(set(keys)) == len(keys) and len(set(digests)) == len(digests) and signer not in keys) + return {"tool": tool, "parties": parties} + + +def membership_fields(v, signer): + """§3.2.""" + return {"session": hexb(v["session"], 32), "party": integer(v["party"])} + + +def output_of(v, act): + """§4.1's output of an act.""" + if act == "reject": + need(v is None) + return None + if act == "candidates": + members(v, ["set", "width", "height"]) + need(isinstance(v["set"], list) and 2 <= len(v["set"]) <= 16) + s = [hexb(d, 32) for d in v["set"]] + need(len(set(s)) == len(s)) + w, h = integer(v["width"]), integer(v["height"]) + need(size_ok(w, h)) + return {"set": s, "w": w, "h": h} + members(v, ["samples", "width", "height"]) + w, h = integer(v["width"]), integer(v["height"]) + need(size_ok(w, h)) + return {"samples": hexb(v["samples"], 32), "w": w, "h": h} + + +def params_of(p, act, n_members): + """§4.3.""" + if act == "author": + members(p, ["source"]) + return {"source": one_of(p["source"], SYN.CAPTURE_SOURCES)} + if act in ("generate", "candidates", "inpaint"): + names = {"generate": ["generator", "prompt", "prompt_by", "seed", "steps"], + "candidates": ["generator", "prompt", "prompt_by", "seeds", "steps"], + "inpaint": ["generator", "prompt", "prompt_by", "mask_by", "seed", "steps"]}[act] + members(p, names) + r = {"generator": term(p["generator"]), "prompt": opt_hex(p["prompt"], 32), + "prompt_by": None if p["prompt_by"] is None else integer(p["prompt_by"]), + "steps": None if p["steps"] is None else integer(p["steps"]), "seed": None, "seeds": None, "mask_by": None} + need((r["prompt"] is None) == (r["prompt_by"] is None)) + if "seed" in p: + r["seed"] = None if p["seed"] is None else integer(p["seed"]) + if "seeds" in p and p["seeds"] is not None: + need(isinstance(p["seeds"], list) and len(p["seeds"]) == n_members) + r["seeds"] = [integer(s) for s in p["seeds"]] + if "mask_by" in p: + r["mask_by"] = integer(p["mask_by"]) + return r + if act in ("select", "edit", "reject"): + members(p, []) + return {} + members(p, ["derivation", "params"]) + need(isinstance(p["params"], dict)) + return {"derivation": term(p["derivation"]), "params": p["params"]} + + +def step_fields(v, signer): + """§4.1-§4.3. A step of the reserved act is refused once its members are read.""" + act = v["act"] + need(isinstance(act, str)) + if act == "direct": + raise Refuse("act_reserved") + one_of(act, ACTS) + seq = integer(v["seq"]) + need(isinstance(v["inputs"], list)) + inputs = [] + for i in v["inputs"]: + members(i, ["step", "samples"]) + x = (integer(i["step"]), hexb(i["samples"], 32)) + need(x[0] < seq and x not in inputs) + inputs.append(x) + out = output_of(v["output"], act) + lo, hi = {"author": (0, 0), "generate": (0, 0), "candidates": (0, 0), "compose": (1, 16)}.get(act, (1, 1)) + need(lo <= len(inputs) <= hi) + region = None + if act in ("edit", "inpaint"): + need(isinstance(v["region"], list) and 1 <= len(v["region"]) <= 256) + region = [] + for r in v["region"]: + members(r, ["x", "y", "w", "h"]) + x, y, w, h = (integer(r[k]) for k in ("x", "y", "w", "h")) + need(w >= 1 and h >= 1 and x + w <= out["w"] and y + h <= out["h"]) + region.append((x, y, w, h)) + else: + need(v["region"] is None) + n_members = len(out["set"]) if out is not None and "set" in out else 0 + return {"session": hexb(v["session"], 32), "seq": seq, "prev": opt_hex(v["prev"], 32), "party": integer(v["party"]), + "act": act, "inputs": inputs, "output": out, "region": region, + "params": params_of(v["params"], act, n_members), + "replicate": one_of(v["check"], ["replicate", "attest"]) == "replicate"} + + +def record_fields(v, signer): + """§6.""" + steps = integer(v["steps"]) + need(steps >= 1) + o = v["output"] + members(o, ["step", "samples", "width", "height", "content_hash"]) + w, h = integer(o["width"]), integer(o["height"]) + need(size_ok(w, h) and integer(o["step"]) < steps) + content_hash = opt_hex(o["content_hash"], 32) + origin = opt_hex(v["origin"], 32) + need(origin is None or content_hash is not None) + need(isinstance(v["estimates"], list) and len(v["estimates"]) <= 16) + for e in v["estimates"]: + members(e, ["estimator", "class", "party", "basis", "share_ppm"]) + term(e["estimator"]) + term(e["class"]) + integer(e["party"]) + one_of(e["basis"], ["made_by", "directed_by"]) + need(integer(e["share_ppm"]) <= 1000000) + return {"session": hexb(v["session"], 32), "steps": steps, "root": hexb(v["root"], 32), "out_step": o["step"], + "out_samples": hexb(o["samples"], 32), "w": w, "h": h, "content_hash": content_hash, + "map": hexb(v["map"], 32), "origin": origin, "estimates": v["estimates"]} + + +def read_set(a, n): + """§7.3: parties in ascending order, then "unknown" where it holds it.""" + need(isinstance(a, list)) + out, last = set(), -1 + for i, e in enumerate(a): + if e == UNKNOWN: + need(i == len(a) - 1) + out.add(UNKNOWN) + continue + p = integer(e) + need(p < n and p > last) + last = p + out.add(p) + return frozenset(out) + + +def read_map(text, n): + """§7.3: the stated map, in its one encoding; `map_malformed` otherwise.""" + try: + v = SYN.strict_json(text) + members(v, ["kind", "output", "width", "height", "palette", "rows"]) + need(v["kind"] == "wai-authorship-map") + w, h = integer(v["width"]), integer(v["height"]) + need(size_ok(w, h)) + need(isinstance(v["palette"], list)) + palette = [] + for l in v["palette"]: + members(l, ["made_by", "directed_by"]) + palette.append((read_set(l["made_by"], n), read_set(l["directed_by"], n))) + need(len(set(palette)) == len(palette)) + need(isinstance(v["rows"], list) and len(v["rows"]) == h) + labels, seen = [], [] + for row in v["rows"]: + need(isinstance(row, list)) + total, prev = 0, None + for run in row: + need(isinstance(run, list) and len(run) == 2) + i, k = integer(run[0]), integer(run[1]) + need(k >= 1 and i < len(palette) and i != prev) + if i not in seen: + need(i == len(seen)) + seen.append(i) + prev = i + total += k + need(total <= w) + labels.extend([palette[i]] * k) + need(total == w) + need(len(seen) == len(palette)) + return {"digest": blake3(MAP_DOMAIN + jcs(v).encode("utf-8")), "output": hexb(v["output"], 32), "w": w, "h": h, + "labels": labels} + except (Bad, KeyError, TypeError, AttributeError, ValueError): + raise Refuse("map_malformed") + + +def read_opening(text): + """§8.1.""" + try: + v = SYN.strict_json(text) + members(v, ["commitment", "salt", "text"]) + need(isinstance(v["text"], str)) + return {"commitment": hexb(v["commitment"], 32), "salt": hexb(v["salt"], 32), "text": v["text"]} + except (Bad, KeyError, TypeError, AttributeError, ValueError): + raise Refuse("record_malformed") + + +# ---------------------------------------------------------------- §4.5 the pinned operations + +def parse_op(derivation, p): + """A pinned derivation's parameters, exactly (§4.5; deriving-edge §4.2), or None.""" + try: + def pos(x): + n = integer(x) + need(n >= 1) + return n + if derivation == CROP: + members(p, ["x", "y", "w", "h"]) + return ("crop", integer(p["x"]), integer(p["y"]), pos(p["w"]), pos(p["h"])) + if derivation == ROTATION: + members(p, ["quarter_turns"]) + q = integer(p["quarter_turns"]) + need(1 <= q <= 3) + return ("rotation", q) + if derivation == MIRROR: + members(p, ["flip"]) + return ("mirror", one_of(p["flip"], ["left-right", "top-bottom"]) == "left-right") + if derivation in (UPSCALE2, DENOISE3): + members(p, []) + return ("upscale2",) if derivation == UPSCALE2 else ("denoise3",) + if derivation == LUT: + members(p, ["table"]) + t = p["table"] + need(isinstance(t, str) and re.fullmatch(r"(?:[0-9a-f]{2}){768}", t) is not None) + return ("lut", bytes.fromhex(t)) + if derivation == OVERLAY: + members(p, ["width", "height", "fill", "at"]) + fill = hexb(p["fill"], 3) + need(isinstance(p["at"], list)) + at = [] + for a in p["at"]: + members(a, ["x", "y"]) + at.append((integer(a["x"]), integer(a["y"]))) + w, h = pos(p["width"]), pos(p["height"]) + need(size_ok(w, h)) + return ("overlay", w, h, fill, at) + if derivation == GRID: + members(p, ["columns", "rows"]) + return ("grid", pos(p["columns"]), pos(p["rows"])) + except (Bad, KeyError, TypeError, AttributeError): + return None + return None + + +def out_size(op, sizes): + """The output size over inputs of these sizes, or None where the parameters do not hold.""" + k = op[0] + if k in ("crop", "rotation", "mirror", "upscale2", "denoise3", "lut"): + if len(sizes) != 1: + return None + iw, ih = sizes[0] + if k == "crop": + _, x, y, w, h = op + if x + w > iw or y + h > ih: + return None + r = (w, h) + elif k == "rotation": + r = (iw, ih) if op[1] == 2 else (ih, iw) + elif k == "upscale2": + r = (2 * iw, 2 * ih) + else: + r = (iw, ih) + elif k == "overlay": + if not sizes or len(op[4]) != len(sizes): + return None + r = (op[1], op[2]) + else: + _, columns, rows = op + if len(sizes) != columns * rows or any(s != sizes[0] for s in sizes): + return None + r = (columns * sizes[0][0], rows * sizes[0][1]) + return r if size_ok(*r) else None + + +def sources(op, sizes, x, y): + """§4.5: the input pixels output pixel (x, y) reads, as (input, x, y).""" + k = op[0] + if k == "crop": + return [(0, op[1] + x, op[2] + y)] + if k == "rotation": + iw, ih = sizes[0] + return [(0,) + {1: (y, ih - 1 - x), 2: (iw - 1 - x, ih - 1 - y), 3: (iw - 1 - y, x)}[op[1]]] + if k == "mirror": + iw, ih = sizes[0] + return [(0, iw - 1 - x, y)] if op[1] else [(0, x, ih - 1 - y)] + if k == "lut": + return [(0, x, y)] + if k == "upscale2": + iw, ih = sizes[0] + sx, sy = x // 2, y // 2 + x1, y1 = min(sx + 1, iw - 1), min(sy + 1, ih - 1) + pts = [(sx, sy)] + ([(x1, sy)] if x % 2 else []) + ([(sx, y1)] if y % 2 else []) + ([(x1, y1)] if x % 2 and y % 2 else []) + return sorted({(0, a, b) for a, b in pts}) + if k == "denoise3": + iw, ih = sizes[0] + return sorted({(0, min(max(x + i, 0), iw - 1), min(max(y + j, 0), ih - 1)) for i in (-1, 0, 1) for j in (-1, 0, 1)}) + if k == "overlay": + for i in reversed(range(len(sizes))): + ax, ay = op[4][i] + iw, ih = sizes[i] + if ax <= x < ax + iw and ay <= y < ay + ih: + return [(i, x - ax, y - ay)] + return [] + cw, ch = sizes[0] + return [((y // ch) * op[1] + x // cw, x % cw, y % ch)] + + +def evaluate(op, bufs): + """§4.5: the operation over its inputs' samples: (w, h, samples).""" + sizes = [(w, h) for w, h, _ in bufs] + size = out_size(op, sizes) + if size is None: + return None + w, h = size + k = op[0] + if k == "upscale2": + return w, h, SYN.upscale2(bufs[0][2], *sizes[0]) + if k == "denoise3": + return w, h, SYN.denoise3(bufs[0][2], *sizes[0]) + if k == "lut": + t = op[1] + return w, h, bytes(t[256 * (i % 3) + b] for i, b in enumerate(bufs[0][2])) + fill = op[3] if k == "overlay" else b"\0\0\0" + out = bytearray() + for y in range(h): + for x in range(w): + s = sources(op, sizes, x, y) + if s: + i, sx, sy = s[0] + o = (sy * sizes[i][0] + sx) * 3 + out += bufs[i][2][o:o + 3] + else: + out += fill + return w, h, bytes(out) + + +# ---------------------------------------------------------------- the pinned generator + +M64 = (1 << 64) - 1 + + +def tdiv(a, b): + """Integer division truncated toward zero, as the reference generator divides.""" + q = abs(a) // abs(b) + return q if (a >= 0) == (b > 0) else -q + + +def fnv1a(data): + h = 14695981039346656037 + for b in data: + h = ((h ^ b) * 1099511628211) & M64 + return h + + +def splitmix(state): + state = (state + 0x9E3779B97F4A7C15) & M64 + z = state + z = ((z ^ (z >> 30)) * 0xBF58476D1CE4E5B9) & M64 + z = ((z ^ (z >> 27)) * 0x94D049BB133111EB) & M64 + return state, z ^ (z >> 31) + + +def iatan2(dy, dx, t): + if dx == 0: + return 0 if dy == 0 else (tdiv(t, 4) if dy > 0 else tdiv(3 * t, 4)) + if dy == 0: + return 0 if dx > 0 else tdiv(t, 2) + x, y, ang = abs(dx) << 12, abs(dy) << 12, 0 + for i, a in enumerate([128, 76, 40, 20, 10, 5, 3, 1, 1, 0, 0, 0, 0, 0]): + if y > 0: + x, y, ang = x + (y >> i), y - (x >> i), ang + a + elif y < 0: + x, y, ang = x - (y >> i), y + (x >> i), ang - a + if dx >= 0 and dy >= 0: + q = ang + elif dx < 0 and dy >= 0: + q = tdiv(t, 2) - ang + elif dx < 0: + q = tdiv(t, 2) + ang + else: + q = t - ang + return q % t + + +def read_model(data): + """The generator's model file, where it has every member the generator reads, each in a + range it computes with; None otherwise.""" + try: + m = json.loads(data) + lut = m["sine_lut"] + ok = (isinstance(m["version"], str) and isinstance(m["lut_size"], int) and m["lut_size"] >= 1 + and isinstance(lut, list) and len(lut) == m["lut_size"] + and all(isinstance(v, int) and abs(v) <= 1 << 20 for v in lut) + and all(isinstance(m[k], int) and 0 <= m[k] <= c for k, c in + (("freq_max", 1 << 12), ("amp_bits", 16), ("base_components", 1024), ("step_components", 1024))) + and (("lut_bits" not in m) or (isinstance(m["lut_bits"], int) and 0 <= m["lut_bits"] <= 20)) + and isinstance(m["color_offsets"], list) and len(m["color_offsets"]) == 3 + and all(isinstance(v, int) and abs(v) <= 1 << 20 for v in m["color_offsets"])) + except (ValueError, KeyError, TypeError): + return None + if not ok: + return None + m.setdefault("lut_bits", 14) + lex = {} + for k, e in (m.get("lexicon") or {}).items(): + lex[k] = ([v if isinstance(v, int) else 0 for v in e] + [0] * 10)[:10] + m["lexicon"] = lex + return m + + +def generate(m, prompt, seed, steps, h, w): + """`generate(model, prompt, seed, steps, h, w)` of `wai.generate.spectral` (SPEC §5): an + h x w RGB8 picture.""" + k = m["base_components"] + steps * m["step_components"] + hs, f, o, r, mi, gr, an, sp, n = [0, 0, 0], 0, 0, 0, 0, 0, 0, 0, 0 + for tok in re.split(r"[^0-9a-z]", prompt.lower()): + e = m["lexicon"].get(tok) if tok else None + if e is not None: + hs = [hs[0] + e[0], hs[1] + e[1], hs[2] + e[2]] + f, o, r, mi, gr, an, sp, n = f + e[3], o + e[4], r + e[5], mi + e[6], gr + e[7], an + e[8], sp + e[9], n + 1 + if n == 0: + hue, freq, orient, radial, mirror, gradient, angular, spiral = [256] * 3, 256, 0, 0, 0, 0, 0, 0 + else: + mx = max(max(hs), 1) + hue = [tdiv(c * 256, mx) for c in hs] + clamp = lambda v, lo, hi: min(max(v, lo), hi) # noqa: E731 + freq, orient = tdiv(f, n), clamp(tdiv(o, n), -256, 256) + radial, mirror, gradient = clamp(tdiv(r, n), 0, 256), clamp(tdiv(mi, n), 0, 256), clamp(tdiv(gr, n), -256, 256) + angular, spiral = clamp(tdiv(an, n), 0, 256), clamp(tdiv(sp, n), 0, 256) + fx_scale, fy_scale = (max(256 + orient, 0), 256) if orient < 0 else (256, max(256 - orient, 0)) + fmax = max(tdiv(m["freq_max"] * freq, 256), 1) + rng = fnv1a(prompt.encode("utf-8")) ^ seed ^ 0xD1B54A32D192ED03 + amp_max = 1 << m["amp_bits"] + span = 2 * fmax + 1 + thr = [radial, mirror, angular, spiral] + plane_w = max(256 - sum(thr), 48) + total = plane_w + sum(thr) + t = m["lut_size"] + comps = [] + for _ in range(k): + rng, pick = splitmix(rng) + pick %= total + typ = 0 + if pick >= plane_w: + bound = plane_w + for i, wgt in enumerate(thr): + bound += wgt + if pick < bound: + typ = i + 1 + break + rng, a = splitmix(rng) + rng, b = splitmix(rng) + rng, c = splitmix(rng) + rng, d = splitmix(rng) + fxr, fyr, amp, phase = a % span - fmax, b % span - fmax, c % amp_max + 1, d % t + if typ == 1: + comps.append((1, max(abs(fxr), 2), 0, amp, phase)) + elif typ == 3: + comps.append((3, abs(fxr) % 11 + 2, 0, amp, phase)) + elif typ == 4: + comps.append((4, abs(fxr) % 9 + 2, max(abs(fyr), 2), amp, phase)) + else: + comps.append((typ, tdiv(fxr * fx_scale, 256), tdiv(fyr * fy_scale, 256), amp, phase)) + cx, cy = w // 2, h // 2 + need_r = any(c[0] in (1, 4) for c in comps) + need_th = any(c[0] in (3, 4) for c in comps) + gscale = tdiv((1 << m["lut_bits"]) * amp_max * k, 2048 * max(cy, 1)) + lut = m["sine_lut"] + acc = [0] * (3 * h * w) + for ch, coff in enumerate(m["color_offsets"]): + for y in range(h): + grad = gradient * (cy - y) * gscale + for x in range(w): + dx, dy = x - cx, y - cy + rr = math.isqrt(dx * dx + dy * dy) if need_r else 0 + th = iatan2(dy, dx, t) if need_th else 0 + v = grad + for typ, fx, fy, amp, phase in comps: + if typ == 1: + arg = fx * rr + phase + coff + elif typ == 2: + arg = fx * abs(dx) + fy * abs(dy) + phase + coff + elif typ == 3: + arg = fx * th + phase + coff + elif typ == 4: + arg = fx * th + fy * rr + phase + coff + else: + arg = fx * x + fy * y + phase + coff + v += amp * lut[arg % t] + acc[ch * h * w + y * w + x] = v + gmin, gmax = min(acc), max(acc) + rng_ = max(gmax - gmin, 1) + eh = [64 + tdiv(c * (256 - 64), 256) for c in hue] + out = bytearray(h * w * 3) + for ch in range(3): + for p in range(h * w): + q = tdiv((acc[ch * h * w + p] - gmin) * 255 + tdiv(rng_, 2), rng_) + out[p * 3 + ch] = min(max(tdiv(q * eh[ch], 256), 0), 255) + return bytes(out) + + +# ---------------------------------------------------------------- §5.2 the tree + +def leaf(link): + return blake3(LEAF_DOMAIN + link) + + +def node(a, b): + return blake3(NODE_DOMAIN + a + b) + + +def proof_len(n): + return 0 if n <= 1 else (n - 1).bit_length() + + +def walk(link, seq, siblings): + h = leaf(link) + for i, s in enumerate(siblings): + h = node(s, h) if (seq >> i) & 1 else node(h, s) + return h + + +# ---------------------------------------------------------------- §7 maps + +def label(made, directed): + return (frozenset(made), frozenset(directed)) + + +L_UNKNOWN = label([UNKNOWN], [UNKNOWN]) +L_UNDISCLOSED = label([UNDISCLOSED], [UNDISCLOSED]) + + +class StateMap: + """One label for every pixel, or a label for each.""" + + def __init__(self, const=None, w=None, labels=None): + self.const, self.w, self.labels = const, w, labels + + def at(self, x, y): + return self.const if self.const is not None else self.labels[y * self.w + x] + + def expand(self, w, h): + return [self.const] * (w * h) if self.const is not None else list(self.labels) + + +def shares(labels, n): + """§7.4, as §10.4 states them.""" + def per(i): + return [{"party": p, "samples": c} for p in range(n) for c in [sum(1 for l in labels if p in l[i])] if c > 0] + return {"samples": len(labels), "made_by": per(0), + "made_by_unknown": sum(1 for l in labels if UNKNOWN in l[0]), + "made_by_undisclosed": sum(1 for l in labels if UNDISCLOSED in l[0]), + "directed_by": per(1), + "directed_by_unknown": sum(1 for l in labels if UNKNOWN in l[1]), + "directed_by_undisclosed": sum(1 for l in labels if UNDISCLOSED in l[1])} + + +# ---------------------------------------------------------------- §10 verification + +def size_of(out): + return None if out is None else (out["w"], out["h"]) + + +def holds(out, d): + if out is None: + return False + return d in out["set"] if "set" in out else out["samples"] == d + + +def states_of(out): + if out is None: + return [] + return list(out["set"]) if "set" in out else [out["samples"]] + + +def in_region(region, x, y): + return any(rx <= x < rx + rw and ry <= y < ry + rh for rx, ry, rw, rh in region) + + +def expected_replicate(s): + """§4.4: the step's check.""" + a, p = s["act"], s["params"] + if a in ("author", "edit", "select", "reject"): + return True + if a in ("generate", "candidates", "inpaint"): + return p["generator"] == SPECTRAL + if a == "transform": + return p["derivation"] in PINNED_TRANSFORMS + return p["derivation"] in PINNED_COMPOSITIONS + + +def replicate_params_ok(s): + """§4.4: a replicate step's parameters.""" + p = s["params"] + if s["act"] in ("generate", "candidates", "inpaint"): + w, h = size_of(s["output"]) + if s["act"] == "candidates": + seeds_ok = p["seeds"] is not None and all(x <= 0xFFFFFFFF for x in p["seeds"]) + else: + seeds_ok = p["seed"] is not None and p["seed"] <= 0xFFFFFFFF + return seeds_ok and p["steps"] is not None and 1 <= p["steps"] <= 64 and w <= 4096 and h <= 4096 and w * h <= 1 << 23 + if s["act"] in ("transform", "compose"): + return parse_op(p["derivation"], p["params"]) is not None + return True + + +def verify(case, models_by_digest): + """§10.2: the statements of §10.4, or Refuse with its reason and place.""" + # Step 1: reading. + def at(place, f): + try: + return f() + except Refuse as e: + raise Refuse(e.reason, place) + + sess = at(["session"], lambda: read(case["session"], "wai-session", + ["kind", "session", "tool", "media", "parties", "issued_at", "signer_pubkey", "sig"], session_fields)) + parties, n, tool_key = sess["parties"], len(sess["parties"]), sess["signer"] + mems = [at(["membership", i], lambda t=t: read(t, "wai-membership", ["kind", "session", "party", "issued_at", "signer_pubkey", "sig"], + membership_fields)) for i, t in enumerate(case["memberships"])] + rec = at(["record"], lambda: read(case["record"], "wai-contribution", + ["kind", "session", "steps", "root", "output", "map", "origin", "estimates", "issued_at", + "signer_pubkey", "sig"], record_fields)) + steps, proofs = [], [] + for i, d in enumerate(case["steps"]): + steps.append(at(["step", i], lambda d=d: read(d["step"], "wai-step", + ["kind", "session", "seq", "prev", "party", "act", "inputs", "output", "region", + "params", "check", "issued_at", "signer_pubkey", "sig"], step_fields))) + try: + proofs.append([hexb(p, 32) for p in d["proof"]]) + except Bad: + raise Refuse("record_malformed", ["step", i]) + smap = at(["map"], lambda: read_map(case["map"], n)) + openings = [at(["opening", i], lambda t=t: read_opening(t)) for i, t in enumerate(case["openings"])] + origins = [] + for i, t in enumerate(case["origins"]): + try: + origins.append(SYN.read(t, "wai-origin", SYN.ORIGIN, SYN.origin_fields)) + except SYN.Refuse as e: + raise Refuse(e.reason, ["origin", i]) + + # Step 2: openings. + for i, o in enumerate(openings): + if sha(o["salt"], o["text"].encode("utf-8")) != o["commitment"]: + fail("opening_mismatch", ["opening", i]) + + # Step 3: membership. + signed = set() + for i, m in enumerate(mems): + p = parties[m["party"]] if m["party"] < n else None + if m["session"] != sess["link"] or p is None or p["key"] != m["signer"]: + fail("membership_invalid", ["membership", i]) + signed.add(m["party"]) + for i, p in enumerate(parties): + if p["key"] is not None and i not in signed: + fail("party_not_countersigned", ["session", "party", i]) + + # Step 4: the record. + if rec["session"] != sess["link"]: + fail("session_mismatch", ["record"]) + if rec["signer"] != tool_key: + fail("signer_mismatch", ["record"]) + if any(e["party"] >= n for e in rec["estimates"]): + fail("party_unknown", ["record"]) + + # Step 5: each step, in the order given. + first = {} + for i, s in enumerate(steps): + first.setdefault(s["seq"], i) + for i, s in enumerate(steps): + place = ["step", i] + if s["session"] != sess["link"]: + fail("session_mismatch", place) + p = s["params"] + named = [x for x in (p.get("prompt_by"), p.get("mask_by")) if x is not None] + if s["party"] >= n or any(x >= n for x in named): + fail("party_unknown", place) + continue + performer = parties[s["party"]] + if s["act"] in ("author", "edit") and performer["role"] != "human": + fail("party_role_mismatch", place) + if s["act"] in ("generate", "candidates", "inpaint") and performer["role"] != "model": + fail("party_role_mismatch", place) + if s["signer"] != (performer["key"] if performer["key"] is not None else tool_key): + fail("signer_mismatch", place) + if s["replicate"] != expected_replicate(s): + fail("check_mismatch", place) + if s["replicate"] and not replicate_params_ok(s): + fail("params_invalid", place) + before = first.get(s["seq"] - 1) if s["seq"] > 0 else None + if (s["seq"] >= rec["steps"] or first[s["seq"]] != i or (s["seq"] == 0) != (s["prev"] is None) + or (before is not None and s["prev"] != steps[before]["link"])): + fail("chain_broken", place) + if len(proofs[i]) != proof_len(rec["steps"]) or walk(s["link"], s["seq"], proofs[i]) != rec["root"]: + fail("inclusion_failed", place) + + # Step 6: each step against the states, in seq order. + states = {sha(bytes.fromhex(b)): bytes.fromhex(b) for b in case["states"]} + models = {} + for d in case["models"]: + data = models_by_digest[d] + models[sha(data)] = data + opened = {o["commitment"]: o["text"] for o in openings} + by_seq = {seq: steps[i] for seq, i in first.items()} + + def held_state(d, w, h): + b = states.get(d) + return b if b is not None and len(b) == w * h * 3 else None + + def prompt_text(c): + return "" if c is None else opened.get(c) + + status = {} + for seq in sorted(by_seq): + s = by_seq[seq] + status[seq] = check_step(s, by_seq, parties, states, models, held_state, prompt_text, ["step", first[seq]]) + + # Step 7: the output. + out_step = by_seq.get(rec["out_step"]) + if out_step is not None and out_step["output"] != {"samples": rec["out_samples"], "w": rec["w"], "h": rec["h"]}: + fail("output_mismatch", ["record"]) + b = states.get(rec["out_samples"]) + if b is not None and len(b) != rec["w"] * rec["h"] * 3: + fail("samples_mismatch", ["record"]) + + # Step 8: the map. + if (smap["digest"], smap["output"], smap["w"], smap["h"]) != (rec["map"], rec["out_samples"], rec["w"], rec["h"]): + fail("map_unbound", ["map"]) + computed = computed_map(by_seq, rec["out_step"], rec["out_samples"], rec["w"], rec["h"]) + for y in range(rec["h"]): + for x in range(rec["w"]): + c, st = computed[y * rec["w"] + x], smap["labels"][y * rec["w"] + x] + for cs, ss in ((c[0], st[0]), (c[1], st[1])): + ok = (cs - {UNDISCLOSED}) <= ss if UNDISCLOSED in cs else cs == ss + if not ok: + fail("unknown_attributed" if UNKNOWN in cs and UNKNOWN not in ss else "map_mismatch", ["map", x, y]) + + # Step 9: the origin claim. + origin = None + if rec["origin"] is not None: + origin = "not-checked" + for i, o in enumerate(origins): + if o["link"] != rec["origin"]: + continue + if o["subject"] != ("object", rec["content_hash"]): + fail("origin_mismatch", ["origin", i]) + model_parties = {k for k, p in enumerate(parties) if p["role"] == "model"} + if any(l[0] & model_parties for l in smap["labels"]) and o["class"] != "synthesized": + fail("origin_understated", ["origin", i]) + origin = "agree" + break + + # §10.3: the tier. + behind, todo, all_checked = set(), [rec["out_step"]], True + while todo: + seq = todo.pop() + if seq in behind: + continue + behind.add(seq) + s = by_seq.get(seq) + if s is None: + all_checked = False + else: + all_checked = all_checked and status[seq] == "checked" + todo.extend(i[0] for i in s["inputs"]) + tier = "stated" if not steps else ("recomputed" if all_checked else "checked") + committed = rec["steps"] - len(steps) + c2pa = jcs(c2pa_statement(sess, by_seq, behind)) if committed == 0 else None + + # Step 10: policy. + if TIERS.index(tier) < TIERS.index(case["policy"]["tier"]): + fail("tier_not_met", ["policy"]) + + return {"tier": tier, "session": sess["link"].hex(), "record": rec["link"].hex(), + "steps": [{"seq": seq, "act": by_seq[seq]["act"], "party": by_seq[seq]["party"], + "check": "replicate" if by_seq[seq]["replicate"] else "attest", "status": status[seq]} for seq in sorted(by_seq)], + "committed": committed, "computed": shares(computed, n), "stated": shares(smap["labels"], n), + "estimates": rec["estimates"], "origin": origin, "c2pa": c2pa} + + +def check_step(s, by_seq, parties, states, models, held_state, prompt_text, place): + """§10.2 step 6 for one step; its status (§10.3).""" + out = s["output"] + # 6.1 + if out is not None: + for d in states_of(out): + b = states.get(d) + if b is not None and len(b) != out["w"] * out["h"] * 3: + fail("samples_mismatch", place) + # 6.2 + inputs_held = all(i[0] in by_seq for i in s["inputs"]) + if s["act"] == "select": + step, d = s["inputs"][0] + if not holds(out, d): + fail("selection_not_in_set", place) + c = by_seq.get(step) + if c is not None and (c["act"] != "candidates" or not holds(c["output"], d)): + fail("selection_not_in_set", place) + else: + for step, d in s["inputs"]: + if step in by_seq and not holds(by_seq[step]["output"], d): + fail("input_unknown", place) + w, h = size_of(out) or (0, 0) + # 6.3 + if s["act"] in ("edit", "inpaint"): + src = by_seq.get(s["inputs"][0][0]) + if src is not None and size_of(src["output"]) != (w, h): + fail("region_invalid", place) + # 6.4 + p = s["params"] + op = parse_op(p["derivation"], p["params"]) if s["act"] in ("transform", "compose") and s["replicate"] else None + sizes = [size_of(by_seq[i[0]]["output"]) for i in s["inputs"]] if inputs_held else None + if op is not None and sizes is not None: + size = out_size(op, sizes) + if size is None: + fail("params_invalid", place) + elif size != (w, h): + fail("recompute_mismatch", place) + # 6.5 + performer = parties[s["party"]] + model = None + if performer["digest"] is not None and performer["digest"] in models: + model = read_model(models[performer["digest"]]) + ran = False + a = s["act"] + if a in ("author", "reject"): + ran = True + elif a == "select": + ran = inputs_held + elif a in ("edit", "inpaint"): + b = states.get(s["inputs"][0][1]) + if b is not None and len(b) != w * h * 3: + fail("region_invalid", place) + src, dst = held_state(s["inputs"][0][1], w, h), held_state(out["samples"], w, h) + if src is not None and dst is not None: + for y in range(h): + for x in range(w): + k = (y * w + x) * 3 + if not in_region(s["region"], x, y) and src[k:k + 3] != dst[k:k + 3]: + fail("outside_region_changed", place) + ran = True + if a == "inpaint" and s["replicate"]: + text = prompt_text(p["prompt"]) + if model is not None and text is not None and dst is not None: + fill = generate(model, text, p["seed"], p["steps"], h, w) + for y in range(h): + for x in range(w): + k = (y * w + x) * 3 + if in_region(s["region"], x, y) and fill[k:k + 3] != dst[k:k + 3]: + fail("regeneration_mismatch", place) + else: + ran = False + elif a in ("generate", "candidates") and s["replicate"]: + text = prompt_text(p["prompt"]) + if model is not None and text is not None: + seeds = p["seeds"] if a == "candidates" else [p["seed"]] + for d, seed in zip(states_of(out), seeds): + if sha(generate(model, text, seed, p["steps"], h, w)) != d: + fail("regeneration_mismatch", place) + ran = True + elif a in ("transform", "compose") and s["replicate"] and sizes is not None: + bufs = [(iw, ih, held_state(d, iw, ih)) for (_, d), (iw, ih) in zip(s["inputs"], sizes)] + if all(b is not None for _, _, b in bufs): + r = evaluate(op, bufs) + if r is None: + fail("params_invalid", place) + elif (r[0], r[1]) != (w, h) or sha(r[2]) != out["samples"]: + fail("recompute_mismatch", place) + ran = True + if not s["replicate"]: + return "attested" + return "checked" if ran and inputs_held else "not-checked" + + +def computed_map(by_seq, out_step, out_samples, w, h): + """§7.2: the output's map from the steps held.""" + memo = {} + + def state(step, d): + if (step, d) in memo: + return memo[(step, d)] + s = by_seq.get(step) + if s is None: + return StateMap(const=L_UNDISCLOSED) + a, p = s["party"], s["params"] + sw, sh = size_of(s["output"]) or (0, 0) + directors = frozenset(x for x in (p.get("prompt_by"), p.get("mask_by")) if x is not None) + act = s["act"] + if act == "author": + m = StateMap(const=label([a], [])) + elif act in ("generate", "candidates"): + m = StateMap(const=(frozenset([a]), directors)) + elif act in ("edit", "inpaint"): + inner = (frozenset([a]), frozenset() if act == "edit" else directors) + src = state(*s["inputs"][0]) + m = StateMap(w=sw, labels=[inner if in_region(s["region"], x, y) else src.at(x, y) for y in range(sh) for x in range(sw)]) + elif act == "select": + src = state(*s["inputs"][0]) + if src.const is not None: + m = StateMap(const=(src.const[0], src.const[1] | {a})) + else: + m = StateMap(w=src.w, labels=[(l[0], l[1] | {a}) for l in src.labels]) + elif act in ("transform", "compose") and not s["replicate"]: + m = StateMap(const=L_UNKNOWN) + elif act in ("transform", "compose"): + op = parse_op(p["derivation"], p["params"]) + if not all(i[0] in by_seq for i in s["inputs"]): + m = StateMap(const=label([UNDISCLOSED], [UNDISCLOSED, a])) + else: + sizes = [size_of(by_seq[i[0]]["output"]) for i in s["inputs"]] + srcs = [state(*i) for i in s["inputs"]] + labels = [] + for y in range(sh): + for x in range(sw): + src = sources(op, sizes, x, y) + if not src: + labels.append(label([a], [a])) + continue + made, directed = set(), {a} + for k, sx, sy in src: + l = srcs[k].at(sx, sy) + made |= l[0] + directed |= l[1] + labels.append(label(made, directed)) + m = StateMap(w=sw, labels=labels) + else: + m = StateMap(const=L_UNDISCLOSED) + memo[(step, d)] = m + return m + + if out_step not in by_seq: + return StateMap(const=L_UNDISCLOSED).expand(w, h) + return state(out_step, out_samples).expand(w, h) + + +def c2pa_statement(sess, by_seq, behind): + """§9.2.""" + dst = lambda code: SYN.IPTC + code # noqa: E731 + actions = [{"action": "c2pa.created", "digitalSourceType": EMPTY, "softwareAgent": {"name": sess["tool"]}}] + by_derivation = {CROP: ("c2pa.cropped", None), ROTATION: ("c2pa.orientation", None), MIRROR: ("c2pa.orientation", None), + UPSCALE2: ("c2pa.resized", "algorithmicallyEnhanced"), DENOISE3: ("c2pa.enhanced", "algorithmicallyEnhanced"), + LUT: ("c2pa.adjustedColor", None), SCALING: ("c2pa.resized", None)} + for seq in sorted(behind): + s = by_seq[seq] + p = sess["parties"][s["party"]] + agent = SYN.MODEL_ID + p["digest"].hex() if p["digest"] is not None else sess["tool"] + act = s["act"] + if act in ("select", "reject"): + continue + if act == "author": + name, source = "c2pa.edited", s["params"]["source"] + elif act in ("generate", "candidates"): + name, source = "c2pa.edited", "trainedAlgorithmicMedia" if p["trained"] else "algorithmicMedia" + elif act == "inpaint": + name, source = "c2pa.edited", "compositeWithTrainedAlgorithmicMedia" if p["trained"] else "algorithmicMedia" + elif act == "edit": + name, source = "c2pa.drawing", "digitalCreation" + elif act == "transform": + name, source = by_derivation.get(s["params"]["derivation"], ("c2pa.edited", None)) + else: + name, source = "c2pa.edited", None + a = {"action": name, "softwareAgent": {"name": agent}} + if source is not None: + a["digitalSourceType"] = dst(source) + if s["region"] is not None: + a["changes"] = [{"region": [{"type": "spatial", "shape": {"type": "rectangle", "unit": "pixel", "origin": {"x": x, "y": y}, + "width": w, "height": h}} for x, y, w, h in s["region"]]}] + actions.append(a) + return {"actions": actions} + + +# ---------------------------------------------------------------- the corpus + +def section(text, head): + at = text.index("\n" + head) + nxt = re.search(r"\n#{2,3} ", text[at + 1:]) + return text[at: at + 1 + nxt.start()] if nxt else text[at:] + + +with open(EXTENSION, encoding="utf-8") as _f: + _TEXT = _f.read() +REASONS = [l.split("`")[1] for l in section(_TEXT, "## 11. Reasons").splitlines() if l.startswith("| `")] + + +def outcome(v, models): + try: + return {"outcome": "accept", "statements": verify(v, models)} + except Refuse as e: + return {"outcome": "refuse", "reason": e.reason, "at": e.at} + + +def stated(v): + return {k: v[k] for k in ("outcome", "reason", "at", "statements") if k in v} + + +def models_of(doc): + out = {} + for m in doc["models"]: + data = m["file"].encode("utf-8") + if sha(data).hex() != m["sha256"]: + raise ValueError("a model file whose SHA-256 is not the one stated") + out[m["sha256"]] = data + return out + + +def check(doc): + """Failures of a corpus document: an outcome other than the one stated.""" + fails = [] + try: + models = models_of(doc) + except (ValueError, KeyError, TypeError) as e: + return ["the model files do not read: %r" % (e,)] + for v in doc["vectors"]: + try: + got = outcome(v, models) + except Exception as e: # noqa: BLE001 — a malformed copy fails, whatever it breaks + got = {"outcome": "unreadable: %r" % (e,)} + if got != stated(v): + fails.append("%s: %s" % (v["name"], json.dumps(got)[:300])) + return fails + + +def flip_hex_digit(s, at): + c = "0" if s[at] != "0" else "1" + return s[:at] + c + s[at + 1:] + + +def mutations(doc): + """Copies of the corpus, each with one defect a conforming verifier must catch.""" + vn = {v["name"]: k for k, v in enumerate(doc["vectors"])} + + def mutate(label_, f): + d = copy.deepcopy(doc) + f(d["vectors"]) + return label_, d + + def retext(vs, name, key, k, f): + v = json.loads(vs[vn[name]][key][k]["step"] if key == "steps" else vs[vn[name]][key][k]) + f(v) + if key == "steps": + vs[vn[name]][key][k]["step"] = json.dumps(v) + else: + vs[vn[name]][key][k] = json.dumps(v) + + def held_state(vs, name, k, at): + vs[vn[name]]["states"][k] = flip_hex_digit(vs[vn[name]]["states"][k], at) + + def stmt(name, f): + return lambda vs: f(vs[vn[name]]["statements"]) + + first_refusal = next(k for k, v in enumerate(doc["vectors"]) if v["outcome"] == "refuse") + return [ + mutate("a digit of the brush edit's signature", lambda vs: retext(vs, "brush", "steps", 1, lambda v: v.update(sig=flip_hex_digit(v["sig"], 9)))), + mutate("a byte of the brushed picture", lambda vs: held_state(vs, "brush", 1, 0)), + mutate("the inpainting's prompt opened to another text", + lambda vs: vs[vn["inpaint"]]["openings"].__setitem__(0, json.dumps(dict(json.loads(vs[vn["inpaint"]]["openings"][0]), text="a calm ocean")))), + mutate("the generator's model file withheld from the candidates", lambda vs: vs[vn["candidates"]].update(models=[])), + mutate("a sibling of the candidates step's proof", lambda vs: vs[vn["candidates"]]["steps"][0]["proof"].__setitem__( + 0, flip_hex_digit(vs[vn["candidates"]]["steps"][0]["proof"][0], 2))), + mutate("the brush map's rows reordered", lambda vs: vs[vn["brush"]].update(map=json.dumps(dict( + json.loads(vs[vn["brush"]]["map"]), rows=list(reversed(json.loads(vs[vn["brush"]]["map"])["rows"])))))), + mutate("the collaborator's membership withheld", lambda vs: vs[vn["brush"]]["memberships"].pop(1)), + mutate("the inpainting's origin claim withheld", lambda vs: vs[vn["inpaint"]].update(origins=[])), + mutate("the compose arranger's count raised by one", + stmt("compose", lambda s: s["computed"]["directed_by"][0].update(samples=s["computed"]["directed_by"][0]["samples"] + 1))), + mutate("the scaling's unknown samples stated as none", stmt("scaling_unknown", lambda s: s["computed"].update(made_by_unknown=0))), + mutate("the partial disclosure stated as recomputed", stmt("candidates_partial", lambda s: s.update(tier="recomputed"))), + mutate("the transforms' first action stated with another source", + stmt("transforms", lambda s: s.update(c2pa=s["c2pa"].replace("digitalsourcetype/empty", "digitalsourcetype/digitalCapture")))), + mutate("the estimate stated as another share", stmt("estimate", lambda s: s["estimates"][0].update(share_ppm=1))), + mutate("the first refusal stated at another place", lambda vs: vs[first_refusal].update(at=["record"])), + mutate("a regeneration refusal stated as a recomputation", lambda vs: vs[vn["regeneration_mismatch"]].update(reason="recompute_mismatch")), + ("the model file changed by one byte", dict(copy.deepcopy(doc), models=[dict(doc["models"][0], file=doc["models"][0]["file"].replace("1", "2", 1))])), + ] + + +def self_test_generator(): + """The generator's own conformance vector: the picture of its instruction object, by + SHA-256 (wai-rs/tests/vectors/generate).""" + with open(os.path.join(GENERATOR_VECTOR, "generate_spectral_model.json"), "rb") as f: + m = read_model(f.read()) + with open(os.path.join(GENERATOR_VECTOR, "generate.json"), encoding="utf-8") as f: + g = json.load(f) + with open(os.path.join(GENERATOR_VECTOR, "sha256.json"), encoding="utf-8") as f: + want = json.load(f)["generate"]["sha256"] + return sha(generate(m, g["prompt"], g["seed"], g["steps"], g["h"], g["w"])).hex() == want + + +def main(corpus_dir): + fails = [] + st = ED._self_test() + print(("PASS" if not st else "FAIL") + " Ed25519 strict rule self-test " + ",".join(st)) + if st: + fails.append("ed25519 self-test") + gen_ok = self_test_generator() + print(("PASS" if gen_ok else "FAIL") + " the generator's arithmetic gives its conformance vector's SHA-256") + if not gen_ok: + fails.append("the generator's conformance vector") + with open(os.path.join(corpus_dir, "vectors.json"), encoding="utf-8") as f: + doc = json.load(f) + models = models_of(doc) + reasons_seen = set() + for v in doc["vectors"]: + try: + got = outcome(v, models) + except Exception as e: # noqa: BLE001 + got = {"outcome": "unreadable: %r" % (e,)} + ok = got == stated(v) + if v.get("reason"): + reasons_seen.add(v["reason"]) + print(("PASS" if ok else "FAIL") + " vector %s: %s" % (v["name"], got["outcome"] + (" %s at %s" % (got["reason"], got["at"]) if "reason" in got else " " + got.get("statements", {}).get("tier", "")))) + if not ok: + fails.append("%s: %s, the corpus states %s" % (v["name"], json.dumps(got)[:600], json.dumps(stated(v))[:600])) + missing = [r for r in REASONS if r not in reasons_seen] + tiers = {v["statements"]["tier"] for v in doc["vectors"] if v["outcome"] == "accept"} + if missing: + fails.append("no vector refused with %s" % ", ".join(missing)) + if tiers != set(TIERS): + fails.append("accepted vectors do not reach every tier: %s" % sorted(tiers)) + print("%s every reason of §11 refuses a vector, and accepted vectors reach every tier" % ("PASS" if not missing and tiers == set(TIERS) else "FAIL")) + for label_, d in mutations(doc): + caught = check(d) + print(("PASS" if caught else "FAIL") + " mutated copy fails: %s%s" % (label_, " (%s)" % caught[0][:100] if caught else "")) + if not caught: + fails.append("a mutated copy verifies: %s" % label_) + for r in REASONS: + DROPPED.clear() + DROPPED.add(r) + caught = check(doc) + DROPPED.clear() + if r in ("record_malformed", "bad_key", "bad_signature", "act_reserved", "map_malformed"): + continue # reading: a record that does not read has nothing to continue with + print(("PASS" if caught else "FAIL") + " the corpus catches a verifier without its %s check" % r) + if not caught: + fails.append("a verifier without its %s check passes the corpus" % r) + for f in fails: + print("FAIL " + f) + print(("PASS" if not fails else "FAIL") + " contribution corpus: %d vectors" % len(doc["vectors"])) + return 1 if fails else 0 + + +if __name__ == "__main__": + if len(sys.argv) != 2: + print("usage: contribution_verify.py ", file=sys.stderr) + sys.exit(2) + sys.exit(main(sys.argv[1])) diff --git a/wai/registry/capabilities.json b/wai/registry/capabilities.json index 2d0cb3198..42ce85dba 100644 --- a/wai/registry/capabilities.json +++ b/wai/registry/capabilities.json @@ -784,6 +784,20 @@ "edition": null, "registered": "2026-10-20" }, + { + "capability": "wai.media.contribution", + "kind": "record", + "status": "registered", + "media": null, + "role": null, + "tier": null, + "licence": null, + "replicate": null, + "sets": [], + "spec_section": "§5 Interactive, temporal & computed content", + "edition": null, + "registered": "2026-10-21" + }, { "capability": "wai.media.synthesis", "kind": "record", @@ -2347,6 +2361,13 @@ "section": "§3", "status": "defined" }, + { + "name": "wai-authorship-map", + "kind": "document-kind", + "document": "extensions/contribution.md", + "section": "§7.3", + "status": "defined" + }, { "name": "wai-c2pa", "kind": "catalog", @@ -2354,6 +2375,13 @@ "section": "§10.2", "status": "defined" }, + { + "name": "wai-contribution", + "kind": "document-kind", + "document": "extensions/contribution.md", + "section": "§6", + "status": "defined" + }, { "name": "wai-derivation", "kind": "document-kind", @@ -2389,6 +2417,13 @@ "section": "§7.2", "status": "defined" }, + { + "name": "wai-membership", + "kind": "document-kind", + "document": "extensions/contribution.md", + "section": "§3.2", + "status": "defined" + }, { "name": "wai-module-grant", "kind": "document-kind", @@ -2438,6 +2473,20 @@ "section": "§9.1", "status": "defined" }, + { + "name": "wai-session", + "kind": "document-kind", + "document": "extensions/contribution.md", + "section": "§3.1", + "status": "defined" + }, + { + "name": "wai-step", + "kind": "document-kind", + "document": "extensions/contribution.md", + "section": "§4.1", + "status": "defined" + }, { "name": "wai1", "kind": "codecs-prefix", diff --git a/wai/vocab/v2.ttl b/wai/vocab/v2.ttl index 0078b7198..5840ce26d 100644 --- a/wai/vocab/v2.ttl +++ b/wai/vocab/v2.ttl @@ -625,6 +625,13 @@ wai:wai.live.watermark a wai:Capability ; wai:specSection "§5 Interactive, temporal & computed content" ; wai:registeredOn "2026-10-20"^^xsd:date . +wai:wai.media.contribution a wai:Capability ; + rdfs:label "wai.media.contribution" ; + wai:kind wai:kind-record ; + wai:status wai:status-registered ; + wai:specSection "§5 Interactive, temporal & computed content" ; + wai:registeredOn "2026-10-21"^^xsd:date . + wai:wai.media.synthesis a wai:Capability ; rdfs:label "wai.media.synthesis" ; wai:kind wai:kind-record ; diff --git a/wai/wai-rs/Cargo.toml b/wai/wai-rs/Cargo.toml index 1aef829b2..a347eea9e 100644 --- a/wai/wai-rs/Cargo.toml +++ b/wai/wai-rs/Cargo.toml @@ -298,6 +298,15 @@ derive_edge = ["key_discovery", "video_int", "png_still", "dep:jpeg-encoder"] # the review's tier, and the label obligations of a player's signed log. SHA-256, BLAKE3, # Ed25519 and the key log only; no new dependency. synthesis = ["live_room"] +# Contribution records (extensions/contribution): `wai.media.contribution` — a tool's session of +# parties (people by key, each countersigning its membership; models by digest), the signed hash +# chain of steps (author, generate, candidates, select, edit, inpaint, transform, compose, reject) +# in a Merkle tree for selective disclosure, the authorship map computed by re-executing each +# act's dependency rule (made_by and directed_by per sample, unknown and undisclosed never +# credited), the checks a verifier makes (regions, selections, regeneration, recomputation), and +# the agreement with the output's origin claim. Reuses synthesis (its records and derivations) +# and generate (the pinned generator its exact steps regenerate with); no new dependency. +contribution = ["synthesis", "generate"] # AI usage preferences and consumption claims (extensions/ai-usage): `wai.ai.usage` — the usage # statement (draft-ietf-aipref-vocab-08's Structured Field form, the TDM Reservation Protocol's # properties and the Training and Data Mining Assertion's entries, verbatim) in an envelope's @@ -765,6 +774,11 @@ name = "wai_synthesis_vectors" path = "src/bin/wai_synthesis_vectors.rs" required-features = ["synthesis"] +[[bin]] +name = "wai_contribution_vectors" +path = "src/bin/wai_contribution_vectors.rs" +required-features = ["contribution"] + [[bin]] name = "wai_live_watermark_vectors" path = "src/bin/wai_live_watermark_vectors.rs" @@ -1493,6 +1507,11 @@ name = "synthesis" path = "tests/synthesis.rs" required-features = ["synthesis"] +[[test]] +name = "contribution" +path = "tests/contribution.rs" +required-features = ["contribution"] + [[test]] name = "live_watermark" path = "tests/live_watermark.rs" diff --git a/wai/wai-rs/src/bin/wai_contribution_vectors.rs b/wai/wai-rs/src/bin/wai_contribution_vectors.rs new file mode 100644 index 000000000..6f8163e01 --- /dev/null +++ b/wai/wai-rs/src/bin/wai_contribution_vectors.rs @@ -0,0 +1,74 @@ +//! Conformance corpus for contribution records (`live-conformance/contribution/`, extensions/contribution.md §12). +//! +//! wai_contribution_vectors gen write vectors.json from fixed seeds +//! wai_contribution_vectors verify every file regenerates byte for byte, no other +//! file but README.md is there, and every case +//! gets the outcome it states +//! +//! The generator and this verifier are one implementation. The corpus's second +//! implementation is `live-conformance/contribution_verify.py`, written from the extension's +//! text and sharing no code with this binary. + +use std::collections::BTreeMap; +use std::path::Path; +use wai::contribution::corpus; + +fn main() { + let a: Vec = std::env::args().collect(); + match (a.get(1).map(String::as_str), a.get(2)) { + (Some("gen"), Some(d)) => { + if let Err(e) = std::fs::create_dir_all(d) { + eprintln!("create {d}: {e}"); + std::process::exit(1); + } + for (name, body) in corpus::generate() { + let p = Path::new(d).join(&name); + if let Err(e) = std::fs::write(&p, body) { + eprintln!("write {}: {e}", p.display()); + std::process::exit(1); + } + } + println!("wrote {d}"); + } + (Some("verify"), Some(d)) => std::process::exit(verify(Path::new(d))), + _ => { + eprintln!("usage: wai_contribution_vectors gen|verify "); + std::process::exit(2); + } + } +} + +fn verify(dir: &Path) -> i32 { + let mut files = BTreeMap::new(); + let entries = match std::fs::read_dir(dir) { + Ok(e) => e, + Err(e) => { + eprintln!("read {}: {e}", dir.display()); + return 1; + } + }; + for e in entries.flatten() { + let name = e.file_name().to_string_lossy().into_owned(); + if name == "README.md" { + continue; + } + match std::fs::read_to_string(e.path()) { + Ok(s) => { + files.insert(name, s); + } + Err(err) => { + eprintln!("read {name}: {err}"); + return 1; + } + } + } + let generated: BTreeMap = corpus::generate().into_iter().collect(); + let same = files == generated; + println!("{} every file regenerates byte for byte from its seeds, and no other file is there", if same { "PASS" } else { "FAIL" }); + let fails = corpus::verify(&files); + for f in &fails { + println!("FAIL {f}"); + } + println!("{} every case gets the outcome the corpus states", if fails.is_empty() { "PASS" } else { "FAIL" }); + (!same || !fails.is_empty()) as i32 +} diff --git a/wai/wai-rs/src/codecs/registry.rs b/wai/wai-rs/src/codecs/registry.rs index 928acca59..8bc46558c 100644 --- a/wai/wai-rs/src/codecs/registry.rs +++ b/wai/wai-rs/src/codecs/registry.rs @@ -225,6 +225,7 @@ pub const CAP_LIVE_PROVENANCE: &str = "wai.live.provenance"; pub const CAP_EDGE_DERIVATION: &str = "wai.edge.derivation"; pub const CAP_MEDIA_SYNTHESIS: &str = "wai.media.synthesis"; pub const CAP_AI_USAGE: &str = "wai.ai.usage"; +pub const CAP_MEDIA_CONTRIBUTION: &str = "wai.media.contribution"; /// One row per string SPEC §5 registers that is a payload, companion or record: /// `(string, SPEC section, edition, registered)`. @@ -318,6 +319,7 @@ const ROWS: &[(&str, &str, Option<&str>, &str)] = &[ (CAP_LIVE_PROVENANCE, S_INTERACTIVE, None, "2026-10-21"), (CAP_MEDIA_SYNTHESIS, S_INTERACTIVE, None, "2026-10-21"), (CAP_AI_USAGE, S_INTERACTIVE, None, "2026-10-21"), + (CAP_MEDIA_CONTRIBUTION, S_INTERACTIVE, None, "2026-10-21"), (CAP_AUDIO_IAMF, S_IMMERSIVE, None, "2026-06-17"), (CAP_AUDIO_AC4, S_IMMERSIVE, None, "2026-06-17"), (CAP_AUDIO_IVAS, S_IMMERSIVE, None, "2026-06-17"), @@ -374,6 +376,7 @@ const RECORDS: &[&str] = &[ CAP_EDGE_DERIVATION, CAP_MEDIA_SYNTHESIS, CAP_AI_USAGE, + CAP_MEDIA_CONTRIBUTION, ]; /// A named identifier SPEC uses that has the shape of a capability string but is @@ -534,6 +537,7 @@ const LIVE_ADS: &str = "extensions/live-ads.md"; const LIVE_PROVENANCE: &str = "extensions/live-provenance.md"; const DERIVING_EDGE: &str = "extensions/deriving-edge.md"; const SYNTHESIS: &str = "extensions/synthesis.md"; +const CONTRIBUTION: &str = "extensions/contribution.md"; const fn wire(name: &'static str, kind: WireKind, document: &'static str, section: &'static str, status: WireStatus) -> WireIdentifier { @@ -545,8 +549,8 @@ const fn wire(name: &'static str, kind: WireKind, document: &'static str, sectio /// (jwp-receipts §7), of packaging, of live events, of live rooms, of capture binding, of /// live composition, of live recording, of timed text, of live metering, of energy steering, /// of live moderation, of confidentiality, of forensic watermark sessions, of live ads, of live -/// provenance, of the deriving edge, of synthesis and of AI usage, in document order. The export -/// lists them sorted by name and kind. +/// provenance, of the deriving edge, of synthesis, of AI usage and of contribution records, in +/// document order. The export lists them sorted by name and kind. pub const WIRE_IDENTIFIERS: &[WireIdentifier] = &[ wire("WAI1", WireKind::Magic, "SPEC.md", "§2", WireStatus::Defined), wire("WAI2", WireKind::Magic, "SPEC.md", "§7.1", WireStatus::Defined), @@ -644,6 +648,11 @@ pub const WIRE_IDENTIFIERS: &[WireIdentifier] = &[ wire("WAU1", WireKind::Magic, AI_USAGE, "§4.2", WireStatus::Defined), wire("wai_ai_usage", WireKind::Catalog, MOQ_FORMAT, "§4", WireStatus::Defined), wire("WAI-Usage-Claim", WireKind::HttpHeader, AI_USAGE, "§7.3", WireStatus::Proposed), + wire("wai-session", WireKind::DocumentKind, CONTRIBUTION, "§3.1", WireStatus::Defined), + wire("wai-membership", WireKind::DocumentKind, CONTRIBUTION, "§3.2", WireStatus::Defined), + wire("wai-step", WireKind::DocumentKind, CONTRIBUTION, "§4.1", WireStatus::Defined), + wire("wai-contribution", WireKind::DocumentKind, CONTRIBUTION, "§6", WireStatus::Defined), + wire("wai-authorship-map", WireKind::DocumentKind, CONTRIBUTION, "§7.3", WireStatus::Defined), ]; /// A string with the shape of a capability that the reference implementation uses diff --git a/wai/wai-rs/src/contribution.rs b/wai/wai-rs/src/contribution.rs new file mode 100644 index 000000000..176ff4620 --- /dev/null +++ b/wai/wai-rs/src/contribution.rs @@ -0,0 +1,2008 @@ +//! Contribution records (`extensions/contribution.md`): the record `wai.media.contribution`. +//! +//! A tool signs a **session** naming its parties (people by key, each countersigning its own +//! membership; models by digest), and every act in it is a signed **step** in a hash chain: +//! `author`, `generate`, `candidates`, `select`, `edit`, `inpaint`, `transform`, `compose` and +//! `reject` (§4). Each act has a dependency rule, and re-executing the steps gives every sample +//! of the output two sets of parties: `made_by`, whose act produced its value, and +//! `directed_by`, whose choices conditioned it. That **authorship map** is computed, not +//! declared (§7). A verifier checks that an edit or an inpainting changed nothing outside its +//! region, that a selection is a member of its set and that every candidate regenerates, that a +//! transform recomputes, that the map recomputes, and that the output's origin claim +//! (`extensions/synthesis.md`) is at least what the map implies (§9.1). The steps are the leaves +//! of a Merkle tree, so a creator can disclose some of them; prompts are salted commitments; +//! and the outcome's tier says what the disclosure reached: `recomputed`, `checked` or `stated` +//! (§10.3). A sample no disclosed, pinned rule fixes is `unknown` or `undisclosed`, never +//! credited to anyone. +//! +//! The corpus is `live-conformance/contribution/` ([`corpus`]); its second implementation is +//! `live-conformance/contribution_verify.py`. + +use std::collections::{BTreeMap, BTreeSet}; + +use ed25519_dalek::{Signer, SigningKey}; +use serde_json::{json, Map, Value}; +use sha2::{Digest, Sha256}; + +use crate::claim_receipt::{rfc3339, term_ok}; +use crate::jcs::{jcs, MAX_INTEGER}; +use crate::synthesis::{self as syn, Class}; + +pub mod corpus; + +/// The domain every signed record of this extension is signed under (§2). +pub const SIGN_DOMAIN: &[u8] = b"wai:contribution\x01"; +/// The domain of a record's link hash (§2). +pub const LINK_DOMAIN: &[u8] = b"wai:contribution-link\x01"; +/// The domains of the steps' tree (§5.2). +pub const LEAF_DOMAIN: &[u8] = b"wai:contribution-leaf\x01"; +pub const NODE_DOMAIN: &[u8] = b"wai:contribution-node\x01"; +/// The domain of the authorship map's digest (§7.3). +pub const MAP_DOMAIN: &[u8] = b"wai:contribution-map\x01"; +/// The pinned generator (§4.5). +pub const SPECTRAL: &str = "wai.generate.spectral"; +/// The per-sample colour table this extension pins (§4.5). +pub const LUT: &str = "wai-contribution:lut"; +pub const CROP: &str = "wai.derive.crop"; +pub const ROTATION: &str = "wai.derive.rotation"; +pub const MIRROR: &str = "wai.derive.mirror"; +pub const SCALING: &str = "wai.derive.scaling"; +pub const OVERLAY: &str = "wai.derive.overlay_composition"; +pub const GRID: &str = "wai.derive.grid_composition"; +/// C2PA 2.4 §18.15.2's source type of an asset created with no content. +pub const EMPTY: &str = "http://c2pa.org/digitalsourcetype/empty"; +/// The most bytes a state holds (§2). +pub const MAX_SAMPLES: u64 = 1 << 26; +/// The most parties a session names (§3.1). +pub const MAX_PARTIES: usize = 64; + +/// Why a case is refused (§11). +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)] +pub enum Reason { + RecordMalformed, + BadKey, + BadSignature, + ActReserved, + MapMalformed, + OpeningMismatch, + MembershipInvalid, + PartyNotCountersigned, + SessionMismatch, + PartyUnknown, + PartyRoleMismatch, + SignerMismatch, + CheckMismatch, + ParamsInvalid, + ChainBroken, + InclusionFailed, + SamplesMismatch, + InputUnknown, + SelectionNotInSet, + RegionInvalid, + OutsideRegionChanged, + RegenerationMismatch, + RecomputeMismatch, + OutputMismatch, + MapUnbound, + MapMismatch, + UnknownAttributed, + OriginMismatch, + OriginUnderstated, + TierNotMet, +} + +impl Reason { + /// The codes, in §11's order. + pub const ALL: [Reason; 30] = [ + Reason::RecordMalformed, + Reason::BadKey, + Reason::BadSignature, + Reason::ActReserved, + Reason::MapMalformed, + Reason::OpeningMismatch, + Reason::MembershipInvalid, + Reason::PartyNotCountersigned, + Reason::SessionMismatch, + Reason::PartyUnknown, + Reason::PartyRoleMismatch, + Reason::SignerMismatch, + Reason::CheckMismatch, + Reason::ParamsInvalid, + Reason::ChainBroken, + Reason::InclusionFailed, + Reason::SamplesMismatch, + Reason::InputUnknown, + Reason::SelectionNotInSet, + Reason::RegionInvalid, + Reason::OutsideRegionChanged, + Reason::RegenerationMismatch, + Reason::RecomputeMismatch, + Reason::OutputMismatch, + Reason::MapUnbound, + Reason::MapMismatch, + Reason::UnknownAttributed, + Reason::OriginMismatch, + Reason::OriginUnderstated, + Reason::TierNotMet, + ]; + + /// The conformance code. + pub fn code(self) -> &'static str { + match self { + Reason::RecordMalformed => "record_malformed", + Reason::BadKey => "bad_key", + Reason::BadSignature => "bad_signature", + Reason::ActReserved => "act_reserved", + Reason::MapMalformed => "map_malformed", + Reason::OpeningMismatch => "opening_mismatch", + Reason::MembershipInvalid => "membership_invalid", + Reason::PartyNotCountersigned => "party_not_countersigned", + Reason::SessionMismatch => "session_mismatch", + Reason::PartyUnknown => "party_unknown", + Reason::PartyRoleMismatch => "party_role_mismatch", + Reason::SignerMismatch => "signer_mismatch", + Reason::CheckMismatch => "check_mismatch", + Reason::ParamsInvalid => "params_invalid", + Reason::ChainBroken => "chain_broken", + Reason::InclusionFailed => "inclusion_failed", + Reason::SamplesMismatch => "samples_mismatch", + Reason::InputUnknown => "input_unknown", + Reason::SelectionNotInSet => "selection_not_in_set", + Reason::RegionInvalid => "region_invalid", + Reason::OutsideRegionChanged => "outside_region_changed", + Reason::RegenerationMismatch => "regeneration_mismatch", + Reason::RecomputeMismatch => "recompute_mismatch", + Reason::OutputMismatch => "output_mismatch", + Reason::MapUnbound => "map_unbound", + Reason::MapMismatch => "map_mismatch", + Reason::UnknownAttributed => "unknown_attributed", + Reason::OriginMismatch => "origin_mismatch", + Reason::OriginUnderstated => "origin_understated", + Reason::TierNotMet => "tier_not_met", + } + } +} + +impl std::fmt::Display for Reason { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + f.write_str(self.code()) + } +} + +impl std::error::Error for Reason {} + +// --------------------------------------------------------------------------------------- +// §2 Records: encodings, signature, identity +// --------------------------------------------------------------------------------------- + +pub fn sha256(parts: &[&[u8]]) -> [u8; 32] { + let mut h = Sha256::new(); + for p in parts { + h.update(p); + } + h.finalize().into() +} + +fn blake3(parts: &[&[u8]]) -> [u8; 32] { + let mut h = blake3::Hasher::new(); + for p in parts { + h.update(p); + } + *h.finalize().as_bytes() +} + +pub fn hex(b: &[u8]) -> String { + b.iter().map(|x| format!("{x:02x}")).collect() +} + +pub fn unhex(s: &str) -> Option> { + if !s.len().is_multiple_of(2) || !s.bytes().all(|c| c.is_ascii_digit() || (b'a'..=b'f').contains(&c)) { + return None; + } + (0..s.len()).step_by(2).map(|i| u8::from_str_radix(&s[i..i + 2], 16).ok()).collect() +} + +fn hexn(v: &Value) -> Option<[u8; N]> { + unhex(v.as_str()?)?.try_into().ok() +} + +fn int(v: &Value) -> Option { + v.as_u64().filter(|&n| n <= MAX_INTEGER) +} + +fn term(v: &Value) -> Option { + let s = v.as_str()?; + term_ok(s).ok()?; + Some(s.to_string()) +} + +fn one_of(v: &Value, set: &[&str]) -> Option { + let s = v.as_str()?; + set.contains(&s).then(|| s.to_string()) +} + +fn subset_ok(v: &Value) -> bool { + match v { + Value::Null | Value::String(_) => true, + Value::Number(_) => int(v).is_some(), + Value::Bool(_) => false, + Value::Array(a) => a.iter().all(subset_ok), + Value::Object(o) => o.values().all(subset_ok), + } +} + +fn exact<'a>(v: &'a Value, members: &[&str]) -> Option<&'a Map> { + let o = v.as_object()?; + (o.len() == members.len() && members.iter().all(|m| o.contains_key(*m))).then_some(o) +} + +fn nullable(v: &Value, f: impl Fn(&Value) -> Option) -> Option> { + if v.is_null() { Some(None) } else { f(v).map(Some) } +} + +/// The bytes a record is signed over (§2). +pub fn signing_bytes(record: &Value) -> Vec { + let mut r = record.clone(); + if let Some(o) = r.as_object_mut() { + o.remove("sig"); + } + let mut m = SIGN_DOMAIN.to_vec(); + m.extend_from_slice(jcs(&r).expect("a record in the subset").as_bytes()); + m +} + +/// A record's link hash (§2). +pub fn link_hash(record: &Value) -> [u8; 32] { + blake3(&[LINK_DOMAIN, jcs(record).expect("a record in the subset").as_bytes()]) +} + +/// Sign a record body: adds `signer_pubkey` and `sig` (§2). +pub fn sign(mut body: Value, key: &SigningKey) -> Value { + let o = body.as_object_mut().expect("a record is an object"); + o.insert("signer_pubkey".into(), json!(hex(&key.verifying_key().to_bytes()))); + o.remove("sig"); + let sig = key.sign(&signing_bytes(&body)); + body.as_object_mut().expect("an object").insert("sig".into(), json!(hex(&sig.to_bytes()))); + body +} + +/// Read a signed record's members (§2) and return its value and its signer; the signature is +/// checked by [`check_signature`] once the kind's own members have read. +fn read_signed(text: &str, kind: &str, members: &[&str]) -> Result<(Value, [u8; 32]), Reason> { + let v = crate::claim_text::read(text).map_err(|_| Reason::RecordMalformed)?; + let o = exact(&v, members).ok_or(Reason::RecordMalformed)?; + if o.get("kind").and_then(Value::as_str) != Some(kind) || !subset_ok(&v) { + return Err(Reason::RecordMalformed); + } + let signer: [u8; 32] = hexn(&o["signer_pubkey"]).ok_or(Reason::RecordMalformed)?; + if hexn::<64>(&o["sig"]).is_none() || !o["issued_at"].as_str().is_some_and(rfc3339) { + return Err(Reason::RecordMalformed); + } + Ok((v, signer)) +} + +fn check_signature(v: &Value, signer: &[u8; 32]) -> Result<(), Reason> { + let sig: [u8; 64] = hexn(&v["sig"]).ok_or(Reason::RecordMalformed)?; + crate::sig::verify_strict(signer, &signing_bytes(v), &sig).map_err(|e| match e { + crate::sig::SigError::BadKey => Reason::BadKey, + crate::sig::SigError::BadSignature => Reason::BadSignature, + }) +} + +/// A size of a state (§2): each side at least 1, the buffer at most 2^26 bytes. +fn size_ok(w: u64, h: u64) -> bool { + w >= 1 && h >= 1 && w.checked_mul(h).and_then(|n| n.checked_mul(3)).is_some_and(|n| n <= MAX_SAMPLES) +} + +// --------------------------------------------------------------------------------------- +// §3 The session +// --------------------------------------------------------------------------------------- + +#[derive(Clone, Copy, Debug, PartialEq, Eq)] +pub enum Role { + Human, + Audience, + Model, +} + +#[derive(Clone, Debug, PartialEq, Eq)] +pub struct Party { + pub role: Role, + /// A keyed party's key. + pub key: Option<[u8; 32]>, + /// A model's digest, and whether it is trained. + pub digest: Option<[u8; 32]>, + pub trained: bool, +} + +#[derive(Clone, Debug)] +pub struct Session { + pub link: [u8; 32], + pub tool_key: [u8; 32], + pub tool: String, + pub parties: Vec, +} + +pub const SESSION_MEMBERS: [&str; 8] = ["kind", "session", "tool", "media", "parties", "issued_at", "signer_pubkey", "sig"]; +pub const MEMBERSHIP_MEMBERS: [&str; 6] = ["kind", "session", "party", "issued_at", "signer_pubkey", "sig"]; + +fn read_party(v: &Value) -> Option { + match v.get("role")?.as_str()? { + r @ ("human" | "audience") => { + let o = exact(v, &["role", "key"])?; + let role = if r == "human" { Role::Human } else { Role::Audience }; + Some(Party { role, key: Some(hexn(&o["key"])?), digest: None, trained: false }) + } + "model" => { + let o = exact(v, &["role", "digest", "type"])?; + let trained = one_of(&o["type"], &["trained", "algorithmic"])? == "trained"; + Some(Party { role: Role::Model, key: None, digest: Some(hexn(&o["digest"])?), trained }) + } + _ => None, + } +} + +/// Read the session record (§3.1). +pub fn read_session(text: &str) -> Result { + let (v, signer) = read_signed(text, "wai-session", &SESSION_MEMBERS)?; + let f = || { + hexn::<32>(&v["session"])?; + let tool = term(&v["tool"])?; + one_of(&v["media"], &["image"])?; + let parties: Vec = v["parties"].as_array()?.iter().map(read_party).collect::>()?; + let keys: Vec<[u8; 32]> = parties.iter().filter_map(|p| p.key).collect(); + let digests: Vec<[u8; 32]> = parties.iter().filter_map(|p| p.digest).collect(); + let distinct = keys.iter().collect::>().len() == keys.len() && digests.iter().collect::>().len() == digests.len(); + let ok = (1..=MAX_PARTIES).contains(&parties.len()) && distinct && !keys.contains(&signer); + ok.then(|| Session { link: link_hash(&v), tool_key: signer, tool, parties }) + }; + let s = f().ok_or(Reason::RecordMalformed)?; + check_signature(&v, &signer)?; + Ok(s) +} + +#[derive(Clone, Debug)] +pub struct Membership { + pub signer: [u8; 32], + pub session: [u8; 32], + pub party: u64, +} + +/// Read a membership (§3.2). +pub fn read_membership(text: &str) -> Result { + let (v, signer) = read_signed(text, "wai-membership", &MEMBERSHIP_MEMBERS)?; + let f = || Some(Membership { signer, session: hexn(&v["session"])?, party: int(&v["party"])? }); + let m = f().ok_or(Reason::RecordMalformed)?; + check_signature(&v, &signer)?; + Ok(m) +} + +// --------------------------------------------------------------------------------------- +// §4 Steps +// --------------------------------------------------------------------------------------- + +#[derive(Clone, Copy, Debug, PartialEq, Eq)] +pub enum Act { + Author, + Generate, + Candidates, + Select, + Edit, + Inpaint, + Transform, + Compose, + Reject, +} + +impl Act { + pub const ALL: [Act; 9] = [Act::Author, Act::Generate, Act::Candidates, Act::Select, Act::Edit, Act::Inpaint, Act::Transform, Act::Compose, Act::Reject]; + + pub fn name(self) -> &'static str { + match self { + Act::Author => "author", + Act::Generate => "generate", + Act::Candidates => "candidates", + Act::Select => "select", + Act::Edit => "edit", + Act::Inpaint => "inpaint", + Act::Transform => "transform", + Act::Compose => "compose", + Act::Reject => "reject", + } + } + + pub fn from_name(s: &str) -> Option { + Act::ALL.into_iter().find(|a| a.name() == s) + } + + fn generative(self) -> bool { + matches!(self, Act::Generate | Act::Candidates | Act::Inpaint) + } +} + +/// A state a step reads (§4.1). +#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord)] +pub struct Input { + pub step: u64, + pub samples: [u8; 32], +} + +/// What a step produced (§4.1). +#[derive(Clone, Debug, PartialEq, Eq)] +pub enum Output { + None, + One { samples: [u8; 32], w: u64, h: u64 }, + Set { set: Vec<[u8; 32]>, w: u64, h: u64 }, +} + +impl Output { + pub fn size(&self) -> Option<(u64, u64)> { + match self { + Output::None => None, + Output::One { w, h, .. } | Output::Set { w, h, .. } => Some((*w, *h)), + } + } + + /// Whether this output holds the state of that digest. + pub fn holds(&self, d: &[u8; 32]) -> bool { + match self { + Output::None => false, + Output::One { samples, .. } => samples == d, + Output::Set { set, .. } => set.contains(d), + } + } + + pub fn states(&self) -> Vec<[u8; 32]> { + match self { + Output::None => vec![], + Output::One { samples, .. } => vec![*samples], + Output::Set { set, .. } => set.clone(), + } + } +} + +#[derive(Clone, Copy, Debug, PartialEq, Eq)] +pub struct Rect { + pub x: u64, + pub y: u64, + pub w: u64, + pub h: u64, +} + +impl Rect { + fn contains(&self, x: u64, y: u64) -> bool { + self.x <= x && x < self.x + self.w && self.y <= y && y < self.y + self.h + } +} + +/// A step's parameters (§4.3). +#[derive(Clone, Debug, PartialEq, Eq)] +pub enum Params { + Author { source: String }, + Gen { generator: String, prompt: Option<[u8; 32]>, prompt_by: Option, mask_by: Option, seed: Option, seeds: Option>, steps: Option }, + Empty, + Derive { derivation: String, params: Value }, +} + +#[derive(Clone, Debug)] +pub struct Step { + pub link: [u8; 32], + pub signer: [u8; 32], + pub session: [u8; 32], + pub seq: u64, + pub prev: Option<[u8; 32]>, + pub party: u64, + pub act: Act, + pub inputs: Vec, + pub output: Output, + pub region: Option>, + pub params: Params, + pub replicate: bool, +} + +pub const STEP_MEMBERS: [&str; 14] = + ["kind", "session", "seq", "prev", "party", "act", "inputs", "output", "region", "params", "check", "issued_at", "signer_pubkey", "sig"]; + +fn read_output(v: &Value, act: Act) -> Option { + let size = |o: &Map| { + let (w, h) = (int(&o["width"])?, int(&o["height"])?); + size_ok(w, h).then_some((w, h)) + }; + match act { + Act::Reject => v.is_null().then_some(Output::None), + Act::Candidates => { + let o = exact(v, &["set", "width", "height"])?; + let set: Vec<[u8; 32]> = o["set"].as_array()?.iter().map(hexn).collect::>()?; + let distinct = set.iter().collect::>().len() == set.len(); + let (w, h) = size(o)?; + ((2..=16).contains(&set.len()) && distinct).then_some(Output::Set { set, w, h }) + } + _ => { + let o = exact(v, &["samples", "width", "height"])?; + let (w, h) = size(o)?; + Some(Output::One { samples: hexn(&o["samples"])?, w, h }) + } + } +} + +fn read_params(v: &Value, act: Act, members: usize) -> Option { + let generative = |names: &[&str]| -> Option { + let o = exact(v, names)?; + let prompt = nullable(&o["prompt"], hexn)?; + let prompt_by = nullable(&o["prompt_by"], int)?; + if prompt.is_some() != prompt_by.is_some() { + return None; + } + let seeds = match o.get("seeds") { + Some(s) => { + let s = nullable(s, |a| a.as_array()?.iter().map(int).collect::>>())?; + if s.as_ref().is_some_and(|s| s.len() != members) { + return None; + } + s + } + None => None, + }; + Some(Params::Gen { + generator: term(&o["generator"])?, + prompt, + prompt_by, + mask_by: match o.get("mask_by") { + Some(m) => Some(int(m)?), + None => None, + }, + seed: match o.get("seed") { + Some(s) => nullable(s, int)?, + None => None, + }, + seeds, + steps: nullable(&o["steps"], int)?, + }) + }; + match act { + Act::Author => { + let o = exact(v, &["source"])?; + Some(Params::Author { source: one_of(&o["source"], &syn::CAPTURE_SOURCES)? }) + } + Act::Generate => generative(&["generator", "prompt", "prompt_by", "seed", "steps"]), + Act::Candidates => generative(&["generator", "prompt", "prompt_by", "seeds", "steps"]), + Act::Inpaint => generative(&["generator", "prompt", "prompt_by", "mask_by", "seed", "steps"]), + Act::Select | Act::Edit | Act::Reject => exact(v, &[]).map(|_| Params::Empty), + Act::Transform | Act::Compose => { + let o = exact(v, &["derivation", "params"])?; + o["params"].is_object().then_some(())?; + Some(Params::Derive { derivation: term(&o["derivation"])?, params: o["params"].clone() }) + } + } +} + +fn read_step_fields(v: &Value, act: Act, link: [u8; 32], signer: [u8; 32]) -> Option { + let seq = int(&v["seq"])?; + let mut inputs = Vec::new(); + for i in v["inputs"].as_array()? { + let o = exact(i, &["step", "samples"])?; + let input = Input { step: int(&o["step"])?, samples: hexn(&o["samples"])? }; + if input.step >= seq || inputs.contains(&input) { + return None; + } + inputs.push(input); + } + let output = read_output(&v["output"], act)?; + let n_inputs = match act { + Act::Author | Act::Generate | Act::Candidates => 0..=0, + Act::Compose => 1..=16, + _ => 1..=1, + }; + if !n_inputs.contains(&inputs.len()) { + return None; + } + let region = match act { + Act::Edit | Act::Inpaint => { + let (w, h) = output.size()?; + let rects: Vec = v["region"] + .as_array()? + .iter() + .map(|r| { + let o = exact(r, &["x", "y", "w", "h"])?; + let r = Rect { x: int(&o["x"])?, y: int(&o["y"])?, w: int(&o["w"])?, h: int(&o["h"])? }; + (r.w >= 1 && r.h >= 1 && r.x.checked_add(r.w)? <= w && r.y.checked_add(r.h)? <= h).then_some(r) + }) + .collect::>()?; + if !(1..=256).contains(&rects.len()) { + return None; + } + Some(rects) + } + _ => { + if !v["region"].is_null() { + return None; + } + None + } + }; + let members = match &output { + Output::Set { set, .. } => set.len(), + _ => 0, + }; + let replicate = one_of(&v["check"], &["replicate", "attest"])? == "replicate"; + Some(Step { + link, + signer, + session: hexn(&v["session"])?, + seq, + prev: nullable(&v["prev"], hexn)?, + party: int(&v["party"])?, + act, + inputs, + output, + region, + params: read_params(&v["params"], act, members)?, + replicate, + }) +} + +/// Read a step (§4.1–§4.3). +pub fn read_step(text: &str) -> Result { + let (v, signer) = read_signed(text, "wai-step", &STEP_MEMBERS)?; + let act_name = v["act"].as_str().ok_or(Reason::RecordMalformed)?; + if act_name == "direct" { + return Err(Reason::ActReserved); + } + let act = Act::from_name(act_name).ok_or(Reason::RecordMalformed)?; + let s = read_step_fields(&v, act, link_hash(&v), signer).ok_or(Reason::RecordMalformed)?; + check_signature(&v, &signer)?; + Ok(s) +} + +// --------------------------------------------------------------------------------------- +// §4.5 The pinned operations +// --------------------------------------------------------------------------------------- + +/// A pinned operation of a transform or a composition (§4.5), with its parameters. +#[derive(Clone, Debug, PartialEq, Eq)] +pub enum Op { + Crop { x: u64, y: u64, w: u64, h: u64 }, + Rotation(u64), + Mirror { left_right: bool }, + Upscale2, + Denoise3, + Lut(Vec), + Overlay { width: u64, height: u64, fill: [u8; 3], at: Vec<(u64, u64)> }, + Grid { columns: u64, rows: u64 }, +} + +/// The derivations §4.5 pins for a transform and for a composition. +pub const PINNED_TRANSFORMS: [&str; 6] = [CROP, ROTATION, MIRROR, syn::UPSCALE2, syn::DENOISE3, LUT]; +pub const PINNED_COMPOSITIONS: [&str; 2] = [OVERLAY, GRID]; + +/// Read a pinned derivation's parameters, exactly (§4.5; deriving-edge §4.2). `None` where +/// they are not that derivation's (`params_invalid`). +pub fn parse_op(derivation: &str, p: &Value) -> Option { + let pos = |v: &Value| int(v).filter(|&n| n >= 1); + match derivation { + CROP => { + let o = exact(p, &["x", "y", "w", "h"])?; + Some(Op::Crop { x: int(&o["x"])?, y: int(&o["y"])?, w: pos(&o["w"])?, h: pos(&o["h"])? }) + } + ROTATION => { + let o = exact(p, &["quarter_turns"])?; + int(&o["quarter_turns"]).filter(|q| (1..=3).contains(q)).map(Op::Rotation) + } + MIRROR => { + let o = exact(p, &["flip"])?; + Some(Op::Mirror { left_right: one_of(&o["flip"], &["left-right", "top-bottom"])? == "left-right" }) + } + syn::UPSCALE2 => exact(p, &[]).map(|_| Op::Upscale2), + syn::DENOISE3 => exact(p, &[]).map(|_| Op::Denoise3), + LUT => { + let o = exact(p, &["table"])?; + let t = unhex(o["table"].as_str()?)?; + (t.len() == 768).then_some(Op::Lut(t)) + } + OVERLAY => { + let o = exact(p, &["width", "height", "fill", "at"])?; + let fill: [u8; 3] = hexn(&o["fill"])?; + let at = o["at"] + .as_array()? + .iter() + .map(|a| { + let a = exact(a, &["x", "y"])?; + Some((int(&a["x"])?, int(&a["y"])?)) + }) + .collect::>>()?; + let (width, height) = (pos(&o["width"])?, pos(&o["height"])?); + size_ok(width, height).then_some(Op::Overlay { width, height, fill, at }) + } + GRID => { + let o = exact(p, &["columns", "rows"])?; + Some(Op::Grid { columns: pos(&o["columns"])?, rows: pos(&o["rows"])? }) + } + _ => None, + } +} + +impl Op { + /// The output size over inputs of these sizes, or `None` where the parameters do not hold + /// over them (`params_invalid`). + pub fn out_size(&self, sizes: &[(u64, u64)]) -> Option<(u64, u64)> { + let one = || (sizes.len() == 1).then(|| sizes[0]); + let (w, h) = match self { + Op::Crop { x, y, w, h } => { + let (iw, ih) = one()?; + (x.checked_add(*w)? <= iw && y.checked_add(*h)? <= ih).then_some((*w, *h))? + } + Op::Rotation(q) => { + let (iw, ih) = one()?; + if *q == 2 { (iw, ih) } else { (ih, iw) } + } + Op::Mirror { .. } | Op::Denoise3 | Op::Lut(_) => one()?, + Op::Upscale2 => { + let (iw, ih) = one()?; + (2 * iw, 2 * ih) + } + Op::Overlay { width, height, at, .. } => { + if at.len() != sizes.len() || sizes.is_empty() { + return None; + } + (*width, *height) + } + Op::Grid { columns, rows } => { + let first = *sizes.first()?; + if sizes.len() as u64 != columns.checked_mul(*rows)? || sizes.iter().any(|s| *s != first) { + return None; + } + (columns.checked_mul(first.0)?, rows.checked_mul(first.1)?) + } + }; + size_ok(w, h).then_some((w, h)) + } + + /// The input pixels output pixel (x, y) reads (§4.5): `(input, x, y)`. Empty for a canvas + /// pixel of an overlay that no input covers. + pub fn sources(&self, sizes: &[(u64, u64)], x: u64, y: u64, out: &mut Vec<(usize, u64, u64)>) { + out.clear(); + match self { + Op::Crop { x: cx, y: cy, .. } => out.push((0, cx + x, cy + y)), + Op::Rotation(q) => { + let (iw, ih) = sizes[0]; + let p = match q { + 1 => (y, ih - 1 - x), + 2 => (iw - 1 - x, ih - 1 - y), + _ => (iw - 1 - y, x), + }; + out.push((0, p.0, p.1)); + } + Op::Mirror { left_right } => { + let (iw, ih) = sizes[0]; + out.push((0, if *left_right { iw - 1 - x } else { x }, if *left_right { y } else { ih - 1 - y })); + } + Op::Lut(_) => out.push((0, x, y)), + Op::Upscale2 => { + let (iw, ih) = sizes[0]; + let (sx, sy) = (x / 2, y / 2); + let (x1, y1) = ((sx + 1).min(iw - 1), (sy + 1).min(ih - 1)); + let mut add = |p: (u64, u64)| { + if !out.contains(&(0, p.0, p.1)) { + out.push((0, p.0, p.1)); + } + }; + add((sx, sy)); + if x % 2 == 1 { + add((x1, sy)); + } + if y % 2 == 1 { + add((sx, y1)); + } + if x % 2 == 1 && y % 2 == 1 { + add((x1, y1)); + } + } + Op::Denoise3 => { + let (iw, ih) = sizes[0]; + for j in [-1i64, 0, 1] { + for i in [-1i64, 0, 1] { + let sx = (x as i64 + i).clamp(0, iw as i64 - 1) as u64; + let sy = (y as i64 + j).clamp(0, ih as i64 - 1) as u64; + if !out.contains(&(0, sx, sy)) { + out.push((0, sx, sy)); + } + } + } + } + Op::Overlay { at, .. } => { + for (k, ((ax, ay), (iw, ih))) in at.iter().zip(sizes).enumerate().rev() { + if *ax <= x && x < ax + iw && *ay <= y && y < ay + ih { + out.push((k, x - ax, y - ay)); + break; + } + } + } + Op::Grid { columns, .. } => { + let (cw, ch) = sizes[0]; + let k = (y / ch) * columns + x / cw; + out.push((k as usize, x % cw, y % ch)); + } + } + } + + /// Evaluate the operation over its inputs' samples (§4.5). + pub fn eval(&self, inputs: &[(u64, u64, &[u8])]) -> Option<(u64, u64, Vec)> { + let sizes: Vec<(u64, u64)> = inputs.iter().map(|(w, h, _)| (*w, *h)).collect(); + let (w, h) = self.out_size(&sizes)?; + let buf = match self { + Op::Upscale2 => syn::upscale2(inputs[0].2, sizes[0].0 as usize, sizes[0].1 as usize), + Op::Denoise3 => syn::denoise3(inputs[0].2, sizes[0].0 as usize, sizes[0].1 as usize), + Op::Lut(t) => inputs[0].2.as_chunks::<3>().0.iter().flat_map(|p| [t[p[0] as usize], t[256 + p[1] as usize], t[512 + p[2] as usize]]).collect(), + _ => { + let fill = match self { + Op::Overlay { fill, .. } => *fill, + _ => [0; 3], + }; + let mut out = Vec::with_capacity((w * h * 3) as usize); + let mut src = Vec::new(); + for y in 0..h { + for x in 0..w { + self.sources(&sizes, x, y, &mut src); + match src.first() { + Some(&(k, sx, sy)) => { + let i = ((sy * sizes[k].0 + sx) * 3) as usize; + out.extend_from_slice(&inputs[k].2[i..i + 3]); + } + None => out.extend_from_slice(&fill), + } + } + } + out + } + }; + Some((w, h, buf)) + } +} + +/// The spectral generator's model file, read where it has the members the reference generator +/// reads, each in a range it can compute with. +pub fn spectral_model(bytes: &[u8]) -> Option { + let v: Value = serde_json::from_slice(bytes).ok()?; + let lut = v.get("sine_lut")?.as_array()?; + let lut_size = v.get("lut_size")?.as_i64()?; + let small = |k: &str, max: u64| v.get(k).and_then(Value::as_u64).filter(|&n| n <= max).is_some(); + let ok = v.get("version")?.is_string() + && lut_size >= 1 + && lut.len() as i64 == lut_size + && lut.iter().all(|n| n.as_i64().is_some_and(|n| n.abs() <= 1 << 20)) + && small("freq_max", 1 << 12) + && small("amp_bits", 16) + && small("base_components", 1024) + && small("step_components", 1024) + && v.get("lut_bits").is_none_or(|b| b.as_u64().is_some_and(|b| b <= 20)) + && v.get("color_offsets")?.as_array().is_some_and(|c| c.len() == 3 && c.iter().all(|n| n.as_i64().is_some_and(|n| n.abs() <= 1 << 20))); + ok.then(|| crate::generate::SpectralModel::from_value(&v)) +} + +// --------------------------------------------------------------------------------------- +// §5 The tree +// --------------------------------------------------------------------------------------- + +pub fn leaf(link: &[u8; 32]) -> [u8; 32] { + blake3(&[LEAF_DOMAIN, link]) +} + +pub fn node(l: &[u8; 32], r: &[u8; 32]) -> [u8; 32] { + blake3(&[NODE_DOMAIN, l, r]) +} + +/// The root over the steps' link hashes in `seq` order (§5.2). +pub fn root(links: &[[u8; 32]]) -> [u8; 32] { + let mut level: Vec<[u8; 32]> = links.iter().map(leaf).collect(); + while level.len() > 1 { + if level.len() % 2 == 1 { + level.push(*level.last().expect("non-empty")); + } + level = level.as_chunks::<2>().0.iter().map(|[l, r]| node(l, r)).collect(); + } + level.first().copied().unwrap_or([0; 32]) +} + +/// The inclusion proof of step `index` (§5.2): its siblings from the leaf level upward. +pub fn proof(links: &[[u8; 32]], index: usize) -> Vec<[u8; 32]> { + let mut level: Vec<[u8; 32]> = links.iter().map(leaf).collect(); + let mut i = index; + let mut out = Vec::new(); + while level.len() > 1 { + if level.len() % 2 == 1 { + level.push(*level.last().expect("non-empty")); + } + out.push(level[i ^ 1]); + level = level.as_chunks::<2>().0.iter().map(|[l, r]| node(l, r)).collect(); + i /= 2; + } + out +} + +/// ⌈log₂ n⌉, and 0 for one leaf. +pub fn proof_len(n: u64) -> usize { + if n <= 1 { 0 } else { (64 - (n - 1).leading_zeros()) as usize } +} + +/// Walk a proof from a step's leaf to a root (§5.2). +pub fn walk(link: &[u8; 32], seq: u64, siblings: &[[u8; 32]]) -> [u8; 32] { + let mut h = leaf(link); + for (i, s) in siblings.iter().enumerate() { + h = if (seq >> i) & 1 == 1 { node(s, &h) } else { node(&h, s) }; + } + h +} + +// --------------------------------------------------------------------------------------- +// §6 The contribution record +// --------------------------------------------------------------------------------------- + +#[derive(Clone, Debug)] +pub struct Record { + pub link: [u8; 32], + pub signer: [u8; 32], + pub session: [u8; 32], + pub steps: u64, + pub root: [u8; 32], + pub out_step: u64, + pub out_samples: [u8; 32], + pub w: u64, + pub h: u64, + pub content_hash: Option<[u8; 32]>, + pub map: [u8; 32], + pub origin: Option<[u8; 32]>, + pub estimates: Vec, +} + +pub const RECORD_MEMBERS: [&str; 11] = ["kind", "session", "steps", "root", "output", "map", "origin", "estimates", "issued_at", "signer_pubkey", "sig"]; + +/// Read the contribution record (§6). +pub fn read_record(text: &str) -> Result { + let (v, signer) = read_signed(text, "wai-contribution", &RECORD_MEMBERS)?; + let f = || { + let steps = int(&v["steps"]).filter(|&n| n >= 1)?; + let o = exact(&v["output"], &["step", "samples", "width", "height", "content_hash"])?; + let (w, h) = (int(&o["width"])?, int(&o["height"])?); + let out_step = int(&o["step"]).filter(|&s| s < steps)?; + let content_hash = nullable(&o["content_hash"], hexn)?; + let origin = nullable(&v["origin"], hexn)?; + let estimates = v["estimates"].as_array()?; + let est_ok = estimates.len() <= 16 + && estimates.iter().all(|e| { + exact(e, &["estimator", "class", "party", "basis", "share_ppm"]).is_some_and(|o| { + term(&o["estimator"]).is_some() + && term(&o["class"]).is_some() + && int(&o["party"]).is_some() + && one_of(&o["basis"], &["made_by", "directed_by"]).is_some() + && int(&o["share_ppm"]).is_some_and(|n| n <= 1_000_000) + }) + }); + (size_ok(w, h) && est_ok && (origin.is_none() || content_hash.is_some())).then_some(())?; + Some(Record { + link: link_hash(&v), + signer, + session: hexn(&v["session"])?, + steps, + root: hexn(&v["root"])?, + out_step, + out_samples: hexn(&o["samples"])?, + w, + h, + content_hash, + map: hexn(&v["map"])?, + origin, + estimates: estimates.clone(), + }) + }; + let r = f().ok_or(Reason::RecordMalformed)?; + check_signature(&v, &signer)?; + Ok(r) +} + +// --------------------------------------------------------------------------------------- +// §7 The authorship map +// --------------------------------------------------------------------------------------- + +/// A set of a label (§7.1): parties, and the two markers. +#[derive(Clone, Copy, Debug, Default, PartialEq, Eq, Hash, PartialOrd, Ord)] +pub struct Set { + pub parties: u64, + pub unknown: bool, + pub undisclosed: bool, +} + +impl Set { + pub const EMPTY: Set = Set { parties: 0, unknown: false, undisclosed: false }; + pub const UNKNOWN: Set = Set { parties: 0, unknown: true, undisclosed: false }; + pub const UNDISCLOSED: Set = Set { parties: 0, unknown: false, undisclosed: true }; + + pub fn party(p: u64) -> Set { + Set { parties: 1 << p, ..Set::EMPTY } + } + + pub fn with(self, p: u64) -> Set { + Set { parties: self.parties | 1 << p, ..self } + } + + pub fn union(self, o: Set) -> Set { + Set { parties: self.parties | o.parties, unknown: self.unknown || o.unknown, undisclosed: self.undisclosed || o.undisclosed } + } + + pub fn has(&self, p: u64) -> bool { + self.parties >> p & 1 == 1 + } + + /// The set as §7.3 writes it. + pub fn to_json(self) -> Value { + let mut a: Vec = (0..64).filter(|p| self.has(*p)).map(|p| json!(p)).collect(); + if self.unknown { + a.push(json!("unknown")); + } + if self.undisclosed { + a.push(json!("undisclosed")); + } + Value::Array(a) + } +} + +/// A sample's label (§7.1). +#[derive(Clone, Copy, Debug, Default, PartialEq, Eq, Hash, PartialOrd, Ord)] +pub struct Label { + pub made_by: Set, + pub directed_by: Set, +} + +impl Label { + pub const UNKNOWN: Label = Label { made_by: Set::UNKNOWN, directed_by: Set::UNKNOWN }; + pub const UNDISCLOSED: Label = Label { made_by: Set::UNDISCLOSED, directed_by: Set::UNDISCLOSED }; + + fn directed(self, p: u64) -> Label { + Label { directed_by: self.directed_by.with(p), ..self } + } +} + +/// The map of a state: one label everywhere, or one label for each pixel. +#[derive(Clone, Debug, PartialEq, Eq)] +pub enum StateMap { + Const(Label), + Pixels { w: u64, labels: Vec