Onboarding
- 502 on /api/*: confirm API is running on PREMORTEM_API_PORT and web BFF can reach PREMORTEM_API_BASE_URL.
- Empty projects list: register via Projects → Register Repository or POST /api/projects.
- GitLab connect 307 slow: BFF proxy to API; verify API health at GET /api/health.
Auth & login
- ERR_TOO_MANY_REDIRECTS on /login: middleware canonical host redirect. Use one host (127.0.0.1 vs localhost) in NEXT_PUBLIC_APP_URL and GitLab OAuth app.
- 401 in /app: set PREMORTEM_AUTH_DISABLED=1 only for local verification, or complete Supabase login.
- Captcha-config notice on /login or /signup: Turnstile is enabled but NEXT_PUBLIC_TURNSTILE_SITE_KEY or TURNSTILE_SECRET_KEY is missing in the deployment environment.
- Callback failure on /login or /signup: the external code exchange failed or the callback host did not match NEXT_PUBLIC_APP_URL.
- OAuth state mismatch: clear cookies and reconnect GitLab from Settings.
Local dev
Set NEXT_PUBLIC_APP_URL=http://127.0.0.1:13000 and match GitLab redirect URI exactly.
Empty dashboard
- Zeros on compliance/severity: workspace has no completed audits yet, not a bug.
- Connect GitLab, register a project, then Run audit to populate metrics.
- LOCAL_DEV_FIXTURE org may show seeded local verification data when PREMORTEM_AUTH_DISABLED=1 in local verification mode.

Audits
- Audit stuck queued: check AUDIT_QUEUE / local-server executeAuditJob logs.
- Pause does not stop immediately: in-flight agent completes; next checkpoint honors paused.
- Resume fails without checkpoint: pause once to persist summary.checkpoint.
- Entitlement 403/402: audit or repo quota exceeded; see Billing & plan limits.
Publish & sync
- Publish 502: verify GitLab token scopes and project access.
- 403 feature_locked: Free tier exhausted its 3 publish/month allowance; upgrade to Starter for unlimited publish.
- Missing labels: enable work item attributes in Settings.
- Reconciliation drift: compare driftFields; re-publish or edit GitLab issue manually.
- Stripe checkout requires configured price IDs; local development can still use Settings plan patch.