wai.media.synthesis: origin claims for every kind of media, two marking layers, AI participants, reviews and labels #387
Merged
dcharlot
merged 11 commits from 2026-10-21 10:44:43 -04:00
wai/synthesis into main 2026-10-21
registry export: regenerated after merging main (deriving edge + synthesis)
Some checks failed
WAI HTTP delivery / HTTP corpus · falsify patches 2/3 (pull_request) Has been cancelled
WAI HTTP delivery / HTTP corpus · every patch and mutation in exactly one shard (pull_request) Has been cancelled
WAI HTTP delivery / HTTP corpus · verified both ways, and the differential (pull_request) Has been cancelled
WAI HTTP delivery / cache rules · controls and labelled caches (pull_request) Has been cancelled
WAI energy receipts / does this change touch it (pull_request) Has been cancelled
WAI energy receipts / energy receipts · linux (pull_request) Has been cancelled
WAI energy receipts / energy receipts · linux-arm64 (pull_request) Has been cancelled
WAI energy receipts / energy receipts · macos (pull_request) Has been cancelled
WAI conformance / does this change touch it (pull_request) Has been cancelled
WAI conformance / cargo-class corpora · linux (pull_request) Has been cancelled
WAI conformance / cargo-class corpora · linux-arm64 (pull_request) Has been cancelled
WAI conformance / cargo-class corpora · macos (pull_request) Has been cancelled
WAI conformance / quantum core and corpus under wasm32-wasip2 (wasmtime) (pull_request) Has been cancelled
WAI conformance / v2 vocabulary · manifests validate as stated (pull_request) Has been cancelled
WAI conformance / independent verifiers · claims, JWP, key discovery and integer payloads (Python) (pull_request) Has been cancelled
WAI conformance / delivery telemetry · CMCD and CMSD against an independent library (pull_request) Has been cancelled
WAI conformance / cross-arch byte-equality · linux (pull_request) Has been cancelled
WAI conformance / cross-arch byte-equality · linux-arm64 (pull_request) Has been cancelled
WAI conformance / cross-arch byte-equality · macos (pull_request) Has been cancelled
WAI conformance / codec wrappers · fuzz smoke, text decode limits, C entry points, provenance, the semantic path (pull_request) Has been cancelled
WAI conformance / C2PA manifest emission · signed, read back, validated (pull_request) Has been cancelled
standards workspaces build + test / which workspaces this change touches (pull_request) Has been cancelled
standards workspaces build + test / macOS energy backends (pull_request) Has been cancelled
repository checks / lockfiles, tests in CI, workflow hygiene, spec and section references, public text (pull_request) Has been cancelled
joule-moq-web browser client / joule-moq-web · browser end-to-end (macos) (pull_request) Has been cancelled
jouleclaw public surface must stay documented / Public-surface audit (jouleclaw-rs) (pull_request) Has been cancelled
joule-moq-room room service / joule-moq-room, every target (pull_request) Has been cancelled
joule-code conformance gate / joule-moq-relay, every target (pull_request) Has been cancelled
joule-code conformance gate / joule-moq-ingest, every target (pull_request) Has been cancelled
joule-code conformance gate / Build + round-trip C1-C4 vectors (pull_request) Has been cancelled
Co-Authored-By: Claude Opus 5.5 <[email protected]>
registry export: regenerated after merging main (live provenance + synthesis)
All checks were successful
jouleclaw fabrics / metal (macOS, Apple GPU) (pull_request) Successful in 50s
joule-moq-web browser client / joule-moq-web · browser end-to-end (macos) (pull_request) Successful in 5m49s
WAI conformance / quantum core and corpus under wasm32-wasip2 (wasmtime) (pull_request) Successful in 2m13s
WAI conformance / cross-arch byte-equality · linux (pull_request) Successful in 26s
WAI energy receipts / energy receipts · linux (pull_request) Successful in 10m3s
wai-ops-gpu integer operators on GPUs / builds · no adapter is not a pass (linux) (pull_request) Successful in 1m50s
wai-pack / wai-pack · linux (pull_request) Successful in 1m29s
WAI conformance / cargo-class corpora · linux (pull_request) Successful in 19m17s
wai-quantum studio and desktop / studio · browser (pull_request) Successful in 2m26s
wai-web wasm32 / wai-web wasm32 build · corpus, menu and writers (pull_request) Successful in 4m10s
WAI conformance / v2 vocabulary · manifests validate as stated (pull_request) Successful in 28s
standards workspaces build + test / joule-code-rs (joule-code/joule-code-rs, joule-code-rs, linux-arm64, true) (pull_request) Successful in 3m11s
WAI conformance / delivery telemetry · CMCD and CMSD against an independent library (pull_request) Successful in 9s
WAI conformance / cross-arch byte-equality · linux-arm64 (pull_request) Successful in 24s
WAI conformance / C2PA manifest emission · signed, read back, validated (pull_request) Successful in 1m19s
WAI energy receipts / energy receipts · linux-arm64 (pull_request) Successful in 6m59s
wai-pack / wai-pack · linux-arm64 (pull_request) Successful in 1m15s
WAI conformance / cargo-class corpora · linux-arm64 (pull_request) Successful in 14m33s
wai-pack / wai-pack · the floor through a media prober (pull_request) Successful in 1m11s
wai-pack / wai-pack · independent verifier (Python) (pull_request) Successful in 3m46s
wai-pack / wai-pack · dependency licences (pull_request) Successful in 1m4s
WAI conformance / independent verifiers · claims, JWP, key discovery and integer payloads (Python) (pull_request) Successful in 21m49s
standards workspaces build + test / macOS energy backends (pull_request) Successful in 7m17s
WAI conformance / cargo-class corpora · macos (pull_request) Successful in 13m5s
WAI conformance / cross-arch byte-equality · macos (pull_request) Successful in 18s
WAI conformance / codec wrappers · fuzz smoke, text decode limits, C entry points, provenance, the semantic path (pull_request) Successful in 42s
WAI energy receipts / energy receipts · macos (pull_request) Successful in 5m17s
wai-ops-gpu integer operators on GPUs / Metal GPU and browser WebGPU (macos) (pull_request) Successful in 2m53s
wai-pack / wai-pack · macos (pull_request) Successful in 1m7s
wai-quantum studio and desktop / desktop app · macos (pull_request) Successful in 2m46s
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Merge remote-tracking branch 'origin/main' into wai/synthesis
# Conflicts: # .github/workflows/wai-conformance.yml # wai/CHANGELOG.md # wai/REGISTRY.md # wai/SPEC.md # wai/live-conformance/README.md # wai/registry/capabilities.json # wai/wai-rs/Cargo.toml # wai/wai-rs/src/codecs/registry.rs
joule-moq-ingest: a grant whose ai attribute is not a model digest is grant_invalid (live-rooms §4.4)
The rooms corpus gained grant_ai_malformed with the synthesis slice; the gateway's own grant reader now refuses it as wai-rs does. Co-Authored-By: Claude Opus 5.5 <[email protected]>
synthesis corpus: a reconstruction whose samples make both derivations' roundings decide
Some checks failed
WAI energy receipts / does this change touch it (pull_request) Successful in 1m24s
wai-web wasm32 / does this change touch it (pull_request) Successful in 1m11s
joule-moq-room room service / joule-moq-room, every target (pull_request) Has been cancelled
joule-moq-web browser client / joule-moq-web · browser end-to-end (macos) (pull_request) Has been cancelled
standards workspaces build + test / macOS energy backends (pull_request) Has been cancelled
standards workspaces build + test / joule-code-rs (joule-code/joule-code-rs, joule-code-rs, linux-arm64, true) (pull_request) Has been cancelled
WAI conformance / cargo-class corpora · linux (pull_request) Has been cancelled
WAI conformance / cargo-class corpora · linux-arm64 (pull_request) Has been cancelled
WAI conformance / cargo-class corpora · macos (pull_request) Has been cancelled
WAI conformance / quantum core and corpus under wasm32-wasip2 (wasmtime) (pull_request) Has been cancelled
WAI conformance / v2 vocabulary · manifests validate as stated (pull_request) Has been cancelled
WAI conformance / independent verifiers · claims, JWP, key discovery and integer payloads (Python) (pull_request) Has been cancelled
WAI conformance / delivery telemetry · CMCD and CMSD against an independent library (pull_request) Has been cancelled
WAI conformance / cross-arch byte-equality · linux (pull_request) Has been cancelled
WAI conformance / cross-arch byte-equality · linux-arm64 (pull_request) Has been cancelled
WAI conformance / cross-arch byte-equality · macos (pull_request) Has been cancelled
WAI conformance / codec wrappers · fuzz smoke, text decode limits, C entry points, provenance, the semantic path (pull_request) Has been cancelled
WAI conformance / C2PA manifest emission · signed, read back, validated (pull_request) Has been cancelled
WAI energy receipts / energy receipts · linux (pull_request) Has been cancelled
WAI energy receipts / energy receipts · linux-arm64 (pull_request) Has been cancelled
WAI energy receipts / energy receipts · macos (pull_request) Has been cancelled
wai-pack / wai-pack · linux (pull_request) Has been cancelled
wai-pack / wai-pack · linux-arm64 (pull_request) Has been cancelled
wai-pack / wai-pack · macos (pull_request) Has been cancelled
wai-pack / wai-pack · independent verifier (Python) (pull_request) Has been cancelled
wai-pack / wai-pack · the floor through a media prober (pull_request) Has been cancelled
wai-pack / wai-pack · dependency licences (pull_request) Has been cancelled
wai-quantum studio and desktop / studio · browser (pull_request) Has been cancelled
wai-quantum studio and desktop / desktop app · macos (pull_request) Has been cancelled
wai-web wasm32 / wai-web wasm32 build · corpus, menu and writers (pull_request) Has been cancelled
The reconstruction cleared the photo's low three bits, so every pair of samples summed to an even number and the upscale's rounding never decided a sample: a falsification that dropped it went uncaught. It now quantises to multiples of 3. Co-Authored-By: Claude Opus 5.5 <[email protected]>
synthesis, live rooms: let-chains where clippy asks; wai-live-web reads a chat's origin
wai-live-web's decoded view of a chat carries its stated origin and model, and its chat payload states none, as before. Co-Authored-By: Claude Opus 5.5 <[email protected]>
wai.media.synthesis: registry entry and document kinds, SPEC §5, CHANGELOG, CI step
The registry lists the record wai.media.synthesis and its six document kinds; the export is regenerated (registry export --check is up to date). SPEC §5 says what the record is. The conformance workflow runs the module's unit tests, tests/synthesis.rs and synthesis_verify.py, and fires on an edit of the extension, whose tables the tests read. Co-Authored-By: Claude Opus 5.5 <[email protected]>
synthesis_verify.py: the synthesis corpus's second implementation
Written from extensions/synthesis.md: strict JSON and JCS of its own, the pinned derivations in its own arithmetic, the digital source type and the C2PA statement written from §5 and §6, rooms through live_rooms_verify.py, Ed25519 and BLAKE3 through the claim-conformance helpers. It agrees with wai-rs on every vector and refuses every mutated copy of the corpus. Co-Authored-By: Claude Opus 5.5 <[email protected]>
wai.media.synthesis: origin claims for every kind of media, two marking layers, reviews and labels
extensions/synthesis.md: the origin claim of an object, a group or a track (captured, reconstructed, assistive, synthesized; the class rises along a chain of derivations and never falls), its IPTC digital source type and C2PA statement as functions of the claim, two pinned integer derivations whose recomputation proves an assistive claim, the marking and detection records of the second layer and their agreement with the first, AI participants' tracks, reviews a player presents only on a decode path of the review's tier, and a player's signed label log with the EU icons pinned by digest. The wai-rs module (feature `synthesis`), its vectors generator and the corpus. Co-Authored-By: Claude Opus 5.5 <[email protected]>
live rooms: AI participants are marked in their grant, and chat and reactions state their origin
live-events §4.4 and §4.5: a chat and a reaction may state an origin after their last field (1 human, 2 machine, 3 machine-reviewed, with the model's digest for 2 and 3), as a caption does. live-rooms §4.4: the grant attribute `ai` names the model that acts for an AI participant; §9.2 step 6 refuses its chat, reaction or caption that does not state origin 2 or 3 with that model (`ai_unmarked`), and a relay does not forward one. Both corpora gain vectors (additions only); both second implementations read the new fields. Co-Authored-By: Claude Opus 5.5 <[email protected]>