Skip to content

26 August 2026 First-Release Gate

This page is a release contract, not a feature wish list. A checked box means the capability has executable evidence at its stated maturity. It does not promote a material-point formula to a finite-element solver.

Release-facing workflows

Story Existing release asset Gate
Readable first FEM program examples/static_elasticity_2d.py serial and two-rank CI smoke
Transient heat transfer examples/transient_heat_2d.py implicit time integration, structured progress, XDMF
Acoustic inclusion examples/wave_packet_inclusion_2d.py inclusion, periodic projection, source amplitude, absorbing boundary
Large-deformation porous cell examples/abaqus_c3d10h_periodic_cell/ direct C3D10H import, exact equations, mixed pressure, Golden homogenization, deformed output
High-temperature creep route examples/creep_hot_wall_assessment.py thermoelastic FEM plus explicitly local K-R/modified-theta assessment
Global power-law creep examples/implicit_creep_relaxation_3d.py backward Euler, shared quadrature state, real cutback, standard fields, optional Arrhenius temperature input, dissipation, restart and Golden relaxation
Simulation to learning examples/static_elasticity_surrogate_campaign.py campaign, dataset, validation, domain guard, FEM fallback

The first four simulation examples already existed before this release pass. They are curated and gated rather than duplicated under new names.

Mandatory engineering gates

  • A clean wheel and source distribution build.
  • Tagged wheel and source distributions receive a GitHub build-provenance attestation before PyPI publication when repository visibility supports the service.
  • Wheel contents include scientific knowledge and material data assets.
  • pyproject.toml, agentfem.__version__, and the Git tag agree.
  • Full serial tests and the distributed affine/MPC regression pass.
  • The installed wheel, rather than only an editable checkout, runs release smoke examples.
  • Release smoke isolates the selected wheel and compares code fingerprints, so a stale local installation with the same version cannot satisfy the gate.
  • Generated scientific cards/catalogs are current and their API references import in the FEniCSx environment.
  • Every advertised nonlinear/time-dependent material reports its actual maturity and limitations through constitutive.capabilities().
  • README installation commands must resolve a real FEniCSx environment and released PyPI wheel; they must not advertise a nonexistent conda package.
  • platforms.runtime_report() records the platform tier and dependency versions, exact interpreter, imported package, installed distribution, and source-shadowing state needed for a reproducible issue report.
  • Existing installed-use projects have a non-executing upgrade --json preflight with stable source locations; only deterministic metadata is automatically migrated, while scientific Python requires semantic review.
  • Published result manifests carry an automatic local provenance seal, and the installed-wheel smoke verifies the manifest plus every registered artifact. This integrity evidence remains separate from scientific verification.
  • Gmsh remains absent from core dependencies and release contents; the separately licensed package is requested only by the optional gmsh extra.
  • Matrix/vector/residual/scalar operator roles and K/M/C/F system components pass their weak-form contract tests.
  • A campaign with failed cases cannot silently feed training data; partial data requires explicit review and acceptance.
  • Static, transient-heat, global J2, and global power-law creep paths carry versioned numerical Golden observables with named tolerances; process exit alone is not evidence.
  • Wave-inclusion and Neo-Hookean release paths carry small automated Golden contracts in addition to their larger demonstration workflows.
  • The imported porous-cell workflow carries a versioned C3D10H large-mesh contract: direct hybrid-source recognition, P2/DG0 provider dispatch, positive J, equation mismatch, homogenized stress, and separate PRESSURE/first-Piola P fields.
  • Scientific results distinguish computed, converged, verified, and validated; a campaign can require accepted scientific evidence before training, independently of artifact-integrity verification.
  • Ordinary workflows can apply exploratory, engineering, or release quality presets; runtime checks cannot silently promote scientific trust.
  • Standalone linear solves retain PETSc KSP convergence evidence, and the release examples consume it through SimulationResult.verify(...).
  • Static, transient-heat, and sequential hot-wall smoke demos materialize accepted release manifests; campaign samples pass the engineering policy before the accepted dataset is written.
  • The first CAE reliability-cliff test verifies rotation covariance of a cantilever model and the verification API rejects unordered convergence or inapplicable-theory evidence.
  • J2 forced cutback is triggered by a real equivalent-plastic-increment limit; cyclic amplitude, adaptive-controller restart, and strong-displacement reaction-work/internal-energy histories have executable tests.
  • Standard, Explicit, heat, and J2 progress/result views consume one complete structured event stream, including hidden increments and failed attempts.
  • Model validation uses the same registered provider predicates as execution, so an unsupported Study/material/procedure combination fails before solve.
  • Model validation also rejects incompatible target fields and missing heat or dynamic material protocols rather than deferring the error to assembly.
  • Regional multi-material heat conduction and capacity pass a transient FEM regression; reusable amplitudes automatically drive loads, prescribed data, and thermal ambient conditions.
  • Ordinary Neo-Hookean loading has automatic/fixed increments, forced-cutback rollback, positive-J acceptance, recoverable strain-energy evidence, and accepted-increment histories in addition to the affine periodic-cell route.
  • Common result queries provide MPI-safe region integrals/averages, boundary resultants, and scalar/vector field extrema.
  • Linear-static solid results automatically retain assembled external-force, strong-reaction, balance-residual, and relative-equilibrium evidence.
  • Heat, Explicit dynamics, and Standard dynamics use one-call solve_result(output=...), attach XDMF/HDF5 artifacts, default field sets, accepted time increments, and shared user-declared history/probe requests to one SimulationResult.
  • Their shared checkpoint uses atomic publication, per-rank integrity checks, unique generation identities, bounded retention, topology-aware partition identity, collective failure, and an explicitly labeled continuation-output boundary after restart.
  • A failure on any MPI rank produces one collective failed execution record; successful ranks do not wait forever at a completion barrier.
  • A separate CI job installs the official CPU-only PyTorch wheel and executes the optional dataset and PINN/ML adapter tests.

Explicitly not release claims

  • Automatic transient-temperature-history transfer, global creep damage, and structural rupture prediction.
  • Mesh-objective localized damage or creep crack growth.
  • Portable MPI restart for quadrature material state.
  • General UMAT/UHYPER binary compatibility.
  • Arbitrary-mesh automatic FNO/PINN training.
  • Industrial code compliance or validated material constants in the hot-wall demonstration.
  • Out-of-the-box native Windows execution. WSL2 is the recommended Windows route until solver and dolfinx_mpc gaps have native-Windows CI evidence.

These exclusions protect the credibility of what is implemented. They are the evidence plan for the next release, not fine print hidden from users.