Operational Remediation Reports
Rollback Action Report
Choose the Next Step
A remediation report can map a failure count to a concrete next action while keeping the signal and action visible in one row.
Program
Play the program to choose the failed check count and inspect the remediation action.
rollback_action_report.f90
Replay: real traced execution (multi-file project)
program rollback_action_report_demo
implicit none
integer :: failed_checks
character(len=10) :: action
failed_checks = 2
if (failed_checks == 0) then
action = 'monitor'
else if (failed_checks <= 2) then
action = 'rollback'
else
action = 'escalate'
end if
print '(A, I0, 1X, A)', 'failed=', failed_checks, trim(action)
end program rollback_action_report_demo
program rollback_action_report_demo
implicit none
integer :: failed_checks
character(len=10) :: action
failed_checks = 0
if (failed_checks == 0) then
action = 'monitor'
else if (failed_checks <= 2) then
action = 'rollback'
else
action = 'escalate'
end if
print '(A, I0, 1X, A)', 'failed=', failed_checks, trim(action)
end program rollback_action_report_demo
program rollback_action_report_demo
implicit none
integer :: failed_checks
character(len=10) :: action
failed_checks = 4
if (failed_checks == 0) then
action = 'monitor'
else if (failed_checks <= 2) then
action = 'rollback'
else
action = 'escalate'
end if
print '(A, I0, 1X, A)', 'failed=', failed_checks, trim(action)
end program rollback_action_report_demo
failed_checks ← 2
6failed_checks = 27if (failed_checks == 0) thenvalues this step2failed_checksif (failed_checks == 0) then
6failed_checks = 27if (failed_checks == 0) then8 action = 'monitor'values this step2failed_checkselse if (failed_checks <= 2) then
8 action = 'monitor'9else if (failed_checks <= 2) then10 action = 'rollback'values this step2failed_checksaction ← rollback
9else if (failed_checks <= 2) then10 action = 'rollback'11elsevalues this steprollbackactionprint '(A, I0, 1X, A)', 'failed=', failed_checks, trim(action)
13 end if14 print '(A, I0, 1X, A)', 'failed=', failed_checks, trim(action)15end program rollback_action_report_demooutputfailed=2 rollbackvalues this step2failed_checksrollbackaction
failed_checks ← 0
6failed_checks = 07if (failed_checks == 0) thenvalues this step0failed_checksif (failed_checks == 0) then
6failed_checks = 07if (failed_checks == 0) then8 action = 'monitor'values this step0failed_checksaction ← monitor
7if (failed_checks == 0) then8 action = 'monitor'9else if (failed_checks <= 2) thenvalues this stepmonitoractionprint '(A, I0, 1X, A)', 'failed=', failed_checks, trim(action)
13 end if14 print '(A, I0, 1X, A)', 'failed=', failed_checks, trim(action)15end program rollback_action_report_demooutputfailed=0 monitorvalues this step0failed_checksmonitoraction
failed_checks ← 4
6failed_checks = 47if (failed_checks == 0) thenvalues this step4failed_checksif (failed_checks == 0) then
6failed_checks = 47if (failed_checks == 0) then8 action = 'monitor'values this step4failed_checkselse if (failed_checks <= 2) then
8 action = 'monitor'9else if (failed_checks <= 2) then10 action = 'rollback'values this step4failed_checksaction ← escalate
11else12 action = 'escalate'13end ifvalues this stepescalateactionprint '(A, I0, 1X, A)', 'failed=', failed_checks, trim(action)
13 end if14 print '(A, I0, 1X, A)', 'failed=', failed_checks, trim(action)15end program rollback_action_report_demooutputfailed=4 escalatevalues this step4failed_checksescalateaction
action label
The `action` character value carries the remediation decision as ordinary program state.
tiered decision
The `if`/`else if` chain separates monitor, rollback, and escalation cases.
report row
The print line keeps the raw failure count beside the selected action.