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]>
35 lines
2.4 KiB
Markdown
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
|
|
```
|