neurocore.persistence.sqlite_store.SQLiteRunStore

class neurocore.persistence.sqlite_store.SQLiteRunStore(db_path: str | pathlib.Path)

Bases: neurocore.persistence.base.RunStore

RunStore persisting to a single SQLite file.

Thread-safe: the DAG executor runs sync skills via run_in_executor so concurrent writes are possible. We use check_same_thread=False plus a lock around every write.

save_run(run: neurocore.persistence.base.RunRecord) str

Insert or update a run by run_id. Returns the run_id.

load_run(run_id: str) neurocore.persistence.base.RunRecord | None

Load a run by id, or None if not found.

list_runs(*, status: neurocore.persistence.base.RunStatus | None = None, blueprint: str | None = None, limit: int = 50) list[neurocore.persistence.base.RunRecord]

List runs newest-first, optionally filtered by status/blueprint.

delete_run(run_id: str) None

Delete a run and its steps.

save_step(step: neurocore.persistence.base.StepRecord) None

Insert or update a step by (run_id, step_index).

load_steps(run_id: str) list[neurocore.persistence.base.StepRecord]

Load a run’s steps, ordered by step_index.

close() None

Release any underlying resources (no-op by default).