wai.media.exploration: archives that replay, default-distance, a homogenization meter, and taste as a declared, owned objective (CO2, CO3) #406

Merged
dcharlot merged 12 commits from wai/exploration into main 2026-10-21 23:21:31 -04:00
Owner

What is in it

wai.media.exploration (CO2 + CO3): exploration by construction, and taste as a declared, owned objective, built on the exactness of wai.generate.spectral.

  • Extension wai/extensions/exploration.md (record wai.media.exploration): records and encodings (§2), six integer descriptors (§3), the generator path with modifiers and genomes (§4), archives and the pinned schedule wai-exploration:map-elites/1 (§5), the default set and default-distance (§6), collection statements (§7), taste priors (§8), rankings (§9), disclosure of objectives and the pick record (§10), the slot the contribution record fills (§11), verification (§12), a reasons table of 27 codes (§13), conformance (§14), security considerations (§15), and Appendix A, a restatement of the spectral generator for a second implementation.
  • Reference: wai-rs module exploration behind the feature exploration = ["generate", "ai_usage"] (no new dependency), with unit tests; the corpus generator src/exploration/corpus.rs; the bin wai_exploration_vectors gen|verify|measure; tests/exploration.rs.
  • Corpus wai/live-conformance/exploration/vectors.json (+ README with a **Provenance.** line): 13 generations (check Appendix A), 9 descriptor vectors, 70 cases (24 accepted, 46 refused; every §13 code refuses at least one).
  • Second implementation wai/live-conformance/exploration_verify.py (python3 -I, standard library only), written from the spec: it implements the generator from Appendix A, the descriptors, the schedule, and reads usage statements with ai_usage_verify.py; Ed25519 and BLAKE3 from claim-conformance.
  • CI: a step in wai-conformance.yml (independent-verifiers job) running the module's unit tests, --test exploration and the Python verifier; wai/extensions/exploration.md added to the workflow paths:.
  • Registry: wai.media.exploration as a record in codecs/registry.rs (ROWS, RECORDS), its six document kinds as wire identifiers; the export regenerated (registry/capabilities.json, vocab/v2.ttl, REGISTRY.md); SPEC §5 (the record list and a paragraph), REGISTRY.md prose, CHANGELOG (top of v0.4.0), live-conformance/README.md; int_kernels_vectors.rs's live-conformance exclusion reason now says the exploration pictures are named by SHA-256 of their RGB8 samples.

