Troubleshooting
Common failure modes and practical fixes. No mystery theater.
Unauthorized
If using dashboard UI, sign in again to refresh the HTTP-only dashboard session cookie.
In exchange mode, verify ORBIT_DASHBOARD_ORBIT_JWT_SECRET matches the Orbit API JWT verifier secret.
If using OIDC mode, verify ORBIT_DASHBOARD_OIDC_* settings and callback URL are correct.
If using static mode, verify ORBIT_DASHBOARD_SERVER_BEARER_TOKEN is valid for /v1/dashboard/keys endpoints.
Check ORBIT_DASHBOARD_AUTH_MODE and ORBIT_DASHBOARD_SESSION_SECRET are set on the frontend server.
If calling Orbit API directly, verify Bearer token is a valid JWT signed with ORBIT_JWT_SECRET.
Confirm token includes sub, iat, exp, iss, and aud claims.
Check iss and aud values match ORBIT_JWT_ISSUER and ORBIT_JWT_AUDIENCE.
Check expiration and server clock skew.
Rate Limit Exceeded
Read Retry-After before retrying.
Enable SDK retries with exponential backoff.
Tune call volume or adjust configured limits.
Idempotency Conflict
Same Idempotency-Key was reused with a different payload.
Use a unique key per unique request body.
Timeout Errors
Verify API health via GET /v1/health.
Increase timeout_seconds in SDK config.
Check network path, especially when running through local tunnels or proxies.
Empty Retrieval Results
Confirm ingest responses return stored=True.
Ensure entity_id is consistent between ingest and retrieve.
Use concrete queries instead of broad prompts.
Validate event taxonomy consistency.
No Personalization Signal
Check MDE_ENABLE_ADAPTIVE_PERSONALIZATION=true.
Use a stable entity_id for repeated-user interactions.
Generate enough repeated signals for threshold crossing.
Send enough feedback events for preference inference.
Noisy Top Results
Record negative feedback for unhelpful memories.
Audit long assistant outputs that may crowd concise profile facts.
Review inference provenance metadata to understand ranking behavior.
Developer validation checklist
Run quality gates before release:
python -m ruff check src tests examples scriptspython -m mypy srcpython -m pytest -qpython -m pylint src tests scripts --fail-under=9.0Back to
Documentation Overview ->