Context
#277 added the lowest-direct-deps matrix, which verifies the declared dependency floors with uv --resolution lowest-direct — but only on Python 3.11 and 3.12 (one leg per PyMC/ArviZ family).
Problem
The published metadata also makes floor claims for 3.13/3.14 that are known-untestable as declared: e.g. pydantic>=2.5 has no cp313/cp314 pydantic-core wheels (official 3.13 support arrived in pydantic 2.9, 3.14 in 2.12), and pymc>=6.0/arviz>=1.1 floors have never been resolved-and-run on 3.13/3.14. A downstream project pinning near the floors on 3.13+ can hit source-build failures or untested combinations that CI would never catch — the same failure mode #277 fixed for 3.12.
Suggested approach
Either (a) extend the lowest-direct-deps matrix to 3.13/3.14 and raise whatever floors fail, or (b) tighten markers per Python version (e.g. pydantic>=2.9; python_version == '3.13', pydantic>=2.12; python_version >= '3.14') and add the matrix legs to keep the claims verified. Option (b) keeps the repo's 'floors are verified in CI' invariant (#270) honest across all supported interpreters.
Affected files
- pyproject.toml (dependencies)
- .github/workflows/main.yml (lowest-direct-deps matrix + family assert)
Context
#277 added the
lowest-direct-depsmatrix, which verifies the declared dependency floors withuv --resolution lowest-direct— but only on Python 3.11 and 3.12 (one leg per PyMC/ArviZ family).Problem
The published metadata also makes floor claims for 3.13/3.14 that are known-untestable as declared: e.g.
pydantic>=2.5has no cp313/cp314 pydantic-core wheels (official 3.13 support arrived in pydantic 2.9, 3.14 in 2.12), andpymc>=6.0/arviz>=1.1floors have never been resolved-and-run on 3.13/3.14. A downstream project pinning near the floors on 3.13+ can hit source-build failures or untested combinations that CI would never catch — the same failure mode #277 fixed for 3.12.Suggested approach
Either (a) extend the
lowest-direct-depsmatrix to 3.13/3.14 and raise whatever floors fail, or (b) tighten markers per Python version (e.g.pydantic>=2.9; python_version == '3.13',pydantic>=2.12; python_version >= '3.14') and add the matrix legs to keep the claims verified. Option (b) keeps the repo's 'floors are verified in CI' invariant (#270) honest across all supported interpreters.Affected files