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 server was updated. Reloading the page to pick up the latest version.