ForceFreeStates - REFACTOR - Single-source the auto chunk-count target - #435
Draft
d-burg wants to merge 1 commit into
Draft
ForceFreeStates - REFACTOR - Single-source the auto chunk-count target#435d-burg wants to merge 1 commit into
d-burg wants to merge 1 commit into
Conversation
The nchunks=0 target and the crossing floor were mirrored by hand in two test files. They are now min_crossing_chunks(msing) and auto_chunk_target(msing), used by balance_integration_chunks and both tests; one deliberate assertion pins the formula so a src change still fails loudly instead of propagating silently. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Contributor
|
This pull request is missing an assignee and a reviewer. If you are not ready to name them, mark this pull request as a draft. |
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.
Release note
diiid_n1_riccatiis bit-identical head vs baseThe
nchunks = 0auto chunk-count target and the crossing floor were each written out in three places: the authoritative formula insidebalance_integration_chunksplus hand-copied mirrors inruntests_parallel_integration.jlandruntests_decomposition_invariance.jl. They are now single functions —ForceFreeStates.auto_chunk_target(msing)andForceFreeStates.min_crossing_chunks(msing)— used by the solver and both test files.Regression report
regress --cases diiid_n1_riccati --refs 30eb52073,a47f409f0 --force(base = #362's headfeature/thread-invariance, so the comparison isolates exactly this refactor; raw shas, both sides fresh):Validation
runtests_parallel_integration.jlata47f409f0,julia -t 4, fresh worktree: 95/95runtests_decomposition_invariance.jlsame conditions: 11/11feature/thread-invariance(it filters on basedevelop/main); it will run once the base is retargeted after Test - TEST - Decomposition invariance of the unified Riccati Delta-prime path #362 merges — the local runs above cover the gapNotes for reviewers
runtests_parallel_integration.jlstill assertsauto_chunk_target(msing) == max(2msing+3, 8(msing+1)+msing). That keeps the tripwire — a change to the src formula fails a test loudly and forces a conscious update — while the operational values everywhere come from the single source. Without the pin, a formula change would propagate silently into every consumer and no test would notice.min_bvp_intervalsconditioning rationale (8 sub-chunks per segment, STRIDE's 33 intervals, cond ~ 10²⁴) moved verbatim from the inline comment intoauto_chunk_target's docstring.feature/thread-invariance), sinceruntests_decomposition_invariance.jlonly exists there; retarget todevelopafter Test - TEST - Decomposition invariance of the unified Riccati Delta-prime path #362 merges.Draft until #362 lands and Daniel names reviewer/assignee.
🤖 Generated with Claude Code