Skip to content

SRE Scenario Validation

FDAI uses several scenario sets for different questions. A catalog entry proves that a scenario is well-formed and connected to a known signal. A replay proves that the control loop reaches the expected result. A live enforcement run proves that a real fault was injected, observed, and reverted on a disposable Azure substrate. These evidence levels are not interchangeable.

This page lists every current SRE scenario set and every one of the 135 catalog scenario IDs. The snapshot was recalculated from the repository on 2026-07-17.

Scenario setSizeCurrent evidenceWhat it proves
SRE demo pack1818/18 observation mode coverageDetect, route, RCA, governed response, and validation mapping exist
Reference live-enforce sweep1010/10 validated, detected, and revertedReal injectors and probes worked on the disposable Azure substrate
Frozen control-loop set v2026.07966 integrity and replay tests passedBalanced Change, DR, and FinOps expected outcomes replay through the shipped loop
Agent decision scenarios6Included in 22 agent scenario tests passedForseti returns expected auto, human approval, deny, or hold for review outcomes
Agent pipeline scenarios8Included in 22 agent scenario tests passedForseti, Thor, Var, and Saga preserve cross-agent safety invariants
Chaos catalog135135/135 schema, signal, and symptom-index validationEvery catalog record is structurally valid and searchable
Default-factory dispatch subset9393/93 injector and probe pairs build in dry-runDelivery wiring exists; this is not a live fault run
Promoted catalog0No entries promotedNo collected entry has inherited enforce eligibility

A separate 14-case Command Deck claim corpus validates answer evidence check with zero unsupported escapes and zero clean rejections. It is a conversational safety corpus, not an SRE operational scenario set, so it is not added to the scenario totals on this page.

IDScenarioTypeValidation
S1AKS pod killFaultObservation mode coverage; live enforcement via aks-pod-kill
S2AKS pod CPU stressFaultObservation mode coverage; live enforcement via aks-pod-cpu-spike
S3AKS pod network latencyFaultObservation mode coverage; live enforcement via network-rtt-delay
S4AKS HTTP abortFaultObservation mode coverage; live enforcement via aks-http-abort
S5VM CPU stressFaultObservation mode coverage; live enforcement via vm-cpu-stress
S6VM memory stressFaultObservation mode coverage; live enforcement via vm-mem-stress
S7VM network latencyFaultObservation mode coverage; live enforcement via network-rtt-delay
S8MySQL CPU-credit exhaustionFaultObservation mode coverage; live enforcement via mysql-cpu-pressure
S9Azure OpenAI 429 from TPM pressureFaultObservation mode coverage; live enforcement via aoai-tpm-throttle
S10Application Gateway backend first-byte latencyFaultObservation mode coverage; live enforcement via network-rtt-delay
S11Dependency outage cascadeFaultObservation mode coverage; live enforcement via appgw-backend-failure
S12Bad deployment and rollout stallFaultObservation mode coverage; live enforcement via aks-bad-deploy
S13Knowledge ingestion and configuration driftNon-faultScheduled governance and assurance seams
S14Alert-driven automatic investigation triggerNon-faultWebhook, event ingest, and IRP seams
C1Continuous-load baselineBaselineObservation mode calibration coverage
C2Pod kill under continuous loadFaultReuses aks-pod-kill
C3One-pod CPU hotspot under loadFaultReuses aks-pod-cpu-spike
C4One-pod memory hotspot and OOM killFaultReuses vm-mem-stress as pod memory stress

Azure live-enforce reference sweep: 10 scenarios

Section titled “Azure live-enforce reference sweep: 10 scenarios”

The 2026-07-13 reference sweep recorded outcome=validated, detected=true, and reverted=true for every row.

Scenario IDExpected signalProbe class
aks-pod-killpod_restartKubernetes event
aks-pod-cpu-spikenode_cpuChaos Mesh status
network-rtt-delaygateway_latencyChaos Mesh status
aks-http-abortrequest_failureChaos Mesh status
vm-cpu-stresshost_cpuAzure Monitor metric
vm-mem-stresshost_memoryVM guest command
mysql-cpu-pressuredb_cpuAzure Monitor metric
aoai-tpm-throttlerate_limitHTTP 429 sample
appgw-backend-failurebackend_healthKubernetes endpoints
aks-bad-deployrollout_stallKubernetes pod status

Event and status probes were observed in under 3.5 seconds in the latency sweep, except VM memory pressure at about 31 seconds. The Azure Monitor CPU measurements retain a documented cold-start measurement gap because the probe queried a rolling aggregation window; do not treat their first-poll values as true cold-start latency.

Scenario IDDomainExpected tierExpected decisionExpected action
change.drift-manual-portal-edit.003ChangeT0human approvalNo
change.nsg-allow-any-inbound.002ChangeT0human approvalNo
change.tag-owner-missing.001ChangeT0autoYes, observation mode delivery
dr.backup-vault-restore-rehearsal.002DRT0autoYes, observation mode delivery
dr.chaos-experiment-novel.003DRT2human approvalNo
dr.replica-lag-degraded.001DRT1human approvalNo
finops.right-size-vm-high-monthly.002FinOpsT0human approvalNo
finops.stop-idle-dev-vm-off-hours.003FinOpsT1autoYes, observation mode delivery
finops.unattached-public-ip.001FinOpsT0autoYes, observation mode delivery

Forseti decision matrix: 6 named scenarios

Section titled “Forseti decision matrix: 6 named scenarios”
ScenarioExpected result
auto_rule_firedauto
hil_rule_firedhuman approval
deny_irreversibledeny with quorum two
hil_unknown_event_triagehuman approval because a concrete resource exists
abstain_no_resource_targethold for review because no actionable target exists
rbac_denied_operatordeny and emit a security event

Cross-agent pipeline matrix: 8 scenario cases

Section titled “Cross-agent pipeline matrix: 8 scenario cases”
Scenario caseInvariant
Auto in observation modeJudged and audited without mutation
human approval requestExactly one pending approval ticket
DenyNever reaches approval or execution
Mixed streamDecision and dispatch counts remain equal
Duplicate deliveryOne dispatch, one measured duplicate, no double execution
Empty or junk eventHolds for review and causes no downstream action
Self-approval attemptBlocked and measured as a security signal
Repeated self-approvalRetry does not inflate the security count

The catalog currently contains 93 entries that the default factory classifies as executable and builds in dry-run. The remaining 42 are 17 AWS FIS cross-CSP references, 21 GPU scenarios requiring an injector or hardware, three Kubernetes documentation candidates, and the legacy Redis reboot scenario. All 135 remain under collected/; zero are under promoted/.

Azure Chaos Studio - 15 IDs
  • chaos.azure-chaos-studio.agent-cpu-pressure
  • chaos.azure-chaos-studio.agent-network-disconnect
  • chaos.azure-chaos-studio.agent-network-latency
  • chaos.azure-chaos-studio.agent-network-packet-loss
  • chaos.azure-chaos-studio.agent-physical-memory-pressure
  • chaos.azure-chaos-studio.agent-stop-service
  • chaos.azure-chaos-studio.cosmos-db-failover
  • chaos.azure-chaos-studio.keyvault-deny-access
  • chaos.azure-chaos-studio.load-balancer-backend-remove
  • chaos.azure-chaos-studio.nsg-security-rule
  • chaos.azure-chaos-studio.redis-reboot
  • chaos.azure-chaos-studio.service-bus-firewall-block
  • chaos.azure-chaos-studio.vm-redeploy
  • chaos.azure-chaos-studio.vm-shutdown
  • chaos.azure-chaos-studio.vmss-shutdown
Chaos Mesh - 14 IDs
  • chaos.chaos-mesh.block-delay
  • chaos.chaos-mesh.container-kill
  • chaos.chaos-mesh.dns-error
  • chaos.chaos-mesh.http-delay
  • chaos.chaos-mesh.http-replace
  • chaos.chaos-mesh.io-fault
  • chaos.chaos-mesh.kernel-panic
  • chaos.chaos-mesh.network-bandwidth
  • chaos.chaos-mesh.network-corrupt
  • chaos.chaos-mesh.network-duplicate
  • chaos.chaos-mesh.network-loss
  • chaos.chaos-mesh.network-partition
  • chaos.chaos-mesh.pod-failure
  • chaos.chaos-mesh.stress-memory
Litmus - 16 IDs
  • chaos.litmus.container-kill
  • chaos.litmus.disk-fill
  • chaos.litmus.node-cpu-hog
  • chaos.litmus.node-drain
  • chaos.litmus.node-memory-hog
  • chaos.litmus.pod-cpu-hog
  • chaos.litmus.pod-delete
  • chaos.litmus.pod-dns-error
  • chaos.litmus.pod-http-latency
  • chaos.litmus.pod-http-status-code
  • chaos.litmus.pod-io-stress
  • chaos.litmus.pod-memory-hog
  • chaos.litmus.pod-network-corruption
  • chaos.litmus.pod-network-duplication
  • chaos.litmus.pod-network-latency
  • chaos.litmus.pod-network-loss
Kubernetes documentation - 3 IDs
  • chaos.kubernetes-docs.dns-resolution-failure
  • chaos.kubernetes-docs.image-pull-backoff
  • chaos.kubernetes-docs.pod-disruption-budget-gap
Synthesized general scenarios - 48 IDs
  • chaos.general.db-saturate-db-cpu-extreme
  • chaos.general.db-saturate-db-cpu-high
  • chaos.general.db-saturate-db-cpu-mild
  • chaos.general.disk-delay-host-cpu-extreme
  • chaos.general.disk-delay-host-cpu-high
  • chaos.general.disk-delay-host-cpu-mild
  • chaos.general.dns-delay-gateway-latency-extreme
  • chaos.general.dns-delay-gateway-latency-high
  • chaos.general.dns-delay-gateway-latency-mild
  • chaos.general.lb-deny-backend-health-extreme
  • chaos.general.lb-deny-backend-health-high
  • chaos.general.lb-deny-backend-health-mild
  • chaos.general.llm_endpoint-throttle-rate-limit-extreme
  • chaos.general.llm_endpoint-throttle-rate-limit-high
  • chaos.general.llm_endpoint-throttle-rate-limit-mild
  • chaos.general.pod-corrupt-rollout-stall-extreme
  • chaos.general.pod-corrupt-rollout-stall-high
  • chaos.general.pod-corrupt-rollout-stall-mild
  • chaos.general.pod-delay-gateway-latency-extreme-v2
  • chaos.general.pod-delay-gateway-latency-extreme
  • chaos.general.pod-delay-gateway-latency-high-v2
  • chaos.general.pod-delay-gateway-latency-high
  • chaos.general.pod-delay-gateway-latency-mild-v2
  • chaos.general.pod-delay-gateway-latency-mild
  • chaos.general.pod-drop-request-failure-extreme-v2
  • chaos.general.pod-drop-request-failure-extreme
  • chaos.general.pod-drop-request-failure-high-v2
  • chaos.general.pod-drop-request-failure-high
  • chaos.general.pod-drop-request-failure-mild-v2
  • chaos.general.pod-drop-request-failure-mild
  • chaos.general.pod-saturate-node-cpu-extreme-v2
  • chaos.general.pod-saturate-node-cpu-extreme
  • chaos.general.pod-saturate-node-cpu-high-v2
  • chaos.general.pod-saturate-node-cpu-high
  • chaos.general.pod-saturate-node-cpu-mild-v2
  • chaos.general.pod-saturate-node-cpu-mild
  • chaos.general.pod-stop-pod-restart-extreme
  • chaos.general.pod-stop-pod-restart-high
  • chaos.general.pod-stop-pod-restart-mild
  • chaos.general.vm-saturate-host-cpu-extreme-v2
  • chaos.general.vm-saturate-host-cpu-extreme
  • chaos.general.vm-saturate-host-cpu-high-v2
  • chaos.general.vm-saturate-host-cpu-high
  • chaos.general.vm-saturate-host-cpu-mild-v2
  • chaos.general.vm-saturate-host-cpu-mild
  • chaos.general.vm-saturate-host-memory-extreme
  • chaos.general.vm-saturate-host-memory-high
  • chaos.general.vm-saturate-host-memory-mild
GPU and AI serving - 22 IDs
  • chaos.gpu.gpu-delay-gpu-pcie-degradation
  • chaos.gpu.gpu-ecc_error-gpu-ecc-uncorrectable-v2
  • chaos.gpu.gpu-ecc_error-gpu-ecc-uncorrectable
  • chaos.gpu.gpu-hang-gpu-util-zero-wasted
  • chaos.gpu.gpu-oom-gpu-vram-oom-v2
  • chaos.gpu.gpu-oom-gpu-vram-oom
  • chaos.gpu.gpu-quota_shrink-gpu-idle-hours-wasted
  • chaos.gpu.gpu-quota_shrink-gpu-sku-mismatch
  • chaos.gpu.gpu-thermal_throttle-gpu-temp-throttle
  • chaos.gpu.gpu-throttle-gpu-power-throttle
  • chaos.gpu.gpu-xid_event-gpu-xid-event-v2
  • chaos.gpu.gpu-xid_event-gpu-xid-event
  • chaos.gpu.gpu_cluster-saturate-gpu-util-saturated
  • chaos.gpu.inference_endpoint-cache_overflow-kv-cache-pressure
  • chaos.gpu.inference_endpoint-delay-inference-p99-spike
  • chaos.gpu.inference_endpoint-delay-weights-fetch-stall
  • chaos.gpu.inference_endpoint-ramp-cold-start-latency-spike
  • chaos.gpu.llm_endpoint-quota_shrink-token-spend-spike
  • chaos.gpu.training_job-checkpoint_fail-spot-preempt-cascade
  • chaos.gpu.training_job-delay-distributed-straggler
  • chaos.gpu.training_job-hang-nccl-timeout
  • chaos.gpu.training_job-preempt-spot-preempt-cascade
AWS FIS cross-CSP reference - 17 IDs
  • chaos.aws-fis.ec2-reboot-instances
  • chaos.aws-fis.ec2-send-spot-instance-interruptions
  • chaos.aws-fis.ec2-stop-instances
  • chaos.aws-fis.ec2-terminate-instances
  • chaos.aws-fis.ecs-stop-task
  • chaos.aws-fis.eks-pod-cpu-stress
  • chaos.aws-fis.eks-pod-network-latency
  • chaos.aws-fis.network-disrupt-connectivity
  • chaos.aws-fis.rds-failover-db-cluster
  • chaos.aws-fis.rds-reboot-db-instances
  • chaos.aws-fis.s3-bucket-pause-replication
  • chaos.aws-fis.ssm-cpu-stress
  • chaos.aws-fis.ssm-disk-fill
  • chaos.aws-fis.ssm-kill-process
  • chaos.aws-fis.ssm-memory-stress
  • chaos.aws-fis.ssm-network-latency
  • chaos.aws-fis.ssm-network-packet-loss
  • Catalog validated means schema, registered signal, unique ID, and symptom index checks pass.
  • Dispatchable means the default factory can construct the injector and probe pair with a complete context. It does not mean a live fault ran.
  • Observation mode covered means the detection, routing, RCA, response, and safety mapping exists without mutation.
  • Live enforcement validated means a disposable substrate recorded injection, expected detection, and rollback for that scenario.
  • Promoted would mean the scenario passed its independent promotion gate. The current catalog has zero promoted entries.
To learn aboutRead
How a catalog scenario runs safelyChaos engineering
How detected issues and forecasts are validatedObservability, detection, and forecasting
How outcome measurements are comparedMeasuring SRE outcomes
The internal scaling designScaling the SRE Scenario Library