Define the local evaluation task
A synthetic response ledger labels each attempt completed with safe integer milliseconds or timed-out at a safe integer deadline. Completed durations are summed with BigInt; a numerator above the safe integer range is returned as exact decimal text, while small existing results remain numeric. Completed durations must be nonnegative and no later than their deadline. A timeout must omit completion duration or supply null; a known duration contradicts this state. Report completed-only mean as a numerator/denominator plus timeout count and total attempts.
- Separate completion and timeout states
- Validate known duration bounds
- Report mean with completion coverage
Contradictory timestamps stop the timing report.
Use the filled cases
| Case | Supplied input | Expected structured output | Decision and reason |
|---|---|---|---|
| One timeout beside two completions | {"attempts":[{"status":"completed","durationMs":2000,"deadlineMs":10000},{"status":"completed","durationMs":4000,"deadlineMs":10000},{"status":"timeout","deadlineMs":10000}]} | {"attempts":3,"completed":2,"timeouts":1,"completedMean":[6000,2]} | Completed mean is 3000 ms; completion is 2/3 and the timeout remains visible. |
| No completed duration | {"attempts":[{"status":"timeout","deadlineMs":10000}]} | {"attempts":1,"completed":0,"timeouts":1,"completedMean":null} | The deadline is not a known completion duration, so the mean is unknown. |
| Timeout carries a known completion time | {"attempts":[{"status":"timeout","durationMs":9000,"deadlineMs":10000}]} | {"error":"duration-ledger"} | A known completion at 9000ms cannot be censored as no completion by the 10000ms deadline. |
| Safe inputs with a larger exact aggregate | {"attempts":[{"status":"completed","durationMs":9007199254740991,"deadlineMs":9007199254740991},{"status":"completed","durationMs":9007199254740991,"deadlineMs":9007199254740991},{"status":"completed","durationMs":1,"deadlineMs":1}]} | {"attempts":3,"completed":3,"timeouts":0,"completedMean":["18014398509481983",3]} | The exact numerator is 18014398509481983 milliseconds; retain decimal text instead of the rounded 18014398509481984. |
| Completion contradicts deadline | {"attempts":[{"status":"completed","durationMs":11000,"deadlineMs":10000}]} | {"error":"duration-ledger"} | This attempt cannot be labelled completed under the supplied deadline model. |
Work the completed-after-deadline case. Which output is required, and why?
Show the worked answer
{"error":"duration-ledger"} — This attempt cannot be labelled completed under the supplied deadline model.
Run the self-contained evaluator
import assert from 'node:assert/strict';
function evaluate(x){
const completed=x.attempts.filter(a=>a.status==='completed');if(x.attempts.some(a=>!Number.isSafeInteger(a.deadlineMs)||a.deadlineMs<0||!['completed','timeout'].includes(a.status)||(a.status==='timeout'&&Object.hasOwn(a,'durationMs')&&a.durationMs!==null)||(a.status==='completed'&&(!Number.isSafeInteger(a.durationMs)||a.durationMs<0||a.durationMs>a.deadlineMs))))return {error:'duration-ledger'};
const sum=completed.reduce((s,a)=>s+BigInt(a.durationMs),0n),numerator=sum<=BigInt(Number.MAX_SAFE_INTEGER)?Number(sum):sum.toString();
return {attempts:x.attempts.length,completed:completed.length,timeouts:x.attempts.filter(a=>a.status==='timeout').length,completedMean:completed.length?[numerator,completed.length]:null};
}
const cases = [
{
"id": "one-timeout",
"input": {
"attempts": [
{
"status": "completed",
"durationMs": 2000,
"deadlineMs": 10000
},
{
"status": "completed",
"durationMs": 4000,
"deadlineMs": 10000
},
{
"status": "timeout",
"deadlineMs": 10000
}
]
},
"expected": {
"attempts": 3,
"completed": 2,
"timeouts": 1,
"completedMean": [
6000,
2
]
}
},
{
"id": "all-timeout",
"input": {
"attempts": [
{
"status": "timeout",
"deadlineMs": 10000
}
]
},
"expected": {
"attempts": 1,
"completed": 0,
"timeouts": 1,
"completedMean": null
}
},
{
"id": "timeout-known-duration",
"input": {
"attempts": [
{
"status": "timeout",
"durationMs": 9000,
"deadlineMs": 10000
}
]
},
"expected": {
"error": "duration-ledger"
}
},
{
"id": "exact-large-aggregate",
"input": {
"attempts": [
{
"status": "completed",
"durationMs": 9007199254740991,
"deadlineMs": 9007199254740991
},
{
"status": "completed",
"durationMs": 9007199254740991,
"deadlineMs": 9007199254740991
},
{
"status": "completed",
"durationMs": 1,
"deadlineMs": 1
}
]
},
"expected": {
"attempts": 3,
"completed": 3,
"timeouts": 0,
"completedMean": [
"18014398509481983",
3
]
}
},
{
"id": "completed-after-deadline",
"input": {
"attempts": [
{
"status": "completed",
"durationMs": 11000,
"deadlineMs": 10000
}
]
},
"expected": {
"error": "duration-ledger"
}
}
];
for (const c of cases) assert.deepEqual(evaluate(c.input), c.expected, c.id);
console.log(JSON.stringify({checked:cases.length,caseIds:cases.map(c=>c.id)}));
Keep timeouts in the attempt denominator. The completed-only mean describes this invented ledger and is not a latency promise or an estimate of when timed-out attempts would finish.