Automate large service upgrades with self-checking agents

Brex used Cursor agents to let one engineer update 180 microservices to a newer Micronaut release in roughly a month.

Done with Cursorยท Advanced

What they did
Brex assigned the project to two Cursor agents running on self-hosted infrastructure. A Linear ticket activated a generation step that paired scripts with model reasoning, compiled the code on a local setup, corrected its own errors, and produced a draft pull request. A GitHub label then launched a validation step that sent the change to dev, executed integration tests, and attempted fixes, with eleven small skills available to handle specific failure patterns.
How it went
One engineer completed the work across 180 microservices in about a month, an efficiency Brex estimated at 32x per person. Per-service cost dropped by around 90%. A handful of pull requests still looked good in tests but later led to subtle production bugs.
Tips
A single long prompt from a laptop did not perform well. Moving the agents to the cloud, breaking the logic into smaller skills, and stopping after three repair attempts made the system more dependable, but people still needed to review the output because test coverage missed some problems.

Try it yourself with Cursor

Set up a pair of self-correcting agents for [list of services or repos] that are being moved from [current framework version] to [target framework version]. When I open a [ticket type], have the first agent make the change, run a local build, diagnose failures, and repair them with targeted skills. Stop before any pull request is created and ask me to approve the result. After approval, have a second agent deploy to [dev environment], run integration tests, and try up to three fixes for any failures before it reports back.

Fill in the [brackets]. Agents can make mistakes, so review anything before it is sent, paid or deleted.

Read the original on brex.com โ†—

Get 3 agent uses like this every morning

With the day's top AI news. Free, and one click to unsubscribe.