CollectorRecordStore

Append-only store of CollectorRecords — the audit trail of "what the collector marked or swept, why, and by which strategy".

Implementations may be in-memory, graph-backed, or relational. The store is append-only: there is no method to remove or mutate records, so the history is non-destructive. The default query methods are expressed in terms of all and runs purely as a fallback for trivial in-memory stores. A durable store MUST override each finder with a scoped query 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<CollectorRecord>
Link copied to clipboard
open fun findByProposition(propositionId: String): List<CollectorRecord>

Find all records for a given proposition.

Link copied to clipboard

Find all records produced by a given run.

Link copied to clipboard
open fun findRun(runId: String): CollectorRun?

Find the run header for a given run id.

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

Record a collector outcome.

Link copied to clipboard
abstract fun recordRun(run: CollectorRun)

Record a finished run header.

Link copied to clipboard
abstract fun runs(): List<CollectorRun>