Cause:
- Browser polling is active, but job payload is unchanged.
Most common reason:
- Worker is not running, so queue job never transitions.
Fix:
cd services/api
npm run worker:devChecklist:
GET /api/jobs/healthreturns RedisPONG.- Worker process exists and logs startup.
- AI service health is
ok. - API deps endpoint reports healthy dependencies.
Cause:
- Jobs list is read from MongoDB (
jobscollection), not directly from Redis.
Action:
- Check MongoDB
jobsdocuments for historical/completed records. - Use
/api/jobs/:jobIdto compare persisted status and queue state.
Message:
Eviction policy is volatile-lru. It should be "noeviction"
Impact:
- Not always fatal, but can cause queue instability under memory pressure.
Fix:
- Use Redis instance/config with
maxmemory-policy noevictionwhen possible.
Cause:
- Frontend mapping mismatch (
title) vs backend payload (text,evidence).
Status:
- Fixed in checklist detail page renderer.
Example:
- Tree search routing warning due to local model endpoint 400 response.
Action:
- Verify
DMR_BASE_URLandDMR_MODEL. - Test model endpoint manually.
- Retry with
retrievalMode: heuristicto isolate tree-search prompt issues.