Skip to content

Clarify host composition of dependency-owned DI preprocessors #16

Description

@flancer64

Context

The host Container Configurator is the only composition root for a TeqFW CLI application. Its container.preprocessors and container.postprocessors lists contain producer Dependency Identifiers. A package can publish one of those producers, but adding the package to dependencies or registering its namespace does not automatically add the producer to the host Container policy.

A host integration of TeqCMS exposed this gap: its web handler required a contract substitution, but the application had only configured its own preprocessor. The request resolved the placeholder API class and failed at runtime with Method not implemented.

Related closed issues #12 and #13 cover the preprocessor function type and the general host/package configurator boundary. This request is narrower: make the dependency-owned Container policy composition step explicit for consumers.

Requested documentation

Update the Host Container Configurator guide and a canonical example to explain that the host must explicitly include any dependency-owned preprocessor/postprocessor producer required by its selected composition. Show the producer Dependency Identifier in the host's ordered container.preprocessors list, or a compatible package Configurator contribution statically imported and merged by the host. State that the host must verify the contribution against the installed package contracts and choose deterministic ordering.

Acceptance criteria

  • The guide explicitly says dependency installation, namespace discovery, and CLI plugin metadata do not automatically configure a package's Container policy producers.
  • The example shows a host including a dependency-owned preprocessor producer alongside its own producer.
  • The text preserves one host configurator and does not imply plugins can mutate the Container after creation.
  • Verification guidance calls for resolving or exercising the contract whose substitution depends on that contribution.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions