Regenerate R parity cache for NNS 13.2 - #141
Merged
Merged
Conversation
ruff is installed unpinned in native-backend-ci, and ruff 0.16.x promoted
RUF036 ("None not at the end of the type union") to stable. The rule now
fires on three pre-existing unions, failing the lint step on main and on
every open pull request.
Reorder the members so None comes last. Union member order carries no
semantics in Python typing, so the annotations are unchanged in meaning;
ruff 0.16.3 and mypy both pass clean afterward.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RCeNnGqf75qssMttPCeLaz
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.
Lands the R parity cache regenerated from the NNS 13.2 source of truth, brought up to date with current
main.The cache content here was produced by the
Regenerate R parity cacheworkflow (run #55, 2026-08-03), which auto-dispatched when the 13.2 archives were pushed upstream. Every step of that run passed, including live regeneration and cache-only verification, but its pull request was never merged, somaincontinued to carry the 2026-07-18 cache. This branch is that same regenerated cache, rebased forward.Provenance
OVVO-Financial/NNSec17f6979d3480767c6d047ce3fa50b95b2b7d29("NNS 13.2 Beta", 2026-08-03)13.2NNS_13.2.tar.gzNNS_13.2.zipsync/nns_source.jsonmovesr_commitfrombb878ad9c3e8282c30eaf47d219a5630db1b1a9dtoec17f6979d3480767c6d047ce3fa50b95b2b7d29, recording the archive-building commit as behavioral-truth provenance. The vendored native snapshot (tools/NNS,r_src_tree_hash, tarball) and the NNS-core commit are unchanged; re-syncing the native snapshot remains a separate NNS-core update.Cache changes by function
NNS.regdy.dx.numericNNS.ANOVA.customNNS.reg.factor_dimred13 entries changed in total. No entries were added or removed, and no shard files were created or deleted — all 58 shards (2314 entries) report
nns_version13.2.Also included: RUF036 lint fix
CI installs
ruffunpinned, and ruff 0.16.x promotedRUF036("Nonenot at the end of the type union") to stable. The rule fires on three pre-existing unions, which failed theRun ruffstep onmainand on every open pull request —main's own runs #844, #847 and #848 were all red for this reason, and becauseruffprecedes them in the job,mypyandBuild distributionswere being skipped entirely.Commit
087e79dreorders the members soNonecomes last:src/nns/pm_matrix.py—Targettests/_r.py—JsonValueandRValueUnion member order carries no semantics in Python typing, so the annotations are unchanged in meaning. This is bundled here rather than split out because the parity cache cannot go green on its own while the base is red, and two of the three unions live in
tests/_r.py, already part of this workflow's ownadd-pathssurface.Verification
The full CI pipeline was run locally against this tree, in CI's order, with the package built from source:
ruff check .(0.16.3, matching CI)mypy1.25pytest tests/invariantsNNS_R_CACHE_ONLY=1 pytest tests/paritypytest tests/propertypytest tests/plottingpytest tests/docs/test_vignette_examples.pypython -m buildThe 12 parity skips are the live-R-only practical examples (no
Rscriptavailable) plus one test retired as an obsolete contract; both are expected in cache-only runs.🤖 Generated with Claude Code
https://claude.ai/code/session_01RCeNnGqf75qssMttPCeLaz