Briefly describe what this PR does and why.
- ...
- ...
- Bug fix (non-breaking change that fixes an issue)
- New feature (non-breaking change that adds functionality)
- Breaking change (fix or feature that would cause existing functionality to change)
- Refactor (no behavior change)
- Documentation update
- Test-only change
- Chore / CI
Describe the tests you ran to verify your changes (commands, scenarios, manual steps).
- Tests pass locally (
pytest) - Lint/format pass (
ruff check/ruff format --check) - New code is covered by tests where applicable
- Documentation updated where relevant
- CHANGELOG.md updated for user-visible changes (if the repo has one)
- Commit messages follow Conventional Commits
Closes #