Module composition boundary
pkg/module supplies the base Module embedded by business modules and the legacy HTTPModule interface (Routes() http.Handler). It stores the injected event bus and keeps common composition concerns outside provider-specific business logic.
Construct provider modules in the API composition root. A module may expose Huma registration, a legacy router, and curated public capability facades, but consumers must receive only the operation interfaces they need (ADR-012). Embedding this base type does not automatically register routes, subscribe to events, persist changes, or enforce authorization.
Use provider public/ packages for synchronous contracts and keep private repositories/domain entities inside the provider. The base module is a small composition helper rather than a service locator.
Code reference
See the generated module package.