Classify diagnostic health from failed-check and stale-minute signals.

diagnostic report A diagnostic report keeps raw health signals and the derived label visible in one scalar output row.

Diagnostic Signal Report

failed_checks
diagnostic_signal.lua
Replay: real traced execution (multi-file project)
local failed_checks = 1
local stale_minutes = 12
local signal_status = "watch"

if failed_checks >= 4 then
  signal_status = "critical"
elseif failed_checks == 0 and stale_minutes <= 20 then
  signal_status = "clean"
end

print("failed=" .. failed_checks .. " stale=" .. stale_minutes .. " signal=" .. signal_status)
local failed_checks = 0
local stale_minutes = 12
local signal_status = "watch"

if failed_checks >= 4 then
  signal_status = "critical"
elseif failed_checks == 0 and stale_minutes <= 20 then
  signal_status = "clean"
end

print("failed=" .. failed_checks .. " stale=" .. stale_minutes .. " signal=" .. signal_status)
local failed_checks = 4
local stale_minutes = 12
local signal_status = "watch"

if failed_checks >= 4 then
  signal_status = "critical"
elseif failed_checks == 0 and stale_minutes <= 20 then
  signal_status = "clean"
end

print("failed=" .. failed_checks .. " stale=" .. stale_minutes .. " signal=" .. signal_status)
  1. failed_checks ← 1, stale_minutes ← 12, signal_status ← watch

    1local failed_checks→ 1 = 1 --@failed_checks=0, 42local stale_minutes→ 12 = 123local signal_status→ watch = "watch"45if failed_checks >= 4 then6  signal_status = "critical"7elseif failed_checks == 0 and stale_minutes <= 20 then8  signal_status = "clean"9end1011print("failed=" .. failed_checks1 .. " stale=" .. stale_minutes12 .. " signal=" .. signal_statuswatch)
    outputfailed=1 stale=12 signal=watch
  1. failed_checks ← 0, stale_minutes ← 12, signal_status ← watch

    1local failed_checks→ 0 = 02local stale_minutes→ 12 = 123local signal_status→ watch = "watch"
  2. signal_status ← clean

    6  signal_status = "critical"7elseif failed_checks0 == 0 and stale_minutes12 <= 20 then8  signal_status→ clean = "clean"9end
  3. print("failed=" .. failed_checks .. " stale=" .. stale_minutes .. " si…

    11print("failed=" .. failed_checks0 .. " stale=" .. stale_minutes12 .. " signal=" .. signal_statusclean)
    outputfailed=0 stale=12 signal=clean
  1. failed_checks ← 4, stale_minutes ← 12, signal_status ← watch

    1local failed_checks→ 4 = 42local stale_minutes→ 12 = 123local signal_status→ watch = "watch"
  2. signal_status ← critical

    5if failed_checks4 >= 4 then6  signal_status→ critical = "critical"7elseif failed_checks == 0 and stale_minutes <= 20 then
  3. print("failed=" .. failed_checks .. " stale=" .. stale_minutes .. " si…

    11print("failed=" .. failed_checks4 .. " stale=" .. stale_minutes12 .. " signal=" .. signal_statuscritical)
    outputfailed=4 stale=12 signal=critical