Skip to content

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.

Documentation follows the source. Planned contracts are marked explicitly.