| Filename | Latest commit message | Latest commit date |
|---|---|---|
ad-presentation (on main) registers WPC1 for a player's presentation claim, and co-performance registered WPC1 again for its commitment, so the registry's library test (wire_identifiers_are_in_their_documents) refuses the train: "WPC1 (magic) is listed twice". The commitment takes WPK1, unused anywhere: the extension's magic table and §7.5 layout, wai-rs's constant, the relay's floor reader, the independent verifier, the SPEC §5 paragraph, the changelog entry and two comments. The corpus is regenerated by its generator (only the commitments' bytes and what signs or digests them change) and the registry export with it. Co-Authored-By: Claude Opus 5.5 <[email protected]> |
||
| .. | ||
| README.md | ||
| vectors.json | ||
live-conformance/coperformance — co-performance in rooms
The corpus of 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: thereasonand where,at:["room", …]with the room verifier's own place (live-rooms §9.1),["policy", i],["grant", i],["record", c, i]for recordiof chainc, or["object", i];acceptorgap(with thegaps, eachprincipal,firstandlast): theroomid; thepolicy_digests; theintents, each itsdigest,principal,form,at,outcome(kept,divergedormissed) and whatplayed(an object'strack,groupandobject, aneventby digest, ornull); each participant'sfidelity(announced,kept,diverged,missed); theschedules, each itsdigest,mode,fromandturns(eachsegment,index,start,end, scheduledholderandrole); thehandovers, each itsdigest,at,to, and theschedule,segmentandturnit passes; thefloorof each object, in the order given:open,in_turnorout_of_turn, the governingmode, whether it waslate, itslatenessin µs and the flags of themarksnaming it; and thewindows, each itsdigest,rule,close,eligibleinputs,commit,picksandcredits(eachstep,party,ref,count), with the plurality'stallyand 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) andvectors.
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 carryaudience_input2. 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) andlate_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.