Phase 1: audit and regression-backed correctness fixes - #233
Open
Alexander-Mitrofanov wants to merge 27 commits into
Open
Phase 1: audit and regression-backed correctness fixes#233Alexander-Mitrofanov wants to merge 27 commits into
Alexander-Mitrofanov wants to merge 27 commits into
Conversation
Record the 3.4.1 architecture, numeric contracts, bottlenecks, test gaps, and independently reproduced correctness findings for discussion #232. Add focused regressions before fixes: Interaction self-assignment and null-seed equality, zero-capacity result storage, invalid Nussinov paired intervals, base-pair ES semantics, noLP/terminal-GU partition counting, and target/query accessibility option isolation. These regressions intentionally fail on the audited baseline so each correction can follow independently.
Return before clearing owned pairing and seed state when the source and destination are the same Interaction. This makes the assignment contract safe without changing normal copy behavior.
Treat identical seed pointers as equal and compare seed sets only when both interactions own one. Seeded and unseeded interactions now compare unequal instead of dereferencing null.
Continue counting reported candidates when maxToStore is zero, but skip list comparison and insertion. This avoids dereferencing an empty reverse iterator for --outNumber=0 style consumers.
An out-of-range paired state is impossible and must contribute the additive zero of the partition semiring. Returning one incorrectly admitted an invalid pair as a multiplicative identity.
getES1/getES2 promise the ensemble of intramolecular structures containing at least one pair. Subtract the unit-weight empty structure before converting Q to energy, while leaving getEall1/getEall2 based on the complete monomer partition.
The direct continuation after the mandatory left stack already covers the adjacent (1,1) extension. Skip that one loop transition so the heuristic remains a subset of the exact interaction ensemble instead of assigning duplicate weight.
Reject terminal-GU and excessive-ED sites in updateZ before they alter Zall or the boundary partition. Reported candidates and their requested interaction ensemble now use the same scientific domain.
Construct target AccessibilityBasePair with tIntLenMax and tAccW. Query settings must not truncate the target ED matrix; asymmetric target/query CLI options now retain their independent biological domains.
Member
|
Hi Alex, For merging, could you please trigger to update the Given that, I will do some local checks and merge it to master! 👍👍 |
Member
|
PS. I already reviewed all code base changes and had a close read of the refactoring plan. |
martin-raden
requested changes
Aug 16, 2026
martin-raden
left a comment
Member
There was a problem hiding this comment.
I have checked and approved all changes.
- TODO: update "Changelog" file accordingly
and this will be ready to merge
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.
Implements phase 1 of discussion #232.
Validation: