Repository navigation
Release 0.25 CI: platform-independent qf, doctests and checks - #985
Merged
Merged
Conversation
The release PR's first full run failed on things no local run on arm64 macOS showed: - Regression qf: Newton's finish rejected every step when the bracketed answer sat at an end of its bracket and the cumulative hazard's sign there flipped between batches (numpy 2.5.4's vectorised exp/log on Linux round the same time differently in a batch of another size), so LogNormalPH's qf(0.9) kept the solver's 1.1e-12 error. The bracket is widened by 1e-10 of t; a step must still reduce |gap|. Reproduced and fixed in Linux containers (arm64 and amd64). - test_828 bounded the error of ff(qf(s)) near an additive model's support by 1e-8 of s, about two ulps of the terms H0 + x beta'Z that cancel there; x86-64 rounds them to 1.1e-8. The bound is now 16 ulps of |H0(q)|, which is the limit any qf or ff has there (about 5 at most on either platform). - NormalAH's numerical standard errors (the reference) are 1.05e-4 from the exact ones on x86-64, 6.2e-5 on arm64; it joins OLD_ROUNDING, whose check at ten times the step agrees to 6.7e-7. - Doctests run one after another in one process in CI; three that draw on plt.gca() drew on an earlier example's axes. Every doctest now starts with no figure open (root conftest). - The refit calibration registry neither planned nor excluded WeibullJointPH; it is excluded, its own study being calibration/test_coverage_joint.py. The hooks also moved _prediction's Callable to collections.abc. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019Km2eWBiPJ5JNkme3vRg4B
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes the failures in the first full run on the release PR (#984). None of them showed up locally on arm64 macOS.
qf(test_571_qf_inverts_ff_for_every_family[LogNormalPH], py3.12/3.13).qf(0.9)kept the solver's 1.1e-12 error.test_828_qf_is_exact_near_the_start_of_the_support[NormalAH].test_standard_errors_match_the_numerical_ones[NormalAH].OLD_ROUNDING(2e-4), which also checks at ten times the step, where they agree to 6.7e-7.Parametric.plot, bothplot_partial_effects).plt.gca()drew on an earlier example's axes.WeibullJointPHwas neither planned nor excluded. It is now excluded, because its own study iscalibration/test_coverage_joint.py.Local: regression + fast conformance 8462 passed; sequential doctests 805 passed; lint clean (pinned pre-commit isort and isort 9.0.2).
🤖 Generated with Claude Code
https://claude.ai/code/session_019Km2eWBiPJ5JNkme3vRg4B