P92/history composition acceptance, 2026-11-06¶
This is local integration evidence, separate from each PR's latest CI and merge status. It is not a release, clean-operating-system installation or native accelerator performance test.
Frozen combination¶
Local integration commit 39d19913efb0e83b8759561b608a8d7183ae2d9b combines:
ef1a0f82: rate-material checkpoint clocks (and its temperature/history base);38120ab3: P92 isothermal/structural cyclic checks and 435-cycle reports;e29262bc: reviewed main rupture/life work and the evidence-map documentation.
Merge conflicts were only overlapping CI-map entries and roadmap sections; both sets were retained. No solver conflict or altered numerical tolerance. The combined candidate is not an alternative path around branch protection.
Checks¶
- 273 tests passed, one serial skip, in 81.39 seconds: physical-time material Steps, selected histories, thermal inputs and clocks, checkpoints, P92 structure/cycles/life/rupture, generic rupture curves, documentation and CI map.
- The skipped two-rank admission test then passed on both ranks via
agentfem mpi-run -n 2 --timeout 180. It verifies rejection of the unadmitted MPI user-material combination, not support for it. - Built a pure-Python wheel from
git archiveof that exact commit withAGENTFEM_BUILD_NATIVE=0, installed into an isolated temporary target using existingfenicsx-envdependencies, and checked the imported package path. Wheel SHA256:d2650ad5902aff8f70ec4162823d0cfc7c8482f3a9004124d05b95c72acf860d. - Ran
examples/small_strain_relaxationthrough installedagentfem runwith--material-point, then a separate run with--restartpointing to its midpoint checkpoint. Both completed 16 increments and published results. - Compared all selected
sample.E,sample.EV,sample.Shistory records: exact equality. All seven datasets in finalresults.h5were exactly equal.agentfem verifyverified the resumed manifest's provenance seal; this seal is not experimental verification of the material law. - Read both final XDMF files with VTK's real XDMF reader, applied displacement
UthroughvtkWarpVector, and verified one unstructured grid, 16 cells, correct warped coordinates and retainedS_CELL/EV_CELLarrays. The first probe used the display labelDisplacement; inspection identified the actual exported array nameU, and the corrected probe passed without editing output.
Numerical checks used FI_PROVIDER=tcp, OMP_NUM_THREADS=1 and
OPENBLAS_NUM_THREADS=1. No user installation or original project was changed.
The first test command had a misspelled test filename and collected no tests;
the corrected complete command produced the count above. An initial comparison
script incorrectly indexed the manifest's history-name list; the corrected
comparison used the actual history_records objects, without changing results.
Main-line integration check¶
After PR #161 merged, main commit
a15f487de25ad13672cf22f5ef55138e0fe51184 has no differences from the frozen
candidate in src/agentfem, examples, pyproject.toml, tools or evidence.
The installed-use checks therefore cover the integrated runtime and scientific
tools, rather than a different unmerged numerical implementation.
The installed package also ran python -m tools.p92_structural_cycle_screen
from the archived source tree with 600 °C, two cycles, a synthetic 5 s hold and
refinement 2. It accepted 84 increments, reproduced restart histories exactly,
and reported maximum endpoint discrepancy 10.360198210615351 MPa against the
continuous scalar reference. This is a short numerical discriminator, not the
published 60 s hold experiment. The module command's help path and the related
targeted tests passed (61 tests); no project-level solver was introduced.
Scientific boundary¶
The installed example is a synthetic relaxation law, not P92 qualification. The separately archived 435-cycle P92 computation checks structure/time integration against a continuous reference. Engineering life still requires compatible independent observations and the selected application/failure criterion; integration success does not supply those missing data.