You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
fix(indexing): recover_index_queue raises "'int' object has no attribute 'lower'" on every backend boot #9784
initialization.lifespan - WARNING - Index queue recovery failed (non-fatal): 'int' object has no attribute 'lower'
The exception is swallowed at autobot-backend/initialization/lifespan.py:1252 (_recover_index_queue), so queued indexing jobs are never recovered after a restart (the #1717 feature is silently broken).
Root cause (to trace)
Entry point: api/codebase_analytics/scanner.py:195recover_index_queue(). An int is being .lower()-ed — almost certainly a value read back from Redis (where everything is bytes/str) is already an int, or a field expected to be a string is an int. Likely a deserialization/type-coercion mismatch when restoring the queued job payload.
Fix
Trace the .lower() call inside recover_index_queue (and helpers), coerce/validate the offending field, and add a regression test that round-trips a queued job through Redis and recovers it. Do not leave the broad except Exception → WARNING masking it.
Impact
Index-queue recovery after restart is non-functional. Discovered while triaging compose-startup log spam (#9771).
Verified STALE during the 2026-06-10 bug sweep — already fixed by #9862 (b25418f95).
The 'int' object has no attribute 'lower' came from chromadb_storage.py:56 running config.codebase_index_embedding_mode.lower() at import time, where the field was typed int (default 0). When recover_index_queue imported that module chain at boot, the AttributeError propagated and was swallowed at lifespan.py as the reported WARNING.
git show b25418f95^:autobot_shared/ssot_config.py vs current:
Activity
mrveiss commentedon Jun 10, 2026
Verified STALE during the 2026-06-10 bug sweep — already fixed by #9862 (
b25418f95).The
'int' object has no attribute 'lower'came fromchromadb_storage.py:56runningconfig.codebase_index_embedding_mode.lower()at import time, where the field was typedint(default0). Whenrecover_index_queueimported that module chain at boot, theAttributeErrorpropagated and was swallowed atlifespan.pyas the reported WARNING.git show b25418f95^:autobot_shared/ssot_config.pyvs current:.lower()now resolves, the import succeeds, recovery proceeds. No code change needed.refactor(code-intelligence): adopt modular security/ package, shim mo…