Use rollout checks to choose a ship, limit, or hold label.

rollout-guard-report Release gates are easiest to audit when each guard writes a compact status.

Rollout Guard Reliability Report

pending_checks
rollout_guard_reliability_report.rb
Replay: real traced execution (multi-file project)
pending_checks = 1
error_budget = 8
status = "ship"

if pending_checks > 0
  status = "limit"
end

if pending_checks >= 3 || error_budget < 5
  status = "hold"
end

puts "pending=#{pending_checks}"
puts "budget=#{error_budget}"
puts "status=#{status}"
pending_checks = 0
error_budget = 8
status = "ship"

if pending_checks > 0
  status = "limit"
end

if pending_checks >= 3 || error_budget < 5
  status = "hold"
end

puts "pending=#{pending_checks}"
puts "budget=#{error_budget}"
puts "status=#{status}"
pending_checks = 3
error_budget = 8
status = "ship"

if pending_checks > 0
  status = "limit"
end

if pending_checks >= 3 || error_budget < 5
  status = "hold"
end

puts "pending=#{pending_checks}"
puts "budget=#{error_budget}"
puts "status=#{status}"
  1. pending_checks ← 1, error_budget ← 8, status ← ship

    1pending_checks→ 1 = 1 #@pending_checks=0, 32error_budget→ 8 = 83status→ ship = "ship"
  2. status ← limit

    5if pending_checks1 > 06  status→ limit = "limit"7end
  3. puts "pending=#{pending_checks}"

    13puts "pending=#{pending_checks1}"14puts "budget=#{error_budget8}"15puts "status=#{statuslimit}"
    outputpending=1
    budget=8
    status=limit
  1. pending_checks ← 0, error_budget ← 8, status ← ship

    1pending_checks→ 0 = 02error_budget→ 8 = 83status→ ship = "ship"45if pending_checks > 06  status = "limit"7end89if pending_checks >= 3 || error_budget < 510  status = "hold"11end1213puts "pending=#{pending_checks0}"14puts "budget=#{error_budget8}"15puts "status=#{statusship}"
    outputpending=0
    budget=8
    status=ship
  1. pending_checks ← 3, error_budget ← 8, status ← ship

    1pending_checks→ 3 = 32error_budget→ 8 = 83status→ ship = "ship"
  2. status ← limit

    5if pending_checks3 > 06  status→ limit = "limit"7end
  3. status ← hold

    9if pending_checks3 >= 3 || error_budget8 < 510  status→ hold = "hold"11end
  4. puts "pending=#{pending_checks}"

    13puts "pending=#{pending_checks3}"14puts "budget=#{error_budget8}"15puts "status=#{statushold}"
    outputpending=3
    budget=8
    status=hold