turnstone/app/ingest
pyr0ball 0b3d95cd26 fix: ingestors treat naive log timestamps as local time, not UTC
All five parsers (plex, syslog, servarr, qbittorrent, plaintext) were
using .replace(tzinfo=timezone.utc) on naive datetimes parsed from log
files, which slaps a UTC label on what is actually local-time data.
On a UTC-7 system a 2pm entry was stored as 14:00Z instead of 21:00Z,
causing time-window searches to return zero results.

Fix: use .astimezone(timezone.utc) instead, which treats the naive
datetime as local time and converts correctly.

Tests updated to round-trip back to local time for assertion so they
pass on any timezone, not just UTC.
2026-05-13 18:16:33 -07:00
..
__init__.py feat: initial Turnstone POC — ingest, FTS search, MCP server 2026-05-08 12:12:34 -07:00
base.py feat: initial Turnstone POC — ingest, FTS search, MCP server 2026-05-08 12:12:34 -07:00
caddy.py feat: initial Turnstone POC — ingest, FTS search, MCP server 2026-05-08 12:12:34 -07:00
dmesg_log.py feat: syslog and dmesg parsers with graceful journald fallback 2026-05-11 06:57:38 -07:00
doc_upload.py feat: doc upload adapter — writes facts, document, and chunks to context store 2026-05-13 16:21:55 -07:00
docker_log.py feat: initial Turnstone POC — ingest, FTS search, MCP server 2026-05-08 12:12:34 -07:00
journald.py feat: initial Turnstone POC — ingest, FTS search, MCP server 2026-05-08 12:12:34 -07:00
pipeline.py feat: add context_facts, context_documents, context_chunks tables to schema 2026-05-13 15:51:19 -07:00
plaintext.py fix: ingestors treat naive log timestamps as local time, not UTC 2026-05-13 18:16:33 -07:00
plex.py fix: ingestors treat naive log timestamps as local time, not UTC 2026-05-13 18:16:33 -07:00
qbittorrent.py fix: ingestors treat naive log timestamps as local time, not UTC 2026-05-13 18:16:33 -07:00
servarr.py fix: ingestors treat naive log timestamps as local time, not UTC 2026-05-13 18:16:33 -07:00
syslog.py fix: ingestors treat naive log timestamps as local time, not UTC 2026-05-13 18:16:33 -07:00