Compare spent error budget with the available budget and report burn status.

Error Budget Reliability Report

error_budget_reliability_report.c
#include <stdio.h>

int main(void) {
    int spent = ;
    int budget = 5;
    const char *status = "ok";

    if (spent >= budget - 1) {
        status = "watch";
    }

    if (spent > budget) {
        status = "halt";
    }

    printf("spent=%d\n", spent);
    printf("budget=%d\n", budget);
    printf("status=%s\n", status);
    return 0;
}
#include <stdio.h>

int main(void) {
    int spent = ;
    int budget = 5;
    const char *status = "ok";

    if (spent >= budget - 1) {
        status = "watch";
    }

    if (spent > budget) {
        status = "halt";
    }

    printf("spent=%d\n", spent);
    printf("budget=%d\n", budget);
    printf("status=%s\n", status);
    return 0;
}
#include <stdio.h>

int main(void) {
    int spent = ;
    int budget = 5;
    const char *status = "ok";

    if (spent >= budget - 1) {
        status = "watch";
    }

    if (spent > budget) {
        status = "halt";
    }

    printf("spent=%d\n", spent);
    printf("budget=%d\n", budget);
    printf("status=%s\n", status);
    return 0;
}
budget spend Budget spend is kept as a scalar so each selector variant has a clear report input.
burn status The burn status switches from ok to watch to halt as the budget is consumed.