## Summary

<!-- Brief description of changes -->

## Test plan

- [ ] Tests pass (`pytest`)
- [ ] Lint clean (`ruff check .` and `ruff format --check .`)
- [ ] Type check clean (`mypy --strict headerkit/`)
- [ ] `CHANGELOG.md` updated if necessary
