More-scalable reachability edge finding for surject #4764
+989
−199
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.
Changelog Entry
To be copied to the draft changelog by merger:
MultipathAlignmentGraphreachability edge finding for stick-shaped graphs like those invg surject, to avoid quadradic runtimeDescription
This is a draft PR with a synthetic implementation and some real and some synthetic tests, to try and stop quadradic explosions in the "noncolinear shell" logic in
MultipathAlignmentGraph's reachability edge finder (the analog of Giraffe chaining), which doesn't have anything like the zip code tree.I specced out how this ought to work and then tried to convince Anthropic Claude to implement it, and I've only vaguely reviewed its results. I know its tests look wrong, and so we need more manual tests here and a refactor of the MultipathAlignmentGraph to really let us test the two reachability edge implementations against each other without needing to worry about anchors already being cut during construction.