Quality assurance · Production

Dropbox builds Nova, an internal cloud platform for running coding agents across the software development lifecycle

The problem

Engineering work at Dropbox included many repetitive, disruptive tasks — debugging CI failures, updating dependencies, fixing flaky tests, and managing migrations — that pulled engineers' focus away from deeper product and infrastructure work. Off-the-shelf coding agent tools did not fit Dropbox's monorepo, Bazel-based infrastructure, or internal validation paths.

First attempt

A prior Goose-based AI migrator had no interactivity for reviewing or continuing agent output, leaving teams with no practical way to recover from failures. It also lacked shared guardrails, reusable workflow tooling, and a consistent operating model.

Workflow diagram · grounded in source
1
Task submitted to Nova
trigger
“The caller provides the task and can optionally include validation commands to run after the agent finishes.”
2
Isolated session created
ai_action
“Each Nova session runs in an isolated environment with a snapshot of the Dropbox codebase from a specific commit.”
3
Agent gathers evidence and context
ai_action
“Agents often need to gather evidence, read logs, inspect failures, and carry context across multiple steps. To support that work, Nova includes skills, plugins, and MCP integrations, including access to observability systems.”
4
Validation runs
validation
“The workflow follows a simple pattern: propose a change, validate it, and continue only if the results hold up.”
5
Fix-and-validate loop
feedback_loop
“The fix-and-validate loop continues until the workflow lands a working fix or reaches a capped number of attempts (currently five).”
6
Branch published
output
“We chose to keep publication outside the agent and limit each session to a single branch, giving us a predictable view of which branches are active and which changes are being published.”
7
Results routed to service teams
routing
“We use Nova to respond to production crash alerts by recreating crash states with tests, generating candidate fixes, and routing the results to service teams.”
Reported outcome

Nova is now used across flaky test remediation, dependency migrations, and production crash response at Dropbox, replacing the prior Goose-based migrator with interactive sessions, shared guardrails, and reusable workflow tooling across a range of engineering workflows.

Reported metrics
migration entries processed by prior Goose migratorthousands of migration entries
Flaky test validation runs per fix attempt100 or more
Max fix attempts per flaky testfive
Reported stack
NovaBazelAthenaDeflakerGooseDashMCPRenovateBotGitHubSlack
Source
https://dropbox.tech/machine-learning/introducing-nova-our-internal-platform-for-coding-agents
Read source ↗

Frequently asked questions

What did this team achieve with this AI workflow?

Nova is now used across flaky test remediation, dependency migrations, and production crash response at Dropbox, replacing the prior Goose-based migrator with interactive sessions, shared guardrails, and reusable work…

What tools did this team use?

Nova, Bazel, Athena, Deflaker, Goose, Dash, MCP, RenovateBot, GitHub, Slack.

What results were reported?

migration entries processed by prior Goose migrator: thousands of migration entries; Flaky test validation runs per fix attempt: 100 or more; Max fix attempts per flaky test: five (source-reported, not independently verified).

What failed first in this deployment?

A prior Goose-based AI migrator had no interactivity for reviewing or continuing agent output, leaving teams with no practical way to recover from failures.

How is this quality assurance AI workflow structured?

Task submitted to Nova → Isolated session created → Agent gathers evidence and context → Validation runs → Fix-and-validate loop → Branch published → Results routed to service teams.