Skip to content

Dependabot's weekly npm run wedges whenever a patch is 3-7 days old: cooldown default-days (7) exceeds semver-patch-days (3) #161

Description

@lukaso-bot

The weekly npm update run has been failing since 2026-08-21, and it is the only channel this repo has for getting a CVE fix into the manifests.

What happened

Run 32530532534 (2026-08-21T21:52:56Z) exited with 9 errors and opened nothing. Every dependency in the group failed with the same message:

ERR_PNPM_NO_MATCHING_VERSION  No matching version found for vitest@^4.1.11 published by
Fri Aug 14 2026 21:56:22 ... Version 4.1.11 satisfies the specs but was released at
Tue Aug 18 2026 14:27:07

Root cause

.github/dependabot.yml sets cooldown.default-days: 7 alongside semver-patch-days: 3. Dependabot selects a candidate using the granular value but passes default-days to pnpm as the resolver floor — the log shows --config.minimumReleaseAge=10080 (10080 minutes = 7 days), and the cutoff it prints is run-time minus 7 days.

vitest 4.1.11 was 3.3 days old at run time. That passes semver-patch-days: 3, so Dependabot wrote ^4.1.11 into packages/cli/package.json. It fails the 7-day resolver floor, so pnpm could not resolve the range it had just been handed.

pnpm resolves the workspace with -r, so that single unsatisfiable range took down every other update in the run: @types/node, hono, @axe-core/playwright, @cloudflare/workers-types, axe-core, playwright, smol-toml, wrangler, @cloudflare/vitest-pool-workers.

Why it looks like flake

It fires whenever any dependency's newest release is aged between 3 and 7 days. Patch releases land constantly, so the weekly run fails on an effectively random schedule — 2026-08-14 green, 2026-08-21 red.

Why it matters here

Dependabot security alerts are disabled on this repo (GET /dependabot/alerts returns 403 "Dependabot alerts are disabled for this repository"). The weekly grouped version update is the only path by which a dependency fix reaches the manifests. Right now hono ^4.12.32 carries 4 MEDIUM CVEs (GHSA-54fx, -79qm, -8j4g, -f23p; fixed in 4.12.34) with no PR raised for it. The osv CI gate still catches High/Critical, so detection is intact — it is the update channel that is down.

Fix

.github/dependabot.yml is engine-managed (# liveapp-dependabot-version: 2), so this is not patched in-repo — the next engine config upgrade would re-deliver the shipped file and drop the edit. Routed upstream as engine feedback.

The change is one line: default-days must not exceed the smallest semver-*-days value.

cooldown:
  default-days: 3        # was 7
  semver-major-days: 30
  semver-minor-days: 7
  semver-patch-days: 3

This does not shorten any soak. What the repo adopts is still governed by the selection cooldowns (patch 3 / minor 7 / major 30); default-days only sets the resolver floor during Dependabot's own install.

Meanwhile

Two things worth a decision, both yours:

  1. Turn on Dependabot alerts (Settings → Code security), so a CVE has a channel that does not depend on the weekly run succeeding.
  2. hono 4.12.34 — if the next weekly run (Fri 2026-08-28) still raises no hono PR, it is worth bumping by hand rather than waiting for the upstream config fix to land.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions