# Runbook: Incident — 0pt ## Severity-nivåer | Nivå | Exempel | Svarstid | |---|---|---| | S1 | Live-instans nere / dataexponering | Omedelbart | | S2 | Större funktion trasig | Inom 30 min (arbetstid) | | S3 | Mindre funktion/UI | Inom 1 arbetsdag | ## Kända felbilder (2026-08-10) | Symtom | Sannolik orsak | Åtgärd | |---|---|---| | `/api/health` grön men `/api/orders` tom | Ingen DB i prod (in-memory-store) | Sätt `DATABASE_URL`; se BACKLOG P3-4 | | `/api/0pt/*` svarar 200 anonymt | Middleware körs inte på Vercel-deployen (lucka S1) | Rotorsaksanalys; verifiera 401 anonymt före "skyddad" | | ~~deploy.yml-röd på main~~ | ~~Guard: placeholder `COOLIFY_APP_ID` (avsiktligt)~~ **INAKTUELL 2026-09-06** — guarden passerar numera; `COOLIFY_APP_ID` är en riktig UUID och `COOLIFY_TOKEN` finns | Rätt symtom i dag är det omvända: **varje merge till `main` utlöser en riktig omdeploy** mot cloud.siax.io (verifierat: push `1ff34410`, jobb `Deploy to Coolify / deploy` = success, `coolify deploy HTTP 200`). Vet vad du deployar innan du mergar | | Test `*.realinfra.test.ts` skip | ST0RE inte nåbar från CI | Inte en incident — förväntat beteende | | Trivy-fynd på `services/scrapers/*` | Medvetet behållen bypass-stack | Läs GOLDEN-STANDARD-REPORT C6; triage, radera ej | ## Incidentprocess 1. **Triagera:** läs `/api/health`, senaste CI-run, `git log -5`. 2. **Kommunicera:** logga i plattformens kanal; nämn tidslinje. 3. **Minsta korrekta ändring:** aldrig radera funktionalitet (AR-1); fixa med minsta diff, håll tester gröna (`pnpm run typecheck && pnpm run test`). 4. **Evidens:** dokumentera i `docs/compliance/` (märk VERIFIERAT). 5. **Efter incident:** skriv post-mortem i `docs/` + uppdatera BACKLOG om ny lucka. ## Roller - Oncall: se `docs/runbook/oncall.md`. - Eskalering: Simon Axelsson (simon@siax.io) — produkt- och infrastrukturbeslut (t.ex. bypass-stacken, Vercel-avveckling) tas alltid av honom.