feat(08.1-02): re-pin measurement gates for ARG3 and extend the rollout locks (GREEN)
- The optimality gate's decode-failure message names ARG3 and the rebuild command (node routing/scripts/build-road-graph.mjs); the frozen D-03 constants (OPTIMALITY_EPSILON_PCT = 0.1, REQUIRED_BASELINE_ARG_VERSION = 1) and the immutable alt-baseline.json record are untouched. - The oracle sweep's graph-missing (SKIP) and decode-failure wording names the ARG3 binary; the seeded 200-pair symmetric-compare constants and the three violation classes are unchanged. - RO1/RO2 ban the ARG3 magic 0x41524733 in the upload script's and the Worker's comment-stripped code: the one-path laws now cover the CURRENT format, not just the retired ones. The Worker keeps exactly one decodeGraph call, no GRAPH_VERSION, no magic, no === 2. - measure-route-cpu.mjs is untouched here by design: its LADDER HISTORY gains the CH rung only once the measured numbers exist (task 3).
This commit is contained in:
@@ -268,14 +268,16 @@ async function main() {
|
||||
// environment fact, not a failure.
|
||||
if (!existsSync(GRAPH_PATH)) {
|
||||
console.log(
|
||||
`SKIP: no graph at ${GRAPH_PATH} — the real-graph optimality pin needs the gitignored binary; ` +
|
||||
`SKIP: no graph at ${GRAPH_PATH} — the real-graph optimality pin needs the gitignored ARG3 binary; ` +
|
||||
`build it first: node routing/scripts/build-road-graph.mjs`,
|
||||
);
|
||||
process.exit(0);
|
||||
}
|
||||
const buffer = readFileSync(GRAPH_PATH);
|
||||
const graph = decodeGraph(toArrayBuffer(buffer));
|
||||
if (graph === null) fail(`${GRAPH_PATH} does not decode (fail-honest null) — rebuild the binary`);
|
||||
if (graph === null) {
|
||||
fail(`${GRAPH_PATH} does not decode (fail-honest null — the current binary must be ARG3) — rebuild it: node routing/scripts/build-road-graph.mjs`);
|
||||
}
|
||||
|
||||
const rawPairs = generateCrossMetroPairs(graph.bbox, {
|
||||
count: SWEEP_PAIR_COUNT * SWEEP_OVERSAMPLE_FACTOR,
|
||||
|
||||
Reference in New Issue
Block a user