The server-side module graph and HMR update propagation.
Semantics follow Vite's model: on a file change, walk up the importer chain from the changed module looking for accepting boundaries. If every path terminates in a boundary, send a targeted hot update; if any path dead-ends at an entry without acceptance, fall back to a full reload.
For React, a module becomes self-accepting when the Fast Refresh glue
decides every export is a component (the validateRefreshBoundary rule).
That wiring lands in milestone 1.