Operational Remediation Reports
Rollback Action Report
Choose Remediation
A remediation report can convert failed checks into a concrete action without depending on live service state. The selector changes only the failed-check count.
Program
Play the program to choose the failed check count and inspect the remediation action.
rollback_action_report.dart
Replay: real traced execution (multi-file project)
void main() {
var failedChecks = 2;
var rollbackLimit = 1;
var action = 'monitor';
if (failedChecks == 0) {
action = 'monitor';
} else if (failedChecks <= rollbackLimit + 2) {
action = 'rollback';
} else {
action = 'escalate';
}
var line = 'failed=$failedChecks $action';
print(line);
}
void main() {
var failedChecks = 0;
var rollbackLimit = 1;
var action = 'monitor';
if (failedChecks == 0) {
action = 'monitor';
} else if (failedChecks <= rollbackLimit + 2) {
action = 'rollback';
} else {
action = 'escalate';
}
var line = 'failed=$failedChecks $action';
print(line);
}
void main() {
var failedChecks = 4;
var rollbackLimit = 1;
var action = 'monitor';
if (failedChecks == 0) {
action = 'monitor';
} else if (failedChecks <= rollbackLimit + 2) {
action = 'rollback';
} else {
action = 'escalate';
}
var line = 'failed=$failedChecks $action';
print(line);
}
failedChecks ← 2
1void main() {2 var failedChecks = 2;3 var rollbackLimit = 1;values this step2failedChecksrollbackLimit ← 1
2var failedChecks = 2;3var rollbackLimit = 1;4var action = 'monitor';values this step1rollbackLimitaction ← monitor
3var rollbackLimit = 1;4var action = 'monitor';5if (failedChecks == 0) {values this stepmonitoractioncondition ← false
4var action = 'monitor';5if (failedChecks == 0) {6 action = 'monitor';values this stepfalsecondition2failedCheckscondition ← true
6 action = 'monitor';7} else if (failedChecks <= rollbackLimit + 2) {8 action = 'rollback';values this steptruecondition2failedChecks1rollbackLimitaction ← rollback
7} else if (failedChecks <= rollbackLimit + 2) {8 action = 'rollback';9} else {values this steprollbackactionline ← failed=2 rollback
11}12var line = 'failed=$failedChecks $action';13print(line);values this stepfailed=2 rollbackline2failedChecksrollbackactionprint(line);
12 var line = 'failed=$failedChecks $action';13 print(line);14}outputfailed=2 rollbackvalues this stepfailed=2 rollbackline
failedChecks ← 0
1void main() {2 var failedChecks = 0;3 var rollbackLimit = 1;values this step0failedChecksrollbackLimit ← 1
2var failedChecks = 0;3var rollbackLimit = 1;4var action = 'monitor';values this step1rollbackLimitaction ← monitor
3var rollbackLimit = 1;4var action = 'monitor';5if (failedChecks == 0) {values this stepmonitoractioncondition ← true
4var action = 'monitor';5if (failedChecks == 0) {6 action = 'monitor';values this steptruecondition0failedChecksaction ← monitor
5if (failedChecks == 0) {6 action = 'monitor';7} else if (failedChecks <= rollbackLimit + 2) {values this stepmonitoractionline ← failed=0 monitor
11}12var line = 'failed=$failedChecks $action';13print(line);values this stepfailed=0 monitorline0failedChecksmonitoractionprint(line);
12 var line = 'failed=$failedChecks $action';13 print(line);14}outputfailed=0 monitorvalues this stepfailed=0 monitorline
failedChecks ← 4
1void main() {2 var failedChecks = 4;3 var rollbackLimit = 1;values this step4failedChecksrollbackLimit ← 1
2var failedChecks = 4;3var rollbackLimit = 1;4var action = 'monitor';values this step1rollbackLimitaction ← monitor
3var rollbackLimit = 1;4var action = 'monitor';5if (failedChecks == 0) {values this stepmonitoractioncondition ← false
4var action = 'monitor';5if (failedChecks == 0) {6 action = 'monitor';values this stepfalsecondition4failedCheckscondition ← false
6 action = 'monitor';7} else if (failedChecks <= rollbackLimit + 2) {8 action = 'rollback';values this stepfalsecondition4failedChecks1rollbackLimitaction ← escalate
9} else {10 action = 'escalate';11}values this stepescalateactionline ← failed=4 escalate
11}12var line = 'failed=$failedChecks $action';13print(line);values this stepfailed=4 escalateline4failedChecksescalateactionprint(line);
12 var line = 'failed=$failedChecks $action';13 print(line);14}outputfailed=4 escalatevalues this stepfailed=4 escalateline
selector count
`failedChecks` is the only input that changes between report variants.
rollback limit
`rollbackLimit` keeps the action threshold visible and deterministic.
action row
The printable row pairs the selected count with the chosen remediation.