Rebuilds scope to what a type actually uses

Until now, installing or updating any module invalidated every compiled type on the deployment — the platform only knew "the installed set changed", not who used what. And two deployments with different module line-ups could never share a build of identical content.

Every compile now stamps a dependency record read off the produced assembly itself: exactly which platform assemblies and modules those bytes bind, each with the identity it was built against. Everything that decides whether a build is still valid — the startup warm-up, the bake probe, and the prebuilt-bundle adoption gate — checks that record against the running environment:

Reconnecting…
The connection to the server was interrupted. Trying to restore it…
Trying again…
The connection could not be restored. Reloading the page…
The server was updated. Reloading the page to pick up the latest version.