## What

Brief description of the change.

## Why

Why is this change needed?

## How

Implementation approach (if non-obvious).

## Checklist

- [ ] `pytest` passes
- [ ] `ruff check src/ tests/` clean
- [ ] `ruff format --check src/ tests/` clean
- [ ] New code has tests
- [ ] Commit messages follow Conventional Commits
