turnstone/app/glean
pyr0ball 3cfd587d16 fix: separate context KB into own SQLite file to eliminate write-lock contention
context_facts, context_documents, and context_chunks now live in
turnstone-context.db (sibling of turnstone.db).  The glean scheduler
held write locks on the main DB long enough to cause 5-second timeout
failures on context fact inserts; separate files have independent WAL
write locks so they never contend.

Changes:
- pipeline.py: extract _CONTEXT_SCHEMA + ensure_context_schema()
- rest.py: CONTEXT_DB_PATH (TURNSTONE_CONTEXT_DB env var, defaults to
  sibling file); init via ensure_context_schema(); all context routes
  pass CONTEXT_DB_PATH; diagnose_stream receives context_db_path kwarg
- diagnose/__init__.py: diagnose_stream() accepts context_db_path
  (falls back to db_path for backward compat); retrieve_context uses it
- store.py: sqlite3.connect() timeout=30.0 — Python driver retry loop
  is independent of PRAGMA busy_timeout; needed for any remaining
  contention during test or single-file deployments

Closes: #42
2026-05-25 21:19:32 -07:00
..
__init__.py refactor: rename ingest → glean throughout codebase 2026-05-20 23:02:55 -07:00
base.py refactor: rename ingest → glean throughout codebase 2026-05-20 23:02:55 -07:00
caddy.py refactor: rename ingest → glean throughout codebase 2026-05-20 23:02:55 -07:00
dmesg_log.py refactor: rename ingest → glean throughout codebase 2026-05-20 23:02:55 -07:00
doc_upload.py refactor: rename ingest → glean throughout codebase 2026-05-20 23:02:55 -07:00
docker_log.py refactor: rename ingest → glean throughout codebase 2026-05-20 23:02:55 -07:00
journald.py refactor: rename ingest → glean throughout codebase 2026-05-20 23:02:55 -07:00
mqtt_subscriber.py refactor: rename ingest → glean throughout codebase 2026-05-20 23:02:55 -07:00
pipeline.py fix: separate context KB into own SQLite file to eliminate write-lock contention 2026-05-25 21:19:32 -07:00
plaintext.py refactor: rename ingest → glean throughout codebase 2026-05-20 23:02:55 -07:00
plex.py refactor: rename ingest → glean throughout codebase 2026-05-20 23:02:55 -07:00
qbittorrent.py refactor: rename ingest → glean throughout codebase 2026-05-20 23:02:55 -07:00
servarr.py refactor: rename ingest → glean throughout codebase 2026-05-20 23:02:55 -07:00
ssh.py feat: SSH remote host glean — transport layer and pipeline integration (closes #22, backend) 2026-05-20 23:03:13 -07:00
syslog.py refactor: rename ingest → glean throughout codebase 2026-05-20 23:02:55 -07:00
tautulli.py refactor: rename ingest → glean throughout codebase 2026-05-20 23:02:55 -07:00
wazuh.py refactor: rename ingest → glean throughout codebase 2026-05-20 23:02:55 -07:00