## Summary

Briefly describe what changed and why.

## Related Issues

- Closes #

## Testing

List what you ran locally (or write "not run" with reason).

- `uv run pytest`
- `uv run ruff check .`
- `uv run mypy src`

## Checklist

- [ ] Scope is focused and limited to this change
- [ ] Tests added/updated for behavior changes
- [ ] Docs updated for user-visible changes
- [ ] No secrets or sensitive data included
