Skip to content

Stop routine updates from starving the engine bump - #28

Merged
ashishmishra26 merged 3 commits into
mainfrom
dependabot-engine-priority
Aug 18, 2026
Merged

Stop routine updates from starving the engine bump#28
ashishmishra26 merged 3 commits into
mainfrom
dependabot-engine-priority

Conversation

@ashishmishra26

Copy link
Copy Markdown
Contributor

Dependabot has no priority setting, and a full queue means it simply opens no more PRs, so the dependency that matters most can be the one left out. That is not hypothetical here: this repo pins ^0.5.1 while the engine is at 0.5.2, and no bump PR exists, because the npm queue is full at 5 (one of them permanently red).

Two entries for the same ecosystem and directory are not allowed, so the engine cannot have its own limit. What works instead: every dependency except the engine rides in one grouped PR, occupying a single slot however many are pending, while the engine matches no group and therefore always gets its own PR (GitHub: "any outdated dependencies that do not match a rule are updated in individual pull requests"). The queue can no longer fill, so the engine can no longer be squeezed out.

Also ignoring zod 4 until the z.record(key, value) migration lands (PR #19 is red on exactly that), so a known-incompatible major cannot sit inside the grouped PR and block every routine update with it. Drop the ignore with the migration.

Dependabot has no priority setting, and a full queue means it opens
no more PRs at all. This repo is the proof: it pins ^0.5.1 while the
engine is at 0.5.2 and no bump PR was ever raised, because the npm
queue is full at five routine updates (one permanently red on zod 4).

Every dependency except the engine now rides in one grouped PR, so
routine updates take a single slot however many are pending, while
@infino-ai/infino matches no group and always gets its own. zod's
major is ignored until its z.record migration lands, so a
known-incompatible major cannot sit red inside the group and block
everything with it.
The MCP tool schema called z.record(valueSchema), the zod 3 form that
assumes string keys; zod 4 requires the key schema explicitly, which
is why its major sat red and held a queue slot. The two-argument form
is valid in both zod 3 and 4, so this migrates the call site without
moving the dependency, and dependabot's zod 4 PR now passes on its
own instead of needing an ignore entry.

Verified both ways: all 103 tests pass on the pinned zod 3, and again
with zod 4 installed locally. The MCP SDK already accepts
'^3.25 || ^4.0', so nothing else stood in the way.
Dependabot's default only edits package.json when the new version
falls outside the declared range, so the engine moving inside ^0.5.x
would update the lockfile alone, leaving the tested floor and the
published floor apart: CI verifies the new version while the package
still accepts any 0.5.x, including patches nothing verifies any more.
versioning-strategy: increase moves the floor to the version tested.

The setting is per-ecosystem, so routine dev-dependency bumps will
also touch package.json and land in the minor bucket.
@ashishmishra26
ashishmishra26 merged commit f417caf into main Aug 18, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant