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]>
37 lines
2.3 KiB
Markdown
37 lines
2.3 KiB
Markdown
# live-conformance/exploration — exploration and declared taste
|
|
|
|
The corpus of [`extensions/exploration.md`](../../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 .
|
|
```
|