feat: enable SQLite WAL mode for all databases (AGI ticket #1) (#153)

This commit is contained in:
Alexander Whitestone
2026-03-08 16:07:02 -04:00
committed by GitHub
parent 11ba21418a
commit 82fb2417e3
31 changed files with 1042 additions and 170 deletions

View File

@@ -6,7 +6,8 @@ memory consolidation, and the advisory system.
Usage
-----
from spark.engine import spark_engine
from spark.engine import get_spark_engine
spark_engine = get_spark_engine()
# Capture a swarm event
spark_engine.on_task_posted(task_id, description)
@@ -346,14 +347,31 @@ class SparkEngine:
return spark_eidos.get_predictions(limit=limit)
# Module-level singleton — respects SPARK_ENABLED config
def _create_engine() -> SparkEngine:
try:
from config import settings
return SparkEngine(enabled=settings.spark_enabled)
except Exception:
return SparkEngine(enabled=True)
# ── Lazy singleton ────────────────────────────────────────────────────────────
_spark_engine: SparkEngine | None = None
spark_engine = _create_engine()
def get_spark_engine() -> SparkEngine:
"""Return the module-level SparkEngine, creating it on first access."""
global _spark_engine
if _spark_engine is None:
try:
from config import settings
_spark_engine = SparkEngine(enabled=settings.spark_enabled)
except Exception:
_spark_engine = SparkEngine(enabled=True)
return _spark_engine
def reset_spark_engine() -> None:
"""Reset the singleton for test isolation."""
global _spark_engine
_spark_engine = None
def __getattr__(name: str):
"""Module-level __getattr__ for lazy backward-compatible access to spark_engine."""
if name == "spark_engine":
return get_spark_engine()
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")