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 kept visible so the report explains why a rollout is limited.
Rollout Guard Reliability Report
rollout_guard_reliability_report.cpp
Replay: real traced execution (multi-file project)
#include <iostream>
#include <string>
int main() {
int pendingChecks = 1;
int errorBudget = 8;
std::string status = "ship";
if (errorBudget < 5) {
status = "limit";
}
if (pendingChecks > 0) {
status = "limit";
}
if (pendingChecks >= 3) {
status = "hold";
}
std::cout << "pending=" << pendingChecks << std::endl;
std::cout << "budget=" << errorBudget << std::endl;
std::cout << "status=" << status << std::endl;
return 0;
}
#include <iostream>
#include <string>
int main() {
int pendingChecks = 0;
int errorBudget = 8;
std::string status = "ship";
if (errorBudget < 5) {
status = "limit";
}
if (pendingChecks > 0) {
status = "limit";
}
if (pendingChecks >= 3) {
status = "hold";
}
std::cout << "pending=" << pendingChecks << std::endl;
std::cout << "budget=" << errorBudget << std::endl;
std::cout << "status=" << status << std::endl;
return 0;
}
#include <iostream>
#include <string>
int main() {
int pendingChecks = 3;
int errorBudget = 8;
std::string status = "ship";
if (errorBudget < 5) {
status = "limit";
}
if (pendingChecks > 0) {
status = "limit";
}
if (pendingChecks >= 3) {
status = "hold";
}
std::cout << "pending=" << pendingChecks << std::endl;
std::cout << "budget=" << errorBudget << std::endl;
std::cout << "status=" << status << std::endl;
return 0;
}
pendingChecks ← 1, errorBudget ← 8, status ← ship
4int main() {5 int pendingChecks→ 1 = 1; //@pendingChecks=0, 36 int errorBudget→ 8 = 8;7 std::string status→ ship = "ship";status ← limit
13if (pendingChecks1 > 0) {14 status→ limit = "limit";15}std::cout << "pending=" << pendingChecks << std::endl;
21 std::cout << "pending=" << pendingChecks1 << std::endl;22 std::cout << "budget=" << errorBudget8 << std::endl;23 std::cout << "status=" << statuslimit << std::endl;24 return 0;25}outputpending=1 budget=8 status=limit
pendingChecks ← 0, errorBudget ← 8, status ← ship
4int main() {5 int pendingChecks→ 0 = 0;6 int errorBudget→ 8 = 8;7 std::string status→ ship = "ship";89 if (errorBudget < 5) {10 status = "limit";11 }1213 if (pendingChecks > 0) {14 status = "limit";15 }1617 if (pendingChecks >= 3) {18 status = "hold";19 }2021 std::cout << "pending=" << pendingChecks0 << std::endl;22 std::cout << "budget=" << errorBudget8 << std::endl;23 std::cout << "status=" << statusship << std::endl;24 return 0;25}outputpending=0 budget=8 status=ship
pendingChecks ← 3, errorBudget ← 8, status ← ship
4int main() {5 int pendingChecks→ 3 = 3;6 int errorBudget→ 8 = 8;7 std::string status→ ship = "ship";status ← limit
13if (pendingChecks3 > 0) {14 status→ limit = "limit";15}status ← hold
17if (pendingChecks3 >= 3) {18 status→ hold = "hold";19}std::cout << "pending=" << pendingChecks << std::endl;
21 std::cout << "pending=" << pendingChecks3 << std::endl;22 std::cout << "budget=" << errorBudget8 << std::endl;23 std::cout << "status=" << statushold << std::endl;24 return 0;25}outputpending=3 budget=8 status=hold