## Description

<!-- Briefly describe the change and why it's needed -->

## Type of change

- [ ] Bug fix
- [ ] New feature
- [ ] Documentation
- [ ] Refactor / cleanup
- [ ] Other (please describe)

## Checklist

- [ ] Tests pass locally (`pytest` or `uv run pytest` / `poetry run pytest`)
- [ ] If you changed Python dependencies: ran `uv lock` and `uv export --no-dev --no-hashes -o requirements.txt`, committed `uv.lock` + `requirements.txt`
- [ ] Documentation updated if needed
- [ ] No unrelated changes included
- [ ] Code follows project style (format/lint)

## Notes

<!-- Optional: For larger or multi-step changes, consider using sequential thinking to break down the work and validate steps. -->
