Admit checkpoint requests against a fixed capacity and turn the remaining slots into an admit, hold, or shed remediation action.

checkpoint capacity The checkpoint capacity is modeled with a scalar counter, so the remaining slots stay deterministic and free of microtask-queue identity while driving the remediation action.

Microtask Checkpoint Remediation Report

requests
microtask_checkpoint_remediation.js
Replay: real traced execution (multi-file project)
const requests = 1;
const capacity = 3;

function remediate(count) {
    let admitted = count;
    if (admitted > capacity) {
        admitted = capacity;
    }
    const remaining = capacity - admitted;
    let action = "admit";
    if (remaining === 1) {
        action = "hold";
    } else if (remaining === 0) {
        action = "shed";
    }
    console.log(`requests=${count} admitted=${admitted} remaining=${remaining} ${action}`);
}

remediate(requests);
const requests = 2;
const capacity = 3;

function remediate(count) {
    let admitted = count;
    if (admitted > capacity) {
        admitted = capacity;
    }
    const remaining = capacity - admitted;
    let action = "admit";
    if (remaining === 1) {
        action = "hold";
    } else if (remaining === 0) {
        action = "shed";
    }
    console.log(`requests=${count} admitted=${admitted} remaining=${remaining} ${action}`);
}

remediate(requests);
const requests = 4;
const capacity = 3;

function remediate(count) {
    let admitted = count;
    if (admitted > capacity) {
        admitted = capacity;
    }
    const remaining = capacity - admitted;
    let action = "admit";
    if (remaining === 1) {
        action = "hold";
    } else if (remaining === 0) {
        action = "shed";
    }
    console.log(`requests=${count} admitted=${admitted} remaining=${remaining} ${action}`);
}

remediate(requests);
  1. requests ← 1, capacity ← 3

    1const requests→ 1 = 1;  //@requests=2, 42const capacity→ 3 = 3;34function remediate(count) {5    let admitted = count;6    if (admitted > capacity) {7        admitted = capacity;8    }9    const remaining = capacity - admitted;10    let action = "admit";11    if (remaining === 1) {12        action = "hold";13    } else if (remaining === 0) {14        action = "shed";15    }16    console.log(`requests=${count} admitted=${admitted} remaining=${remaining} ${action}`);17}1819remediate(requests1);
  2. admitted ← 1, count ← 1, remaining ← 2, capacity ← 3, action ← admit

    1const requests = 1;  //@requests=2, 42const capacity = 3;34function remediate(count1) {5    let admitted→ 1 = count→ 1;6    if (admitted > capacity) {7        admitted = capacity;8    }9    const remaining→ 2 = capacity→ 3 - admitted1;10    let action→ admit = "admit";11    if (remaining === 1) {12        action = "hold";13    } else if (remaining === 0) {14        action = "shed";15    }16    console.log(`requests=${count1} admitted=${admitted1} remaining=${remaining2} ${actionadmit}`);17}
    outputrequests=1 admitted=1 remaining=2 admit
  3. remediate(requests);

    16    console.log(`requests=${count} admitted=${admitted} remaining=${remaining} ${action}`);17}1819remediate(requests1);
  1. requests ← 2, capacity ← 3

    1const requests→ 2 = 2;2const capacity→ 3 = 3;34function remediate(count) {5    let admitted = count;6    if (admitted > capacity) {7        admitted = capacity;8    }9    const remaining = capacity - admitted;10    let action = "admit";11    if (remaining === 1) {12        action = "hold";13    } else if (remaining === 0) {14        action = "shed";15    }16    console.log(`requests=${count} admitted=${admitted} remaining=${remaining} ${action}`);17}1819remediate(requests2);
  2. admitted ← 2, count ← 2, remaining ← 1, capacity ← 3, action ← admit

    1const requests = 2;2const capacity = 3;34function remediate(count2) {5    let admitted→ 2 = count→ 2;6    if (admitted > capacity) {7        admitted = capacity;8    }9    const remaining→ 1 = capacity→ 3 - admitted2;10    let action→ admit = "admit";11    if (remaining === 1) {
  3. if (remaining === 1)

    9const remaining = capacity - admitted;10let action = "admit";11if (remaining1 === 1) {12    action = "hold";13} else if (remaining === 0) {
  4. console.log(`requests=${count} admitted=${admitted} remaining=${remain…

    14        action = "shed";15    }16    console.log(`requests=${count2} admitted=${admitted2} remaining=${remaining1} ${actionhold}`);17}
    outputrequests=2 admitted=2 remaining=1 hold
  5. remediate(requests);

    16    console.log(`requests=${count} admitted=${admitted} remaining=${remaining} ${action}`);17}1819remediate(requests2);
  1. requests ← 4, capacity ← 3

    1const requests→ 4 = 4;2const capacity→ 3 = 3;34function remediate(count) {5    let admitted = count;6    if (admitted > capacity) {7        admitted = capacity;8    }9    const remaining = capacity - admitted;10    let action = "admit";11    if (remaining === 1) {12        action = "hold";13    } else if (remaining === 0) {14        action = "shed";15    }16    console.log(`requests=${count} admitted=${admitted} remaining=${remaining} ${action}`);17}1819remediate(requests4);
  2. admitted ← 4, count ← 4

    1const requests = 4;2const capacity = 3;34function remediate(count4) {5    let admitted→ 4 = count→ 4;6    if (admitted > capacity) {
  3. if (admitted > capacity)

    4function remediate(count) {5    let admitted = count;6    if (admitted4 > capacity3) {7        admitted = capacity3;8    }
  4. remaining ← 0, capacity ← 3, action ← admit

    7    admitted = capacity;8}9const remaining→ 0 = capacity→ 3 - admitted3;10let action→ admit = "admit";11if (remaining === 1) {
  5. if (remaining === 0)

    12    action = "hold";13} else if (remaining0 === 0) {14    action = "shed";15}
  6. console.log(`requests=${count} admitted=${admitted} remaining=${remain…

    14        action = "shed";15    }16    console.log(`requests=${count4} admitted=${admitted3} remaining=${remaining0} ${actionshed}`);17}
    outputrequests=4 admitted=3 remaining=0 shed
  7. remediate(requests);

    16    console.log(`requests=${count} admitted=${admitted} remaining=${remaining} ${action}`);17}1819remediate(requests4);