A reliability report often turns a small check summary into a label that an operator can scan. The selector changes the failed-check count while the service window stays fixed.

Program

Play the program to choose the failed check count and inspect the readiness report.

failedChecks
service_window_reliability_report.dart
Replay: real traced execution (multi-file project)
String reliabilityLabel(int failedChecks, int openMinutes) {
  if (failedChecks == 0 && openMinutes >= 30) {
    return 'ready';
  }
  if (failedChecks <= 1) {
    return 'watch';
  }
  return 'blocked';
}

void main() {
  var failedChecks = 1;
  var openMinutes = 45;
  var status = reliabilityLabel(failedChecks, openMinutes);
  var line = 'failed=$failedChecks open=$openMinutes status=$status';
  print(line);
}
String reliabilityLabel(int failedChecks, int openMinutes) {
  if (failedChecks == 0 && openMinutes >= 30) {
    return 'ready';
  }
  if (failedChecks <= 1) {
    return 'watch';
  }
  return 'blocked';
}

void main() {
  var failedChecks = 0;
  var openMinutes = 45;
  var status = reliabilityLabel(failedChecks, openMinutes);
  var line = 'failed=$failedChecks open=$openMinutes status=$status';
  print(line);
}
String reliabilityLabel(int failedChecks, int openMinutes) {
  if (failedChecks == 0 && openMinutes >= 30) {
    return 'ready';
  }
  if (failedChecks <= 1) {
    return 'watch';
  }
  return 'blocked';
}

void main() {
  var failedChecks = 3;
  var openMinutes = 45;
  var status = reliabilityLabel(failedChecks, openMinutes);
  var line = 'failed=$failedChecks open=$openMinutes status=$status';
  print(line);
}
  1. failedChecks ← 1

    11void main() {12  var failedChecks = 1;13  var openMinutes = 45;
    values this step1failedChecks
  2. openMinutes ← 45

    12var failedChecks = 1;13var openMinutes = 45;14var status = reliabilityLabel(failedChecks, openMinutes);
    values this step45openMinutes
  3. call ← reliabilityLabel(1, 45)

    13var openMinutes = 45;14var status = reliabilityLabel(failedChecks, openMinutes);15var line = 'failed=$failedChecks open=$openMinutes status=$status';
    values this stepreliabilityLabel(1, 45)call1failedChecks45openMinutes
  4. condition ← false

    1String reliabilityLabel(int failedChecks, int openMinutes) {2  if (failedChecks == 0 && openMinutes >= 30) {3    return 'ready';
    values this stepfalsecondition1failedChecks45openMinutes
  5. condition ← true

    4}5if (failedChecks <= 1) {6  return 'watch';
    values this steptruecondition1failedChecks
  6. return ← watch

    5if (failedChecks <= 1) {6  return 'watch';7}
    values this stepwatchreturn
  7. status ← watch

    13var openMinutes = 45;14var status = reliabilityLabel(failedChecks, openMinutes);15var line = 'failed=$failedChecks open=$openMinutes status=$status';
    values this stepwatchstatus
  8. line ← failed=1 open=45 status=watch

    14var status = reliabilityLabel(failedChecks, openMinutes);15var line = 'failed=$failedChecks open=$openMinutes status=$status';16print(line);
    values this stepfailed=1 open=45 status=watchline1failedChecks45openMinuteswatchstatus
  9. print(line);

    15  var line = 'failed=$failedChecks open=$openMinutes status=$status';16  print(line);17}
    outputfailed=1 open=45 status=watch
    values this stepfailed=1 open=45 status=watchline
  1. failedChecks ← 0

    11void main() {12  var failedChecks = 0;13  var openMinutes = 45;
    values this step0failedChecks
  2. openMinutes ← 45

    12var failedChecks = 0;13var openMinutes = 45;14var status = reliabilityLabel(failedChecks, openMinutes);
    values this step45openMinutes
  3. call ← reliabilityLabel(0, 45)

    13var openMinutes = 45;14var status = reliabilityLabel(failedChecks, openMinutes);15var line = 'failed=$failedChecks open=$openMinutes status=$status';
    values this stepreliabilityLabel(0, 45)call0failedChecks45openMinutes
  4. condition ← true

    1String reliabilityLabel(int failedChecks, int openMinutes) {2  if (failedChecks == 0 && openMinutes >= 30) {3    return 'ready';
    values this steptruecondition0failedChecks45openMinutes
  5. return ← ready

    2if (failedChecks == 0 && openMinutes >= 30) {3  return 'ready';4}
    values this stepreadyreturn
  6. status ← ready

    13var openMinutes = 45;14var status = reliabilityLabel(failedChecks, openMinutes);15var line = 'failed=$failedChecks open=$openMinutes status=$status';
    values this stepreadystatus
  7. line ← failed=0 open=45 status=ready

    14var status = reliabilityLabel(failedChecks, openMinutes);15var line = 'failed=$failedChecks open=$openMinutes status=$status';16print(line);
    values this stepfailed=0 open=45 status=readyline0failedChecks45openMinutesreadystatus
  8. print(line);

    15  var line = 'failed=$failedChecks open=$openMinutes status=$status';16  print(line);17}
    outputfailed=0 open=45 status=ready
    values this stepfailed=0 open=45 status=readyline
  1. failedChecks ← 3

    11void main() {12  var failedChecks = 3;13  var openMinutes = 45;
    values this step3failedChecks
  2. openMinutes ← 45

    12var failedChecks = 3;13var openMinutes = 45;14var status = reliabilityLabel(failedChecks, openMinutes);
    values this step45openMinutes
  3. call ← reliabilityLabel(3, 45)

    13var openMinutes = 45;14var status = reliabilityLabel(failedChecks, openMinutes);15var line = 'failed=$failedChecks open=$openMinutes status=$status';
    values this stepreliabilityLabel(3, 45)call3failedChecks45openMinutes
  4. condition ← false

    1String reliabilityLabel(int failedChecks, int openMinutes) {2  if (failedChecks == 0 && openMinutes >= 30) {3    return 'ready';
    values this stepfalsecondition3failedChecks45openMinutes
  5. condition ← false

    4}5if (failedChecks <= 1) {6  return 'watch';
    values this stepfalsecondition3failedChecks
  6. return ← blocked

    7  }8  return 'blocked';9}
    values this stepblockedreturn
  7. status ← blocked

    13var openMinutes = 45;14var status = reliabilityLabel(failedChecks, openMinutes);15var line = 'failed=$failedChecks open=$openMinutes status=$status';
    values this stepblockedstatus
  8. line ← failed=3 open=45 status=blocked

    14var status = reliabilityLabel(failedChecks, openMinutes);15var line = 'failed=$failedChecks open=$openMinutes status=$status';16print(line);
    values this stepfailed=3 open=45 status=blockedline3failedChecks45openMinutesblockedstatus
  9. print(line);

    15  var line = 'failed=$failedChecks open=$openMinutes status=$status';16  print(line);17}
    outputfailed=3 open=45 status=blocked
    values this stepfailed=3 open=45 status=blockedline
report function `reliabilityLabel` keeps the readiness policy separate from the printable report row.
compound check `failedChecks == 0 && openMinutes >= 30` models an all-clear service window.
scan line The final line keeps the signal, window, and derived status together.