test("validate and normalize a runtime object",["basic"],({parseJob})=>checkEq(parseJob({service:" api ",state:"ok",duration:0,extra:"ignored"}),{service:"api",state:"ok",duration:0}));
test("types are not JSON validation",["boundary"],({parseJob})=>{for(const value of [null,[],{}, {service:" ",state:"ok",duration:1},{service:"api",state:"pending",duration:1},{service:"api",state:"ok",duration:"2"},{service:"api",state:"failed",duration:-1},{service:"api",state:"ok",duration:Infinity}]){let failed=false;try{parseJob(value);}catch(e){failed=e instanceof TypeError;}checkEq(failed,true);}});
test("new canonical record preserves input",["invariant"],({parseJob})=>{const input=Object.freeze({service:" api ",state:"failed",duration:2});checkEq(parseJob(input),{service:"api",state:"failed",duration:2});checkEq(input.service," api ");});
