8014e796a4
* compiled-core builds pin the external toolchain release - tests/compiled-core/core_compiler_pin is the one place the release pin lives - build_core.sh verifies the supplied command reports that release and refuses any other, because the profile's fence table is release-pinned data * determinism fences get a pinned negative control - fence_check.sh compiles the pristine markup fixture and asserts its co-emitted sidecar attests deterministic: true - the same fixture with one injected ambient read (Date.now() in update) must refuse, naming the fenced surface id, with no archive or sidecar emitted - skip-clean when no external toolchain is supplied, like the parity battery * CI: compiled-core parity battery runs on every PR - new ubuntu job installs the pinned external core compiler, stages the contract artifacts, and builds all five fixture cores through build_core.sh - runs the determinism-fence negative control, then the full test-compiled-core-parity battery over the compiled archives - the release pin is read from tests/compiled-core/core_compiler_pin, so a bump stays a one-line change * comments carry prose unwrapped - one line per comment paragraph across the new CI job, the pin check, and the fence-check script * ci: isolate the dispatch-budget measurement from runner contention - The parity battery runs its test binaries serially in CI: five suites racing on a two-core runner turn scheduler contention into dispatch-budget failures the budgets were never meant to catch. - A budget failure now prints the measured whole-pipeline and core-only nanoseconds, so a real regression and a noisy runner are distinguishable from the log alone. * test: the paired lane budgets a paired dispatch - The paired-core module declares paired_lanes, the staged root re-exports it, and the soundboard dispatch pin reads it: a dispatch that runs both lanes and byte-compares every seam gets half the frame budget, while the single-lane suite keeps the strict microseconds-class pin. - The measured CI shape that set the number: core-only paired dispatch at just over the single-core budget on a shared runner, with the whole pipeline well inside its frame.