§6 · Obligations are outcomes, not mechanisms

The specification says what must be true of the audio, not how to achieve it. Sample insertion, playback-rate trim, rescheduling — choose freely. Two implementations that pass with different mechanisms is a good result, because it proves the obligation is mechanism-independent.

Outcome required
V1 The sample leaving the output corresponds to the current session tick within tolerance. The mechanism is deliberately unspecified.
V2 Each loop iteration derives its start from session time — never from the end of the previous one. Concatenation accumulates error and is forbidden.
V3 Material a client does not have is silence for that slot. Not a delay, not a substitute, and never a stalled session for everyone else.
V4 A client that cannot meet its bound stops emitting audio and reports degraded. Failing loudly is an obligation, because a client that drifts quietly is worse than one that stops.

The limit of accuracy, stated on purpose

The protocol must not guarantee absolute alignment to the server clock. Path asymmetry introduces a bias that cannot be detected from inside the protocol at all, and it is bounded by ±minRTT/2. Offset sampling must therefore select the sample with the lowest round-trip time — not the median, which does not remove queueing asymmetry — and an implementation must report minRttMs and must not present the offset as exact.