In Memory Projection Record Store
Thread-safe in-memory implementation of ProjectionRecordStore.
Intended as a default/stub for demos and tests. Records are append-only and returned in insertion order. Backed by a CopyOnWriteArrayList so reads never block writes.
Functions
Find all records for propositions in a given context. Used to scope projection-health summaries so one context never sees another's lineage.
Find all records for a given proposition.
Find all records produced by a given run.
Find all records for a given target.
Trace from a produced/adopted artifact back to the projection records that reference it. Starting from a target artifact reference (e.g. a graph node ID), this returns every record whose ProjectionRecord.targetRef matches, across all lifecycles — so a reviewer can see whether the artifact was created (PROJECTED), adopted/aligned (ADOPTED), skipped, failed, or has gone stale.
Find all records currently in the ProjectionLifecycle.STALE state.
Marks every record for propositionId that isn't already STALE as ProjectionLifecycle.STALE, preserving insertion order and leaving all other records untouched.
Record a projection outcome.