Rule 0 — Host loads, mod is inert
mount receives { element, host, signal }, never a container element. Hard dependencies block and are fatal; soft dependencies order and degrade gracefully.
Demo — live vellum
Below is a real <vellum-host> loading two real mods. core has no dependencies; ui declares a hard dependency require="core", so vellum blocks ui until core is loaded, then mounts it. Each mod is an ES module exporting named mount/unmount; the lines below are injected by the mods at mount — they are not in this page's static HTML.
Composes with