Operational Remediation Reports
Retry Budget Remediation Report
Compare retries already spent against a fixed budget and choose a retry, hold, or abort action.
remaining budget
The remaining budget is derived once so each action variant has a single visible driver.
remediation step
The action moves from retry to hold to abort as the remaining budget is consumed.
Retry Budget Remediation Report
retry_budget_remediation_report.c
Replay: real traced execution (multi-file project)
#include <stdio.h>
int main(void) {
int retriesUsed = 1;
int retryBudget = 4;
int remaining = retryBudget - retriesUsed;
const char *action = "retry";
if (remaining <= 1) {
action = "hold";
}
if (remaining <= 0) {
action = "abort";
}
printf("used=%d\n", retriesUsed);
printf("remaining=%d\n", remaining);
printf("action=%s\n", action);
return 0;
}
#include <stdio.h>
int main(void) {
int retriesUsed = 3;
int retryBudget = 4;
int remaining = retryBudget - retriesUsed;
const char *action = "retry";
if (remaining <= 1) {
action = "hold";
}
if (remaining <= 0) {
action = "abort";
}
printf("used=%d\n", retriesUsed);
printf("remaining=%d\n", remaining);
printf("action=%s\n", action);
return 0;
}
#include <stdio.h>
int main(void) {
int retriesUsed = 5;
int retryBudget = 4;
int remaining = retryBudget - retriesUsed;
const char *action = "retry";
if (remaining <= 1) {
action = "hold";
}
if (remaining <= 0) {
action = "abort";
}
printf("used=%d\n", retriesUsed);
printf("remaining=%d\n", remaining);
printf("action=%s\n", action);
return 0;
}
retriesUsed ← 1, retryBudget ← 4, remaining ← 3, action ← retry
3int main(void) {4 int retriesUsed→ 1 = 1; //@retriesUsed=3, 55 int retryBudget→ 4 = 4;6 int remaining→ 3 = retryBudget4 - retriesUsed1;7 const char *action→ retry = "retry";89 if (remaining <= 1) {10 action = "hold";11 }1213 if (remaining <= 0) {14 action = "abort";15 }1617 printf("used=%d\n", retriesUsed1);18 printf("remaining=%d\n", remaining3);19 printf("action=%s\n", actionretry);20 return 0;21}outputused=1 remaining=3 action=retry
retriesUsed ← 3, retryBudget ← 4, remaining ← 1, action ← retry
3int main(void) {4 int retriesUsed→ 3 = 3;5 int retryBudget→ 4 = 4;6 int remaining→ 1 = retryBudget4 - retriesUsed3;7 const char *action→ retry = "retry";action ← hold
9if (remaining1 <= 1) {10 action→ hold = "hold";11}printf("used=%d ", retriesUsed);
17 printf("used=%d\n", retriesUsed3);18 printf("remaining=%d\n", remaining1);19 printf("action=%s\n", actionhold);20 return 0;21}outputused=3 remaining=1 action=hold
retriesUsed ← 5, retryBudget ← 4, remaining ← -1, action ← retry
3int main(void) {4 int retriesUsed→ 5 = 5;5 int retryBudget→ 4 = 4;6 int remaining→ -1 = retryBudget4 - retriesUsed5;7 const char *action→ retry = "retry";action ← hold
9if (remaining-1 <= 1) {10 action→ hold = "hold";11}action ← abort
13if (remaining-1 <= 0) {14 action→ abort = "abort";15}printf("used=%d ", retriesUsed);
17 printf("used=%d\n", retriesUsed5);18 printf("remaining=%d\n", remaining-1);19 printf("action=%s\n", actionabort);20 return 0;21}outputused=5 remaining=-1 action=abort