forked from 1b-agent/fieldcraft-upstream
Verification oracle: tests/oracle cases, cargo xtask oracle, fixtures, docs/oracle.md, CI job
The oracle binary (modelcraft-testkit) runs each case's recipe through the command engine, measures its quantities by JSON pointers into step outputs or commands, compares them with the cited references and the frozen fixtures, and writes docs/oracle.md. 20 theory cases (patch tests of every solid element, Timoshenko cantilevers, Lame, Kirsch, beam frequencies, torsion and bending through couplings, explicit waves and impact, CDT invariants), 8 published benchmarks (MacNeal-Harder patch, straight and curved cantilevers, thick cylinder, Scordelis-Lo with solids, NAFEMS LE1, LE10, FV32) and 10 pending cases with citations. Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01NmAttHhUZTokgPeEJia8sm
This commit is contained in:
1 parent
a3cb6d749b
commit
6d9452ad84
144 files changed
+5162
-74
No files matched your search
@@ -37,6 +37,11 @@ commands:
|
||||
corpus [--part NAME] [--no-write]
|
||||
build every meshing test corpus part (tests/corpus, analytic shapes), tessellate
|
||||
and mesh it, and write the results to docs/meshing/corpus.md (release build)
|
||||
oracle [--case NAME]... [--bless NAME|all]... [--quick] [--no-write]
|
||||
run the verification and validation cases (tests/oracle, docs/verification.md)
|
||||
against their references and fixtures; write docs/oracle.md after a full run;
|
||||
--bless freezes a passing case's results in its fixture.json; --quick skips
|
||||
cases marked slow (release build)
|
||||
wasm cargo check every library crate for wasm32-unknown-unknown
|
||||
ci fmt --check, assets, licences --check, layers, clippy -D warnings, then the tests
|
||||
(not the heavy ones) with the wasm check alongside (stops at the first failing
|
||||
@@ -72,6 +77,12 @@ fn main() -> ExitCode {
|
||||
c.args(["run", "--release", "-p", "modelcraft-testkit", "--bin", "corpus", "--"]).args(&rest);
|
||||
run(c, "corpus")
|
||||
}
|
||||
Some("oracle") => {
|
||||
// A binary of the testkit, which has the engine and SolidCraft scripts for geometry.
|
||||
let mut c = cargo();
|
||||
c.args(["run", "--release", "-p", "modelcraft-testkit", "--bin", "oracle", "--"]).args(&rest);
|
||||
run(c, "oracle")
|
||||
}
|
||||
Some("wasm") => cmd_wasm(),
|
||||
Some("-h" | "--help" | "help") | None => {
|
||||
print!("{USAGE}");
|
||||
|
||||
Reference in new issue
Block a user