#!/usr/bin/env node // Parity check for the plan viewer's JavaScript engine. // // Extracts the engine script block from index.html and runs every fixture // in crates/plan-runner/fixtures/ through it, requiring the result to match // the fixture's expected_bindings oracle, exactly as the Rust runner does. // Also checks the provenance helpers: every output row of every node must // have at least one contributing row in each of its inputs. // // The Rust crates remain the correctness oracle; this test only catches the // viewer drifting away from them. "use strict"; const fs = require("fs"); const path = require("path"); const vm = require("vm"); const html = fs.readFileSync(path.join(__dirname, "index.html"), "utf8"); const match = html.match(/