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

Rollout Guard Reliability Report

RolloutGuard.kt
fun main() {
    val pendingMigrations = 
    val errorBudget = 8
    var rolloutStatus = "hold"

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

    println("pending=$pendingMigrations budget=$errorBudget status=$rolloutStatus")
}
fun main() {
    val pendingMigrations = 
    val errorBudget = 8
    var rolloutStatus = "hold"

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

    println("pending=$pendingMigrations budget=$errorBudget status=$rolloutStatus")
}
fun main() {
    val pendingMigrations = 
    val errorBudget = 8
    var rolloutStatus = "hold"

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

    println("pending=$pendingMigrations budget=$errorBudget status=$rolloutStatus")
}
rollout guard Rollout readiness can be modeled as scalar checks before any live deployment system sees it.