Skip to content

Historical QF Solver 0.2.7a0 F5 packaging and compatibility audit

Status

F5_STATUS = PASS_WITH_LIMITATIONS.

The audit started from 124c61f6492eee351a34e3542d198a13c00c2874 on the codex/0.2.7-foundation branch. The candidate package identity is qf-solver / qf_solver and version 0.2.7a0, with >=3.10 declared. The package can be built, installed from a wheel or sdist in clean Windows environments, and used from outside the repository. No tag, PyPI publication or GitHub release was performed.

The machine-readable source of this audit is qualification/0_2_7/f5_packaging_compatibility_audit.json.

Finding fixed

The public release-vv entry point initially failed in a clean wheel because qualification/element_analysis_matrix.json and qualification/technical_content_coverage.json were tracked but absent from both the sdist manifest and the wheel data files. This was a P1 packaging defect. The two resources are now included by MANIFEST.in and setuptools.data-files, and the clean installed command writes a controlled qualification report rather than failing on a missing resource.

No source module under src/ was changed. The core package remains importable without petsc4py, mpi4py or h5py; those routes raise typed, understandable infrastructure errors when their optional dependencies are absent.

Artifact and install matrix

Artifact Python OS Install/import/API/CLI Resources
wheel qf_solver-0.2.7a0-py3-none-any.whl 3.13 Windows PASS PASS
sdist qf_solver-0.2.7a0.tar.gz 3.13 Windows PASS PASS
wheel qf_solver-0.2.7a0-py3-none-any.whl 3.12 Windows PASS PASS

All clean-install probes ran from a directory outside the repository with no repository PYTHONPATH. The installed API loaded a TET4 example, checked its mesh and produced finite solve output. The CLI passed --help, --version, check-mesh and solve; invalid input returned a controlled non-zero result. The legacy solveur-ef version command also passed with its deprecation warning.

The wheel and sdist both passed twine check and the repository distribution policy checker. The tested wheel was 1,344,679 bytes and the tested sdist was 996,957 bytes. Two isolated builds had identical member contents and structure; whole archive hashes differed only in normal build/archive metadata. No credentials, personal paths, .env, bytecode or unexpected private dumps were found.

Dependencies and compatibility

Core dependencies are NumPy, SciPy and Matplotlib. HDF5, MPI/PETSc/SLEPc, Gmsh and documentation tools remain optional extras. The base import succeeds when optional solver dependencies are absent, and unavailable optional routes fail with typed infrastructure diagnostics rather than breaking package import.

Python 3.12 and 3.13 were directly installed and smoke-tested locally. Python 3.10 is declared and covered by the quality workflow but was not available locally; Python 3.11 is declared but was not directly verified in this run. Windows was directly tested. Linux is represented by the existing 3.10/3.13 CI matrix; no local Linux artifact environment was available. macOS was not tested and is not in the current CI matrix, so no macOS claim is made.

Release-vv boundary

The installed release-vv command is technically present and resource-safe, but its default bundled record is a legacy 0.2.1 release context. Without the current checkout evidence corpus it returns a controlled qualification report/status rather than a false 0.2.7 PASS. This is a bounded limitation, not a package installation failure and not a 0.2.7 release qualification claim.

Controls and conclusion

  • Numerical source: unchanged.
  • Historical evidence: unchanged.
  • Maturity: unchanged.
  • Heavy benchmark and full regression: not run in F5.
  • Tag, push, GitHub release and PyPI publication: not performed.

WHEEL_READY = YES, SDIST_READY = YES, CLEAN_INSTALL_READY = YES and PYPI_ARTIFACT_READY = YES mean technical candidate artifacts only; they do not authorize publication. F5 is ready for F6 with the compatibility limits above explicitly retained.