Public C++ surfaceΒΆ

The installed include/eon tree still ships internal headers. The Job factory has landed. Parameters now has a private load-state Impl (last_load_source / last_load_error); option-group layout stays in the installed header and is not ABI-stable. Matter still exposes Eigen members in the header (accessors return Eigen types). Treat only these as the extension contract:

Type

Pure virtuals

Notes

Potential

force(...)

Raw C arrays stay the Fortran/FFI adapter. get_ef is Eigen.

Job

run()

runFromMatter is extra, not required.

Optimizer

step, run

New methods must be defaulted virtuals, not new pures.

Capability queries (isThreadSafe, layoutFlags, supportsBatchEvaluation) are defaulted virtuals. Do not add another = 0 without a towncrier breaking fragment.

CI should keep grepping that those three pures still exist and that new pures are not added silently.