Skip to content

fix(website): support string-valued agent tools metadata - #6303

Merged
aaronpowell merged 1 commit into
mainfrom
aaronpowell-website-ci-failure
Nov 9, 2026
Merged

aaronpowell merged 1 commit into
mainfrom
aaronpowell-website-ci-failure

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

The website build exposed by #6269 fails during metadata generation with TypeError: tools.forEach is not a function. The new agent uses tools: new-relic-mcp-server/*, a string declaration explicitly supported by the custom agent configuration reference, but the generator assumes an array.

Normalize scalar and comma-separated tool strings into arrays before generating agent metadata and filter facets, while preserving existing list declarations. Invalid types now fail with the source filename. Add focused regression coverage and document the supported formats. No CI workflow change is needed.

Relates to #6269.


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): Website metadata generator bug fix.

Additional Notes

Original failure: website preview build, step 7. Astro never started; the failure was in website:data.

Validation:

  • node --test eng\generate-website-data.test.mjs eng\yaml-parser.test.mjs - passed, 24 tests covering string/list tools, comma separation, missing/empty values, invalid types, and existing YAML parsing behavior.
  • npm run website:build - passed, 1,600 pages built.
  • npm start - passed; no generated README or marketplace changes.
  • bash eng/fix-line-endings.sh - passed.
  • git diff --check - passed before committing.

Resource-authoring and paid-service checklist items are not applicable to this infrastructure fix.


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

Accept scalar and comma-separated tools declarations alongside YAML lists, and report invalid values with the source filename. Add regression coverage and document the supported formats.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@aaronpowell
aaronpowell requested a review from a team as a code owner November 9, 2026 00:32
Copilot AI dynamic review requested due to automatic review settings November 9, 2026 00:32
@github-actions

github-actions Bot commented Nov 9, 2026 •

Copy link
Copy Markdown
Contributor

🚦 Submission status: 👀 Ready for review

Risk tier: merge-risk:high — Privileged execution, automation, or review-policy change
Required to merge: passing submission-gate checks plus 1 approval from reviewers with write access, including a maintainer with admin or maintain permission.

Why this tier
  • eng/generate-website-data.mjs is a high-risk path (automation, scripts, MCP config, hooks, or review policy)
  • eng/generate-website-data.test.mjs is a high-risk path (automation, scripts, MCP config, hooks, or review policy)

Automated checks

Check Status Details
Line endings ✅ Passed Passed · logs
Spelling ✅ Passed Passed · logs
Contributor reputation ✅ Passed Passed · logs
Duplicate resource scan ⏳ Pending (advisory, non-blocking) Running · logs
PR quality signal ⏳ Pending (advisory, non-blocking) Running · logs

Review

  • Approvals: 0/1
  • Assigned reviewer: not assigned yet — comment /request-review to ask for one
  • Review target date: not set
  • Still needed: 1 more approval(s); an approval from a maintainer with admin or maintain permission
  • The core-maintainers pool is not staffed yet; an approver with admin or maintain permission is required instead.

Commands

Command Who What it does
/rerun-checks PR author, maintainers Re-runs failed or incomplete checks and re-evaluates this gate
/request-review PR author, maintainers Asks the review rotation to assign a reviewer (adds needs-reviewer)

Updated for 43d689b · gate run · This comment is maintained automatically — see submission gate docs.

@github-actions github-actions Bot added the website-update PR touches website content or code label Nov 9, 2026
@github-actions

github-actions Bot commented Nov 9, 2026

Copy link
Copy Markdown
Contributor

🟡 Contributor Reputation Check: MEDIUM risk

Check Risk
Profile MEDIUM
Credential audit NONE

Maintainers: please review this contributor before merging.
See the workflow run for full details.
Automated check powered by AGT.

@github-actions github-actions Bot added needs-review:MEDIUM Contributor reputation check flagged MEDIUM risk ready-for-review Submission passed intake validation and is ready for maintainer review and removed awaiting-automation labels Nov 9, 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.

🟢 Approval recommended

No active review issues block approval of the tool-metadata normalization change.

No open issues 🎉

What changed in this PR

Fixes website metadata generation for string-valued agent tools, addressing the build failure exposed by #6269 while preserving existing YAML list support.

Changes:

  • Normalize scalar and comma-separated tool strings into arrays; report invalid types with the source filename.
  • Add regression tests for supported formats, empty values, invalid types, and tool filter facets.
  • Document supported formats and the focused test command.
File Description
website/​README.md Documents supported tool declarations and regression tests.
eng/​generate-website-data.test.mjs Tests tool normalization, filter facets, and validation errors.
eng/​generate-website-data.mjs Normalizes and validates tools; enables isolated testing without running the full generator on import.

Review effort: Balanced (auto)

@aaronpowell
aaronpowell merged commit 416e3ac into main Nov 9, 2026
31 of 32 checks passed
@aaronpowell
aaronpowell deleted the aaronpowell-website-ci-failure branch November 9, 2026 00:41

This branch was successfully deployed

1 active deployment
github-pages — 43d689b6 Deployed Nov 9, 2026 by aaronpowell via deploy #1344
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

merge-risk:high needs-review:MEDIUM Contributor reputation check flagged MEDIUM risk ready-for-review Submission passed intake validation and is ready for maintainer review website-update PR touches website content or code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants