Structural authoring shape for typed modules. A module without requires is a root,
triggered by activatesOn (implicitly Idle). A module with requires is a chain
member: it activates once every declared capability has been contributed — by whichever
event's chain produced the providers, not necessarily during startup — additionally gated
on activatesOn when declared. Consumers of event-gated providers stay pending until the
event fires and the provider contributes; capability cycles fail at runtime
(DependencyCycleError). Channel enforcement happens in ValidateModuleOptions.
Structural authoring shape for typed modules. A module without
requiresis a root, triggered byactivatesOn(implicitly Idle). A module withrequiresis a chain member: it activates once every declared capability has been contributed — by whichever event's chain produced the providers, not necessarily during startup — additionally gated onactivatesOnwhen declared. Consumers of event-gated providers stay pending until the event fires and the provider contributes; capability cycles fail at runtime (DependencyCycleError). Channel enforcement happens in ValidateModuleOptions.