Files
solvecraft/harness/cpp
bherbruck 20f05db09e difftest: C++ vs Rust comparison harness, solidcore-ffi shim build, harness.selftest
solidcore-ffi: build.rs compiles harness/cpp/shim/*.cpp with flags from
bin/cpp/compile_commands.json (or bin/cpp/ffi.env) and links bin/cpp/lib
(feature cpp; empty crate otherwise, builds for wasm32). Per-unit safe
wrappers in src/units/*.rs are auto-registered; call_with_buffer helper.

difftest: Case/Output/Topology model, 1e-9 relative comparison (documented
per-key abs floors only), seeded xoshiro256** generator, fixture loader with
$pts/$upstream_file expansion, deterministic canonical JSON reports, CLI
(--unit/--green/--all/--list/--seeds/--filter/--perturb). Runners in
src/units/*.rs are auto-registered.

harness.selftest: upstream N_BasisEval via FFI vs Rust re-implementation,
28 cases pass bit-identically; --perturb and tests/selftest.rs show a 1e-8
perturbation is caught in every case.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-12 14:39:07 -04:00
..