Skip to content

[FEATURE] Install should materialize transitive package artifacts by default #114

@sergio-sisternes-epam

Description

@sergio-sisternes-epam

Is your feature request related to a problem? Please describe.
When installing a top-level package that depends on other packages, transitive dependencies are resolved and visible in dependency listings, but their runtime artifacts are not consistently materialized into active integration folders (for example skills/agents/instructions projections). This creates a mismatch between dependency resolution and effective runtime activation, and forces users to manually flatten dependencies in consumer config.

Describe the solution you'd like
Make transitive dependencies fully materialized by default during install, not only resolved.

Proposed behavior:

  • Resolve direct and transitive dependencies.
  • Materialize runtime artifacts for direct + transitive dependencies.
  • Keep deterministic ordering and lockfile behavior.
  • Expose clear lifecycle states in dependency views (for example: resolved, installed, materialized, orphaned).

Optional controls:

  • --no-transitive-materialize to opt out.
  • --materialize-depth <n> for bounded recursion.

Collision behavior:

  • Deterministic precedence rules.
  • Explicit warnings with source package path.
  • Optional strict mode to fail on conflicts.

Describe alternatives you've considered
Current workaround is to flatten all transitive dependencies into direct entries in the consumer config. This works but defeats package composition, increases maintenance overhead, and makes wrappers/orchestration packages less useful.

Additional context
Observed reproduction pattern:

  1. Start from an empty workspace.
  2. Install a package that has several downstream dependencies.
  3. Run dependency inspection commands and verify transitives are resolved.
  4. Check generated runtime integration folders.
  5. Notice transitive artifacts are missing unless those packages are also listed directly.

Expected outcome: dependency composition should result in equivalent runtime activation without requiring manual flattening.

Metadata

Metadata

Assignees

No one assigned

    Labels

    acceptedDirection approved, safe to start workenhancementNew feature or requestneeds-designNeeds discussion or design before implementation

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions