Skip to content

Add recursive package manifest imports - #58233

Merged
pelikhan merged 4 commits into
mainfrom
copilot/add-support-for-importing-manifest
Sep 3, 2026
Merged

Add recursive package manifest imports#58233
pelikhan merged 4 commits into
mainfrom
copilot/add-support-for-importing-manifest

Conversation

Copilot AI commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

Package manifests can now compose subpackages instead of duplicating their file declarations. Imported manifests produce one validated install list.

Changes

  • Manifest composition

    • Adds recursive imports support to the aw.yml schema.
    • Resolves paths relative to the importing manifest.
    • Uses top-level metadata and configuration.
  • Unified installation

    • Combines imported workflows, resources, skills, and agents.
    • Supports local and remote packages consistently.
    • Suppresses implicit discovery for import-only manifests.
  • Validation

    • Detects import cycles with the full cycle path.
    • Rejects paths escaping the top-level package root.
    • Prevents symlink-based local escapes.
    • Rejects case-insensitive destination clashes before installation.
name: Central Agentic Ops
imports:
  - activity/aw.yml
  - ambient-context/aw.yml
  - dashboard/aw.yml

Generated by 👨‍🍳 PR Sous Chef · pi · gpt54 · 22.6 AIC · ⌖ 8.6 AIC · ⊞ 9.2K ·
Comment /souschef to run again

Copilot AI and others added 2 commits September 3, 2026 12:12
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
@pelikhan

pelikhan commented Sep 3, 2026

Copy link
Copy Markdown
Collaborator

@copilot add tests with various tooologies

@pelikhan
pelikhan marked this pull request as ready for review September 3, 2026 12:33
Copilot AI balanced review requested due to automatic review settings September 3, 2026 12:33
@pelikhan

pelikhan commented Sep 3, 2026

Copy link
Copy Markdown
Collaborator

@copilot do not add a new keyword, reuse "includes"

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Compile-time validation now incorrectly rejects package manifests marked private.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

Adds recursive aw.yml imports so repository packages can compose validated installable assets.

Changes:

  • Resolves local and remote manifest import graphs with cycle and path validation.
  • Unifies workflows, resources, skills, and agents with destination-clash detection.
  • Documents and tests manifest composition.
File summaries
File Description
pkg/parser/schemas/aw_manifest_schema.json Defines the imports field.
pkg/cli/compile_repository_manifest.go Validates composed local manifests.
pkg/cli/add_workflow_resolution.go Resolves local imported assets.
pkg/cli/add_package_manifest_resolve.go Resolves remote imported assets.
pkg/cli/add_package_manifest_parse.go Parses manifest imports.
pkg/cli/add_package_manifest_imports.go Implements graph and collision validation.
pkg/cli/add_package_manifest_imports_test.go Tests imports, cycles, symlinks, and clashes.
docs/src/content/docs/specs/repository-package-manifest-specification.md Specifies import behavior.
docs/src/content/docs/reference/aw-yml-package-manifest.md Documents user-facing usage.
Review details
  • Files reviewed: 9/9 changed files
  • Comments generated: 1
  • Review effort level: Balanced

💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.

if err != nil {
return err
}
assets, err := resolveLocalRepositoryPackageManifestNodes(nodes)
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>

Copilot AI commented Sep 3, 2026

Copy link
Copy Markdown
Contributor Author

@copilot add tests with various tooologies

Added manifest topology coverage for chained, shared (diamond), cycle, path normalization, symlink escape, and destination clash cases in 85f0d64.

@copilot do not add a new keyword, reuse "includes"

Package composition now reuses includes entries naming aw.yml manifests; the separate imports keyword was removed from the schema and documentation in 85f0d64.

@pelikhan
pelikhan merged commit fddfd9d into main Sep 3, 2026
34 checks passed
@pelikhan
pelikhan deleted the copilot/add-support-for-importing-manifest branch September 3, 2026 14:08
@github-actions

github-actions Bot commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

🎉 This pull request is included in a new release.

Release: v0.88.3

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants