diff --git a/.pending/improvements/sdk/926-circuit-breaker- b/.pending/improvements/sdk/926-circuit-breaker- new file mode 100644 index 000000000..9b3321e7d --- /dev/null +++ b/.pending/improvements/sdk/926-circuit-breaker- @@ -0,0 +1 @@ +\#926 circuit breaker high level explanation diff --git a/docs/spec/circuit-breaker/01_concepts.md b/docs/spec/circuit-breaker/01_concepts.md new file mode 100644 index 000000000..a0b9162a7 --- /dev/null +++ b/docs/spec/circuit-breaker/01_concepts.md @@ -0,0 +1,17 @@ +# Concepts + +The intention of the circuit breaker is to have a contingency plan for a +running network which maintains network liveness. This can be achieved through +selectively "pausing" functionality of specific modules on a running network. +The circuit breaker is intended to be enabled through either: + + - governance + - for emergencies a special subset of accounts selected by the state machine + - a transaction which proves the expected behaviour is broken + +## Pause state + +The basic pause state of any module simply disables all message routes to +that module. Beyond that, it may be a appropriate for different modules to +process begin-block/end-block in an altered "safe" way. +