## Summary

<!-- One to three sentences describing what this PR does and why. -->

## Checklist

- [ ] Tests pass locally: `uv run pytest`
- [ ] Linting passes: `uv run ruff check src/ tests/`
- [ ] Type check passes: `uv run mypy src/`
- [ ] Changelog / ROADMAP updated if this is a user-facing change
- [ ] Docs updated if the public API surface changed (CLI flags, REST endpoints, MCP tools, config keys)
- [ ] New dependencies reviewed for license compatibility (Apache 2.0-compatible only)
- [ ] No unrelated cleanup mixed in (keep diffs focused)
- [ ] CLA signed if this is an external contribution (see CONTRIBUTING.md)

## Test plan

<!-- How did you verify the change? Paste the relevant `pytest -v` output or a manual QA transcript. -->

## Related issues

<!-- Closes # -->
