test(server): wait on the registry change stream instead of spinning on the cache file

Two ProviderRegistry tests polled the status-cache file up to 50 times after publishing a change, which lost the race on a loaded Windows runner and read the previous snapshot. The registry writes the cache and only then publishes, so subscribe to its change stream before publishing and join on the matching checkedAt; the file is on disk by then.

On Windows, readBootstrapEnvelope consumes the inherited descriptor through an auto-closing stream. The successful-read tests now leave that descriptor to the stream instead of racing it with a scoped second close; failure-path tests still close descriptors they retain.

Co-Authored-By: Claude Code <noreply@anthropic.com>
c27b2dc338Julius Marminge committed on 9/4/2026, 8:26:51 PMparentde8410c
2 files changedLine totals unavailable