Status: IN
`LiveProjection._on_event` guards against double-processing via `event_id <= _position`, making it safe to overlap `catch_up()` and live subscription without duplicate handler invocations.
Source: entries/2026/05/29/event-sourcing-store-event_store-LiveProjection.md