Skip to content

[schema-coverage] feat: Add schema coverage demo for dependencies field#32978

Merged
pelikhan merged 4 commits into
mainfrom
schema-coverage-dependencies-b0440cc878bc5fc2
May 18, 2026
Merged

[schema-coverage] feat: Add schema coverage demo for dependencies field#32978
pelikhan merged 4 commits into
mainfrom
schema-coverage-dependencies-b0440cc878bc5fc2

Conversation

@github-actions
Copy link
Copy Markdown
Contributor

Schema Coverage Demo

This PR adds a minimal demo workflow that demonstrates usage of the dependencies field in the gh-aw frontmatter schema.

Why: The schema feature coverage checker found that dependencies was not used in any existing workflow.

What: Adds schema-demos/schema-demo-dependencies.md with 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

  • Coverage grep confirms schema-demos/schema-demo-dependencies.md now contains the top-level dependencies key.
  • make build && make fmt could not complete because this runner has Go 1.24.13 locally, while go.mod requires Go 1.25.8, and the toolchain download from proxy.golang.org is blocked by the environment firewall.
  • make fmt is 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.org

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "proxy.golang.org"

See Network Configuration for more information.

Generated by 📊 Schema Feature Coverage Checker ·

  • expires on May 25, 2026, 7:55 AM UTC

@pelikhan
Copy link
Copy Markdown
Collaborator

@copilot remove all support for dependencies field

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

Copilot AI commented May 18, 2026

@copilot remove all support for dependencies field

Done. Removed all support for the dependencies field in commit feat: remove all support for dependencies field:

  • Removed the schema definition from main_workflow_schema.json
  • Deleted codemod_plugins.go and its tests (the pluginsdependencies migration)
  • Removed the plugins-to-dependencies codemod registration from fix_codemods.go and its test
  • Removed the deprecation warning in compiler_orchestrator_tools.go
  • Regenerated autocomplete-data.json and frontmatter-full.md from the updated schema
  • Updated faq.md, frontmatter.md, and dependencies.md to remove dependencies: frontmatter references

Copilot AI requested a review from pelikhan May 18, 2026 13:02
@pelikhan pelikhan marked this pull request as ready for review May 18, 2026 13:11
Copilot AI review requested due to automatic review settings May 18, 2026 13:11
@github-actions
Copy link
Copy Markdown
Contributor Author

🧪 Test Quality Sentinel Report

Test Quality Score: N/A

i️ No new tests to analyze — test files were deleted in this PR.

Metric Value
New/modified tests analyzed 0
Test files deleted 2

This PR removes test files as part of removing the dependencies field:

  • pkg/cli/codemod_plugins_test.go — deleted (166 lines removed)
  • pkg/cli/fix_codemods_test.go — deleted (2 lines removed)

Since no test functions were added or modified, there is nothing to score.

Verdict

Check passed. No new implementation tests were introduced (0 of 0 tests analyzed).

🧪 Test quality analysis by Test Quality Sentinel · ● 4.4M ·

Copy link
Copy Markdown
Contributor Author

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

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

✅ Test Quality Sentinel: N/A score. No new tests were introduced — only test files were deleted as part of removing the dependencies field. Check passed (0% implementation tests, threshold: 30%).

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR updates the codebase and documentation around APM package installation configuration, removing legacy pluginsdependencies 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 pluginsdependencies codemod (and its tests) and stopped registering it in the codemod registry.
  • Removed the compiler warning that flagged top-level dependencies as 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 dependencies notes 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.",
Comment on lines +126 to 131
### 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:

Copy link
Copy Markdown
Contributor Author

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

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

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",
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

[/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)
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

[/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:

  1. Keep the warning (or replace with an error) so users know their config is broken, or
  2. Add a new dependencies-to-imports codemod that automates the migration, and keep a warning pointing to gh aw fix --write.

@pelikhan
Copy link
Copy Markdown
Collaborator

@copilot review all comments, update pr description

…runcation

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

Copilot AI commented May 18, 2026

@copilot review all comments, update pr description

Addressed all review comments in the latest commit:

  • Restored serena-tools-to-shared-import to the expected codemod order in fix_codemods_test.go (between rate-limit-to-user-rate-limit and workflow-run-branches-default)
  • Fixed the truncated emoji description in the schema ("e.g. in" was being split by the sentence-detection regex) and regenerated autocomplete-data.json

The PR description has also been updated to accurately reflect the actual change: removing all support for the dependencies frontmatter field.

Copilot AI requested a review from pelikhan May 18, 2026 13:36
@github-actions github-actions Bot mentioned this pull request May 18, 2026
@pelikhan
Copy link
Copy Markdown
Collaborator

@copilot merge main and recompile

…dencies-b0440cc878bc5fc2

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

Copilot AI commented May 18, 2026

@copilot merge main and recompile

Merged origin/main (resolved one conflict in faq.md — kept the new "If my agent can use a skill..." section from main while preserving our updated heading). Generated files (autocomplete-data.json, frontmatter-full.md) were already up to date after the merge.

@pelikhan pelikhan merged commit 7a2ade5 into main May 18, 2026
@pelikhan pelikhan deleted the schema-coverage-dependencies-b0440cc878bc5fc2 branch May 18, 2026 13:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants