Inserts with the next sequence number of the run; a repeated eventId is not inserted and answers the existing sequence. Behind the fence a content event is stored without its payload, marked purged.
The run's events after fromSeq, in sequence order, at most limit of them.
Events in memory, numbered per run and deduplicated by id: for tests, single-process hosts and runs that are not kept. Events are copied in and out, payloads included, so a caller never holds a stored event.