Expand description
TaskStore — persistence for Task records.
Part of the issue #13 ID-hierarchy reconciliation: Blueprint -> Task ->
Run -> Step -> Attempt. A Task is the work-item identity: one row
per unit of work (“resolve issue #10” + a Blueprint ref snapshot + an
input ctx), created once when the work is submitted (e.g.
POST /v1/tasks). A single Task can be kicked N times; each kick mints
a RunId and is tracked by the sibling
crate::store::run store — this module owns only the 1-row-per-Task
identity and its coarse lifecycle status.
Current scope:
InMemoryTaskStore— process-volatile default.SqliteTaskStore— file-backed persistence viarusqlite-isle(thread-isolatedConnection, single-writer FIFO discipline; same shape ascrate::store::issue::sqlite::SqliteIssueStore).- Other persistent backends (Git / mini-app / …) are future carries.
Re-exports§
pub use inmemory::InMemoryTaskStore;pub use sqlite::SqliteTaskStore;
Modules§
- inmemory
InMemoryTaskStore— a process-volatileTaskStoreused by the current default.- sqlite
SqliteTaskStore— SQLite-backedTaskStoreusing [rusqlite-isle].
Structs§
- Task
Record - One persisted
Taskrow — the work-item identity.
Enums§
- Task
Record Status - Lifecycle status of a
TaskRecord. - Task
Store Error - Errors surfaced by a
TaskStoreimplementation.
Traits§
- Task
Store - Persistence interface for
Taskrecords — the work-item identity layer of the issue #13 ID hierarchy.