Skip to content

docs: Tier-0 incident response hardening (rollback runbooks, SEV1/SEV2, postmortem template)#8

Draft
bdevierno1 wants to merge 1 commit into
mainfrom
incident-response-hardening
Draft

docs: Tier-0 incident response hardening (rollback runbooks, SEV1/SEV2, postmortem template)#8
bdevierno1 wants to merge 1 commit into
mainfrom
incident-response-hardening

Conversation

@bdevierno1

Copy link
Copy Markdown
Owner

Summary

  • docs/runbooks/production-rollback-runbook.md — Tier-0 rollback runbook covering vecna-api (systemd + kubectl paths), vecna-runner (stuck-operation recovery), and vecna-db (SQLite schema migration escalation). Implements the golden rule (rollback before debug) and the non-reversible DB migration rule (page DB owner + on-call DBA; do NOT auto-rollback schema). Includes post-rollback 5-item verification checklist.
  • docs/runbooks/sev1-response.md — SEV1 definition (customer-wide outage / data loss), 5-min acknowledge SLA, rollback-first action sequence, IC role and exec comms cadence (every 30 min), recovery criteria, anchor URL (#runbook-sev1) for alert annotation embedding.
  • docs/runbooks/sev2-response.md — SEV2 definition (error rate > 5%, p99 > 3× SLO), IC role, hourly comms cadence, escalation ladder, anchor URL (#runbook-sev2) for alert annotation embedding.
  • docs/runbooks/postmortem-template.md — Blameless postmortem template required for every SEV1/SEV2 within 3 business days. Covers incident header, impact scope, timeline, detection/response deltas, root cause + contributing factors, action items (owner + due date), anti-blame checklist, and sign-off table. Cross-linked from both SEV runbooks.

Out of scope

  • PagerDuty policy configuration and alert routing changes (ops tooling, separate PR)
  • Kubernetes manifests for production deployment (not present in this repo yet)
  • SQLite → Postgres migration (future hardening)

Test plan

  • Verify all internal cross-links resolve: each SEV runbook links to rollback runbook and postmortem template; rollback runbook links back to SEV1 runbook and postmortem
  • Confirm anchor targets exist: #runbook-sev1, #runbook-sev2, #runbook-rollback, #postmortem-template are in the rendered documents
  • Walk through the rollback runbook manually against a local vecna-api dev instance: git checkout <sha>pip install -r requirements.txtuvicorn restart → curl /api/health/deep passes
  • Confirm schema_migrate.py is additive-only (no DROP COLUMN) — verified in code review

🤖 Generated with Vecna

Co-Authored-By: Vecna noreply@vecna.ai

- docs/runbooks/production-rollback-runbook.md — per-service rollback
  steps for vecna-api, vecna-runner, vecna-db; kubectl rollout history/
  undo/status for K8s path; non-reversible DB migration escalation rule
  (page DB owner + on-call DBA, do NOT auto-rollback schema)
- docs/runbooks/sev1-response.md — SEV1 definition, rollback-first
  actions, IC role, exec comms every 30 min, recovery criteria, anchor
  URL for alert annotations
- docs/runbooks/sev2-response.md — SEV2 definition, rollback-first
  actions, IC role, hourly comms cadence, recovery criteria, anchor URL
- docs/runbooks/postmortem-template.md — blameless postmortem template
  covering timeline, contributing factors, impact scope, detection/
  response delta, action items with owner+due-date, anti-blame checklist;
  required for every SEV1/SEV2; cross-linked from both SEV runbooks

Co-Authored-By: Vecna <noreply@vecna.ai>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant