Skip to content

Add version parity checks to external plugin quality gates#2307

Merged
aaronpowell merged 3 commits into
mainfrom
aaronpowell-external-plugin-version-match-validation
Jul 16, 2026
Merged

Add version parity checks to external plugin quality gates#2307
aaronpowell merged 3 commits into
mainfrom
aaronpowell-external-plugin-version-match-validation

Conversation

@aaronpowell

Copy link
Copy Markdown
Contributor

Pull Request Checklist

  • I have read and followed the CONTRIBUTING.md guidelines.
  • I have read and followed the Guidance for submissions involving paid services.
  • My contribution adds a new instruction, prompt, agent, skill, workflow, or canvas extension file in the correct directory.
  • The file follows the required naming convention.
  • The content is clearly structured and follows the example format.
  • I have tested my instructions, prompt, agent, skill, workflow, or canvas extension with GitHub Copilot.
  • I have run npm start and verified that README.md is up to date.
  • I am targeting the main branch for this pull request.

Description

This closes a validation gap where an external plugin entry could declare a version in plugins/external.json that does not match the remote plugin.json at the submitted source.ref and/or source.sha.

The shared external plugin quality gate now includes a new version match gate that fetches and reads plugin.json from each provided locator, compares versions, and fails with submitter-fix output on mismatch, missing manifests, or invalid manifest JSON. The new gate is wired through issue intake and PR quality summaries, including status columns and detailed gate output sections.

I also aligned workflow fallback payloads to use vally_lint_status (instead of the stale skill_validator_status) and added version_match_status when quality jobs fail unexpectedly.


Type of Contribution

  • New instruction file.
  • New prompt file.
  • New agent file.
  • New plugin.
  • New skill file.
  • New agentic workflow.
  • New canvas extension.
  • Update to existing instruction, prompt, agent, plugin, skill, workflow, or canvas extension.
  • Other (please specify):

Additional Notes

N/A


By submitting this pull request, I confirm that my contribution abides by the Code of Conduct and will be licensed under the MIT License.

Enforce external.json version matching against remote plugin.json for source ref and/or sha in shared quality gates, and surface the new gate status/output in intake and PR workflows.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 8aa3e98d-1873-4cab-8866-1b2efd0f24ad
Copilot AI review requested due to automatic review settings July 16, 2026 01:24
@github-actions github-actions Bot added the workflow PR touches workflow automation label Jul 16, 2026

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.

Pull request overview

Adds a new “version match” quality gate for external plugins so plugins/external.json’s declared version is validated against the remote plugin.json at the submitted immutable locators, and propagates the new gate’s status/output through intake and PR reporting workflows.

Changes:

  • Extend eng/external-plugin-quality-gates.mjs to fetch/read plugin.json at source.ref and/or source.sha and fail on version mismatch (with a new version_match_status + output field).
  • Surface the new gate in PR summaries and intake comments (tables + detailed output sections).
  • Align workflow fallback payload keys to use vally_lint_status and include version_match_status.
Show a summary per file
File Description
eng/external-plugin-quality-gates.mjs Implements the version match gate and includes its status in overall quality results.
eng/external-plugin-pr-quality-gates.mjs Includes the version match status in PR gate summary output.
eng/external-plugin-intake.mjs Adds version match status/output to intake comment rendering.
.github/workflows/external-plugin-pr-quality-gates.yml Updates PR workflow reporting tables/details to include version match and fallback payloads.
.github/workflows/external-plugin-intake.yml Updates intake workflow fallback payloads to the correct status fields and adds version match.
.github/workflows/external-plugin-command-router.yml Updates command-router workflow fallback payloads to the correct status fields and adds version match.

Review details

  • Files reviewed: 6/6 changed files
  • Comments generated: 1
  • Review effort level: Low

Comment thread eng/external-plugin-quality-gates.mjs
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings July 16, 2026 02:37
@aaronpowell
aaronpowell merged commit 61dda50 into main Jul 16, 2026
14 of 15 checks passed
@aaronpowell
aaronpowell deleted the aaronpowell-external-plugin-version-match-validation branch July 16, 2026 02:39

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.

Review details

  • Files reviewed: 6/6 changed files
  • Comments generated: 1
  • Review effort level: Medium

);

for (const manifestPath of manifestCandidates) {
const showResult = runCommand("git", ["show", `${locator}:${manifestPath}`], { cwd: repoDir });
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

workflow PR touches workflow automation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants