mirror of
https://github.com/Kpa-clawbot/meshcore-analyzer.git
synced 2026-09-27 03:07:54 +00:00
Found while live-testing #1867 on stg: the server and ingestor are separate processes started ~simultaneously by supervisor, sharing one SQLite file. The server's PRAGMA-based column detection ran exactly once at OpenDB(), and could fire before the ingestor's additive ALTER TABLE migrations landed -- reproduced on a fresh stg deploy, where configured_scope silently never appeared in the API until the container was manually restarted. detectSchemaWithRetry now re-scans a few more times on a short fixed schedule after the first pass. detectSchema's booleans are monotonic (never reset to false once found), so repeated calls merge safely. Deliberately does not stop early on two agreeing scans -- a migration landing between two poll points would make an early scan look stable right before the real change arrives. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>