-
Notifications
You must be signed in to change notification settings - Fork 2
[epic] SQLite persistent stores #174
Copy link
Copy link
Open
Labels
area/storeData stores: event log, artifacts, episodic, factsData stores: event log, artifacts, episodic, factscomplexity/complexCross-cutting, significant design or riskCross-cutting, significant design or riskenhancementNew feature or requestNew feature or requestepicpriority/mediumMedium priority — production readinessMedium priority — production readiness
Metadata
Metadata
Assignees
Labels
area/storeData stores: event log, artifacts, episodic, factsData stores: event log, artifacts, episodic, factscomplexity/complexCross-cutting, significant design or riskCross-cutting, significant design or riskenhancementNew feature or requestNew feature or requestepicpriority/mediumMedium priority — production readinessMedium priority — production readiness
Overview
Consolidate all SQLite-based persistent store issues into a single trackable epic. The in-memory stores (
InMemoryEventLog,InMemoryArtifactStore,InMemoryEpisodicStore,InMemoryFactStore) are fine for single-session agents, but multi-session and production deployments need durable persistence.Motivation
protocols.py) was built for exactly this — backend extensibility without changing core pipeline codeChildren (consolidated from existing issues)
SqliteEventLogimplementingEventLogProtocolSqliteArtifactStoreimplementingArtifactStoreProtocolSqliteEpisodicStoreimplementingEpisodicStoreProtocolSqliteFactStoreimplementingFactStoreProtocolImplementation Notes
src/contextweaver/store/alongside existing in-memory implementationsprotocols.py— no protocol changes neededsqliteextras group inpyproject.toml)test_store_sqlite.pycovering all 4 stores with the same interface contracts as in-memory tests_sqlite_base.pyfor connection management if there's meaningful reuseAcceptance Criteria
StoreBundleworks with any mix of in-memory and SQLite storesmake cipasses