Adds an already numbered turn; a repeated (runId, seq) keeps the first copy. Rejects with FencedError once fenced.
Assigns the next seq and turnId for this run and stores the turn atomically, under the same anchor as the fence. Continues after the largest stored or allocated seq across sink instances. Optional for existing store implementers; required by MeetingTranscriptSink, which checks it at construction.
The run's turns after fromSeq, in order, at most limit of them.
Transcript turns in memory: for tests, single-process hosts and runs that are not kept.