Design decisions and why

  • Descriptors (wai-exploration:image6): luma, chroma (mean max−min), detail (mean neighbour luma step, 16 levels = full), palette (Gini–Simpson over a 64-colour quantisation), centroid_x, centroid_y (luma+1 weighted). Each in 0..=1024 so an unweighted L1 distance favours no axis; no learned model inside any of them. Integer only, every intermediate within u64 for every admitted size. Spread was checked on the generator before choosing (detail with a threshold was flat at small sizes; the mean-step form was not).
  • Schedule: init trials are plain seed sampling of the prompt as written; then the parent is the less-visited of two occupied niches drawn at random, and a child flips each declared modifier with probability 1/M, moves steps by ±1..4 and draws a new seed. Chosen by measurement against four other variants (uniform parent; one-operator mutations; keep the parent's seed half the time); this one led at every budget tried. The seed has no locality in this generator, so the recipe (steps, modifiers) is what a child keeps.
  • Two verification levels for an archive: elite-checked (one generation per elite) and replayed (the whole schedule, under a policy). The corpus shows an archive with an elite dropped: every elite check passes, replay refuses (archive_replay_mismatch).
  • Default set: seeds 0..15 at 4 steps (the steps of the registered conformance object). The registry pins no default parameters, so the extension does.
  • Two distances, both given: descriptor distance (what kind of picture) and sample distance ⌈1024·SAD/(765·n)⌉, which is 0 exactly when the work is a default. Classes measured (only and always for the exact generator), estimate (any other generator; stated default vectors), unknown (every figure null; writing 0 is record_malformed).
  • Taste prior: terms rise/fall/near/far with unsigned weights, so the arithmetic is unsigned throughout (the record encoding admits no negative integers) and an anti-aesthetic (far) is as expressible as an aesthetic. A one-file parameter set pinned by SPEC §3.1's members (id, sha256, determinism); the file is the JCS of a signed record; the signer must be owner (taste_not_owner). Its usage member is a wai.ai.usage statement; a ranking states its use in ai-usage §6.1's form, and a disallowed use is refused. The score is stated in full and not expressed as a wai-ops graph (a few integer operations over six numbers).
  • Disclosure: archives and rankings carry their objective by construction; a pick's objective is OPTIONAL, a missing one is reported undisclosed (never none), a policy can require it (objective_undisclosed), and a pick from an archive a prior steered must name that prior, absent or not (objective_mismatch).
  • CO1 slot (§11): a contribution candidates step MAY name an archive by link hash; the set is then the elites in niche order, each with its genome (seed, steps, derived prompt); a select from it inherits the genome, as a pick does here. The objective member is the one a steered contribution step carries. The text names wai.media.contribution without a link, since that extension is not on main yet; nothing here depends on its code.
  • Owner rule applied (coordinator's message): §8.4 states that the extension sets no consent requirement for a service's own mechanics, and points a lawful basis to the lawful-basis claim class (jwp-receipts §2.4.6); the owner-signature rule is framed as attribution.
  • Public text: no citations. The rationale (§1.1) states the effects plainly without naming papers or products; no arXiv identifiers were added because none were verified here.

Measurement (honest)

wai_exploration_vectors measure N (committed, reproducible): six prompts, 64×64, grid luma × chroma × detail at 8×8×8 = 512 cells, eight declared modifiers (bright dark calm busy warm cool spiral mirror), the same number of generations for each method. Cells reached, summed over the six prompts and three search seeds (plain seed sampling is the same each run, so its column is three times one run):

generations plain seeds 0..N−1 uniform sampling of the same genome space archive
256 402 502 547
512 462 608 660
2048 573 789 877
  • The archive reaches about 36%, 43% and 53% more cells than plain seed sampling.
  • Most of that comes from widening the genome (steps and the declared modifiers): uniform sampling of the same genome space already gets most of it. The schedule adds about 9–11% over uniform sampling in total, and not on every prompt: per prompt it is below uniform sampling for "ocean spiral vortex at dusk" at 256 and 512, "a red rose" at 512 and "neon city grid" at 2048.
  • Mean pairwise descriptor distance of one representative per reached cell is mixed: higher for the archive on most prompts, lower than plain seeds for "golden sunrise over the desert" and "a quiet forest at night" at 2048.
  • The generator's own range is narrow: no method reaches more than about a third of the 512 cells for any prompt.
  • In the corpus at 24×24, the sixteen defaults of "a quiet forest at night" occupy 8 of 16 luma×chroma cells, and the novelty archive's 11 elites occupy 11; the archive's mean pairwise distance (695) is below the defaults' (798) on that grid: coverage and spread are separate figures.

Checks (exact commands, results)

All cargo commands through ~/kani-logs/remote/rb on the build host, after merging origin/main (ID1 #383, #400):

check result
cargo test --locked --no-default-features --features exploration --lib exploration:: 8 passed
cargo test --locked --no-default-features --features exploration --test exploration 4 passed (regenerates byte for byte, every case's outcome, §13 = Reason::ALL, §3.2 = DESCRIPTORS)
cargo test --locked --no-default-features --lib codecs:: 53 passed (incl. wire identifiers in their sections, SPEC/registry strings)
cargo test --locked --no-default-features --test corpus_provenance --test cli_registry --test carriage --test manifest_builders --test cli_wrap_intent all passed
cargo test --locked --no-default-features --features neural_int,video_int,audio_int,world_int,splat_int,generate --test int_kernels_vectors every_decoded_output passed
cargo test --locked --no-default-features --features generate --test generate 4 passed, 1 ignored (pre-existing)
cargo run -q --locked --no-default-features --bin wai -- registry export --check up to date
wai_exploration_vectors verify ../live-conformance/exploration PASS both lines
cargo clippy --locked --no-default-features --features exploration --all-targets no note in the files this PR adds (crate-wide notes elsewhere are pre-existing)
cargo metadata --locked --offline --format-version 1 (wai-rs) ok; no lockfile change, no new dependency
python3 -I live-conformance/exploration_verify.py live-conformance/exploration exit 0: 13 generations, 9 descriptor vectors, 70 cases; 14 mutated copies all fail; 22 weakened verifiers all caught
python3 -I live-conformance/ai_usage_verify.py live-conformance/usage, synthesis_verify.py synthesis, http_verify.py, pin_verify.py, staged_verify.py, pack_verify.py, claim_verify.py all pass
python3 -I scripts/check-tests-in-ci.py, ./scripts/check-workflow-concurrency.sh, python3 scripts/check-spec-refs.py, python3 scripts/check-wai-section-refs.py, bash scripts/check-no-vanity-metrics.sh, bash scripts/test-public-text-checks.sh, bash scripts/check-comparative-prose.sh, python3 scripts/check-orphan-sources.py all exit 0
scripts/check-public-names.sh not run: WAI_NAME_DENYLIST is not set locally (it runs on the push to main)

Dependents: the feature is new and no crate enables it; generate and ai_usage are unchanged.

Falsifications (committed first, each restored after)

broken result
Rust: replay check removed --test exploration exit 101 (regeneration panics: a vector misses its outcome; every case fails)
Rust: owner check removed exit 101
Rust: a descriptor renamed in §3.2's table exit 101 (the_extension_names_the_descriptors)
Rust: luma weight 77 → 76 --lib exploration:: exit 101
Rust: the schedule's steps draw % 8 → % 7 exit 101 (corpus differs)
Python: orientation divided with floor instead of truncation exit 1 on the generation "water wild calm" (this vector was added because the first try was not caught: the other generations had no orientation remainder that mattered)
Python: gradient with floor exit 1
corpus: a statement's figure changed Python exit 1
spec: a row removed from §13 Python exit 1 (26 reasons read)
the Python verifier's own self-checks 14 mutated copies (signature, model/prior not held, policy flips, samples swapped, statements and reasons changed, prior text altered) and 22 dropped checks, each caught by the corpus

Not done

  • No UI; no taste model trained on anyone's data (the corpus's three priors are hand-set in code); nobody contacted.
  • The CO1 side of the slot (§11) is contribution's to write; wai.media.contribution is named in text, not linked.
  • Descriptors are defined for images (RGB8) only; no audio or video descriptor set.
  • Only wai.generate.spectral is recomputed; any other generator's distance is an estimate by rule.
  • The schedule was chosen on this generator; it is not claimed to beat uniform sampling of the same genome space on every prompt (see the measurement).

🤖 Generated with Claude Code

## What is in it `wai.media.exploration` (CO2 + CO3): exploration by construction, and taste as a declared, owned objective, built on the exactness of `wai.generate.spectral`. - **Extension** `wai/extensions/exploration.md` (record `wai.media.exploration`): records and encodings (§2), six integer descriptors (§3), the generator path with modifiers and genomes (§4), archives and the pinned schedule `wai-exploration:map-elites/1` (§5), the default set and default-distance (§6), collection statements (§7), taste priors (§8), rankings (§9), disclosure of objectives and the pick record (§10), the slot the contribution record fills (§11), verification (§12), a reasons table of 27 codes (§13), conformance (§14), security considerations (§15), and **Appendix A**, a restatement of the spectral generator for a second implementation. - **Reference**: `wai-rs` module `exploration` behind the feature `exploration = ["generate", "ai_usage"]` (no new dependency), with unit tests; the corpus generator `src/exploration/corpus.rs`; the bin `wai_exploration_vectors gen|verify|measure`; `tests/exploration.rs`. - **Corpus** `wai/live-conformance/exploration/vectors.json` (+ README with a `**Provenance.**` line): 13 generations (check Appendix A), 9 descriptor vectors, 70 cases (24 accepted, 46 refused; every §13 code refuses at least one). - **Second implementation** `wai/live-conformance/exploration_verify.py` (`python3 -I`, standard library only), written from the spec: it implements the generator from Appendix A, the descriptors, the schedule, and reads usage statements with `ai_usage_verify.py`; Ed25519 and BLAKE3 from `claim-conformance`. - **CI**: a step in `wai-conformance.yml` (independent-verifiers job) running the module's unit tests, `--test exploration` and the Python verifier; `wai/extensions/exploration.md` added to the workflow `paths:`. - **Registry**: `wai.media.exploration` as a record in `codecs/registry.rs` (ROWS, RECORDS), its six document kinds as wire identifiers; the export regenerated (`registry/capabilities.json`, `vocab/v2.ttl`, `REGISTRY.md`); SPEC §5 (the record list and a paragraph), REGISTRY.md prose, CHANGELOG (top of v0.4.0), `live-conformance/README.md`; `int_kernels_vectors.rs`'s `live-conformance` exclusion reason now says the exploration pictures are named by SHA-256 of their RGB8 samples. ## Design decisions and why - **Descriptors** (`wai-exploration:image6`): `luma`, `chroma` (mean max−min), `detail` (mean neighbour luma step, 16 levels = full), `palette` (Gini–Simpson over a 64-colour quantisation), `centroid_x`, `centroid_y` (luma+1 weighted). Each in 0..=1024 so an unweighted L1 distance favours no axis; no learned model inside any of them. Integer only, every intermediate within u64 for every admitted size. Spread was checked on the generator before choosing (detail with a threshold was flat at small sizes; the mean-step form was not). - **Schedule**: init trials are plain seed sampling of the prompt as written; then the parent is the less-visited of two occupied niches drawn at random, and a child flips each declared modifier with probability 1/M, moves steps by ±1..4 and draws a new seed. Chosen by measurement against four other variants (uniform parent; one-operator mutations; keep the parent's seed half the time); this one led at every budget tried. The seed has no locality in this generator, so the recipe (steps, modifiers) is what a child keeps. - **Two verification levels** for an archive: elite-checked (one generation per elite) and replayed (the whole schedule, under a policy). The corpus shows an archive with an elite dropped: every elite check passes, replay refuses (`archive_replay_mismatch`). - **Default set**: seeds 0..15 at 4 steps (the steps of the registered conformance object). The registry pins no default parameters, so the extension does. - **Two distances**, both given: descriptor distance (what kind of picture) and sample distance ⌈1024·SAD/(765·n)⌉, which is 0 exactly when the work is a default. Classes `measured` (only and always for the exact generator), `estimate` (any other generator; stated default vectors), `unknown` (every figure `null`; writing 0 is `record_malformed`). - **Taste prior**: terms `rise`/`fall`/`near`/`far` with unsigned weights, so the arithmetic is unsigned throughout (the record encoding admits no negative integers) and an anti-aesthetic (`far`) is as expressible as an aesthetic. A one-file parameter set pinned by SPEC §3.1's members (`id`, `sha256`, `determinism`); the file is the JCS of a signed record; the signer must be `owner` (`taste_not_owner`). Its `usage` member is a `wai.ai.usage` statement; a ranking states its use in ai-usage §6.1's form, and a disallowed use is refused. The score is stated in full and not expressed as a wai-ops graph (a few integer operations over six numbers). - **Disclosure**: archives and rankings carry their objective by construction; a pick's `objective` is OPTIONAL, a missing one is reported `undisclosed` (never `none`), a policy can require it (`objective_undisclosed`), and a pick from an archive a prior steered must name that prior, absent or not (`objective_mismatch`). - **CO1 slot** (§11): a contribution `candidates` step MAY name an archive by link hash; the set is then the elites in niche order, each with its genome (seed, steps, derived prompt); a `select` from it inherits the genome, as a pick does here. The `objective` member is the one a steered contribution step carries. The text names `wai.media.contribution` without a link, since that extension is not on main yet; nothing here depends on its code. - **Owner rule applied** (coordinator's message): §8.4 states that the extension sets no consent requirement for a service's own mechanics, and points a lawful basis to the `lawful-basis` claim class (jwp-receipts §2.4.6); the owner-signature rule is framed as attribution. - **Public text**: no citations. The rationale (§1.1) states the effects plainly without naming papers or products; no arXiv identifiers were added because none were verified here. ## Measurement (honest) `wai_exploration_vectors measure N` (committed, reproducible): six prompts, 64×64, grid luma × chroma × detail at 8×8×8 = 512 cells, eight declared modifiers (`bright dark calm busy warm cool spiral mirror`), the same number of generations for each method. Cells reached, summed over the six prompts and three search seeds (plain seed sampling is the same each run, so its column is three times one run): | generations | plain seeds 0..N−1 | uniform sampling of the same genome space | archive | |---|---|---|---| | 256 | 402 | 502 | 547 | | 512 | 462 | 608 | 660 | | 2048 | 573 | 789 | 877 | - The archive reaches about 36%, 43% and 53% more cells than plain seed sampling. - Most of that comes from widening the genome (steps and the declared modifiers): uniform sampling of the same genome space already gets most of it. The schedule adds about 9–11% over uniform sampling in total, and **not on every prompt**: per prompt it is below uniform sampling for "ocean spiral vortex at dusk" at 256 and 512, "a red rose" at 512 and "neon city grid" at 2048. - Mean pairwise descriptor distance of one representative per reached cell is mixed: higher for the archive on most prompts, lower than plain seeds for "golden sunrise over the desert" and "a quiet forest at night" at 2048. - The generator's own range is narrow: no method reaches more than about a third of the 512 cells for any prompt. - In the corpus at 24×24, the sixteen defaults of "a quiet forest at night" occupy 8 of 16 luma×chroma cells, and the novelty archive's 11 elites occupy 11; the archive's mean pairwise distance (695) is below the defaults' (798) on that grid: coverage and spread are separate figures. ## Checks (exact commands, results) All cargo commands through `~/kani-logs/remote/rb` on the build host, after merging origin/main (ID1 #383, #400): | check | result | |---|---| | `cargo test --locked --no-default-features --features exploration --lib exploration::` | 8 passed | | `cargo test --locked --no-default-features --features exploration --test exploration` | 4 passed (regenerates byte for byte, every case's outcome, §13 = `Reason::ALL`, §3.2 = `DESCRIPTORS`) | | `cargo test --locked --no-default-features --lib codecs::` | 53 passed (incl. wire identifiers in their sections, SPEC/registry strings) | | `cargo test --locked --no-default-features --test corpus_provenance --test cli_registry --test carriage --test manifest_builders --test cli_wrap_intent` | all passed | | `cargo test --locked --no-default-features --features neural_int,video_int,audio_int,world_int,splat_int,generate --test int_kernels_vectors every_decoded_output` | passed | | `cargo test --locked --no-default-features --features generate --test generate` | 4 passed, 1 ignored (pre-existing) | | `cargo run -q --locked --no-default-features --bin wai -- registry export --check` | up to date | | `wai_exploration_vectors verify ../live-conformance/exploration` | PASS both lines | | `cargo clippy --locked --no-default-features --features exploration --all-targets` | no note in the files this PR adds (crate-wide notes elsewhere are pre-existing) | | `cargo metadata --locked --offline --format-version 1` (wai-rs) | ok; no lockfile change, no new dependency | | `python3 -I live-conformance/exploration_verify.py live-conformance/exploration` | exit 0: 13 generations, 9 descriptor vectors, 70 cases; 14 mutated copies all fail; 22 weakened verifiers all caught | | `python3 -I live-conformance/ai_usage_verify.py live-conformance/usage`, `synthesis_verify.py synthesis`, `http_verify.py`, `pin_verify.py`, `staged_verify.py`, `pack_verify.py`, `claim_verify.py` | all pass | | `python3 -I scripts/check-tests-in-ci.py`, `./scripts/check-workflow-concurrency.sh`, `python3 scripts/check-spec-refs.py`, `python3 scripts/check-wai-section-refs.py`, `bash scripts/check-no-vanity-metrics.sh`, `bash scripts/test-public-text-checks.sh`, `bash scripts/check-comparative-prose.sh`, `python3 scripts/check-orphan-sources.py` | all exit 0 | | `scripts/check-public-names.sh` | not run: `WAI_NAME_DENYLIST` is not set locally (it runs on the push to main) | Dependents: the feature is new and no crate enables it; `generate` and `ai_usage` are unchanged. ## Falsifications (committed first, each restored after) | broken | result | |---|---| | Rust: replay check removed | `--test exploration` exit 101 (regeneration panics: a vector misses its outcome; every case fails) | | Rust: owner check removed | exit 101 | | Rust: a descriptor renamed in §3.2's table | exit 101 (`the_extension_names_the_descriptors`) | | Rust: luma weight 77 → 76 | `--lib exploration::` exit 101 | | Rust: the schedule's steps draw `% 8` → `% 7` | exit 101 (corpus differs) | | Python: orientation divided with floor instead of truncation | exit 1 on the generation "water wild calm" (this vector was added because the first try was not caught: the other generations had no orientation remainder that mattered) | | Python: gradient with floor | exit 1 | | corpus: a statement's figure changed | Python exit 1 | | spec: a row removed from §13 | Python exit 1 (26 reasons read) | | the Python verifier's own self-checks | 14 mutated copies (signature, model/prior not held, policy flips, samples swapped, statements and reasons changed, prior text altered) and 22 dropped checks, each caught by the corpus | ## Not done - No UI; no taste model trained on anyone's data (the corpus's three priors are hand-set in code); nobody contacted. - The CO1 side of the slot (§11) is contribution's to write; `wai.media.contribution` is named in text, not linked. - Descriptors are defined for images (`RGB8`) only; no audio or video descriptor set. - Only `wai.generate.spectral` is recomputed; any other generator's distance is an estimate by rule. - The schedule was chosen on this generator; it is not claimed to beat uniform sampling of the same genome space on every prompt (see the measurement). 🤖 Generated with [Claude Code](https://claude.com/claude-code)
The extension, the wai-rs module behind the feature exploration, the corpus
live-conformance/exploration/ written by wai_exploration_vectors gen, its second
implementation exploration_verify.py, the CI step, and the registry, SPEC and
CHANGELOG entries.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Co-Authored-By: Claude Opus 5.5 <[email protected]>
exploration: no consent requirement for a service's own mechanics; a lawful basis is a lawful-basis claim's
All checks were successful
WAI conformance / quantum core and corpus under wasm32-wasip2 (wasmtime) (pull_request) Successful in 2m9s
WAI conformance / cross-arch byte-equality · linux (pull_request) Successful in 36s
joule-moq-room room service / joule-moq-room, every target (pull_request) Successful in 1m2s
WAI energy receipts / energy receipts · linux (pull_request) Successful in 10m9s
wai-ops-gpu integer operators on GPUs / builds · no adapter is not a pass (linux) (pull_request) Successful in 1m53s
wai-pack / wai-pack · linux (pull_request) Successful in 1m24s
WAI conformance / cargo-class corpora · linux (pull_request) Successful in 19m19s
wai-quantum studio and desktop / studio · browser (pull_request) Successful in 2m31s
wai-web wasm32 / wai-web wasm32 build · corpus, menu and writers (pull_request) Successful in 4m5s
standards workspaces build + test / joule-code-rs (joule-code/joule-code-rs, joule-code-rs, linux-arm64, true) (pull_request) Successful in 5m19s
WAI conformance / v2 vocabulary · manifests validate as stated (pull_request) Successful in 48s
WAI conformance / delivery telemetry · CMCD and CMSD against an independent library (pull_request) Successful in 25s
WAI conformance / cross-arch byte-equality · linux-arm64 (pull_request) Successful in 41s
joule-moq-web browser client / joule-moq-web · browser end-to-end (macos) (pull_request) Successful in 8m28s
WAI conformance / C2PA manifest emission · signed, read back, validated (pull_request) Successful in 2m41s
WAI conformance / cargo-class corpora · linux-arm64 (pull_request) Successful in 23m28s
WAI energy receipts / energy receipts · linux-arm64 (pull_request) Successful in 10m45s
wai-pack / wai-pack · linux-arm64 (pull_request) Successful in 2m2s
wai-pack / wai-pack · the floor through a media prober (pull_request) Successful in 29s
wai-pack / wai-pack · dependency licences (pull_request) Successful in 1m18s
wai-pack / wai-pack · independent verifier (Python) (pull_request) Successful in 5m19s
WAI conformance / independent verifiers · claims, JWP, key discovery and integer payloads (Python) (pull_request) Successful in 39m39s
standards workspaces build + test / macOS energy backends (pull_request) Successful in 12m12s
WAI conformance / cargo-class corpora · macos (pull_request) Successful in 20m37s
WAI conformance / cross-arch byte-equality · macos (pull_request) Successful in 29s
WAI conformance / codec wrappers · fuzz smoke, text decode limits, C entry points, provenance, the semantic path (pull_request) Successful in 58s
WAI energy receipts / energy receipts · macos (pull_request) Successful in 10m28s
wai-ops-gpu integer operators on GPUs / Metal GPU and browser WebGPU (macos) (pull_request) Successful in 4m17s
wai-pack / wai-pack · macos (pull_request) Successful in 1m22s
wai-quantum studio and desktop / desktop app · macos (pull_request) Successful in 3m44s
12b39d399b
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Co-Authored-By: Claude Opus 5.5 <[email protected]>
registry export: regenerated after merging main
Some checks failed
wai-ops-gpu integer operators on GPUs / does this change touch it (pull_request) Has been cancelled
wai-ops-gpu integer operators on GPUs / builds · no adapter is not a pass (linux) (pull_request) Has been cancelled
wai-ops-gpu integer operators on GPUs / Metal GPU and browser WebGPU (macos) (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 · does this change touch it (pull_request) Has been cancelled
joule-moq-web browser client / joule-moq-web · browser end-to-end (macos) (pull_request) Has been cancelled
joule-moq-room room service / joule-moq-room · does this change touch it (pull_request) Has been cancelled
joule-moq-room room service / joule-moq-room, every target (pull_request) Has been cancelled
joule-code conformance gate / Build + round-trip C1-C4 vectors (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
6e3cf81d80
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
Transaction-Science/open-standards!406
No description provided.