## Description

<!-- What does this PR do? Briefly describe the change and its motivation. -->

## Related issue(s)

<!-- Link any related issues: Closes #N, Relates to #N -->

## Type of change

- [ ] Bug fix
- [ ] New feature / enhancement
- [ ] Documentation
- [ ] CI / tooling
- [ ] Security fix
- [ ] Refactor (no functional change)

---

## Verification checklist

> Fill in **all three sections**. Omitting a section or leaving placeholders
> will block review. Claiming something was verified when it was not is worse
> than marking it as not verified — the latter is acceptable, the former is not.

### ✅ Verified locally

<!-- List what you ran and the result. Example:
- `dotnet build` — passed
- `dotnet test` on Linux — all tests green
- `shellcheck` on changed deploy scripts — no errors
- Smoke-tested bootstrap install on Ubuntu 24.04 VM
-->

### ✅ Verified in CI

<!-- Paste links to workflow runs for this branch, or state "CI not yet run". -->

### ❌ Not verified / out of scope

<!-- Explicitly list what was NOT verified and why. Examples:
- Physical three-server acceptance test — SSH and topology parameters not available.
- Windows MSIX install on clean machine — no Windows test environment.
- arm64 boot — no arm64 runner locally.

This section must not be left empty. If everything is verified, write "None." -->
