### `wai.capture.take`: a device's master recording bound to a live room

- **The extension** ([capture-binding](extensions/capture-binding.md)) registers the
  record `wai.capture.take`, for the case of a lesson or an audition where the live call is
  low quality and the master is made on the performer's own device and uploaded after the
  session. A take answers a `record_start` addressed to the device; its id is derived from
  the room, the device and that event. The device's grant binds it to the principal it
  captures for (the grant attribute `subject`), and may mark that principal a minor
  (`minor`).
- **Commitments.** While it captures, the device emits a `take_commit` event every commit
  interval of the room's recording policy (live-events §4.12's payload, defined here): the
  take id, the chunk range it adds, the root over every chunk so far, its offset to the room
  clock, and an RFC 9162 consistency proof that the root extends the last one. The take
  tree is staged-measurement Appendix C's (RFC 6962's Merkle tree hash, its node) over
  leaves that bind each chunk's index, capture range, length and hash; the output tree
  exposes that hash and gains consistency proofs for it.
- **Upload and manifest.** The master is uploaded resumably by chunk hash; the store, a key
  the room's key log lists with the new authority `capture/store`, signs `WUR1` receipts of
  the upload's state machine (open, progress, resume, sealed) within the room's region pin.
  The device signs a `WTM1` take manifest listing the chunks, their root, every
  commitment's digest and each subject's `WCN1` consent (purposes live, record, distribute
  and train; a guardian's signature for a minor; revocable through the key log).
- **Verdicts.** A take verifier replays the room (live-rooms §9) and gives `single-take`,
  `aligned`, `complete` and `publishable` for each purpose a verdict, each failure a named
  reason (§12): a commitment not delivered is `delivery_gap`; a part not committed at its
  index is altered, reordered or extra; a missing part fails `complete`, not `single-take`.
  A room-clock instant maps into the master, so a marker set on the live call lands in it.
- **Live rooms.** The recording policy gains `commit_interval_ms` and `jitter_ms`
  (live-rooms §3.7; 2 000 and 500 by default), and the rooms corpus is regenerated.
- **C2PA live video** (C2PA Technical Specification 2.4 §19): the mapping of a take and its
  CMAF output onto per-segment manifests and Verifiable Segment Info, session keys, AI
  disclosure and sustainability is specified; the crate has no CBOR or COSE encoder, so it
  implements only the stream id.
- **Reference and corpus.** `wai-rs` feature `capture_take` (`src/capture_take.rs`);
  `live-conformance/takes/`, written from fixed seeds by `wai_capture_take_vectors`, and
  checked by `tests/capture_take.rs` and by `live-conformance/capture_take_verify.py`, a
  second implementation that shares no code with `wai-rs` and requires every mutated copy
  of the corpus to fail. The registry lists the record and its magics (`WTM1`, `WUR1`,
  `WCN1`).

