Memory Sink
A sink that keeps every record in a list.
For tests and for short runs a user wants to inspect immediately. It needs no Model — a record carries its own identity — so it can be asserted against standalone, which is what makes the sink contract testable before any durable implementation exists (§4.8.2).
It is bounded only by the run. A study large enough to matter wants a durable sink.