# Pull Request

## Summary
<- What does this PR change and why? -->

## Changes
<- Bullet list of changes, or describe the approach taken -->

## Testing
- [ ] All existing tests pass (`uv run task check`)
- [ ] New behavior is covered by tests with BDD docstrings
- [ ] Coverage target maintained

## Checklist
- [ ] `from __future__ import annotations` at top of every new module
- [ ] pyright passes in strict mode
- [ ] ruff lint + format passes
- [ ] Commit messages follow conventional commits

## Related Issues
<- Closes #123 -->
