[
  {
    "slug": "alerts-silent-after-metric-rename",
    "name": "Alerts silent after metric rename",
    "group": "observability-rollback",
    "platforms": [
      "infra",
      "backend"
    ],
    "flags": [
      "availability"
    ],
    "definition": "Renamed metrics or labels leave alerts pointing at nothing.",
    "likelihoodGrade": "low",
    "impactGrade": "unrated",
    "examples": [
      "ev-alerts-silent-after-metric-rename-04",
      "ev-alerts-silent-after-metric-rename-01"
    ],
    "testTypes": [
      "contract:by-design",
      "config:by-design",
      "e2e:by-design"
    ],
    "verifiedOn": "2026-10-22"
  },
  {
    "slug": "all-sessions-invalidated",
    "name": "All sessions invalidated",
    "group": "auth-access",
    "platforms": [
      "web",
      "mobile",
      "api"
    ],
    "flags": [
      "availability"
    ],
    "definition": "A change to session signing or storage logs every user out at once.",
    "likelihoodGrade": "medium",
    "impactGrade": "medium",
    "examples": [
      "ev-all-sessions-invalidated-02",
      "ev-all-sessions-invalidated-01",
      "ev-all-sessions-invalidated-03"
    ],
    "testTypes": [
      "config:by-design",
      "e2e:by-design",
      "canary:by-design"
    ],
    "verifiedOn": "2026-10-21"
  },
  {
    "slug": "analytics-event-schema-broken",
    "name": "Analytics event schema broken",
    "group": "frontend-web",
    "platforms": [
      "web",
      "mobile"
    ],
    "flags": [],
    "definition": "Tracking events change shape and downstream dashboards or experiments break.",
    "likelihoodGrade": "low",
    "impactGrade": "high",
    "examples": [
      "ev-analytics-event-schema-broken-02",
      "ev-analytics-event-schema-broken-01"
    ],
    "testTypes": [
      "integration:cited",
      "contract:by-design",
      "synthetic:by-design"
    ],
    "verifiedOn": "2026-10-21"
  },
  {
    "slug": "api-key-rotation-breaks-integrations",
    "name": "API key rotation breaks integrations",
    "group": "auth-access",
    "platforms": [
      "api"
    ],
    "flags": [
      "availability"
    ],
    "definition": "A key rotation invalidates partner integrations that were not notified.",
    "likelihoodGrade": "not-published",
    "impactGrade": "medium",
    "examples": [
      "ev-api-key-rotation-breaks-integrations-01",
      "ev-api-key-rotation-breaks-integrations-03"
    ],
    "testTypes": [
      "integration:by-design",
      "config:by-design",
      "synthetic:by-design"
    ],
    "verifiedOn": "2026-10-21"
  },
  {
    "slug": "api-version-dropped-while-old-app-live",
    "name": "API version dropped while old app live",
    "group": "mobile-release",
    "platforms": [
      "api",
      "mobile"
    ],
    "flags": [
      "availability"
    ],
    "definition": "The backend removes an API version still used by installed app versions.",
    "likelihoodGrade": "not-published",
    "impactGrade": "medium",
    "examples": [
      "ev-api-version-dropped-while-old-app-live-01",
      "ev-api-version-dropped-while-old-app-live-03"
    ],
    "testTypes": [
      "contract:by-design",
      "config:by-design",
      "synthetic:by-design"
    ],
    "verifiedOn": "2026-10-21"
  },
  {
    "slug": "app-store-rollback-not-possible",
    "name": "App store rollback not possible",
    "group": "mobile-release",
    "platforms": [
      "mobile"
    ],
    "flags": [
      "availability"
    ],
    "definition": "A broken build cannot be reverted because stores do not support rollback and the fix needs review.",
    "likelihoodGrade": "medium",
    "impactGrade": "medium",
    "examples": [
      "ev-app-store-rollback-not-possible-02",
      "ev-app-store-rollback-not-possible-05",
      "ev-app-store-rollback-not-possible-04",
      "ev-app-store-rollback-not-possible-01",
      "ev-app-store-rollback-not-possible-03"
    ],
    "testTypes": [
      "e2e:by-design",
      "canary:by-design"
    ],
    "verifiedOn": "2026-10-21"
  },
  {
    "slug": "asset-cache-serves-old-bundle",
    "name": "Asset cache serves old bundle",
    "group": "frontend-web",
    "platforms": [
      "web"
    ],
    "flags": [
      "availability"
    ],
    "definition": "Users receive an old JavaScript bundle with a new API and the app errors.",
    "likelihoodGrade": "medium",
    "impactGrade": "medium",
    "examples": [
      "ev-asset-cache-serves-old-bundle-06",
      "ev-asset-cache-serves-old-bundle-05",
      "ev-asset-cache-serves-old-bundle-04"
    ],
    "testTypes": [
      "config:by-design",
      "e2e:by-design",
      "synthetic:by-design"
    ],
    "verifiedOn": "2026-10-22"
  },
  {
    "slug": "autoscaling-policy-misconfigured",
    "name": "Autoscaling policy misconfigured",
    "group": "infrastructure-deploy",
    "platforms": [
      "infra"
    ],
    "flags": [
      "availability"
    ],
    "definition": "A scaling change fails to add capacity or scales to zero under load.",
    "likelihoodGrade": "medium",
    "impactGrade": "medium",
    "examples": [
      "ev-autoscaling-policy-misconfigured-02",
      "ev-autoscaling-policy-misconfigured-07",
      "ev-autoscaling-policy-misconfigured-06",
      "ev-autoscaling-policy-misconfigured-05",
      "ev-autoscaling-policy-misconfigured-01"
    ],
    "testTypes": [
      "load:cited",
      "config:by-design",
      "canary:by-design"
    ],
    "verifiedOn": "2026-10-22"
  },
  {
    "slug": "background-job-queue-backlog",
    "name": "Background job queue backlog",
    "group": "performance-capacity",
    "platforms": [
      "backend"
    ],
    "flags": [],
    "definition": "A job change slows processing and the queue grows faster than it drains.",
    "likelihoodGrade": "medium",
    "impactGrade": "low",
    "examples": [
      "ev-background-job-queue-backlog-02",
      "ev-background-job-queue-backlog-01",
      "ev-background-job-queue-backlog-05"
    ],
    "testTypes": [
      "integration:by-design",
      "load:by-design",
      "canary:by-design"
    ],
    "verifiedOn": "2026-10-21"
  },
  {
    "slug": "cache-invalidation-storm",
    "name": "Cache invalidation storm",
    "group": "performance-capacity",
    "platforms": [
      "backend"
    ],
    "flags": [
      "availability"
    ],
    "definition": "A deploy flushes or invalidates caches at once and origin load spikes.",
    "likelihoodGrade": "low",
    "impactGrade": "medium",
    "examples": [
      "ev-cache-invalidation-storm-01",
      "ev-cache-invalidation-storm-03"
    ],
    "testTypes": [
      "load:by-design",
      "chaos:by-design",
      "unit:by-design"
    ],
    "verifiedOn": "2026-10-21"
  },
  {
    "slug": "certificate-expired",
    "name": "Certificate expired",
    "group": "third-party-integrations",
    "platforms": [
      "infra",
      "api"
    ],
    "flags": [
      "availability"
    ],
    "definition": "A TLS certificate or pinned certificate expires and connections fail.",
    "likelihoodGrade": "medium",
    "impactGrade": "medium",
    "examples": [
      "ev-certificate-expired-02",
      "ev-certificate-expired-05",
      "ev-certificate-expired-03",
      "ev-certificate-expired-01"
    ],
    "testTypes": [
      "synthetic:cited",
      "config:by-design"
    ],
    "verifiedOn": "2026-10-21"
  },
  {
    "slug": "checkout-blocked-for-segment",
    "name": "Checkout blocked for segment",
    "group": "payments-billing",
    "platforms": [
      "web",
      "mobile"
    ],
    "flags": [
      "payments"
    ],
    "definition": "A checkout step fails for one customer segment, country or card type after a release.",
    "likelihoodGrade": "low",
    "impactGrade": "high",
    "examples": [
      "ev-checkout-blocked-for-segment-02",
      "ev-checkout-blocked-for-segment-01"
    ],
    "testTypes": [
      "e2e:by-design",
      "unit:by-design",
      "canary:by-design"
    ],
    "verifiedOn": "2026-10-21"
  },
  {
    "slug": "cold-start-latency-regression",
    "name": "Cold start latency regression",
    "group": "performance-capacity",
    "platforms": [
      "backend"
    ],
    "flags": [],
    "definition": "Serverless or container cold starts become slower after a dependency or image change.",
    "likelihoodGrade": "low",
    "impactGrade": "low",
    "examples": [
      "ev-cold-start-latency-regression-02",
      "ev-cold-start-latency-regression-03"
    ],
    "testTypes": [
      "load:by-design",
      "canary:by-design"
    ],
    "verifiedOn": "2026-10-22"
  },
  {
    "slug": "config-change-without-restart-semantics",
    "name": "Config change without restart semantics",
    "group": "config-feature-flags",
    "platforms": [
      "backend",
      "infra"
    ],
    "flags": [],
    "definition": "A config edit is applied to some instances and not others, producing inconsistent behaviour.",
    "likelihoodGrade": "low",
    "impactGrade": "medium",
    "examples": [
      "ev-config-change-without-restart-semantics-02",
      "ev-config-change-without-restart-semantics-01"
    ],
    "testTypes": [
      "config:by-design",
      "integration:by-design",
      "canary:by-design"
    ],
    "verifiedOn": "2026-10-21"
  },
  {
    "slug": "connection-pool-exhausted",
    "name": "Connection pool exhausted",
    "group": "performance-capacity",
    "platforms": [
      "backend"
    ],
    "flags": [
      "availability"
    ],
    "definition": "A new code path leaks or holds connections and the pool runs out under load.",
    "likelihoodGrade": "medium",
    "impactGrade": "medium",
    "examples": [
      "ev-connection-pool-exhausted-02",
      "ev-connection-pool-exhausted-01",
      "ev-connection-pool-exhausted-05",
      "ev-connection-pool-exhausted-06",
      "ev-connection-pool-exhausted-07"
    ],
    "testTypes": [
      "integration:by-design",
      "load:by-design",
      "canary:by-design"
    ],
    "verifiedOn": "2026-10-21"
  },
  {
    "slug": "container-image-base-change",
    "name": "Container image base change",
    "group": "infrastructure-deploy",
    "platforms": [
      "infra"
    ],
    "flags": [
      "availability"
    ],
    "definition": "A base image update changes libraries or users and the service fails to start.",
    "likelihoodGrade": "low",
    "impactGrade": "medium",
    "examples": [
      "ev-container-image-base-change-03",
      "ev-container-image-base-change-01",
      "ev-container-image-base-change-02"
    ],
    "testTypes": [
      "integration:by-design",
      "config:by-design",
      "canary:by-design"
    ],
    "verifiedOn": "2026-10-22"
  },
  {
    "slug": "cors-policy-blocks-frontend",
    "name": "CORS policy blocks frontend",
    "group": "auth-access",
    "platforms": [
      "web",
      "api"
    ],
    "flags": [
      "availability"
    ],
    "definition": "A CORS change blocks the production frontend from calling its own API.",
    "likelihoodGrade": "medium",
    "impactGrade": "medium",
    "examples": [
      "ev-cors-policy-blocks-frontend-01",
      "ev-cors-policy-blocks-frontend-02",
      "ev-cors-policy-blocks-frontend-03"
    ],
    "testTypes": [
      "e2e:cited",
      "security:by-design",
      "synthetic:by-design"
    ],
    "verifiedOn": "2026-10-21"
  },
  {
    "slug": "crash-on-older-os-version",
    "name": "Crash on older OS version",
    "group": "mobile-release",
    "platforms": [
      "mobile"
    ],
    "flags": [
      "availability"
    ],
    "definition": "A release crashes on an OS version still in the support matrix.",
    "likelihoodGrade": "low",
    "impactGrade": "medium",
    "examples": [
      "ev-crash-on-older-os-version-02",
      "ev-crash-on-older-os-version-01"
    ],
    "testTypes": [
      "compatibility:by-design",
      "canary:by-design"
    ],
    "verifiedOn": "2026-10-21"
  },
  {
    "slug": "critical-path-broken-in-one-browser",
    "name": "Critical path broken in one browser",
    "group": "frontend-web",
    "platforms": [
      "web"
    ],
    "flags": [
      "availability"
    ],
    "definition": "A core flow fails in one browser or version after a build or polyfill change.",
    "likelihoodGrade": "low",
    "impactGrade": "medium",
    "examples": [
      "ev-critical-path-broken-in-one-browser-03",
      "ev-critical-path-broken-in-one-browser-04"
    ],
    "testTypes": [
      "compatibility:by-design",
      "e2e:by-design",
      "synthetic:by-design"
    ],
    "verifiedOn": "2026-10-22"
  },
  {
    "slug": "csp-blocks-required-script",
    "name": "CSP blocks required script",
    "group": "frontend-web",
    "platforms": [
      "web"
    ],
    "flags": [
      "availability"
    ],
    "definition": "A Content Security Policy change blocks a script the page needs.",
    "likelihoodGrade": "low",
    "impactGrade": "medium",
    "examples": [
      "ev-csp-blocks-required-script-01",
      "ev-csp-blocks-required-script-02"
    ],
    "testTypes": [
      "e2e:by-design",
      "security:by-design",
      "synthetic:by-design"
    ],
    "verifiedOn": "2026-10-21"
  },
  {
    "slug": "deep-link-broken-after-routing-change",
    "name": "Deep link broken after routing change",
    "group": "mobile-release",
    "platforms": [
      "mobile"
    ],
    "flags": [],
    "definition": "Deep links or universal links open the wrong screen or nothing.",
    "likelihoodGrade": "low",
    "impactGrade": "medium",
    "examples": [
      "ev-deep-link-broken-after-routing-change-03",
      "ev-deep-link-broken-after-routing-change-02"
    ],
    "testTypes": [
      "e2e:by-design",
      "synthetic:by-design",
      "config:by-design"
    ],
    "verifiedOn": "2026-10-21"
  },
  {
    "slug": "dependency-removed-from-registry",
    "name": "Dependency removed from registry",
    "group": "third-party-integrations",
    "platforms": [
      "backend",
      "web"
    ],
    "flags": [
      "availability"
    ],
    "definition": "A package or version is pulled from a registry and builds or deploys fail.",
    "likelihoodGrade": "not-published",
    "impactGrade": "medium",
    "examples": [
      "ev-dependency-removed-from-registry-06",
      "ev-dependency-removed-from-registry-02",
      "ev-dependency-removed-from-registry-01"
    ],
    "testTypes": [
      "integration:by-design",
      "config:by-design"
    ],
    "verifiedOn": "2026-10-22"
  },
  {
    "slug": "disk-full-from-new-log-volume",
    "name": "Disk full from new log volume",
    "group": "infrastructure-deploy",
    "platforms": [
      "infra"
    ],
    "flags": [
      "availability"
    ],
    "definition": "A logging change fills disks and services stop writing.",
    "likelihoodGrade": "low",
    "impactGrade": "medium",
    "examples": [
      "ev-disk-full-from-new-log-volume-05",
      "ev-disk-full-from-new-log-volume-01",
      "ev-disk-full-from-new-log-volume-04"
    ],
    "testTypes": [
      "load:by-design",
      "canary:by-design",
      "chaos:by-design"
    ],
    "verifiedOn": "2026-10-22"
  },
  {
    "slug": "dns-change-propagation-outage",
    "name": "DNS change propagation outage",
    "group": "infrastructure-deploy",
    "platforms": [
      "infra"
    ],
    "flags": [
      "availability"
    ],
    "definition": "A DNS or load balancer change sends traffic to the wrong target or nowhere.",
    "likelihoodGrade": "medium",
    "impactGrade": "medium",
    "examples": [
      "ev-dns-change-propagation-outage-04",
      "ev-dns-change-propagation-outage-01",
      "ev-dns-change-propagation-outage-02"
    ],
    "testTypes": [
      "config:by-design",
      "synthetic:by-design",
      "canary:by-design"
    ],
    "verifiedOn": "2026-10-21"
  },
  {
    "slug": "double-charge-after-deploy",
    "name": "Double charge after deploy",
    "group": "payments-billing",
    "platforms": [
      "web",
      "api",
      "backend"
    ],
    "flags": [
      "payments"
    ],
    "definition": "A customer is charged twice for one purchase after a release changes retry or idempotency behaviour.",
    "likelihoodGrade": "not-published",
    "impactGrade": "high",
    "examples": [
      "ev-double-charge-after-deploy-05",
      "ev-double-charge-after-deploy-04"
    ],
    "testTypes": [
      "contract:by-design",
      "integration:by-design",
      "canary:by-design"
    ],
    "verifiedOn": "2026-10-22"
  },
  {
    "slug": "email-or-sms-provider-template-broken",
    "name": "Email or SMS provider template broken",
    "group": "third-party-integrations",
    "platforms": [
      "backend"
    ],
    "flags": [],
    "definition": "Transactional messages are sent with broken templates or to wrong recipients after a template change.",
    "likelihoodGrade": "not-published",
    "impactGrade": "medium",
    "examples": [
      "ev-email-or-sms-provider-template-broken-01",
      "ev-email-or-sms-provider-template-broken-08"
    ],
    "testTypes": [
      "integration:cited",
      "unit:by-design",
      "e2e:by-design"
    ],
    "verifiedOn": "2026-10-22"
  },
  {
    "slug": "encoding-or-timezone-shift",
    "name": "Encoding or timezone shift",
    "group": "data-migrations",
    "platforms": [
      "data"
    ],
    "flags": [],
    "definition": "Stored timestamps or strings are shifted or corrupted after a driver, locale or timezone change.",
    "likelihoodGrade": "not-published",
    "impactGrade": "high",
    "examples": [
      "ev-encoding-or-timezone-shift-01",
      "ev-encoding-or-timezone-shift-02"
    ],
    "testTypes": [
      "config:cited",
      "integration:by-design",
      "synthetic:by-design"
    ],
    "verifiedOn": "2026-10-22"
  },
  {
    "slug": "env-mismatch-prod-points-to-staging",
    "name": "Environment mismatch: production points to staging",
    "group": "config-feature-flags",
    "platforms": [
      "backend",
      "infra"
    ],
    "flags": [],
    "definition": "A production service reads a staging endpoint, bucket or database after a config change.",
    "likelihoodGrade": "low",
    "impactGrade": "unrated",
    "examples": [
      "ev-env-mismatch-prod-points-to-staging-02",
      "ev-env-mismatch-prod-points-to-staging-01"
    ],
    "testTypes": [
      "config:by-design",
      "canary:by-design",
      "chaos:by-design"
    ],
    "verifiedOn": "2026-10-21"
  },
  {
    "slug": "error-budget-burned-by-retry-storm",
    "name": "Error budget burned by retry storm",
    "group": "observability-rollback",
    "platforms": [
      "backend"
    ],
    "flags": [
      "availability"
    ],
    "definition": "Client retries amplify a partial failure into a full outage.",
    "likelihoodGrade": "low",
    "impactGrade": "medium",
    "examples": [
      "ev-error-budget-burned-by-retry-storm-01",
      "ev-error-budget-burned-by-retry-storm-04"
    ],
    "testTypes": [
      "chaos:by-design",
      "load:by-design",
      "canary:by-design"
    ],
    "verifiedOn": "2026-10-22"
  },
  {
    "slug": "flag-default-flips-on-missing-config",
    "name": "Flag default flips on missing config",
    "group": "config-feature-flags",
    "platforms": [
      "backend"
    ],
    "flags": [],
    "definition": "A missing or unreadable flag config falls back to the wrong default.",
    "likelihoodGrade": "low",
    "impactGrade": "low",
    "examples": [
      "ev-flag-default-flips-on-missing-config-04",
      "ev-flag-default-flips-on-missing-config-03"
    ],
    "testTypes": [
      "config:by-design",
      "chaos:by-design",
      "canary:by-design"
    ],
    "verifiedOn": "2026-10-21"
  },
  {
    "slug": "flag-enabled-for-wrong-segment",
    "name": "Flag enabled for wrong segment",
    "group": "config-feature-flags",
    "platforms": [
      "web",
      "mobile",
      "api"
    ],
    "flags": [],
    "definition": "A feature flag targets the wrong users, region or percentage after a rule edit.",
    "likelihoodGrade": "low",
    "impactGrade": "medium",
    "examples": [
      "ev-flag-enabled-for-wrong-segment-05",
      "ev-flag-enabled-for-wrong-segment-01",
      "ev-flag-enabled-for-wrong-segment-03"
    ],
    "testTypes": [
      "config:by-design",
      "e2e:by-design",
      "canary:by-design"
    ],
    "verifiedOn": "2026-10-21"
  },
  {
    "slug": "form-submission-silently-fails",
    "name": "Form submission silently fails",
    "group": "frontend-web",
    "platforms": [
      "web"
    ],
    "flags": [],
    "definition": "A form submits without error but data is never stored after a validation or endpoint change.",
    "likelihoodGrade": "not-published",
    "impactGrade": "high",
    "examples": [
      "ev-form-submission-silently-fails-01",
      "ev-form-submission-silently-fails-04"
    ],
    "testTypes": [
      "e2e:by-design",
      "synthetic:by-design"
    ],
    "verifiedOn": "2026-10-21"
  },
  {
    "slug": "iam-policy-change-blocks-service",
    "name": "IAM policy change blocks service",
    "group": "infrastructure-deploy",
    "platforms": [
      "infra"
    ],
    "flags": [
      "availability"
    ],
    "definition": "A permission change removes a service's access to a queue, bucket or secret.",
    "likelihoodGrade": "medium",
    "impactGrade": "medium",
    "examples": [
      "ev-iam-policy-change-blocks-service-01",
      "ev-iam-policy-change-blocks-service-03",
      "ev-iam-policy-change-blocks-service-04"
    ],
    "testTypes": [
      "synthetic:cited",
      "config:by-design"
    ],
    "verifiedOn": "2026-10-21"
  },
  {
    "slug": "in-app-purchase-receipt-validation-fails",
    "name": "In-app purchase receipt validation fails",
    "group": "mobile-release",
    "platforms": [
      "mobile",
      "backend"
    ],
    "flags": [
      "payments"
    ],
    "definition": "Store receipts are rejected after a validation or sandbox endpoint change.",
    "likelihoodGrade": "low",
    "impactGrade": "high",
    "examples": [
      "ev-in-app-purchase-receipt-validation-fails-01",
      "ev-in-app-purchase-receipt-validation-fails-04"
    ],
    "testTypes": [
      "integration:by-design",
      "contract:by-design",
      "synthetic:by-design"
    ],
    "verifiedOn": "2026-10-21"
  },
  {
    "slug": "irreversible-migration-fails-midway",
    "name": "Irreversible migration fails midway",
    "group": "data-migrations",
    "platforms": [
      "backend",
      "data"
    ],
    "flags": [
      "data-loss"
    ],
    "definition": "A schema migration stops halfway and cannot be rolled back, leaving tables in a mixed state.",
    "likelihoodGrade": "low",
    "impactGrade": "medium",
    "examples": [
      "ev-irreversible-migration-fails-midway-01",
      "ev-irreversible-migration-fails-midway-02",
      "ev-irreversible-migration-fails-midway-03",
      "ev-irreversible-migration-fails-midway-04"
    ],
    "testTypes": [
      "migration:cited",
      "load:cited",
      "chaos:by-design"
    ],
    "verifiedOn": "2026-10-21"
  },
  {
    "slug": "localisation-strings-missing",
    "name": "Localisation strings missing",
    "group": "frontend-web",
    "platforms": [
      "web",
      "mobile"
    ],
    "flags": [],
    "definition": "A release ships with missing or untranslated strings in one locale.",
    "likelihoodGrade": "low",
    "impactGrade": "low",
    "examples": [
      "ev-localisation-strings-missing-01",
      "ev-localisation-strings-missing-03"
    ],
    "testTypes": [
      "e2e:by-design",
      "config:by-design",
      "synthetic:by-design"
    ],
    "verifiedOn": "2026-10-21"
  },
  {
    "slug": "long-running-migration-locks-table",
    "name": "Long-running migration locks table",
    "group": "data-migrations",
    "platforms": [
      "backend",
      "data"
    ],
    "flags": [
      "availability"
    ],
    "definition": "A migration takes a lock on a hot table and blocks writes during the deploy window.",
    "likelihoodGrade": "low",
    "impactGrade": "medium",
    "examples": [
      "ev-long-running-migration-locks-table-02",
      "ev-long-running-migration-locks-table-01",
      "ev-long-running-migration-locks-table-03"
    ],
    "testTypes": [
      "migration:cited",
      "load:by-design"
    ],
    "verifiedOn": "2026-10-21"
  },
  {
    "slug": "memory-leak-in-new-release",
    "name": "Memory leak in new release",
    "group": "performance-capacity",
    "platforms": [
      "backend",
      "mobile"
    ],
    "flags": [
      "availability"
    ],
    "definition": "Memory grows per request or per screen until processes restart or the app is killed.",
    "likelihoodGrade": "low",
    "impactGrade": "medium",
    "examples": [
      "ev-memory-leak-in-new-release-01",
      "ev-memory-leak-in-new-release-02",
      "ev-memory-leak-in-new-release-03"
    ],
    "testTypes": [
      "canary:cited",
      "load:by-design",
      "unit:by-design"
    ],
    "verifiedOn": "2026-10-21"
  },
  {
    "slug": "missing-index-after-migration",
    "name": "Missing index after migration",
    "group": "data-migrations",
    "platforms": [
      "backend",
      "data"
    ],
    "flags": [
      "availability"
    ],
    "definition": "A migration drops or forgets an index and query latency rises under production load.",
    "likelihoodGrade": "medium",
    "impactGrade": "medium",
    "examples": [
      "ev-missing-index-after-migration-01",
      "ev-missing-index-after-migration-02",
      "ev-missing-index-after-migration-03",
      "ev-missing-index-after-migration-04",
      "ev-missing-index-after-migration-05"
    ],
    "testTypes": [
      "load:cited",
      "migration:by-design",
      "canary:by-design"
    ],
    "verifiedOn": "2026-10-21"
  },
  {
    "slug": "oauth-callback-url-not-whitelisted",
    "name": "OAuth callback URL not whitelisted",
    "group": "third-party-integrations",
    "platforms": [
      "web",
      "mobile"
    ],
    "flags": [
      "availability"
    ],
    "definition": "A new domain or route is not registered with the identity provider.",
    "likelihoodGrade": "low",
    "impactGrade": "medium",
    "examples": [
      "ev-oauth-callback-url-not-whitelisted-04",
      "ev-oauth-callback-url-not-whitelisted-01",
      "ev-oauth-callback-url-not-whitelisted-05"
    ],
    "testTypes": [
      "e2e:by-design",
      "config:by-design",
      "synthetic:by-design"
    ],
    "verifiedOn": "2026-10-21"
  },
  {
    "slug": "orm-upgrade-changes-query-semantics",
    "name": "ORM upgrade changes query semantics",
    "group": "data-migrations",
    "platforms": [
      "backend"
    ],
    "flags": [],
    "definition": "An ORM or driver upgrade changes default query behaviour and returns different rows.",
    "likelihoodGrade": "low",
    "impactGrade": "high",
    "examples": [
      "ev-orm-upgrade-changes-query-semantics-04",
      "ev-orm-upgrade-changes-query-semantics-02",
      "ev-orm-upgrade-changes-query-semantics-01"
    ],
    "testTypes": [
      "integration:by-design"
    ],
    "verifiedOn": "2026-10-22"
  },
  {
    "slug": "partial-rollback-leaves-inconsistent-state",
    "name": "Partial rollback leaves inconsistent state",
    "group": "observability-rollback",
    "platforms": [
      "backend",
      "infra"
    ],
    "flags": [
      "availability"
    ],
    "definition": "Only some services are rolled back and the system runs with incompatible versions.",
    "likelihoodGrade": "low",
    "impactGrade": "low",
    "examples": [
      "ev-partial-rollback-leaves-inconsistent-state-02",
      "ev-partial-rollback-leaves-inconsistent-state-01",
      "ev-partial-rollback-leaves-inconsistent-state-04"
    ],
    "testTypes": [
      "unit:cited",
      "chaos:by-design",
      "config:by-design"
    ],
    "verifiedOn": "2026-10-21"
  },
  {
    "slug": "password-reset-link-broken",
    "name": "Password reset link broken",
    "group": "auth-access",
    "platforms": [
      "web"
    ],
    "flags": [
      "availability"
    ],
    "definition": "Password reset emails link to a wrong or expired route after a routing change.",
    "likelihoodGrade": "low",
    "impactGrade": "medium",
    "examples": [
      "ev-password-reset-link-broken-01",
      "ev-password-reset-link-broken-02",
      "ev-password-reset-link-broken-04"
    ],
    "testTypes": [
      "e2e:by-design",
      "unit:by-design",
      "config:by-design"
    ],
    "verifiedOn": "2026-10-21"
  },
  {
    "slug": "permission-escalation-via-role-change",
    "name": "Permission escalation via role change",
    "group": "auth-access",
    "platforms": [
      "api",
      "backend"
    ],
    "flags": [
      "security"
    ],
    "definition": "A role or policy change grants users access to resources they should not see.",
    "likelihoodGrade": "medium",
    "impactGrade": "high",
    "examples": [
      "ev-permission-escalation-via-role-change-01",
      "ev-permission-escalation-via-role-change-03",
      "ev-permission-escalation-via-role-change-02",
      "ev-permission-escalation-via-role-change-04"
    ],
    "testTypes": [
      "integration:cited",
      "security:cited"
    ],
    "verifiedOn": "2026-10-21"
  },
  {
    "slug": "provider-api-change-breaks-contract",
    "name": "Provider API change breaks contract",
    "group": "third-party-integrations",
    "platforms": [
      "api",
      "backend"
    ],
    "flags": [
      "availability"
    ],
    "definition": "A third-party API changes a field or behaviour and the integration fails.",
    "likelihoodGrade": "medium",
    "impactGrade": "medium",
    "examples": [
      "ev-provider-api-change-breaks-contract-03",
      "ev-provider-api-change-breaks-contract-04",
      "ev-provider-api-change-breaks-contract-02",
      "ev-provider-api-change-breaks-contract-01"
    ],
    "testTypes": [
      "integration:cited",
      "contract:by-design",
      "synthetic:by-design"
    ],
    "verifiedOn": "2026-10-21"
  },
  {
    "slug": "push-notification-token-reset",
    "name": "Push notification token reset",
    "group": "mobile-release",
    "platforms": [
      "mobile",
      "backend"
    ],
    "flags": [],
    "definition": "A change invalidates device tokens and notifications stop.",
    "likelihoodGrade": "low",
    "impactGrade": "medium",
    "examples": [
      "ev-push-notification-token-reset-01",
      "ev-push-notification-token-reset-04"
    ],
    "testTypes": [
      "integration:by-design",
      "e2e:by-design",
      "canary:by-design"
    ],
    "verifiedOn": "2026-10-21"
  },
  {
    "slug": "rate-limit-misconfigured",
    "name": "Rate limit misconfigured",
    "group": "config-feature-flags",
    "platforms": [
      "api"
    ],
    "flags": [
      "availability"
    ],
    "definition": "A rate limit change blocks legitimate traffic or stops protecting an endpoint.",
    "likelihoodGrade": "medium",
    "impactGrade": "medium",
    "examples": [
      "ev-rate-limit-misconfigured-01",
      "ev-rate-limit-misconfigured-03",
      "ev-rate-limit-misconfigured-02",
      "ev-rate-limit-misconfigured-04"
    ],
    "testTypes": [
      "config:by-design",
      "load:by-design",
      "canary:by-design"
    ],
    "verifiedOn": "2026-10-21"
  },
  {
    "slug": "release-marker-missing-in-monitoring",
    "name": "Release marker missing in monitoring",
    "group": "observability-rollback",
    "platforms": [
      "infra"
    ],
    "flags": [],
    "definition": "Responders cannot see which deploy correlates with the change in metrics.",
    "likelihoodGrade": "not-published",
    "impactGrade": "medium",
    "examples": [
      "ev-release-marker-missing-in-monitoring-01",
      "ev-release-marker-missing-in-monitoring-02",
      "ev-release-marker-missing-in-monitoring-03"
    ],
    "testTypes": [
      "canary:by-design",
      "synthetic:by-design",
      "config:by-design"
    ],
    "verifiedOn": "2026-10-21"
  },
  {
    "slug": "rollback-fails-due-to-forward-only-change",
    "name": "Rollback fails due to forward-only change",
    "group": "observability-rollback",
    "platforms": [
      "backend",
      "data"
    ],
    "flags": [
      "availability"
    ],
    "definition": "A rollback is impossible because the data or schema has already moved forward.",
    "likelihoodGrade": "low",
    "impactGrade": "medium",
    "examples": [
      "ev-rollback-fails-due-to-forward-only-change-04",
      "ev-rollback-fails-due-to-forward-only-change-01",
      "ev-rollback-fails-due-to-forward-only-change-03",
      "ev-rollback-fails-due-to-forward-only-change-02"
    ],
    "testTypes": [
      "migration:cited",
      "chaos:by-design"
    ],
    "verifiedOn": "2026-10-22"
  },
  {
    "slug": "rolling-deploy-mixed-versions",
    "name": "Rolling deploy mixed versions",
    "group": "infrastructure-deploy",
    "platforms": [
      "infra",
      "backend"
    ],
    "flags": [],
    "definition": "Old and new versions serve traffic at once and disagree on a contract.",
    "likelihoodGrade": "not-published",
    "impactGrade": "medium",
    "examples": [
      "ev-rolling-deploy-mixed-versions-01",
      "ev-rolling-deploy-mixed-versions-05"
    ],
    "testTypes": [
      "integration:by-design",
      "contract:by-design",
      "canary:by-design"
    ],
    "verifiedOn": "2026-10-22"
  },
  {
    "slug": "schema-drift-between-services",
    "name": "Schema drift between services",
    "group": "data-migrations",
    "platforms": [
      "backend",
      "api"
    ],
    "flags": [],
    "definition": "Two services expect different versions of a shared schema after one is deployed without the other.",
    "likelihoodGrade": "medium",
    "impactGrade": "medium",
    "examples": [
      "ev-schema-drift-between-services-01",
      "ev-schema-drift-between-services-02",
      "ev-schema-drift-between-services-03",
      "ev-schema-drift-between-services-04"
    ],
    "testTypes": [
      "contract:by-design",
      "config:by-design",
      "canary:by-design"
    ],
    "verifiedOn": "2026-10-21"
  },
  {
    "slug": "sdk-upgrade-changes-behaviour",
    "name": "SDK upgrade changes behaviour",
    "group": "third-party-integrations",
    "platforms": [
      "mobile",
      "web"
    ],
    "flags": [],
    "definition": "An SDK upgrade changes defaults such as consent, tracking or retry behaviour.",
    "likelihoodGrade": "medium",
    "impactGrade": "medium",
    "examples": [
      "ev-sdk-upgrade-changes-behaviour-01",
      "ev-sdk-upgrade-changes-behaviour-06",
      "ev-sdk-upgrade-changes-behaviour-05"
    ],
    "testTypes": [
      "integration:by-design",
      "contract:by-design",
      "synthetic:by-design"
    ],
    "verifiedOn": "2026-10-21"
  },
  {
    "slug": "soft-delete-flag-ignored",
    "name": "Soft-delete flag ignored",
    "group": "data-migrations",
    "platforms": [
      "backend",
      "api"
    ],
    "flags": [
      "data-loss"
    ],
    "definition": "A new code path ignores a soft-delete flag and exposes or modifies deleted records.",
    "likelihoodGrade": "low",
    "impactGrade": "high",
    "examples": [
      "ev-soft-delete-flag-ignored-01",
      "ev-soft-delete-flag-ignored-03"
    ],
    "testTypes": [
      "integration:by-design",
      "unit:by-design"
    ],
    "verifiedOn": "2026-10-21"
  },
  {
    "slug": "sso-login-broken",
    "name": "SSO login broken",
    "group": "auth-access",
    "platforms": [
      "web"
    ],
    "flags": [
      "availability"
    ],
    "definition": "Single sign-on fails after an identity provider, certificate or callback URL change.",
    "likelihoodGrade": "medium",
    "impactGrade": "medium",
    "examples": [
      "ev-sso-login-broken-03",
      "ev-sso-login-broken-05",
      "ev-sso-login-broken-01",
      "ev-sso-login-broken-04",
      "ev-sso-login-broken-02"
    ],
    "testTypes": [
      "e2e:by-design",
      "synthetic:by-design"
    ],
    "verifiedOn": "2026-10-21"
  },
  {
    "slug": "subscription-renewal-skipped",
    "name": "Subscription renewal skipped",
    "group": "payments-billing",
    "platforms": [
      "backend"
    ],
    "flags": [
      "payments"
    ],
    "definition": "Scheduled renewals do not run or run with stale plan data after a billing job change.",
    "likelihoodGrade": "low",
    "impactGrade": "high",
    "examples": [
      "ev-subscription-renewal-skipped-03",
      "ev-subscription-renewal-skipped-02"
    ],
    "testTypes": [
      "unit:by-design",
      "integration:by-design"
    ],
    "verifiedOn": "2026-10-21"
  },
  {
    "slug": "tax-calculation-regression",
    "name": "Tax calculation regression",
    "group": "payments-billing",
    "platforms": [
      "backend"
    ],
    "flags": [
      "payments",
      "regulated"
    ],
    "definition": "Tax or VAT is computed with the wrong rate or jurisdiction after a rules or data update.",
    "likelihoodGrade": "low",
    "impactGrade": "high",
    "examples": [
      "ev-tax-calculation-regression-01",
      "ev-tax-calculation-regression-02"
    ],
    "testTypes": [
      "unit:by-design",
      "integration:by-design"
    ],
    "verifiedOn": "2026-10-21"
  },
  {
    "slug": "third-party-rate-limit-hit",
    "name": "Third-party rate limit hit",
    "group": "third-party-integrations",
    "platforms": [
      "backend"
    ],
    "flags": [
      "availability"
    ],
    "definition": "A new call pattern exceeds a provider's quota and requests are rejected.",
    "likelihoodGrade": "low",
    "impactGrade": "medium",
    "examples": [
      "ev-third-party-rate-limit-hit-01",
      "ev-third-party-rate-limit-hit-02"
    ],
    "testTypes": [
      "load:by-design",
      "integration:by-design",
      "canary:by-design"
    ],
    "verifiedOn": "2026-10-21"
  },
  {
    "slug": "thundering-herd-on-restart",
    "name": "Thundering herd on restart",
    "group": "performance-capacity",
    "platforms": [
      "backend",
      "infra"
    ],
    "flags": [
      "availability"
    ],
    "definition": "Clients reconnect simultaneously after a rolling restart and overload a dependency.",
    "likelihoodGrade": "low",
    "impactGrade": "medium",
    "examples": [
      "ev-thundering-herd-on-restart-04",
      "ev-thundering-herd-on-restart-05"
    ],
    "testTypes": [
      "chaos:by-design",
      "load:by-design",
      "canary:by-design"
    ],
    "verifiedOn": "2026-10-21"
  }
]
