Skip to content

Fix over-fragmentation of altpath cover#4832

Open
glennhickey wants to merge 2 commits intomasterfrom
altpaths
Open

Fix over-fragmentation of altpath cover#4832
glennhickey wants to merge 2 commits intomasterfrom
altpaths

Conversation

@glennhickey
Copy link
Contributor

Found a few mistakes:

  • length filter was getting applied before merging instead of after
  • highest-coverage fragments were often not getting merged because they were from different paths (despite being adjacent)
  • output was not deterministic

This PR fixes all issues, but reverts back to using lexicographic rather than highest coverage traversals in order to get around the determinism concerns (and, in hindsight, is why I was using it in the previous deconstruct-based version). There's a fix for that but I'll worry about it in another PR ...

glennhickey and others added 2 commits February 17, 2026 21:44
… filter

Three fixes to augref interval computation:

1. Fix crash in try_extend_backward when backward walk reaches the start
   of a path. get_next_step(path_front_end) is invalid in bdsg; return
   path_begin directly instead.

2. Add cross-path interval merging in add_interval. When a new interval
   is adjacent to an existing interval on a different path, attempt to
   extend one interval to absorb the other if they share the same node
   sequence. This reduces augref fragmentation.

3. Defer minimum length filter to after all merging is complete. Previously
   short intervals were discarded in compute_snarl and fill_uncovered_nodes
   before add_interval could merge them with adjacent intervals. Now all
   intervals are kept during computation (min_length=1) and filtered by
   the new filter_short_intervals() after defragment_intervals().

Also adds rank_by_name option (hardcoded true for testing) to rank
traversal fragments by path name instead of coverage, and adds verbose
output showing the post-filter interval count.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants