Operational Reliability Reports
Rollout Guard Reliability Report
Use pending checks and error budget to choose a rollout guard status.
guard status
A rollout guard turns operational evidence into a compact ship, limit, or hold label.
pending checks
Pending checks are treated separately from error budget so the cause stays visible.
Rollout Guard Reliability Report
rollout_guard_reliability_report.c
Replay: real traced execution (multi-file project)
#include <stdio.h>
int main(void) {
int pendingChecks = 1;
int errorBudget = 8;
const char *status = "ship";
if (errorBudget < 5) {
status = "limit";
}
if (pendingChecks > 0) {
status = "limit";
}
if (pendingChecks >= 3) {
status = "hold";
}
printf("pending=%d\n", pendingChecks);
printf("budget=%d\n", errorBudget);
printf("status=%s\n", status);
return 0;
}
#include <stdio.h>
int main(void) {
int pendingChecks = 0;
int errorBudget = 8;
const char *status = "ship";
if (errorBudget < 5) {
status = "limit";
}
if (pendingChecks > 0) {
status = "limit";
}
if (pendingChecks >= 3) {
status = "hold";
}
printf("pending=%d\n", pendingChecks);
printf("budget=%d\n", errorBudget);
printf("status=%s\n", status);
return 0;
}
#include <stdio.h>
int main(void) {
int pendingChecks = 3;
int errorBudget = 8;
const char *status = "ship";
if (errorBudget < 5) {
status = "limit";
}
if (pendingChecks > 0) {
status = "limit";
}
if (pendingChecks >= 3) {
status = "hold";
}
printf("pending=%d\n", pendingChecks);
printf("budget=%d\n", errorBudget);
printf("status=%s\n", status);
return 0;
}
pendingChecks ← 1, errorBudget ← 8, status ← ship
3int main(void) {4 int pendingChecks→ 1 = 1; //@pendingChecks=0, 35 int errorBudget→ 8 = 8;6 const char *status→ ship = "ship";status ← limit
12if (pendingChecks1 > 0) {13 status→ limit = "limit";14}printf("pending=%d ", pendingChecks);
20 printf("pending=%d\n", pendingChecks1);21 printf("budget=%d\n", errorBudget8);22 printf("status=%s\n", statuslimit);23 return 0;24}outputpending=1 budget=8 status=limit
pendingChecks ← 0, errorBudget ← 8, status ← ship
3int main(void) {4 int pendingChecks→ 0 = 0;5 int errorBudget→ 8 = 8;6 const char *status→ ship = "ship";78 if (errorBudget < 5) {9 status = "limit";10 }1112 if (pendingChecks > 0) {13 status = "limit";14 }1516 if (pendingChecks >= 3) {17 status = "hold";18 }1920 printf("pending=%d\n", pendingChecks0);21 printf("budget=%d\n", errorBudget8);22 printf("status=%s\n", statusship);23 return 0;24}outputpending=0 budget=8 status=ship
pendingChecks ← 3, errorBudget ← 8, status ← ship
3int main(void) {4 int pendingChecks→ 3 = 3;5 int errorBudget→ 8 = 8;6 const char *status→ ship = "ship";status ← limit
12if (pendingChecks3 > 0) {13 status→ limit = "limit";14}status ← hold
16if (pendingChecks3 >= 3) {17 status→ hold = "hold";18}printf("pending=%d ", pendingChecks);
20 printf("pending=%d\n", pendingChecks3);21 printf("budget=%d\n", errorBudget8);22 printf("status=%s\n", statushold);23 return 0;24}outputpending=3 budget=8 status=hold