open-standards/wai/live-conformance/exploration/README.md
Transaction Science bcef9a5671 wai.media.exploration: descriptors, archives that replay, default-distance, collection statements, taste priors, rankings and picks (CO2, CO3)
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]>
2026-10-21 13:41:14 -04:00

2.3 KiB

live-conformance/exploration — exploration and declared taste

The corpus of extensions/exploration.md §14, in one file, vectors.json:

  • model: the model file of wai.generate.spectral every generation uses, by its path below wai/ and its sha256;
  • generations: a prompt, seed, steps, width and height, and the sha256 of the picture the generator makes (the check of the extension's Appendix A);
  • descriptors: a buffer, given as hex or as a generate instruction (prompt, seed, steps, width, height), its width and height, and its descriptor vector (§3);
  • cases: each a policy (replay: required or elites; objective: required or optional), its records in order as JSON texts, and what the verifier held: models (the SHA-256 of each model file it holds; the one file above, or none), priors (each taste prior file's text, held by the SHA-256 of its UTF-8 bytes) and samples (each buffer, as hex or a generate instruction, held by its SHA-256).

Exploration equivalence. For each case, a conforming verifier reaches the outcome it states:

  • refuse: the reason of §13 and the record, the position of the record refused;
  • accept: the statements of §12.3, one per record, exactly as written.

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

Provenance. wai_exploration_vectors gen writes vectors.json from records authored in code: every key is SHA-256 of the corpus's label and an index, every picture is made by wai.generate.spectral from the committed model file wai-rs/tests/vectors/generate/generate_spectral_model.json or derived from one by a rule written in the generator (a corner inverted), the remaining buffers (a pixel, a row, a column, flat, a checkerboard, a ramp) are written as formulas there, every time is a constant, and Ed25519 signing is deterministic, so the file is the same bytes on every machine. The three taste priors are written in code with hand-set weights; none is trained on anyone's choices. The generator urn:example:generator:float-1 and the aesthetic model a pick names stand for any generator and model that are not exact: nothing in the corpus runs them.

python3 -I ../exploration_verify.py .