{
  "service": "support-rag",
  "release": "support-rag@2.0.0",
  "owner": "ai-platform",
  "slo": {
    "latency_p95_ms": 4200,
    "availability": 0.995,
    "contract_fail_rate_max": 0.006,
    "cost_p95_eur": 0.04,
    "review_queue_age_p95_minutes": 30
  },
  "observability": {
    "required_attributes": [
      "trace_id",
      "run_id",
      "task",
      "model_id",
      "prompt_version",
      "release_id",
      "index_version"
    ],
    "dashboards": ["runtime", "cost", "evalops", "handoff"],
    "alerts": ["slo_burn_rate", "contract_fail_rate", "queue_age", "canary_regression"]
  },
  "rollback": {
    "last_known_good": "support-rag@1.9.3",
    "rollback_command": "deploy support-rag@1.9.3 --traffic 100",
    "rollback_tested_at": "2026-06-07T08:30:00Z",
    "max_rollback_minutes": 15
  },
  "evalops": {
    "datasets": ["golden", "regression", "production_sample", "continuity_regression"],
    "release_gate": "ops/ai/release_gate.py",
    "baseline_release": "support-rag@1.9.3",
    "candidate_release": "support-rag@2.0.0"
  },
  "incident": {
    "runbook": "ops/ai/runbook_ai_service.md",
    "oncall": "ai-platform-oncall",
    "severity_matrix": {
      "sev1": "servicio critico no disponible",
      "sev2": "degradacion material con workaround",
      "sev3": "fallo parcial sin impacto critico"
    },
    "update_cadence_minutes": 30
  },
  "continuity": {
    "rto_minutes": 30,
    "rpo_minutes": 10,
    "fallback_routes": ["provider_b", "read_only_rag", "human_review_queue"],
    "continuity_drill": "ops/ai/continuity_drill.md"
  },
  "handoff": {
    "queues": ["support_n2", "ai_platform_review"],
    "approval_card_template": {
      "reason": "",
      "evidence": [],
      "recommended_action": "",
      "owner": "",
      "deadline": ""
    }
  }
}
