open-standards/wai/live-conformance/worlds/README.md
Transaction Science 7d156f67e2 wai.live.world: the extension text, the wai-rs module and its corpus
live-worlds.md registers the record wai.live.world: the room authority's
world statement (WLW1), the world track each actor publishes in a room
([room, principal, world], op batches one per group, receipted as a media
track is, receipt alias 4), the grant attribute world = act and the scope
it maps onto at a relay, the clock's lifecycle for an actor, catching up
by FETCH from group 0, private worlds sealed as confidentiality seals a
media track with carries into each epoch, verification and the session
hash, and metering under the room's other tracks.

wai-rs gains the live_world module (feature live_world): the statement,
a participant's incremental copy of the world, the carry, the session
hash and the verifier of section 9; and the corpus
live-conformance/worlds/ written from fixed seeds by
wai_live_world_vectors gen, every refusal of section 9.2 and 3.4 among
its negative controls.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 23:04:20 -04:00

35 lines
2.4 KiB
Markdown

# live-conformance/worlds — live worlds
The corpus of [`extensions/live-worlds.md`](../../extensions/live-worlds.md) §12: rooms of
[live-rooms](../../extensions/live-rooms.md) with a world statement (`WLW1`), the world tracks
their actors publish, and what a verifier states of them.
**World equivalence.** For each vector, a conforming verifier given its `descriptor`, `grants`,
`statement`, `private` flag and `tracks` (§9.1) reaches the `expect` the vector states: for an
accepted world, its `session_hash`, the number of admitted `ops` and each actor's count under
`actors` (§9.4); for a refused one, its `reason` and `at` (`"descriptor"`, `"statement"`,
`{"grant": i}` or `{"track": i, "group": g}`). Each track gives its `owner` and its `objects` in
group order, each with its `group`, its `receipts` (the receipts track's object of that group,
in the binary form of [jwp-receipts](../../extensions/jwp-receipts.md) §2.7.3), the `payload`
its receipt covers and, in a private world, the op batch that `opened` from it. `about` says
what each vector is, and is not checked. A verifier that reaches another outcome, hash, count,
reason or place does not conform.
**Provenance.** Generated here: `wai_live_world_vectors gen` writes `vectors.json` from worlds
authored in code, from fixed seeds. Each key is SHA-256 of `wai:live-world/corpus/key`, a zero
byte and the principal's index (`principals` lists their public keys). Every receipt is signed
in the labelled form a room's publisher signs, with the unmetered marker as its figure. In a
private world the corpus holds no key, since opening is
[confidentiality](../../extensions/confidentiality.md)'s and its corpus is `../e2ee/`: each
`payload` is a stand-in for the sealed bytes (`sealed_stand_in` says how it is made), the
receipt is over it, and `opened` is the batch. Ed25519 is deterministic, so the file is the same
bytes on every machine. The generator asserts that each vector reaches the outcome it was
written to have, and that the corpus gives every reason of §11 a verifier raises
(`world_incomplete` is a participant's report on its own copy, §7, and no vector carries it),
before it writes. No recorded data.
```
cargo run -q --no-default-features --features live_world --bin wai_live_world_vectors -- gen ../live-conformance/worlds
cargo run -q --no-default-features --features live_world --bin wai_live_world_vectors -- verify ../live-conformance/worlds
python3 -I live_worlds_verify.py worlds
```