The capability and its ten magics in the reference registry, and the export regenerated (registry/capabilities.json, vocab/v2.ttl and REGISTRY.md's table); SPEC §5's paragraph and record list; the corpus's README with its provenance; the live-conformance index; the sidecar exclusion's reason for live-conformance; and a step in the independent verifiers job that runs the module's unit tests, tests/co_performance.rs and co_performance_verify.py, with the extension in the workflow's paths. Co-Authored-By: Claude Opus 5.5 <[email protected]>
75 lines
5.4 KiB
Markdown
75 lines
5.4 KiB
Markdown
# live-conformance/coperformance — co-performance in rooms
|
|
|
|
The corpus of [`extensions/co-performance.md`](../../extensions/co-performance.md) §11: rooms
|
|
in which people and an AI participant perform together and an audience joins in. Each room is
|
|
a room (its `WRD1` descriptor, `WRG1` grants, key-log head or none, and each principal's `WEV1`
|
|
chain, in which the extension's statements ride as `meta` payloads), its `WPP1` co-performance
|
|
policies, the media objects the relay forwarded, and the symbolic payloads of some of them; and
|
|
what a verifier states of it.
|
|
|
|
**Co-performance equivalence.** For each room, a conforming co-performance verifier given its
|
|
`descriptor`, `grants`, `key_log`, `chains`, `policies`, `objects` (each its `principal`,
|
|
`track`, `group`, `object`, `digest`, `arrival` and `due`) and `payloads` (§9.1) reaches the
|
|
outcome the room states (§9.3):
|
|
|
|
- `refuse`: the `reason` and where, `at`: `["room", …]` with the room verifier's own place
|
|
(live-rooms §9.1), `["policy", i]`, `["grant", i]`, `["record", c, i]` for record `i` of
|
|
chain `c`, or `["object", i]`;
|
|
- `accept` or `gap` (with the `gaps`, each `principal`, `first` and `last`): the `room` id; the
|
|
`policy_digests`; the `intents`, each its `digest`, `principal`, `form`, `at`, `outcome`
|
|
(`kept`, `diverged` or `missed`) and what `played` (an object's `track`, `group` and `object`,
|
|
an `event` by digest, or `null`); each participant's `fidelity` (`announced`, `kept`,
|
|
`diverged`, `missed`); the `schedules`, each its `digest`, `mode`, `from` and `turns` (each
|
|
`segment`, `index`, `start`, `end`, scheduled `holder` and `role`); the `handovers`, each its
|
|
`digest`, `at`, `to`, and the `schedule`, `segment` and `turn` it passes; the `floor` of each
|
|
object, in the order given: `open`, `in_turn` or `out_of_turn`, the governing `mode`, whether
|
|
it was `late`, its `lateness` in µs and the flags of the `marks` naming it; and the `windows`,
|
|
each its `digest`, `rule`, `close`, `eligible` inputs, `commit`, `picks` and `credits` (each
|
|
`step`, `party`, `ref`, `count`), with the plurality's `tally` and the reactions' `scores`.
|
|
|
|
A verifier that reaches another outcome, reason, place, outcome of an intent, turn, floor, pick
|
|
or credit does not conform.
|
|
|
|
**Provenance.** Generated here: `wai_co_performance_vectors gen` writes `vectors.json` from
|
|
rooms authored in code as scripts of steps, from fixed seeds. Each principal's key is SHA-256 of
|
|
a fixed label and the principal's index; every time is a constant (the rooms' `t0` is
|
|
2026-10-21T00:00:00Z); every text is written for the corpus in English; each object's content,
|
|
the AI participant's model and the draw's seed are SHA-256 of fixed labels, and the symbolic
|
|
payloads are notes and a camera move written here; every origin is an `.example` name (RFC
|
|
2606); and Ed25519 signing is deterministic (RFC 8032), so the file is the same bytes on every
|
|
machine. A refused room is the script of a good one with one step, one policy, one attribute or
|
|
one object changed. The generator asserts that each room reaches the outcome it was written to
|
|
have, and that the corpus gives every reason of §10, before it writes. No recorded data.
|
|
|
|
## Layout
|
|
|
|
- `vectors.json`: `principals` (the keys, by name, informative), `model` (the AI participant's
|
|
model digest, informative) and `vectors`.
|
|
|
|
The rooms:
|
|
|
|
- `jam`: a director with the direct power, a performer and an AI participant whose grants carry
|
|
latency budgets. A schedule from 4 s trades four-bar phrases (two bars of four beats at 120
|
|
beats a minute, so 4 s a turn) between the performer and the AI participant as
|
|
call-and-response pairs, and marks; a second, from 20 s, gives three-second turns and refuses.
|
|
The AI participant announces an object, notes, a text line, a camera move, a second object it
|
|
then plays differently, and a text line it never says: four kept, one diverged, one missed;
|
|
the performer one object, kept. The AI participant's late object and its object in the
|
|
performer's turn are marked by the clock; the director hands the end of the performer's second
|
|
call to the AI participant, whose object then is in turn; the clock's fidelity statement
|
|
states both participants' counts.
|
|
- `audience`: a host with the direct and moderate powers, and four members whose grants carry
|
|
`audience_input` 2. A plurality vote over three options, one member changing its vote and one
|
|
voting after the close; a window selected by reactions over prompts and a sketch, one prompt
|
|
denied by the host and left out, one reaction retracted, one prompt sent after the close; and
|
|
a seeded draw over movement samples and a sketch. Each window committed, selected and credited.
|
|
- `audience_gap`: the audience room with one member's prompt not delivered: the gap, and what
|
|
the verifier states from what it holds.
|
|
- One refused room for each reason of §10, each a control of one defect, among them
|
|
`fidelity_counts_a_divergence_kept` (an intent that played something else counted kept),
|
|
`turn_violated` (an object out of turn under refuse, forwarded), `selection_counts_a_late_input`
|
|
(an input sent after its window closed, selected), `selection_does_not_recompute` (picks the
|
|
committed inputs do not give), `selected_input_uncredited` (a pick with no credit) and
|
|
`late_unflagged` (a late object with no mark); policies that do not read, whose signature
|
|
fails, or of another room; and an input by a principal the room never admitted, which the
|
|
room verifier refuses.
|