## Summary
Brief description of what this PR does.

## Type of change
- [ ] New feature
- [ ] Bug fix
- [ ] Documentation
- [ ] Refactoring
- [ ] CI/CD

## Checklist
- [ ] Tests pass locally (`uv run pytest`)
- [ ] Linting passes (`uv run ruff check src/ tests/`)
- [ ] Type checking passes (`uv run mypy src/`)
- [ ] Docstrings added for public API
- [ ] CHANGELOG.md updated (if user-facing change)
