In this piece
Ramp Inspect Architecture 2026: How Background Coding Agents Scale Safely
Ramp Inspect is interesting because it treats a coding agent as an execution workload, not as a smarter autocomplete box. Each background session gets its own development environment, application services, browser, logs and tools. The agent can change code, boot the product, run tests, inspect telemetry, verify UI behavior and then open a pull request.
That architecture matters more than the headline adoption number. Ramp is a fintech company, so a background agent that can touch code and internal systems cannot be evaluated only on how much code it writes. The useful question is: what infrastructure lets an agent work with near-local context while keeping execution isolated, reproducible and reviewable?
Ramp's original Inspect engineering write-up describes an internal background agent designed to verify its own work with the tools available to Ramp engineers. In January 2026, Ramp reported that Inspect was behind about 30% of merged frontend and backend pull requests. Ramp Inspect is not a Wavect product, and this article is an architecture review rather than an endorsement.
What makes a background coding agent different?
A local coding assistant inherits an environment that an engineer already prepared. A background agent starts from nothing. If it has to clone a repository, install dependencies, build services, seed databases and discover credentials every time, asynchronous work quickly feels slower than opening a local terminal.
The background-agent problem therefore has two layers:
- Agent harness: model, prompts, tools, policies, context, retries and verification logic.
- Execution environment: filesystem, services, browser, network, credentials, processes and compute where the agent can actually do the work.
Our separate AI agent harness guide owns the first layer. This article focuses on the second: how to give an asynchronous coding agent a full environment quickly enough to make background execution useful.
The core pattern: one session, one isolated sandbox
Modal's Ramp Inspect architecture case study describes each session as its own Modal Sandbox containing a full development environment. That includes Postgres, Redis, Temporal, RabbitMQ and Ramp services, with OpenCode as the coding agent, a VS Code server, web terminal, VNC and Chromium for visual verification. The same environment connects to GitHub, Buildkite and observability systems.
The useful abstraction is simple:
one agent session = one disposable execution environment
That gives each agent its own processes, filesystem and service state. Ten concurrent tasks do not need to compete for one engineer's laptop or share one mutable dev environment. If a task fails, the environment can be thrown away without trying to unwind every side effect inside a long-lived workstation.
Why filesystem snapshots are the architectural hinge
Isolation alone does not solve startup time. Ramp's design precomputes the expensive setup work. According to Modal's case study, a scheduled job refreshes repositories about every 30 minutes, installs dependencies, performs initial builds and persists a filesystem snapshot. A new session restores from the latest prepared state, then catches up the remaining repository changes.
Modal's current Sandbox API documentation exposes filesystem snapshot operations that create reusable images from a running Sandbox. The exact Ramp orchestration is application-specific, but the broader pattern is reusable:
- Build a known-good development environment before a user asks for work.
- Persist the expensive filesystem state.
- Restore a fresh isolated copy per session.
- Apply the small amount of repository drift after restore.
- Discard the session when the task is complete.
This converts cold-start cost into background maintenance. The freshness window becomes an explicit engineering parameter instead of hidden latency.
What belongs inside the sandbox?
A useful coding-agent sandbox needs enough of the product to validate behavior, not just enough tooling to edit a file. For a typical SaaS system that can include:
- the target repository and dependency graph;
- databases, queues and local service dependencies;
- the coding agent runtime and shell tools;
- a browser or desktop for visual verification;
- test runners, linters, type checkers and build tools;
- controlled access to logs, feature flags and CI;
- a path to produce a reviewable Git diff or pull request.
The goal is environment fidelity. An agent that can write a plausible patch but cannot run the application is still guessing about integration behavior.
What should stay outside the sandbox?
Ramp's pattern also separates execution from coordination. Prompt routing, session locks, shared metadata and lifecycle scheduling sit outside the per-session environment. That lets the execution unit remain disposable while the product remembers who owns the session, where prompts should go and which snapshot should be restored.
A simplified architecture looks like this:
Slack / Web / Extension → Queue + session state → prepared snapshot → isolated sandbox → tests + browser + telemetry → pull request
This split matters for multiplayer and reliability. Session state should not disappear just because one sandbox is restarted.
For fintech, the sandbox is necessary but not sufficient
Running agent-written code in an isolated container reduces one class of risk. It does not decide what that code can reach. Modal's current Sandbox networking and security documentation describes gVisor-based isolation plus controls for blocking network access, restricting outbound IP or domain ranges and limiting inbound access. These are useful primitives, but a regulated deployment still has to design the policy around them.
For an Inspect-style platform, the real blast radius is shaped by:
- credentials: are secrets session-specific, short-lived and least-privileged?
- network: can the sandbox call arbitrary public endpoints, or only approved services?
- data: does the agent see production records, realistic synthetic data or a scrubbed subset?
- GitHub: can it only create a branch and PR, or can it merge and change protected settings?
- internal systems: are feature flags, logs and queues read-only unless a task explicitly needs write access?
- audit: can reviewers reconstruct every tool call, command, model request and external side effect?
The sandbox is the container for policy enforcement. It is not the policy itself.
The most important feature is verification, not code generation
Inspect becomes materially different from a prompt-to-patch bot because the agent can close a feedback loop. It can start the application, run a test, read a failure, change code, inspect a browser and try again. That makes the environment part of the agent's reasoning system.
For AI-generated code, the acceptance unit should still be evidence. Our QA guide for AI-generated code covers the broader verification problem, while the agent sandbox security checklist goes deeper on execution controls.
Adoption is rising, but the bottleneck moves downstream
The public adoption figures form a useful timeline rather than one permanent benchmark. Ramp's January article reported about 30% of merged frontend/backend PRs. Modal's February case study reported over half. A newer Linear customer story about Ramp Inspect reports that Inspect now writes three out of every four merged PRs and says the engineering bottleneck has shifted toward code review.
That last point matters more than the percentage. Once agent execution becomes cheap and parallel, code generation is no longer scarce. Human review, CI capacity, test reliability, architectural judgment and release coordination become the constrained resources.
Do not optimize for PRs created per day. Optimize for accepted changes per unit of review effort and incident risk.
Why one sandbox per session changes scaling economics
Local agents scale with developer laptops. Shared remote dev boxes scale until environments collide. Per-session sandboxes turn concurrency into an infrastructure scheduling problem. Modal's current coding-agent infrastructure page markets support for very high numbers of simultaneous execution sandboxes. That is a vendor capability claim, not evidence that every team should run thousands of agents.
The commercially useful effect is smaller and more concrete: an engineer can launch several independent tasks without resource contention, and a platform can cap CPU, memory, lifetime and concurrency centrally instead of relying on each laptop.
Ramp Inspect vs OpenSandbox, a generic harness and local agents
| Approach | What it solves | What you still own |
|---|---|---|
| Local coding agent | Interactive developer productivity | Local setup, laptop resources, parallelism limits |
| Generic agent harness | Model, tools, context, policy and loop behavior | Execution environment and environment fidelity |
| OpenSandbox-style runtime | Portable isolated execution API | Your harness, images, snapshots, credentials and product integration |
| Inspect-style internal platform | Deep company-specific background engineering workflow | Product, context, permissions, evals, review system and operations |
If the procurement question is which sandbox runtime to use, read our OpenSandbox review. This page owns the higher-level execution architecture and rollout decision.
What should you build, and what should you buy?
| Layer | Default decision | Reason |
|---|---|---|
| Compute scheduling and disposable sandboxes | Buy first | Usually commodity infrastructure unless regulation or economics force ownership |
| Base images and snapshots | Own | They encode your repository, dependencies and development environment |
| Agent harness | Own or heavily customize | Your workflows, tools, policies and verification create the differentiation |
| Repository and product context | Own | Company-specific context is the reason an internal agent can outperform a generic one |
| Permissions and approval policy | Own | Risk cannot be delegated to the model or sandbox vendor |
| Observability and evaluation | Own the metrics | Vendor telemetry cannot tell you whether the change was worth merging |
The permissions model matters more as autonomy grows
OWASP's Excessive Agency guidance identifies excessive functionality, excessive permissions and excessive autonomy as core risk drivers for tool-using LLM systems. That maps directly onto coding agents with shell, database, GitHub and internal-service access.
A practical policy is:
- read broadly only where necessary;
- write narrowly;
- make production-changing capabilities separate tools, not ambient shell privileges;
- require human approval for irreversible actions;
- enforce permissions in downstream systems rather than asking the model to self-police;
- expire session credentials with the sandbox.
A 30-day Inspect-style pilot
- Pick one repository. Choose a service with good tests and a reproducible dev environment.
- Freeze 30 representative tasks. Include backend bugs, UI work, tests and small cross-service changes.
- Build one sandbox image. Include the minimum local services and tools required for end-to-end verification.
- Measure cold start. Record clone, install, build and service-ready time before adding snapshots.
- Add snapshot refresh. Measure restore time, repository drift and stale-environment failures.
- Lock permissions down. Start read-heavy, PR-only and non-production.
- Instrument every session. Track tool calls, model cost, sandbox minutes, tests, retries and review time.
- Run parallel tasks. Test resource isolation and concurrency limits rather than assuming them.
- Break the environment. Kill a sandbox, rotate a credential and make a dependency snapshot stale.
- Judge accepted work. Compare merged task rate, reviewer minutes, escaped defects and total cost against the existing workflow.
Where Wavect fits
Wavect's AI Enablement work covers agent harness design, repository and tool context, sandbox architecture, evaluation sets, permission boundaries, observability and rollout. Our Twinsoft AI case study reflects the same principle at application level: the model becomes useful only when the surrounding system can be operated and verified.
If you are deciding whether to build an internal coding-agent platform, the first deliverable should not be a chatbot UI. It should be a measured execution loop on one repository.
Build the execution layer before scaling the agents
Need to test an Inspect-style background coding agent on your own repositories? Wavect can design the sandbox, snapshot strategy, permissions, evaluation set and rollout around accepted engineering outcomes.
Explore the service path:
Verdict
The strongest idea in Ramp Inspect is not OpenCode, Modal or even the adoption percentage. It is the decision to make a complete disposable development environment the unit of agent execution.
Snapshots make that unit fast enough to use. Isolation makes parallelism manageable. Deep tools let the agent verify instead of merely generate. Central coordination lets sessions survive outside one terminal. Those are reusable architectural ideas.
For a fintech or other regulated team, the copyable pattern comes with one hard condition: permissions, data access, egress, auditability and review capacity must scale with the agent count. Otherwise hundreds of isolated sandboxes simply create hundreds of isolated ways to make a bad decision faster.
