Classify service-window readiness from open request and failed-check counts.

reliability report A reliability report turns operational counts into a small status that is easy to review before a service window opens.

Service Window Reliability Report

failedChecks
ServiceWindowReliabilityReport.cs
Replay: real traced execution (multi-file project)
using System;

class Program
{
    static string Readiness(int failedChecks, int openRequests)
    {
        if (failedChecks >= 3)
        {
            return "blocked";
        }

        if (failedChecks > 0 || openRequests > 40)
        {
            return "watch";
        }

        return "ready";
    }

    static void Main()
    {
        int failedChecks = 1;
        int openRequests = 30;
        string status = Readiness(failedChecks, openRequests);

        Console.WriteLine("failed=" + failedChecks);
        Console.WriteLine("open=" + openRequests);
        Console.WriteLine("status=" + status);
    }
}
using System;

class Program
{
    static string Readiness(int failedChecks, int openRequests)
    {
        if (failedChecks >= 3)
        {
            return "blocked";
        }

        if (failedChecks > 0 || openRequests > 40)
        {
            return "watch";
        }

        return "ready";
    }

    static void Main()
    {
        int failedChecks = 0;
        int openRequests = 30;
        string status = Readiness(failedChecks, openRequests);

        Console.WriteLine("failed=" + failedChecks);
        Console.WriteLine("open=" + openRequests);
        Console.WriteLine("status=" + status);
    }
}
using System;

class Program
{
    static string Readiness(int failedChecks, int openRequests)
    {
        if (failedChecks >= 3)
        {
            return "blocked";
        }

        if (failedChecks > 0 || openRequests > 40)
        {
            return "watch";
        }

        return "ready";
    }

    static void Main()
    {
        int failedChecks = 3;
        int openRequests = 30;
        string status = Readiness(failedChecks, openRequests);

        Console.WriteLine("failed=" + failedChecks);
        Console.WriteLine("open=" + openRequests);
        Console.WriteLine("status=" + status);
    }
}
  1. failedChecks ← 1, openRequests ← 30

    20static void Main()21{22    int failedChecks→ 1 = 1; //@failedChecks=0, 323    int openRequests→ 30 = 30;24    string status = Readiness(failedChecks1, openRequests30);
  2. static string Readiness(int failedChecks, int openRequests)

    4{5    static string Readiness(int failedChecks1, int openRequests30)6    {7        if (failedChecks >= 3)
  3. if (failedChecks > 0 || openRequests > 40)

    12if (failedChecks1 > 0 || openRequests30 > 40)13{14    return "watch";15}
  4. status ← watch

    23    int openRequests = 30;24    string status→ watch = Readiness(failedChecks1, openRequests30);2526    Console.WriteLine("failed=" + failedChecks1);27    Console.WriteLine("open=" + openRequests30);28    Console.WriteLine("status=" + statuswatch);29}
    outputfailed=1
    open=30
    status=watch
  1. failedChecks ← 0, openRequests ← 30

    20static void Main()21{22    int failedChecks→ 0 = 0;23    int openRequests→ 30 = 30;24    string status = Readiness(failedChecks0, openRequests30);
  2. static string Readiness(int failedChecks, int openRequests)

    4{5    static string Readiness(int failedChecks0, int openRequests30)6    {7        if (failedChecks >= 3)8        {9            return "blocked";10        }1112        if (failedChecks > 0 || openRequests > 40)13        {14            return "watch";15        }1617        return "ready";18    }
  3. status ← ready

    23    int openRequests = 30;24    string status→ ready = Readiness(failedChecks0, openRequests30);2526    Console.WriteLine("failed=" + failedChecks0);27    Console.WriteLine("open=" + openRequests30);28    Console.WriteLine("status=" + statusready);29}
    outputfailed=0
    open=30
    status=ready
  1. failedChecks ← 3, openRequests ← 30

    20static void Main()21{22    int failedChecks→ 3 = 3;23    int openRequests→ 30 = 30;24    string status = Readiness(failedChecks3, openRequests30);
  2. static string Readiness(int failedChecks, int openRequests)

    4{5    static string Readiness(int failedChecks3, int openRequests30)6    {7        if (failedChecks >= 3)
  3. if (failedChecks >= 3)

    6{7    if (failedChecks3 >= 3)8    {9        return "blocked";10    }
  4. status ← blocked

    23    int openRequests = 30;24    string status→ blocked = Readiness(failedChecks3, openRequests30);2526    Console.WriteLine("failed=" + failedChecks3);27    Console.WriteLine("open=" + openRequests30);28    Console.WriteLine("status=" + statusblocked);29}
    outputfailed=3
    open=30
    status=blocked