ratchet.mjs 606 B

123456
  1. // Manual live-data gate: run in the same environment; keep noisy WAN checks out of offline CI.
  2. import {readFileSync} from 'node:fs';
  3. const baseline=JSON.parse(readFileSync(new URL('./browser-results.json',import.meta.url),'utf8'));
  4. const next=JSON.parse(readFileSync(process.argv[2],'utf8'));
  5. for(const expected of baseline){const actual=next.find(r=>r.operation===expected.operation);if(!actual||actual.B.n<10)throw Error('Missing 10 paired samples: '+expected.operation);if(actual.B.p75>expected.B.p75)throw Error('p75 regressed: '+expected.operation);}
  6. console.log('All measured p75 ceilings passed');