ProjectionRecordStore

Store of ProjectionRecords — the inverse index of "what projected where".

Implementations may be in-memory, graph-backed, or relational. The default query methods are expressed in terms of all purely as a fallback for trivial in-memory stores. A durable store MUST override each finder with a scoped query (e.g. a parameterized MATCH) so a single-key lookup never loads the whole table into memory — the SPI default is not an acceptable data-access path for a database.

Inheritors

Functions

Link copied to clipboard
abstract fun all(): List<ProjectionRecord>
Link copied to clipboard
open fun findByContext(contextId: String): List<ProjectionRecord>

Find all records for propositions in a given context. Used to scope projection-health summaries so one context never sees another's lineage.

Link copied to clipboard
open fun findByProposition(propositionId: String): List<ProjectionRecord>

Find all records for a given proposition.

Link copied to clipboard

Find all records produced by a given run.

Link copied to clipboard

Find all records for a given target.

Link copied to clipboard

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.

Link copied to clipboard

Find all records currently in the ProjectionLifecycle.STALE state.

Link copied to clipboard
open fun markStaleByProposition(propositionId: String): Int

Marks every record for the given proposition as ProjectionLifecycle.STALE.

Link copied to clipboard
abstract fun record(record: ProjectionRecord)

Record a projection outcome.