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

rollout guard Rollout readiness can be modeled as scalar checks before any live deployment system sees it.

Rollout Guard Reliability Report

pending_migrations
rollout_guard.lua
Replay: real traced execution (multi-file project)
local pending_migrations = 1
local error_budget = 8
local rollout_status = "hold"

if pending_migrations == 0 and error_budget >= 8 then
  rollout_status = "ship"
elseif pending_migrations <= 1 and error_budget >= 6 then
  rollout_status = "limit"
end

print("pending=" .. pending_migrations .. " budget=" .. error_budget .. " status=" .. rollout_status)
local pending_migrations = 0
local error_budget = 8
local rollout_status = "hold"

if pending_migrations == 0 and error_budget >= 8 then
  rollout_status = "ship"
elseif pending_migrations <= 1 and error_budget >= 6 then
  rollout_status = "limit"
end

print("pending=" .. pending_migrations .. " budget=" .. error_budget .. " status=" .. rollout_status)
local pending_migrations = 3
local error_budget = 8
local rollout_status = "hold"

if pending_migrations == 0 and error_budget >= 8 then
  rollout_status = "ship"
elseif pending_migrations <= 1 and error_budget >= 6 then
  rollout_status = "limit"
end

print("pending=" .. pending_migrations .. " budget=" .. error_budget .. " status=" .. rollout_status)
  1. pending_migrations ← 1, error_budget ← 8, rollout_status ← hold

    1local pending_migrations→ 1 = 1 --@pending_migrations=0, 32local error_budget→ 8 = 83local rollout_status→ hold = "hold"
  2. rollout_status ← limit

    6  rollout_status = "ship"7elseif pending_migrations1 <= 1 and error_budget8 >= 6 then8  rollout_status→ limit = "limit"9end
  3. print("pending=" .. pending_migrations .. " budget=" .. error_budget .…

    11print("pending=" .. pending_migrations1 .. " budget=" .. error_budget8 .. " status=" .. rollout_statuslimit)
    outputpending=1 budget=8 status=limit
  1. pending_migrations ← 0, error_budget ← 8, rollout_status ← hold

    1local pending_migrations→ 0 = 02local error_budget→ 8 = 83local rollout_status→ hold = "hold"
  2. rollout_status ← ship

    5if pending_migrations0 == 0 and error_budget8 >= 8 then6  rollout_status→ ship = "ship"7elseif pending_migrations <= 1 and error_budget >= 6 then
  3. print("pending=" .. pending_migrations .. " budget=" .. error_budget .…

    11print("pending=" .. pending_migrations0 .. " budget=" .. error_budget8 .. " status=" .. rollout_statusship)
    outputpending=0 budget=8 status=ship
  1. pending_migrations ← 3, error_budget ← 8, rollout_status ← hold

    1local pending_migrations→ 3 = 32local error_budget→ 8 = 83local rollout_status→ hold = "hold"45if pending_migrations == 0 and error_budget >= 8 then6  rollout_status = "ship"7elseif pending_migrations <= 1 and error_budget >= 6 then8  rollout_status = "limit"9end1011print("pending=" .. pending_migrations3 .. " budget=" .. error_budget8 .. " status=" .. rollout_statushold)
    outputpending=3 budget=8 status=hold