The compiler is its own assembly

Everything that shapes what a dynamic NodeType compile is fed — the generated provider skeleton, which source files a type's queries select, @@-include resolution, the reference set, compilation options, source-generator execution, and the emit itself — now lives in a dedicated MeshWeaver.Compiler assembly instead of inside the graph.

Why it matters: a compiled type stays valid exactly as long as nothing it was built from changed. The identity that decides this used to pin the whole graph assembly — the busiest code in the platform — so nearly any platform change forced every compiled type to rebuild. It now pins the small toolchain assembly together with everything the toolchain itself depends on (including the #r directive resolver, whose effect on compiles was previously invisible to the identity), so rebuilds happen when the toolchain, one of its dependencies, or a public surface actually changes — and only then.

One pipeline, every path: the portal compiling an edited type on demand, the startup batch bake, and the CI bake that ships prebuilt assemblies all run the same toolchain code, so what CI built and what the portal would build can no longer drift.

Reconnecting…
The server was updated. Reloading the page to pick up the latest version.