Operational Remediation Reports
Rollback Action Remediation Report
Turn a failed-check count into a concrete remediation action without reading live service state.
remediation action
A remediation report converts the observed failure count into a single monitor, rollback, or escalate action.
rollback limit
The rollback limit stays a scalar so the threshold that drives escalation is visible in the replay.
Rollback Action Remediation Report
rollback_action_remediation_report.c
Replay: real traced execution (multi-file project)
#include <stdio.h>
int main(void) {
int failedChecks = 2;
int rollbackLimit = 1;
const char *action = "monitor";
if (failedChecks > 0) {
action = "rollback";
}
if (failedChecks > rollbackLimit + 2) {
action = "escalate";
}
printf("failed=%d\n", failedChecks);
printf("limit=%d\n", rollbackLimit);
printf("action=%s\n", action);
return 0;
}
#include <stdio.h>
int main(void) {
int failedChecks = 0;
int rollbackLimit = 1;
const char *action = "monitor";
if (failedChecks > 0) {
action = "rollback";
}
if (failedChecks > rollbackLimit + 2) {
action = "escalate";
}
printf("failed=%d\n", failedChecks);
printf("limit=%d\n", rollbackLimit);
printf("action=%s\n", action);
return 0;
}
#include <stdio.h>
int main(void) {
int failedChecks = 4;
int rollbackLimit = 1;
const char *action = "monitor";
if (failedChecks > 0) {
action = "rollback";
}
if (failedChecks > rollbackLimit + 2) {
action = "escalate";
}
printf("failed=%d\n", failedChecks);
printf("limit=%d\n", rollbackLimit);
printf("action=%s\n", action);
return 0;
}
failedChecks ← 2, rollbackLimit ← 1, action ← monitor
3int main(void) {4 int failedChecks→ 2 = 2; //@failedChecks=0, 45 int rollbackLimit→ 1 = 1;6 const char *action→ monitor = "monitor";action ← rollback
8if (failedChecks2 > 0) {9 action→ rollback = "rollback";10}printf("failed=%d ", failedChecks);
16 printf("failed=%d\n", failedChecks2);17 printf("limit=%d\n", rollbackLimit1);18 printf("action=%s\n", actionrollback);19 return 0;20}outputfailed=2 limit=1 action=rollback
failedChecks ← 0, rollbackLimit ← 1, action ← monitor
3int main(void) {4 int failedChecks→ 0 = 0;5 int rollbackLimit→ 1 = 1;6 const char *action→ monitor = "monitor";78 if (failedChecks > 0) {9 action = "rollback";10 }1112 if (failedChecks > rollbackLimit + 2) {13 action = "escalate";14 }1516 printf("failed=%d\n", failedChecks0);17 printf("limit=%d\n", rollbackLimit1);18 printf("action=%s\n", actionmonitor);19 return 0;20}outputfailed=0 limit=1 action=monitor
failedChecks ← 4, rollbackLimit ← 1, action ← monitor
3int main(void) {4 int failedChecks→ 4 = 4;5 int rollbackLimit→ 1 = 1;6 const char *action→ monitor = "monitor";action ← rollback
8if (failedChecks4 > 0) {9 action→ rollback = "rollback";10}action ← escalate
12if (failedChecks4 > rollbackLimit1 + 2) {13 action→ escalate = "escalate";14}printf("failed=%d ", failedChecks);
16 printf("failed=%d\n", failedChecks4);17 printf("limit=%d\n", rollbackLimit1);18 printf("action=%s\n", actionescalate);19 return 0;20}outputfailed=4 limit=1 action=escalate