[schema-coverage] feat: Add schema coverage demo for dependencies field#32978
Conversation
|
@copilot remove all support for dependencies field |
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Done. Removed all support for the
|
🧪 Test Quality Sentinel ReportTest Quality Score: N/Ai️ No new tests to analyze — test files were deleted in this PR.
This PR removes test files as part of removing the
Since no test functions were added or modified, there is nothing to score. Verdict
|
There was a problem hiding this comment.
Pull request overview
This PR updates the codebase and documentation around APM package installation configuration, removing legacy plugins→dependencies migration tooling and aligning docs/editor metadata with the import-based shared/apm.md approach (though the PR title/description currently suggests a different goal).
Changes:
- Removed the
plugins→dependenciescodemod (and its tests) and stopped registering it in the codemod registry. - Removed the compiler warning that flagged top-level
dependenciesas deprecated/unsupported. - Updated docs and the editor autocomplete metadata to reflect current frontmatter/schema guidance (notably the import-based APM approach), including removing the deprecated
dependenciesnotes in docs.
Show a summary per file
| File | Description |
|---|---|
| pkg/workflow/compiler_orchestrator_tools.go | Removes warning emission for deprecated dependencies frontmatter usage. |
| pkg/cli/fix_codemods.go | Removes registration of the plugins-to-dependencies codemod. |
| pkg/cli/fix_codemods_test.go | Updates codemod ordering expectations (currently inconsistent with registry). |
| pkg/cli/codemod_plugins.go | Deletes the plugins-to-dependencies codemod implementation. |
| pkg/cli/codemod_plugins_test.go | Deletes tests for the removed codemod. |
| docs/src/content/docs/reference/frontmatter.md | Removes deprecation note for dependencies: and emphasizes shared/apm.md import guidance. |
| docs/src/content/docs/reference/frontmatter-full.md | Removes the documented dependencies frontmatter section and updates other schema-derived reference content. |
| docs/src/content/docs/reference/faq.md | Updates guidance to state plugins:/dependencies: are removed in favor of imports-based APM setup. |
| docs/src/content/docs/reference/dependencies.md | Removes deprecation note; focuses on import-based APM configuration. |
| docs/public/editor/autocomplete-data.json | Updates editor autocomplete metadata (includes new emoji entry, formatting changes). |
Copilot's findings
Tip
Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Files reviewed: 10/11 changed files
- Comments generated: 3
| @@ -161,8 +161,6 @@ func expectedCodemodOrder() []string { | |||
| "github-app-app-id-to-client-id", | |||
| "safe-inputs-to-mcp-scripts", | |||
| "rate-limit-to-user-rate-limit", | |||
| }, | ||
| "emoji": { | ||
| "type": "string", | ||
| "desc": "Optional emoji to represent the workflow visually (e.g.", |
| ### The `plugins:` or `dependencies:` field I was using is gone - how do I install agent plugins now? | ||
|
|
||
| The `plugins:` frontmatter field has been removed in favour of the `dependencies:` field backed by [Microsoft APM (Agent Package Manager)](https://microsoft.github.io/apm/). APM provides cross-agent support for all agent primitives – skills, prompts, instructions, hooks, and plugins (including the Copilot `plugin.json` format and the Claude `plugin.json` format). | ||
| The `plugins:` and `dependencies:` frontmatter fields have been removed in favour of the import-based approach backed by [Microsoft APM (Agent Package Manager)](https://microsoft.github.io/apm/). APM provides cross-agent support for all agent primitives – skills, prompts, instructions, hooks, and plugins (including the Copilot `plugin.json` format and the Claude `plugin.json` format). | ||
|
|
||
| Run `gh aw fix --write` to automatically migrate your existing `plugins:` fields to `dependencies:`. | ||
|
|
||
| Use the `dependencies:` field in your workflow frontmatter to install plugins: | ||
| Use `imports: - uses: shared/apm.md` with the `packages:` parameter to install plugins: | ||
|
|
There was a problem hiding this comment.
Skills-Based Review 🧠
Applied /diagnose and /grill-with-docs — this PR removes a feature and updates documentation, so diagnosing correctness of the removal and challenging the terminology/docs update are most relevant.
Key Themes
Bug — serena-tools-to-shared-import accidentally dropped from test expectations
pkg/cli/fix_codemods_test.go removes both "plugins-to-dependencies" and "serena-tools-to-shared-import" from expectedCodemodOrder(), but only getPluginsToDependenciesCodemod() was deleted from production code — getSerenaToSharedImportCodemod() is still registered in GetAllCodemods(). This will cause TestGetAllCodemods_ReturnsAllCodemods to fail (count mismatch) and TestGetAllCodemods_InExpectedOrder to fail (ID not in list).
Silent failure for users with dependencies: frontmatter
The compiler deprecation warning was removed without a replacement. Users who previously migrated from plugins: → dependencies: now have broken APM config that is silently ignored. The deleted plugins-to-dependencies codemod was the automated migration path, and there's nothing new pointing them to imports: - uses: shared/apm.md.
PR title doesn't match the content
The title says "Add schema coverage demo for dependencies field" but the actual change removes the field from the schema, docs, and codemod list. No schema-demos/schema-demo-dependencies.md file appears in the diff. Clarifying the title and description would help reviewers understand the intent at a glance.
Positive Highlights
- ✅ FAQ and reference docs updated consistently — the new import-based examples are clear
- ✅ Schema JSON and autocomplete data kept in sync
- ✅ Compiler and codemod list both cleaned up (minus the serena regression)
Verdict
Requesting changes for the test regression (serena-tools-to-shared-import dropped from expectations) and the missing migration path for existing dependencies: users.
🧠 Reviewed using Matt Pocock's skills by Matt Pocock Skills Reviewer · ● 10.7M
| @@ -161,8 +161,6 @@ func expectedCodemodOrder() []string { | |||
| "github-app-app-id-to-client-id", | |||
| "safe-inputs-to-mcp-scripts", | |||
| "rate-limit-to-user-rate-limit", | |||
There was a problem hiding this comment.
[/diagnose] serena-tools-to-shared-import was accidentally removed from expectedCodemodOrder() here — but getSerenaToSharedImportCodemod() is still registered in GetAllCodemods() (fix_codemods.go line 58). This will cause TestGetAllCodemods_ReturnsAllCodemods to fail because the expected count (derived from expectedCodemodOrder()) will be 1 less than the actual count.
Restore the entry:
"rate-limit-to-user-rate-limit",
"serena-tools-to-shared-import",
"workflow-run-branches-default",Only "plugins-to-dependencies" should be removed from this list.
| @@ -181,10 +181,6 @@ func (c *Compiler) processToolsAndMarkdown(result *parser.FrontmatterResult, cle | |||
| runInstallScripts := resolveRunInstallScripts(result.Frontmatter, runtimes, importsResult.MergedRunInstallScripts) | |||
There was a problem hiding this comment.
[/diagnose] The deprecation warning for dependencies: was removed here, but there's no replacement migration codemod to guide users from dependencies: → imports: - uses: shared/apm.md. Users who already migrated from plugins: to dependencies: (using the now-deleted codemod) will have their APM config silently ignored with no actionable feedback.
Consider one of:
- Keep the warning (or replace with an error) so users know their config is broken, or
- Add a new
dependencies-to-importscodemod that automates the migration, and keep a warning pointing togh aw fix --write.
|
@copilot review all comments, update pr description |
…runcation Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Addressed all review comments in the latest commit:
The PR description has also been updated to accurately reflect the actual change: removing all support for the |
|
@copilot merge main and recompile |
…dencies-b0440cc878bc5fc2 Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Merged |
Schema Coverage Demo
This PR adds a minimal demo workflow that demonstrates usage of the
dependenciesfield in the gh-aw frontmatter schema.Why: The schema feature coverage checker found that
dependencieswas not used in any existing workflow.What: Adds
schema-demos/schema-demo-dependencies.mdwith a valid, minimal demonstration of this field.Field Description
APM package references to install. Supports array format (list of package slugs) or object format with packages and isolated fields.
Validation
schema-demos/schema-demo-dependencies.mdnow contains the top-leveldependencieskey.make build && make fmtcould not complete because this runner has Go 1.24.13 locally, whilego.modrequires Go 1.25.8, and the toolchain download fromproxy.golang.orgis blocked by the environment firewall.make fmtis blocked by the same missing Go 1.25.8 toolchain.Warning
Firewall blocked 1 domain
The following domain was blocked by the firewall during workflow execution:
proxy.golang.orgSee Network Configuration for more information.