Summarize whether an open service window is ready, watched, or blocked.

service-window-report Operational status can be built from small scalar checks. Later guards can raise the status without hiding the earlier values.

Service Window Reliability Report

failed_checks
service_window_reliability_report.rb
Replay: real traced execution (multi-file project)
failed_checks = 1
open_minutes = 45
status = "ready"

if failed_checks > 0 && open_minutes > 30
  status = "watch"
end

if failed_checks >= 3
  status = "blocked"
end

puts "failed=#{failed_checks}"
puts "open=#{open_minutes}"
puts "status=#{status}"
failed_checks = 0
open_minutes = 45
status = "ready"

if failed_checks > 0 && open_minutes > 30
  status = "watch"
end

if failed_checks >= 3
  status = "blocked"
end

puts "failed=#{failed_checks}"
puts "open=#{open_minutes}"
puts "status=#{status}"
failed_checks = 3
open_minutes = 45
status = "ready"

if failed_checks > 0 && open_minutes > 30
  status = "watch"
end

if failed_checks >= 3
  status = "blocked"
end

puts "failed=#{failed_checks}"
puts "open=#{open_minutes}"
puts "status=#{status}"
  1. failed_checks ← 1, open_minutes ← 45, status ← ready

    1failed_checks→ 1 = 1 #@failed_checks=0, 32open_minutes→ 45 = 453status→ ready = "ready"
  2. status ← watch

    5if failed_checks1 > 0 && open_minutes45 > 306  status→ watch = "watch"7end
  3. puts "failed=#{failed_checks}"

    13puts "failed=#{failed_checks1}"14puts "open=#{open_minutes45}"15puts "status=#{statuswatch}"
    outputfailed=1
    open=45
    status=watch
  1. failed_checks ← 0, open_minutes ← 45, status ← ready

    1failed_checks→ 0 = 02open_minutes→ 45 = 453status→ ready = "ready"45if failed_checks > 0 && open_minutes > 306  status = "watch"7end89if failed_checks >= 310  status = "blocked"11end1213puts "failed=#{failed_checks0}"14puts "open=#{open_minutes45}"15puts "status=#{statusready}"
    outputfailed=0
    open=45
    status=ready
  1. failed_checks ← 3, open_minutes ← 45, status ← ready

    1failed_checks→ 3 = 32open_minutes→ 45 = 453status→ ready = "ready"
  2. status ← watch

    5if failed_checks3 > 0 && open_minutes45 > 306  status→ watch = "watch"7end
  3. status ← blocked

    9if failed_checks3 >= 310  status→ blocked = "blocked"11end
  4. puts "failed=#{failed_checks}"

    13puts "failed=#{failed_checks3}"14puts "open=#{open_minutes45}"15puts "status=#{statusblocked}"
    outputfailed=3
    open=45
    status=blocked