Prevent default transitions from shadowing later edges
- Dominant language
- Python
- Stars
- 2.5k
- Forks
- 195
- Avg merge
- 6d 10h
- Merged PRs (30d)
- 17
Description
GraphBuilder currently allows adding conditional transitions after a default transition. Burr uses first-match transition semantics, so any edge added after a default edge is silently unreachable.
When adding transitions, validate that:
- no edge can be added after an existing default edge;
- a default transition is the final edge for a node;
- multiple default transitions are rejected.
This issue is tracked by PR #906.
The behavior change should be called out in the release notes.
Contributor guide
Research direction
Start with GraphBuilder's transition-adding logic and trace how default and conditional edges are stored and matched. Verify the three validation cases in the issue, then update the release notes to call out the behavior change; PR #906 tracks this work.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 35/100