You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
MooseMaterialTarget output is never compiled — add a MOOSE-stub compile gate #132
From the 2026-08-02 full-repo review (finding F-04).
Evidence: all six compile-and-run pipelines in tests/CMakeLists.txt emit via StandaloneCxxTarget or NumSimMaterialTarget (the "MOOSE Hencky" gate at line ~169 actually emits via StandaloneCxx); .github/workflows/build.yml never touches MOOSE. Every MOOSE test (MooseTargetTest.cpp, IntegrationTest.cpp:117-187, AlgorithmicTangentTest.cpp:126-238) is substring-only.
Impact: MOOSE is the one shipping backend with zero compile-level backstop, and the one referencing a large external API surface (Material, InputParameters, MaterialProperty<T>, RankTwoTensor/RankFourTensor, registerMooseObject). A boilerplate typo in the emitted .h/.C ships green.
Proposal: check in a minimal stub of exactly the MOOSE surface the emitted code uses; at build time, generate representative materials (linear elastic, Hencky/spectral, tangent-carrying, local-Newton) and compile the emitted .C against the stub with -Wall -Werror. Syntax/semantics gate only — no MOOSE behavior emulation needed. A later step can add a tiny harness to drive computeQpProperties() and FD-check _Jacobian_mult (that part = #12).
Related: #12 (runtime parity against mock RankTwoTensor — this issue is the cheaper compile-level prerequisite).
Activity
Add MOOSE-stub compile gate for MooseMaterialTarget output (#132)