Classify a rollout guard as ship, limit, or hold from deterministic readiness inputs.

Rollout Guard Reliability Report

rollout_guard.ts
type RolloutReport = {
    pendingMigrations: number;
    errorBudget: number;
    status: string;
};

const pendingMigrations: number = ;
const errorBudget: number = 8;
let reportStatus: string = "hold";

if (pendingMigrations === 0 && errorBudget >= 8) {
    reportStatus = "ship";
} else if (pendingMigrations <= 1 && errorBudget >= 6) {
    reportStatus = "limit";
}

const report: RolloutReport = { pendingMigrations, errorBudget, status: reportStatus };
console.log(`pending=${report.pendingMigrations} budget=${report.errorBudget} status=${report.status}`);
type RolloutReport = {
    pendingMigrations: number;
    errorBudget: number;
    status: string;
};

const pendingMigrations: number = ;
const errorBudget: number = 8;
let reportStatus: string = "hold";

if (pendingMigrations === 0 && errorBudget >= 8) {
    reportStatus = "ship";
} else if (pendingMigrations <= 1 && errorBudget >= 6) {
    reportStatus = "limit";
}

const report: RolloutReport = { pendingMigrations, errorBudget, status: reportStatus };
console.log(`pending=${report.pendingMigrations} budget=${report.errorBudget} status=${report.status}`);
type RolloutReport = {
    pendingMigrations: number;
    errorBudget: number;
    status: string;
};

const pendingMigrations: number = ;
const errorBudget: number = 8;
let reportStatus: string = "hold";

if (pendingMigrations === 0 && errorBudget >= 8) {
    reportStatus = "ship";
} else if (pendingMigrations <= 1 && errorBudget >= 6) {
    reportStatus = "limit";
}

const report: RolloutReport = { pendingMigrations, errorBudget, status: reportStatus };
console.log(`pending=${report.pendingMigrations} budget=${report.errorBudget} status=${report.status}`);
rollout guard Rollout readiness can be modeled as scalar checks before any live deployment system sees it.