| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
All checks were successful
joule-moq-room room service / joule-moq-room · does this change touch it (pull_request) Successful in 5s
joule-moq-web browser client / joule-moq-web · does this change touch it (pull_request) Successful in 4s
wai-web reach builds / wai-web reach · does this change touch it (pull_request) Successful in 5s
wai-web reach builds / wai-web reach builds · the package of record, every output as recorded (pull_request) Successful in 2m46s
wai-web reach builds / wai-web reach builds · this tree's wai-web, every rung on its engine line (pull_request) Successful in 4m30s
standards workspaces build + test / which workspaces this change touches (pull_request) Successful in 6s
WAI conformance / does this change touch it (pull_request) Successful in 6s
WAI energy receipts / does this change touch it (pull_request) Successful in 7s
wai-ops-gpu integer operators on GPUs / does this change touch it (pull_request) Successful in 6s
wai-pack / wai-pack · does this change touch it (pull_request) Successful in 6s
wai-quantum studio and desktop / does this change touch it (pull_request) Successful in 9s
wai-web wasm32 / does this change touch it (pull_request) Successful in 9s
repository checks / lockfiles, tests in CI, workflow hygiene, spec and section references, public text (pull_request) Successful in 1m10s
joule-moq-room room service / joule-moq-room, every target (pull_request) Successful in 1m13s
WAI conformance / quantum core and corpus under wasm32-wasip2 (wasmtime) (pull_request) Successful in 2m14s
WAI conformance / cross-arch byte-equality · linux (pull_request) Successful in 34s
WAI energy receipts / energy receipts · linux (pull_request) Successful in 9m9s
wai-ops-gpu integer operators on GPUs / builds · no adapter is not a pass (linux) (pull_request) Successful in 2m21s
wai-pack / wai-pack · linux (pull_request) Successful in 1m24s
standards workspaces build + test / joule-code-rs (joule-code/joule-code-rs, joule-code-rs, linux-arm64, true) (pull_request) Successful in 6m11s
WAI conformance / v2 vocabulary · manifests validate as stated (pull_request) Successful in 16s
WAI conformance / delivery telemetry · CMCD and CMSD against an independent library (pull_request) Successful in 11s
WAI conformance / cross-arch byte-equality · linux-arm64 (pull_request) Successful in 29s
joule-moq-web browser client / joule-moq-web · browser end-to-end (macos) (pull_request) Successful in 8m25s
wai-quantum studio and desktop / studio · browser (pull_request) Successful in 2m55s
WAI conformance / cargo-class corpora · linux (pull_request) Successful in 19m10s
WAI conformance / C2PA manifest emission · signed, read back, validated (pull_request) Successful in 1m55s
wai-web wasm32 / wai-web wasm32 build · corpus, menu and writers (pull_request) Successful in 4m10s
WAI energy receipts / energy receipts · linux-arm64 (pull_request) Successful in 12m16s
wai-pack / wai-pack · linux-arm64 (pull_request) Successful in 1m35s
WAI conformance / cargo-class corpora · linux-arm64 (pull_request) Successful in 23m44s
wai-pack / wai-pack · the floor through a media prober (pull_request) Successful in 1m17s
wai-pack / wai-pack · dependency licences (pull_request) Successful in 1m46s
wai-pack / wai-pack · independent verifier (Python) (pull_request) Successful in 6m5s
WAI conformance / independent verifiers · claims, JWP, key discovery and integer payloads (Python) (pull_request) Successful in 44m56s
standards workspaces build + test / macOS energy backends (pull_request) Successful in 8m6s
WAI conformance / cargo-class corpora · macos (pull_request) Successful in 13m36s
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 44s
WAI energy receipts / energy receipts · macos (pull_request) Successful in 4m58s
wai-ops-gpu integer operators on GPUs / Metal GPU and browser WebGPU (macos) (pull_request) Successful in 2m39s
wai-pack / wai-pack · macos (pull_request) Successful in 1m15s
wai-quantum studio and desktop / desktop app · macos (pull_request) Successful in 2m15s
Every candidate stage 2 keeps (its vectors, refined lattice, bins and phase) and the hypotheses it decodes, for every detect vector, stored or derived. The vectors' payloads alone did not tell the phase rule apart: choosing the phase by the tile's energy rather than the tiles' agreement passed the second implementation (falsified); with the traces the two implementations compare the whole pipeline, and a mutated phase is caught. Co-Authored-By: Claude Opus 5.5 <[email protected]> |
||
| .. | ||
| frames | ||
| battery-tent64s.json | ||
| battery.json | ||
| README.md | ||
| scheme-tent64s.json | ||
| scheme.json | ||
| vectors-tent64s.json | ||
| vectors.json | ||
live-conformance/synthesis-mark — the watermark schemes wai-mark:tent64 and wai-mark:tent64s
The corpus of the registered watermark schemes of
extensions/synthesis.md §7.4 to §7.9, and of their measurement
(§7.5.7, §7.5.8, §7.9.6, §7.9.7). wai-mark:tent64's files:
scheme.json: the scheme's definition, the bytes whose SHA-256 is the scheme's digest (§7.4).frames/<SHA-256>.rgb: every set of frames a vector names, raw RGB8, frame after frame, each file named by the SHA-256 of its bytes.vectors.json:scheme: the term, the digest, the generator polynomial, the shuffle's first and last 16 entries, the first 16 signs, the mask, and the false-positive bound of §7.5.6;codewords, each a payload and its codeword (0and1, bit 0 first);decodes, each a received word, how many bits of a codeword it flips, and the payload and the bits corrected it decodes to, ornull;embeds, each unmarked frames (unmarked, a file's digest), their count and size, a payload, the marked frames' digest (marked), each bit's amplitude per frame (a hexadecimal digit each, bit 0 first), the bits left short of the margin per frame, and the SSE;detects, each stored frames (samples), their count and size, and what the detector reads: thepayload, theorientationand theerrorscorrected, ornull;battery_sample, each a picture attack of §7.5.7 (attack, at itsseed) applied to the still's marked or unmarked frame (frames,which): the result's size and digest, and what the detector reads from it;cases, each a case of §11.1 with itspolicy, its records as JSON texts, itsobjects, itsdecodedandunmarkedframes, each the content hash of anobjectand a file's digest, and what a verifier gives it, aslive-conformance/synthesis/states its vectors'.
battery.json: the measurement of §7.5.8 over the measurement sets: the sets, the attacks, each picture's size, payload, SSE, PSNR, floor, SSIM and bits left short, each attack's tallies per set (detected,missed,wrong, the mosterrorscorrected), the unmarked pictures' readings, the words read from unmarked pictures (§7.5.6), the false-positive bound, and the attacks every set survived.
wai-mark:tent64s's files, which share the frames above:
scheme-tent64s.json: the scheme's definition (§7.9.1).vectors-tent64s.json:scheme: the term, the digest, the tile's shuffle (first and last 16), its first 16 signs, its mask, and the false-positive bound of §7.9.5;embeds, asvectors.json's, under the tiled layout;detects, each stored frames (samples) or frames derived from stored ones (base, andderive: theattackof §7.9.6 orperiodic, itsseed, and the base's size and count), and what the detector reads: thepayload, thestage, theorientation, theerrorscorrected, and for stage 2resync, thelatticein 1/64 of a sample, thebins, thephase, the tile'soffset, thecandidate, the hypothesis'srankand itsagreement;battery_sample, every picture attack of §7.9.6 applied to the still the scheme marked and to the unmarked still;cases, asvectors.json's, adecodedentry naming either a file or a derivation (frames, the base's digest, andderive).
battery-tent64s.json: the measurement of §7.9.7 over the measurement sets, asbattery.json, each row with the detections stage 2 gave (resynced) and the pictures missed.
No frame a crop, a rotation or a capture of a screen makes is stored: each implementation derives it from the stored frames by the attack the vector names.
Mark equivalence. A conforming implementation gives every codeword, decoding, embedding, detection and battery sample what the corpus states, and every case its outcome, reason, place and statements. One that gives anything else does not conform.
Provenance. wai_synthesis_mark_vectors gen writes every file from fixed seeds: the
pictures are generated by the crate, the still and the measurement set spectral by
wai.generate.spectral's generator with its committed model
(wai-rs/tests/vectors/generate/generate_spectral_model.json), the dead-leaves pictures and the
clips by synthesis_mark::leaves and synthesis_mark::clips; every key is SHA-256 of the
corpus's label and an index, every noise and every error pattern a word of a SHA-256 stream, and
Ed25519 signing is deterministic, so every file is the same bytes on every machine. No picture
comes from outside the repository.
The photographs' columns of §7.5.8 and §7.9.7 are wai_synthesis_mark_vectors measure (with
tent64s for §7.9.7) run over 24 lossless photographs of 768 × 512, a test suite of image coding that this repository does not hold or
redistribute, measured where they were held. Their files, by SHA-256:
| file |
|---|
a56e27cbf5f843c048b6af1d6e090760e9c92fadba88b7dee0205918a37523bd |
4f4b74a79237e311d72cad958237b5f7088d8bce1c82305ebefe1a70e3022dfd |
e25ca1ff2f0c0cb5fdfd5f9b0a0bb21ac4c3de3c84a67f35b09a85d3306249db |
e3b946107c5d3441c022f678d0c3caf1e224d81b1604ba840a4f88e562de61aa |
10349e963c5c813d327852f82c1795fa4148d69fedffc4c589bee458e3ac3d53 |
363510303b715d4cbc384e1ce227e466b613a09e1b71ae985882bf8e7fbd9b18 |
b77d3f006f42414bb242222e0482e750c0fb9e5ee8d4bed2f6f11c5605fe54a4 |
ba23983c76b4832ee0e8af0592664756841a16779acd69f792e268fb6d13d6e7 |
6a4361c2fc194feb4edaa9f9a4a0620fb9943e460ac7fdf037fb0f6dd6607a7d |
9dfb70f5867c29ff9ed6313683f19b3d867849e40fbc0c4c54a4a89df341cf23 |
7936814b58b5387fce2e4e2488b4ec830dadd95fa9520f358ddb30990b50f2b6 |
d78c37c2f04f23761ed2367dd77e2db584ddd4c3950833fecf89f199a8126980 |
bc34a3ce58dea09dce1704c997171602de90cb34d0c8503a988b77f473d39b08 |
55a94550ff18f3246c4074fd32b77b0c74447c26b6ad274d564d999c0450ba6e |
7538cbb80cb9103606c48b806eae57d56c885c7f90b9b3be70a41160f9cbb683 |
a89c7268ccd4718ba424a99fc4643c572cf692ca6eae887185ceb4e9f11d2e54 |
37afcc89fbdcb76d9518e04b2fc011027e2f4cd14b3b2f83cefd721641a47c5b |
1a9258c365988961d87a0598725b609139c303ad48a5aad6c503c3b1a87849aa |
b7450b264b1b0a411390d8931b112c27905a992520fc90569dc4b920aa32bbdc |
3b46c71e3b92a563820ba32936be8330c586c41f938efd94be938386aae4328a |
ac958597c82073f6bb65129c68f72b651db5b9efd82e11547d07350214bc268b |
1cee58eb1f2d9c7ebb254d208a03c783ce6cf2c4d8c2cf45e235dd23b4ce1b29 |
e3111a2fd4da24af15d6459ef9eacfe54106b38e27b4a21821b75c3f5d2d5baf |
1071c68372cc5a01435c2c225a5cf7d4bb803846ec08bb6b3d6721b156d7cb96 |
From wai/wai-rs, the reference regenerates and checks the corpus; from this directory, the
second implementation checks it:
cargo run --release --no-default-features --features synthesis_mark --bin wai_synthesis_mark_vectors -- verify ../live-conformance/synthesis-mark
python3 -I ../synthesis_mark_verify.py .