## Summary

What does this PR do, and why?

## Linked issue

<!-- Use "Refs #123". Reserve "Fixes #123" for a change the maintainer has confirmed
     actually resolves the issue (a merged PR is not confirmation on its own). -->
Refs #

## Type of change

- [ ] Bug fix
- [ ] New feature
- [ ] Breaking change
- [ ] Documentation
- [ ] Refactor / tests / tooling

## How was it tested?

- [ ] `make check` passes (fmt, vet, lint, tests)
- [ ] Tested against a real SoundTouch device (details below)

<!-- If you tested on hardware, note the model and what you observed. In any pasted
     output, use RFC-5737 documentation IPs (192.0.2.x), never your real LAN IPs. -->

## Checklist

- [ ] My changes are focused, and I have read the diff myself
- [ ] No personal data (real LAN IPs, MAC addresses, device IDs, account IDs) in code, tests, or fixtures
- [ ] Docs or CLI help updated if behavior changed

---

### A note on AI-assisted contributions

AI and agent-assisted code is welcome, we use it here too. What we cannot accept is
unreviewed "slop": large generated diffs the author has not read, run, or understood.
Keep PRs small and focused, make sure `make check` passes, and be ready to explain your
changes during review.

By contributing, you agree that your work is licensed under the project's
[MIT License](https://github.com/gesellix/Bose-SoundTouch/blob/main/LICENSE) and that you
will follow the
[Code of Conduct](https://github.com/gesellix/Bose-SoundTouch/blob/main/CODE_OF_CONDUCT.md).
