Skip to content

fix: bump the npm_and_yarn group across 2 directories with 4 updates - #2355

Open
dependabot[bot] wants to merge 6 commits into
mainfrom
dependabot/npm_and_yarn/docs/knowledge_prototypes/mcp-servers/fetch-mcp/npm_and_yarn-8d0c1676a5
Open

dependabot[bot] wants to merge 6 commits into
mainfrom
dependabot/npm_and_yarn/docs/knowledge_prototypes/mcp-servers/fetch-mcp/npm_and_yarn-8d0c1676a5

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Oct 7, 2026 •

Copy link
Copy Markdown
Contributor

Review update — 2026-10-28

Current head b63229ebc434d36b4cfc9056e0eb32d3b15ac65d is based on ba2777d1b008c2148d413e07cc497791966310e0. The grouped update changes the fetch MCP and TypeScript SDK lockfiles. The fetch example now selects its TypeScript Jest tests, avoiding a duplicate compiled JavaScript suite, and declares @modelcontextprotocol/sdk ^1.32.2 with 1.32.2 locked. That SDK version is beyond the patched floor for the four advisories flagged at the previous head. The generated Dependabot notes below describe the earlier SDK 1.31.0 and fast-uri 3.1.8 targets; they are retained for provenance. The current docs lock uses fast-uri 3.1.9.

Validation: clean npm 10 installs and builds passed in both affected packages; the fetch package's full Jest command passed 10/10 tests, and npm ls confirmed SDK 1.32.2. The TypeScript SDK package has no Jest test files, so its npm test exits 1 without running tests. git diff --check passed. A fresh fetch-package npm audit has no SDK finding, but reports 14 other package findings (2 high, 4 moderate, 8 low); this update does not claim to resolve them.

Hosted checks at this head finished 25 passed, 3 skipped, 1 failed. Dependency review did not flag a new moderate-or-higher vulnerable package, but GitHub compared 3 base snapshots with 1 head snapshot and the evidence artifact was not saved. That comparison is not a reliable dependency verdict. Keep the PR open and unmerged until the shared snapshot/evidence issue is resolved; no merge decision is implied by this update.

Bumps the npm_and_yarn group with 4 updates in the /docs/knowledge_prototypes/mcp-servers/fetch-mcp directory: @modelcontextprotocol/sdk, brace-expansion, fast-uri and proxy-addr.
Bumps the npm_and_yarn group with 1 update in the /sdk/typescript directory: brace-expansion.

Updates @modelcontextprotocol/sdk from 1.26.0 to 1.31.0

Release notes

Sourced from @​modelcontextprotocol/sdk's releases.

1.31.0

Upgrade notes

  • Stored OAuth tokens and client information now include an issuer field. Storage that rejects unknown fields needs to allow it.
  • Pass expectedIssuer when constructing ClientCredentialsProvider, PrivateKeyJwtProvider or StaticPrivateKeyJwtProvider. Constructing them without it is deprecated.

What's Changed

Full Changelog: modelcontextprotocol/typescript-sdk@1.30.1...1.31.0

1.30.1

What's Changed

New Contributors

Full Changelog: modelcontextprotocol/typescript-sdk@1.30.0...1.30.1

1.30.0

What's Changed

New Contributors

Full Changelog: modelcontextprotocol/typescript-sdk@v1.29.0...1.30.0

Commits
  • 4b0051f chore: bump version to 1.31.0 (#2890)
  • 51ad4f0 [v1.x] Bind stored OAuth credentials to the authorization server that issued ...
  • 289ac2c chore: bump version to 1.30.1 (#2848)
  • 12b4256 fix(auth): preserve resource URI without trailing slash (#1968) (#1972)
  • a9f6eb7 [v1.x] fix(server): read HTTP request bodies with a size limit and bound JSON...
  • 2d889f2 chore: bump version to 1.30.0 (#2563)
  • e3f3daa Fix SSE keep-alive timer lifecycle in Streamable HTTP server transport (v1.x)...
  • bb5a718 fix(deps): widen @​hono/node-server past GHSA-frvp-7c67-39w9 (#2549)
  • 1dad263 fix: send SSE keep-alive comment frames from Streamable HTTP server transport...
  • 69749aa Validate Content-Type by parsed media type instead of substring match (v1.x) ...
  • Additional commits viewable in compare view
Maintainer changes

This version was pushed to npm by GitHub Actions, a new releaser for @​modelcontextprotocol/sdk since your current version.


Updates brace-expansion from 1.1.18 to 1.1.21

Commits

Updates brace-expansion from 2.1.4 to 2.1.7

Commits

Updates fast-uri from 3.1.7 to 3.1.8

Release notes

Sourced from fast-uri's releases.

v3.1.8

⚠️ Security Warning

This security release fixes the following medium-severity security advisory:

Users of the v3.x release line should upgrade to v3.1.8.

Full Changelog: fastify/fast-uri@v3.1.7...v3.1.8

Commits

Updates proxy-addr from 2.0.7 to 2.0.8

Release notes

Sourced from proxy-addr's releases.

2.0.8

Important

What's Changed

New Contributors

Full Changelog: jshttp/proxy-addr@v2.0.7...v2.0.8

Changelog

Sourced from proxy-addr's changelog.

2.0.8

Commits
  • a11ad82 2.0.8 (#70)
  • 780911d fix: reject IPv4 trust via mapped IPv6 subnets with a short prefix
  • 92e103e fix(ci): use publised as release trigger event (#71)
  • 3e5ac75 ci: merge coverage via artifacts, disable fail-fast, add Node.js 23-26 (#69)
  • 4b9db81 chore(ci): npm-publish via workflows (#54)
  • 655e895 build(deps-dev): bump eslint-plugin-import from 2.31.0 to 2.32.0 (#39)
  • 50ce4d0 build(deps): bump ossf/scorecard-action from 2.4.2 to 2.4.3 (#45)
  • 0fd347f build(deps): bump actions/upload-artifact from 7.0.0 to 7.0.1 (#63)
  • 6a517fa build(deps): bump github/codeql-action from 4.32.4 to 4.36.0 (#64)
  • 0d45e2a Fix "arugment" typo in README (#61)
  • Additional commits viewable in compare view
Maintainer changes

This version was pushed to npm by GitHub Actions, a new releaser for proxy-addr since your current version.


Updates brace-expansion from 1.1.13 to 1.1.21

Commits

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore <dependency name> major version will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
  • @dependabot ignore <dependency name> minor version will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
  • @dependabot ignore <dependency name> will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
  • @dependabot unignore <dependency name> will remove all of the ignore conditions of the specified dependency
  • @dependabot unignore <dependency name> <ignore condition> will remove the ignore condition of the specified dependency and ignore conditions
    You can disable automated security fix PRs for this repo from the Security Alerts page.

Bumps the npm_and_yarn group with 4 updates in the /docs/knowledge_prototypes/mcp-servers/fetch-mcp directory: [@modelcontextprotocol/sdk](https://github.com/modelcontextprotocol/typescript-sdk), [brace-expansion](https://github.com/juliangruber/brace-expansion), [fast-uri](https://github.com/fastify/fast-uri) and [proxy-addr](https://github.com/jshttp/proxy-addr).
Bumps the npm_and_yarn group with 1 update in the /sdk/typescript directory: [brace-expansion](https://github.com/juliangruber/brace-expansion).


Updates `@modelcontextprotocol/sdk` from 1.26.0 to 1.31.0
- [Release notes](https://github.com/modelcontextprotocol/typescript-sdk/releases)
- [Commits](modelcontextprotocol/typescript-sdk@v1.26.0...1.31.0)

Updates `brace-expansion` from 1.1.18 to 1.1.21
- [Release notes](https://github.com/juliangruber/brace-expansion/releases)
- [Commits](juliangruber/brace-expansion@v1.1.18...v1.1.21)

Updates `brace-expansion` from 2.1.4 to 2.1.7
- [Release notes](https://github.com/juliangruber/brace-expansion/releases)
- [Commits](juliangruber/brace-expansion@v1.1.18...v1.1.21)

Updates `fast-uri` from 3.1.7 to 3.1.8
- [Release notes](https://github.com/fastify/fast-uri/releases)
- [Commits](fastify/fast-uri@v3.1.7...v3.1.8)

Updates `proxy-addr` from 2.0.7 to 2.0.8
- [Release notes](https://github.com/jshttp/proxy-addr/releases)
- [Changelog](https://github.com/jshttp/proxy-addr/blob/master/HISTORY.md)
- [Commits](jshttp/proxy-addr@v2.0.7...v2.0.8)

Updates `brace-expansion` from 1.1.13 to 1.1.21
- [Release notes](https://github.com/juliangruber/brace-expansion/releases)
- [Commits](juliangruber/brace-expansion@v1.1.18...v1.1.21)

---
updated-dependencies:
- dependency-name: "@modelcontextprotocol/sdk"
  dependency-version: 1.31.0
  dependency-type: direct:production
  dependency-group: npm_and_yarn
- dependency-name: brace-expansion
  dependency-version: 1.1.21
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: brace-expansion
  dependency-version: 2.1.7
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: fast-uri
  dependency-version: 3.1.8
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: proxy-addr
  dependency-version: 2.0.8
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: brace-expansion
  dependency-version: 1.1.21
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot requested a review from groupthinking as a code owner October 7, 2026 02:49
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code labels Oct 7, 2026
@vercel

vercel Bot commented Oct 7, 2026 •

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
v0-uvai Ready Ready Preview, v0 Oct 29, 2026 6:32am UTC

@github-actions github-actions Bot added the documentation Improvements or additions to documentation label Oct 7, 2026
@coderabbitai

coderabbitai Bot commented Oct 7, 2026 •

Copy link
Copy Markdown
Contributor

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

Run configuration

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

github-actions Bot commented Oct 7, 2026

Copy link
Copy Markdown
Contributor

✅ E2E Test Results: ALL TESTS PASSED

Metric Value
Status 🟢 GREEN
Total Tests
Passed 16
Failed
Deployment https://v0-uvai-pklensbur-garv1.vercel.app
Test Output
ss on every request without persisting it�[32m 1�[2mms�[22m�[39m
 �[32m✓�[39m tests/e2e/pipeline.test.ts�[2m > �[22mEventRelay E2E — Live Deployment�[2m > �[22mTemplate Gallery�[2m > �[22mhomepage returns 200 with HTML�[32m 97�[2mms�[22m�[39m
 �[32m✓�[39m tests/e2e/pipeline.test.ts�[2m > �[22mEventRelay E2E — Live Deployment�[2m > �[22mTemplate Gallery�[2m > �[22mfeatures page contains template/workflow markup�[32m 156�[2mms�[22m�[39m
 �[32m✓�[39m tests/e2e/pipeline.test.ts�[2m > �[22mEventRelay E2E — Live Deployment�[2m > �[22mTemplate Gallery�[2m > �[22mfeatures page surfaces at least 5 workflow/template indicators�[32m 114�[2mms�[22m�[39m
 �[32m✓�[39m tests/e2e/pipeline.test.ts�[2m > �[22mEventRelay E2E — Live Deployment�[2m > �[22mVideo Pack Pipeline�[2m > �[22mPOST /api/video/pack accepts a YouTube URL without hanging�[33m 1865�[2mms�[22m�[39m
 �[32m✓�[39m tests/e2e/pipeline.test.ts�[2m > �[22mEventRelay E2E — Live Deployment�[2m > �[22mVideo Pack Pipeline�[2m > �[22mGET /api/video/pack resolves to a ready pack with evidence lineage�[33m 575�[2mms�[22m�[39m
 �[32m✓�[39m tests/e2e/pipeline.test.ts�[2m > �[22mEventRelay E2E — Live Deployment�[2m > �[22mError Handling�[2m > �[22mmissing URL returns 400, not a hang�[32m 80�[2mms�[22m�[39m
 �[32m✓�[39m tests/e2e/pipeline.test.ts�[2m > �[22mEventRelay E2E — Live Deployment�[2m > �[22mError Handling�[2m > �[22minvalid URL returns 400 quickly, not a hang�[32m 62�[2mms�[22m�[39m
 �[32m✓�[39m tests/e2e/pipeline.test.ts�[2m > �[22mEventRelay E2E — Live Deployment�[2m > �[22mError Handling�[2m > �[22mPOST /api/video/pack with no body returns 400�[32m 68�[2mms�[22m�[39m
 �[32m✓�[39m tests/e2e/pipeline.test.ts�[2m > �[22mEventRelay E2E — Live Deployment�[2m > �[22mDashboard�[2m > �[22m/dashboard returns 200�[32m 107�[2mms�[22m�[39m
 �[32m✓�[39m tests/e2e/pipeline.test.ts�[2m > �[22mEventRelay E2E — Live Deployment�[2m > �[22mDashboard�[2m > �[22m/dashboard contains agent or pipeline visualization markup�[32m 84�[2mms�[22m�[39m
 �[32m✓�[39m tests/e2e/pipeline.test.ts�[2m > �[22mEventRelay E2E — Live Deployment�[2m > �[22mAPI Health�[2m > �[22mGET /api returns a response (not 404)�[32m 200�[2mms�[22m�[39m
 �[32m✓�[39m tests/e2e/pipeline.test.ts�[2m > �[22mEventRelay E2E — Live Deployment�[2m > �[22mAPI Health�[2m > �[22mretired /api/pipeline routes are gone (no pipeline served)�[32m 39�[2mms�[22m�[39m
 �[32m✓�[39m tests/e2e/pipeline.test.ts�[2m > �[22mEventRelay E2E — Live Deployment�[2m > �[22mStatic Assets�[2m > �[22mhomepage has proper meta tags�[32m 101�[2mms�[22m�[39m
 �[32m✓�[39m tests/e2e/pipeline.test.ts�[2m > �[22mEventRelay E2E — Live Deployment�[2m > �[22mStatic Assets�[2m > �[22m/features page returns 200�[32m 82�[2mms�[22m�[39m

�[2m Test Files �[22m �[1m�[32m1 passed�[39m�[22m�[90m (1)�[39m
�[2m      Tests �[22m �[1m�[32m16 passed�[39m�[22m�[90m (16)�[39m
�[2m   Start at �[22m 02:51:06
�[2m   Duration �[22m 5.17s�[2m (transform 58ms, setup 0ms, import 74ms, tests 4.96s, environment 0ms)�[22m


@github-actions

github-actions Bot commented Oct 7, 2026 •

Copy link
Copy Markdown
Contributor

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

OpenSSF Scorecard

PackageVersionScoreDetails
npm/@modelcontextprotocol/sdk 1.32.2 UnknownUnknown
npm/brace-expansion 2.1.7 🟢 7
Details
CheckScoreReason
Maintained🟢 1017 commit(s) and 13 issue activity found in the last 90 days -- score normalized to 10
Code-Review⚠️ 1Found 3/16 approved changesets -- score normalized to 1
Binary-Artifacts🟢 10no binaries found in the repo
Token-Permissions🟢 10GitHub workflow tokens follow principle of least privilege
Security-Policy🟢 10security policy file detected
Packaging⚠️ -1packaging workflow not detected
Dangerous-Workflow🟢 10no dangerous workflow patterns detected
Pinned-Dependencies🟢 10all dependencies are pinned
CII-Best-Practices⚠️ 0no effort to earn an OpenSSF best practices badge detected
Fuzzing⚠️ 0project is not fuzzed
License🟢 9license file detected
Signed-Releases⚠️ -1no releases found
Branch-Protection⚠️ -1internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md
SAST⚠️ 0SAST tool is not run on all commits -- score normalized to 0
npm/brace-expansion 1.1.21 🟢 7
Details
CheckScoreReason
Maintained🟢 1017 commit(s) and 13 issue activity found in the last 90 days -- score normalized to 10
Code-Review⚠️ 1Found 3/16 approved changesets -- score normalized to 1
Binary-Artifacts🟢 10no binaries found in the repo
Token-Permissions🟢 10GitHub workflow tokens follow principle of least privilege
Security-Policy🟢 10security policy file detected
Packaging⚠️ -1packaging workflow not detected
Dangerous-Workflow🟢 10no dangerous workflow patterns detected
Pinned-Dependencies🟢 10all dependencies are pinned
CII-Best-Practices⚠️ 0no effort to earn an OpenSSF best practices badge detected
Fuzzing⚠️ 0project is not fuzzed
License🟢 9license file detected
Signed-Releases⚠️ -1no releases found
Branch-Protection⚠️ -1internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md
SAST⚠️ 0SAST tool is not run on all commits -- score normalized to 0
npm/fast-uri 3.1.9 🟢 8.1
Details
CheckScoreReason
Code-Review🟢 3Found 9/28 approved changesets -- score normalized to 3
Maintained🟢 1030 commit(s) and 3 issue activity found in the last 90 days -- score normalized to 10
Binary-Artifacts🟢 10no binaries found in the repo
Security-Policy🟢 10security policy file detected
Dependency-Update-Tool🟢 10update tool detected
Packaging⚠️ -1packaging workflow not detected
Dangerous-Workflow🟢 10no dangerous workflow patterns detected
Pinned-Dependencies🟢 5dependency not pinned by hash detected -- score normalized to 5
Token-Permissions🟢 10GitHub workflow tokens follow principle of least privilege
CII-Best-Practices⚠️ 0no effort to earn an OpenSSF best practices badge detected
Vulnerabilities🟢 100 existing vulnerabilities detected
Signed-Releases⚠️ -1no releases found
License🟢 9license file detected
Branch-Protection⚠️ -1internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md
SAST🟢 9SAST tool is not run on all commits -- score normalized to 9
Fuzzing⚠️ 0project is not fuzzed
CI-Tests🟢 1011 out of 11 merged PRs checked by a CI test -- score normalized to 10
Contributors🟢 10project has 33 contributing companies or organizations
npm/proxy-addr 2.0.8 🟢 7.3
Details
CheckScoreReason
Maintained🟢 810 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 8
Binary-Artifacts🟢 10no binaries found in the repo
Dependency-Update-Tool🟢 10update tool detected
Code-Review🟢 5Found 4/7 approved changesets -- score normalized to 5
Dangerous-Workflow🟢 10no dangerous workflow patterns detected
Pinned-Dependencies🟢 5dependency not pinned by hash detected -- score normalized to 5
Token-Permissions🟢 10GitHub workflow tokens follow principle of least privilege
Vulnerabilities🟢 100 existing vulnerabilities detected
CII-Best-Practices⚠️ 0no effort to earn an OpenSSF best practices badge detected
License🟢 10license file detected
Signed-Releases⚠️ -1no releases found
SAST🟢 8SAST tool detected but not run on all commits
Branch-Protection⚠️ 0branch protection not enabled on development/release branches
Fuzzing⚠️ 0project is not fuzzed
Packaging⚠️ -1packaging workflow not detected
Security-Policy🟢 9security policy file detected
Contributors🟢 10project has 6 contributing companies or organizations
CI-Tests🟢 619 out of 29 merged PRs checked by a CI test -- score normalized to 6
npm/brace-expansion 1.1.21 🟢 7
Details
CheckScoreReason
Maintained🟢 1017 commit(s) and 13 issue activity found in the last 90 days -- score normalized to 10
Code-Review⚠️ 1Found 3/16 approved changesets -- score normalized to 1
Binary-Artifacts🟢 10no binaries found in the repo
Token-Permissions🟢 10GitHub workflow tokens follow principle of least privilege
Security-Policy🟢 10security policy file detected
Packaging⚠️ -1packaging workflow not detected
Dangerous-Workflow🟢 10no dangerous workflow patterns detected
Pinned-Dependencies🟢 10all dependencies are pinned
CII-Best-Practices⚠️ 0no effort to earn an OpenSSF best practices badge detected
Fuzzing⚠️ 0project is not fuzzed
License🟢 9license file detected
Signed-Releases⚠️ -1no releases found
Branch-Protection⚠️ -1internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md
SAST⚠️ 0SAST tool is not run on all commits -- score normalized to 0

Scanned Files

  • docs/knowledge_prototypes/mcp-servers/fetch-mcp/package-lock.json
  • sdk/typescript/package-lock.json

@groupthinking groupthinking left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

Review status at head f87e4f28: the Closing keyword to open issue check fails on this dependency PR. I am holding approval until the canonical issue linkage or workflow policy is resolved and the check is green. No merge decision is implied by this review.

@groupthinking groupthinking left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

Code review at b63229ebc434d36b4cfc9056e0eb32d3b15ac65d: the earlier issue-link hold is resolved; the current Closing keyword to open issue check passes. The grouped update is scoped to the fetch MCP and TypeScript SDK package locks, with the fetch example now declaring and locking MCP SDK 1.32.2, beyond the patched floor for the four advisories flagged on the previous head. The duplicate Jest suite is corrected. Clean installs and builds passed in both packages, the fetch suite passed 10/10, and a local stdio client/server smoke test exercised all four fetch tools. Hosted checks now show 26 passed and 3 skipped. The TypeScript SDK package has no Jest test files, and the fetch-package audit still reports 14 other package findings.

I approve the code change at this head. This is not a merge recommendation or a complete dependency security verdict: dependency-review still fails after a 3-base/1-head snapshot comparison, and its evidence artifact was not saved. Keep the PR open until that shared evidence check is corrected.

groupthinking added a commit that referenced this pull request Oct 29, 2026
## Current status — approved exact-head repair

Head `85f1815ddb7ec121680d067d165e18eb40d90eda` targets `main` at merge
commit `e010c9f3cec5ae72be16814d0841578ea9f8ded2`, after
[#2487](#2487) merged at
exact head `148cbf55fdce412255d2a61780459143521fa4c4`. The verified
merge commit has the same tree as that head, so this PR's seven-file
diff is unchanged. It adds complete npm lockfile coverage, preserves the
scoped `uv.lock` classification, and combines both lock types into one
manual snapshot so GitHub's pinned review action can compare the full
base and head graphs. The controlled
[#2501](#2501) test
passed on an exact four-file dependency update. This has **not** yet
produced a passing dependency comparison against the current `main` or
cleared the original review queue.

The exact-head [dependency review run
40760369080](https://github.com/groupthinking/EventRelay/actions/runs/40760369080)
succeeded through its **code-only no-delta** path: the full-tree and
combined lock submissions were correctly skipped because this PR changes
workflow code and tests, not dependency inputs. Before the automatic
base retarget, all 30 hosted checks at this same code head finished:
**27 successful, 3 skipped, zero failed or pending**. The retarget did
not run a new dependency comparison. A green no-delta check does not
substitute for the controlled #2501 dependency test or a postmerge real
PR test. A description-only edit may rerun metadata checks.

## Canonical issue

Fixes #2505 on merge under the repository's issue-link rule. Parent
#2490 stays open until a repaired `main` snapshot and a refreshed real
dependency PR pass the full comparison. #2487 merged at the approved
head, and GitHub automatically retargeted this draft to `main` at
`e010c9f3cec5ae72be16814d0841578ea9f8ded2`. The head and seven-file diff
remain unchanged. Hayden approved marking this exact head ready and
merging it. Main-based dependency comparison remains a required
postmerge verification.

## Changes

- Remove focused one-ecosystem snapshot staging from
`.github/workflows/dependency-review.yml`. Submit the same full-tree
component-detection scan on `main` pushes and same-repository dependency
PR heads at the exact commit SHA and ref. Keep the verified upstream
component-detection v0.2.0 pin from #2397 and the existing severity,
license and advisory policy.
- Treat Dependabot configuration changes as configuration, and compare a
PR head to its merge base when detecting new dependency inputs. A stale
branch cannot turn a change made only on `main` into a dependency update
in that PR. Real changed manifests and locks remain subject to review.
- Include **every distinct name/version** from the tracked npm
lockfiles, including nested second versions that component detection can
omit. Group duplicate installed paths with runtime scope if any path is
runtime. Submit those npm manifests and the scoped root `uv.lock`
manifest in **one** manual snapshot after the full-tree scan. The scoped
uv manifest treats packages reached only through `dev` or `docs` as
development. The evidence recorder rejects missing, extra,
wrong-manifest, wrong-version or wrong-scope rows against the exact
changed lockfiles.
- Increase the bounded per-file Python `PipReport` scan from 120 to 240
seconds and the job window to 30 minutes after an observed timeout
produced unrelated requirements-file removals. A timeout still falls
back to declared dependencies and can omit transitive packages; the
guard rejects unrelated graph drift. Keep the 600-second
snapshot-warning retry and warning rejection.
- Add regression coverage for workflow selection, stale branches, npm
nested versions and duplicate scope, combined one-request submission,
scoped uv reachability, and exact evidence validation.

## Changed paths

- `.github/workflows/dependency-review.yml`
- `scripts/ci/record_dependency_review.py`
- `scripts/ci/submit_npm_lock_snapshot.py`
- `scripts/ci/submit_uv_lock_snapshot.py`
- `tests/unit/test_dependency_review_workflow.py`
- `tests/unit/test_submit_npm_lock_snapshot.py`
- `tests/unit/test_submit_uv_lock_snapshot.py`

## Validation

- Focused workflow, recorder, npm and uv snapshot suite: `uv run
--no-project --with pytest --with pyyaml python -m pytest -q -o
addopts='' tests/unit/test_submit_npm_lock_snapshot.py
tests/unit/test_submit_uv_lock_snapshot.py
tests/unit/test_dependency_review_workflow.py` — **31 passed in 3.10s**
at the source head. `uv run --no-project --with ruff ruff check` and
`ruff format --check` on those affected Python files, plus `git diff
--check`, passed.
- Controlled uv
[#2499](#2499) used the
exact `uv.lock` delta from original #2486 on matching off-main branches.
Final [hosted run 40738274345, attempt
2](https://github.com/groupthinking/EventRelay/actions/runs/40738274345)
passed policy, recorder and upload with **65 exact rows** (34 additions,
31 removals), correct package names, versions, manifests and development
scopes, and no reported vulnerabilities. `ddtrace-internal` had unknown
license metadata. The first attempt raced the base snapshot; the
unchanged rerun passed. #2499 was closed unmerged.
- Earlier controlled
[#2500](#2500) used
original #2355's exact two npm lockfile changes and exposed a **10/12
coverage gap** in component detection: nested development
`brace-expansion` 2.1.4→2.1.7 was missing. Independent local npm audits
of both lockfiles found no new advisory and fewer findings after the
update (fetch 18→14; SDK 10→9). That green hosted check was
insufficient; #2500 was closed unmerged.
- Final controlled
[#2501](#2501) used the
exact four-file #2355 patch between base
`eb6e556ef9eb8df80250613291c73abfb59b9f0e` and head
`050f211b9715918f52c488a912d3ae797e76d68e`. [Base run
40759330706](https://github.com/groupthinking/EventRelay/actions/runs/40759330706)
submitted the full-tree and combined lock snapshots; [head run
40759346059](https://github.com/groupthinking/EventRelay/actions/runs/40759346059)
passed policy, recorder and upload. Its artifact and independent GitHub
comparison contain **all 12 exact lock changes**, only from the two
changed npm locks, with the nested `brace-expansion` row, correct
scopes, zero added vulnerabilities, and added licenses MIT or
BSD-3-Clause. GitHub's comparison with the review action's `per_page=5`
request is also warning free. #2501 was closed unmerged; its temporary
refs were deleted.
- The final #2501 success followed two diagnosed issues: an unchanged
Python requirements file generated 83 false removals after a 120-second
fallback, and the pinned review action's five-item API page returned a
**0-base/3-head** warning when full-tree, uv and npm were submitted
separately (six snapshots across both sides). The same comparison with a
larger page was warning free and had the correct 12 rows. Combining uv
and npm manifests leaves two submissions per side and yielded the
passing hosted result. Earlier #2493–#2496 diagnostics documented the
initial main snapshot mismatch, the upstream manifest mapping update and
scope validation; those results remain historical evidence, not a
main-based pass.

## Remaining gates

- [x] #2487 merged at its approved head; this draft automatically
retargeted to `main`, and its unchanged seven-file diff was reviewed.
- [x] Complete npm lock coverage and correct uv scope demonstrated in
controlled hosted canaries, with the five-item review comparison warning
free on #2501.
- [x] Exact-head #2492 code-only dependency check and other hosted
checks passed or skipped before the base retarget (27 successful, 3
skipped). This does not prove a main-based dependency update comparison.
- [x] Hayden approved marking exact head
`85f1815ddb7ec121680d067d165e18eb40d90eda` ready and merging #2492 after
review of the main snapshot uncertainty.
- [ ] After the merge, confirm the new `main` full-tree and combined
lock submission, refresh one original manifest-changing PR onto that
main, and require a warning-free hosted policy verdict plus complete
artifact matching its actual dependency files. Then refresh and recheck
the remaining original dependency PRs. Do not claim the original 21
dependency failures are resolved until this passes.
- [ ] Resolve any outstanding review findings and merge decisions for
the original PRs independently of this shared repair.
…types/mcp-servers/fetch-mcp/npm_and_yarn-8d0c1676a5

This branch was successfully deployed

1 active deployment
Preview — 7e5ec1e5 Deployed Oct 29, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file documentation Improvements or additions to documentation javascript Pull requests that update javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant