mathewboswell.com — dependabot-renovate-llms-together.md
guest@mathewboswell:~$ cat dependabot-renovate-llms-together.md

How Dependabot, Renovate, and LLMs Work Better Together

2026-09-02 · # security # automation # llms # dependencies

There's a tempting idea that an LLM-based agent could take over dependency management entirely. It reads advisories, picks versions, edits manifests, fixes the code, and opens a pull request.

It could. It would also be slower, less predictable, and harder to audit than the tools that already do most of that job well. The better setup gives each tool the work it is suited for.

What the bots do well

Dependabot and Renovate are built for one thing: making targeted, correct changes to dependency versions.

They understand package ecosystems. They know how to update manifests and lockfiles, respect version constraints, and resolve versions the way the package manager would. Dependabot integrates closely with GitHub's advisory data and can open security update pull requests automatically. Renovate offers detailed configuration: schedules, grouping rules, auto-merge policies, and support for a wide range of package managers and file types.

Both are deterministic. Given the same inputs, they produce the same change. That is exactly what you want for the mechanical part.

What CI does well

Continuous integration answers whether the change works. It builds the project, runs tests, and runs security and policy checks: SCA, SAST, container scans, license rules.

CI is the gate. Nothing about adding an LLM should weaken it. If anything, AI-authored changes should face the same checks as any other code, without exceptions.

Where LLMs add value

The gaps in this workflow are mostly about understanding and small edits.

Summarizing what changed

A bot pull request lists versions and links to release notes. Reviewers still have to read those notes. An LLM can summarize them: breaking changes, deprecations, security fixes, and anything that touches APIs the repository actually uses.

That last part is the useful bit. "This release removes a configuration option, and your code sets it in two places" is far more helpful than a raw changelog.

Small migrations

When an update breaks the build, the fix is often small: a renamed function, a changed import path, a new required argument. An LLM given the failure output, release notes, and relevant files can propose that fix as a commit on the bot's branch.

Keep the scope narrow. The model should change only what is needed to restore compatibility. Larger rewrites deserve a human-led pull request.

Review summaries

For grouped updates, a model can produce a short review guide: which updates are low risk, which deserve attention, and why. Reviewers spend their time where it matters.

Prioritization context

For security updates, an LLM can pull together the advisory, exposure data, and service ownership into a clear explanation of urgency, so the right reviewer picks it up quickly.

Putting the pieces together

A practical flow looks like this:

  1. Bot opens the pull request. Dependabot or Renovate makes the version change.
  2. CI runs. Build, tests, and security checks.
  3. LLM annotates. It adds a summary of relevant changes and risks as a comment.
  4. If CI fails, the LLM may propose a minimal fix commit, which reruns CI.
  5. Policy decides the path. Auto-merge for low-risk changes that pass everything; review for the rest.
  6. Normal deployment. The merged change ships through progressive rollout.

The bot never relies on the model for version selection. The model never bypasses CI. Policy, not the model, decides what merges automatically.

Guardrails

  • Limit model permissions. It can comment and push to bot branches, not merge or push to protected branches.
  • Treat release notes as untrusted. Changelogs come from third parties. They shouldn't be able to change the model's instructions or the merge policy.
  • Label AI-authored commits. Reviewers should know which changes came from the model.
  • Restrict file scope. Reject model commits that touch files unrelated to the failure, especially CI configuration or security settings.
  • Measure. Track how often model fixes pass CI and survive review.

Why not let the model do it all?

Package resolution is precise work with real edge cases, and the existing tools handle it reliably. Asking a model to replicate that adds variability without adding value. The model is far more useful on the parts that need reading and judgment: explaining, summarizing, and making small, reviewable code changes.

The result

Bots keep dependencies moving. CI keeps them safe. LLMs make the changes easier to understand and quicker to fix when they break. Each tool doing its own job beats any one tool doing everything.

guest@mathewboswell:~$ cd /posts
guest@mathewboswell:/posts/dependabot-renovate-llms-together2026 — System 1.0