record

open override fun record(record: ProjectionRecord)

Upsert the record on the natural key LineageSchema declares for it (proposition + run + target), so a replayed projection outcome updates in place and no duplicate node piles up. The pattern is built from that key, which keeps the write and the uniqueness constraint protecting it on one definition.