Enforce production module import boundaries
This commit is contained in:
@@ -181,8 +181,9 @@ payload rules are defined in the
|
||||
|
||||
## Production Registration
|
||||
|
||||
The CLI allocates one complete framework registry set and one LLM asset
|
||||
registry. It invokes `internal/modules/generic/register`,
|
||||
Production composition occurs through family registrars. The CLI allocates one
|
||||
complete framework registry set and one LLM asset registry. It invokes
|
||||
`internal/modules/generic/register`,
|
||||
`internal/modules/seriatim/register`, and `internal/modules/dnd/register` in
|
||||
that order, then exposes the matching catalog for resolution. The generic and
|
||||
Seriatim registrars own their production leaf registrations. The D&D registrar
|
||||
@@ -194,8 +195,13 @@ packages directly. A concrete family's `register` package is its composition
|
||||
point for specializing reusable generic implementations, while the generic
|
||||
registrar composes only generic children.
|
||||
|
||||
Framework packages must not import production extensions. Tests may compose
|
||||
registries and catalogs directly with fakes.
|
||||
Core and framework production packages do not import production extensions.
|
||||
CLI production code imports only exact family registrar packages. Compatibility
|
||||
tests in the CLI, core, and framework trees may import roots and implementation
|
||||
leaves directly. White-box tests within module families retain the production
|
||||
family boundaries. `internal/modules/integration` is test infrastructure: its
|
||||
black-box tests may compose multiple families, but it is not a production
|
||||
module family or production dependency target.
|
||||
|
||||
## Adding An Extension
|
||||
|
||||
|
||||
Reference in New Issue
Block a user