Count visible incidents and high-severity incidents from a fixed severity queue.

incident queue A small severity queue keeps replay deterministic while showing how a report threshold changes output.

Incident Queue Reliability Report

minSeverity
incident_queue.ts
Replay: real traced execution (multi-file project)
type IncidentReport = {
    minSeverity: number;
    visible: number;
    high: number;
};

const minSeverity: number = 2;
const severities: number[] = [1, 2, 3, 3];
let visible: number = 0;
let high: number = 0;

for (const severity of severities) {
    if (severity >= minSeverity) {
        visible += 1;
    }
    if (severity >= 3) {
        high += 1;
    }
}

const report: IncidentReport = { minSeverity, visible, high };
console.log(`min=${report.minSeverity} visible=${report.visible} high=${report.high}`);
type IncidentReport = {
    minSeverity: number;
    visible: number;
    high: number;
};

const minSeverity: number = 1;
const severities: number[] = [1, 2, 3, 3];
let visible: number = 0;
let high: number = 0;

for (const severity of severities) {
    if (severity >= minSeverity) {
        visible += 1;
    }
    if (severity >= 3) {
        high += 1;
    }
}

const report: IncidentReport = { minSeverity, visible, high };
console.log(`min=${report.minSeverity} visible=${report.visible} high=${report.high}`);
type IncidentReport = {
    minSeverity: number;
    visible: number;
    high: number;
};

const minSeverity: number = 3;
const severities: number[] = [1, 2, 3, 3];
let visible: number = 0;
let high: number = 0;

for (const severity of severities) {
    if (severity >= minSeverity) {
        visible += 1;
    }
    if (severity >= 3) {
        high += 1;
    }
}

const report: IncidentReport = { minSeverity, visible, high };
console.log(`min=${report.minSeverity} visible=${report.visible} high=${report.high}`);
  1. minSeverity ← 2, severities ← 1,2,3,3, visible ← 0, high ← 0

    4    high: number;5};67const minSeverity→ 2: number = 2;  //@minSeverity=1, 38const severities→ 1,2,3,3: number[] = [1, 2, 3, 3];9let visible→ 0: number = 0;10let high→ 0: number = 0;
  2. if (severity >= minSeverity)

    pass 1 of 3
    12for (const severity of severities) {13    if (severity2 >= minSeverity2) {14        visible += 1;15    }
    All 3 passes — pass 1 is the card above
    passseverity
    12
    23
    33
  3. if (severity >= 3)

    pass 1 of 2
    14    visible += 1;15}16if (severity3 >= 3) {17    high += 1;18}
  4. if (severity >= 3)

    pass 2 of 2
    14    visible += 1;15}16if (severity3 >= 3) {17    high += 1;18}
  5. report ← [object Object]

    18    }19}2021const report→ [object Object]: IncidentReport = { minSeverity, visible, high };22console.log(`min=${report.minSeverity2} visible=${report.visible3} high=${report.high2}`);
    outputmin=2 visible=3 high=2
  1. minSeverity ← 1, severities ← 1,2,3,3, visible ← 0, high ← 0

    4    high: number;5};67const minSeverity→ 1: number = 1;8const severities→ 1,2,3,3: number[] = [1, 2, 3, 3];9let visible→ 0: number = 0;10let high→ 0: number = 0;
  2. if (severity >= minSeverity)

    pass 1 of 4
    12for (const severity of severities) {13    if (severity1 >= minSeverity1) {14        visible += 1;15    }
    All 4 passes — pass 1 is the card above
    passseverity
    11
    22
    33
    43
  3. if (severity >= 3)

    pass 1 of 2
    14    visible += 1;15}16if (severity3 >= 3) {17    high += 1;18}
  4. if (severity >= 3)

    pass 2 of 2
    14    visible += 1;15}16if (severity3 >= 3) {17    high += 1;18}
  5. report ← [object Object]

    18    }19}2021const report→ [object Object]: IncidentReport = { minSeverity, visible, high };22console.log(`min=${report.minSeverity1} visible=${report.visible4} high=${report.high2}`);
    outputmin=1 visible=4 high=2
  1. minSeverity ← 3, severities ← 1,2,3,3, visible ← 0, high ← 0

    4    high: number;5};67const minSeverity→ 3: number = 3;8const severities→ 1,2,3,3: number[] = [1, 2, 3, 3];9let visible→ 0: number = 0;10let high→ 0: number = 0;
  2. if (severity >= minSeverity)

    pass 1 of 2
    12for (const severity of severities) {13    if (severity3 >= minSeverity3) {14        visible += 1;15    }
  3. if (severity >= 3)

    pass 1 of 2
    14    visible += 1;15}16if (severity3 >= 3) {17    high += 1;18}
  4. if (severity >= minSeverity)

    pass 2 of 2
    12for (const severity of severities) {13    if (severity3 >= minSeverity3) {14        visible += 1;15    }
  5. if (severity >= 3)

    pass 2 of 2
    14    visible += 1;15}16if (severity3 >= 3) {17    high += 1;18}
  6. report ← [object Object]

    18    }19}2021const report→ [object Object]: IncidentReport = { minSeverity, visible, high };22console.log(`min=${report.minSeverity3} visible=${report.visible2} high=${report.high2}`);
    outputmin=3 visible=2 high=2