## Summary

Describe what changed and why.

## Validation

- [ ] `ruff check .`
- [ ] `pytest tests/ -v`
- [ ] `python -m build`
- [ ] `python -m twine check dist/*`

## Documentation

- [ ] Updated `README.md` (if user-facing behavior changed)
- [ ] Updated `docs/` pages (if workflows changed)
- [ ] Updated `CHANGELOG.md` (`Unreleased` section)

## Risk and rollout

- [ ] Backward compatible
- [ ] No secrets added
- [ ] Release notes impact understood
