Introducing Nova, our internal platform for coding agents (opens in new tab)
Nova is Dropbox’s internal cloud platform for running coding agents across the software development lifecycle. Rather than building separate tools for coding, CI debugging, migrations, and operational tasks, Dropbox created a shared platform that supports interactive sessions and autonomous workflows within its monorepo and infrastructure. The platform grounds agent changes in real builds and tests, making AI assistance more reliable and easier to integrate into engineering workflows.
The Case for a Shared Platform
- Engineering work includes repetitive but important tasks such as:
- Debugging CI failures
- Updating dependencies
- Improving test coverage
- Fixing flaky tests
- Managing migrations and operational work
- Different tasks require different interaction models:
- Interactive chat for developer-driven work
- Asynchronous workflows for long-running remediation and automation
- Dropbox’s environment has specialized requirements:
- A large monorepo
- Bazel for builds and tests
- Caching and remote execution
- On-premises infrastructure
- Dropbox-specific validation workflows
- Off-the-shelf coding agents were designed primarily for local development and did not naturally fit this environment.
How Nova Runs Coding Sessions
- Each session runs in an isolated environment using a specific snapshot of the codebase.
- Callers provide:
- The repository commit
- A task description
- Optional validation commands
- Iteration limits and branch settings
- Nova can run builds and tests after an agent proposes a change.
- If validation fails, the results are sent back to the agent so it can continue troubleshooting.
- This creates a feedback loop of:
- Propose a change
- Validate it in the real environment
- Correct failures
- Repeat as needed
- Nova supports multiple coding agents behind a common interface.
- Engineers can access it through:
- A web interface
- A command-line client
- An API
- Internal scripts and services
- The platform also provides prompt evaluation, observability, feedback collection, skills, plugins, and MCP integrations for accessing systems such as logs and monitoring tools.
Deterministic Code Publication
- Nova keeps code publication outside the agent.
- Each session is limited to a single branch.
- This makes active work and publication status predictable.
- It avoids the complexity of agents creating and managing multiple branches.
- The deterministic model simplifies automation such as:
- Running tests
- Rebasing onto the main branch
- Tracking which changes belong to each session
Engineering Workflows Using Nova
Developer-Driven Sessions
- Engineers use Nova’s web interface for quick fixes and prototypes without disrupting local work.
- Validation commands can use Bazel selectivity tools to target the relevant compile and test dependencies.
- Slack discussions can be carried into Nova sessions, preserving context and reducing manual setup.
Flaky Test Remediation
- Dropbox built Deflaker, a durable workflow connected to Athena, its flaky-test detection system.
- Deflaker gathers examples of a test passing and failing.
- It sends the associated logs to Nova.
- The agent analyzes the evidence, identifies a likely cause, and proposes a fix.
- This demonstrates how Nova can combine investigation, context gathering, and code changes in a longer-running automated process.
Practical Takeaway
Dropbox’s experience suggests that coding agents are most useful when embedded in existing engineering systems rather than treated as isolated code-generation tools. A shared platform like Nova can support many workflows while preserving consistent execution, validation, context, and observability.