Back to blog posts

5 min

How to Combine Sandbox Safety with a Decision Layer That Gets the Job Done

Sandboxes let coding agents act safely. Decision layers make sure they act correctly. How Blaxel and Rippletide think about combining both.

Nicolas LecomteNico is a founder of Blaxel, who usually writes about AI, agentics, and the future of AI runtimes.

Safe execution and a steering layer are not interchangeable. One protects the environment, the other keeps the agent on the path to a correct, maintainable outcome. The Rippletide team wrote a sharp breakdown of how to think about both, and it's worth reading if you're building or evaluating coding agent infrastructure. Read the full piece here.

Here's our take on what it gets right, and how it maps to what we're building at Blaxel.

The Core Distinction

A sandbox gives an agent a place to work without granting it access to everything else. It can clone a repo, install dependencies, run tests, and generate a diff without touching a production environment or a developer machine.

A decision layer is different. It's the enforcement point between a proposed action and the tool that would execute it. It evaluates the action against relevant rules and context, then returns a verdict: allow, block, or escalate.

These two things solve different problems. A sandbox lets the agent act. A decision layer helps it act correctly.

The Rippletide piece makes this distinction clearly, and it's one we think about constantly at Blaxel. The sandbox is not a substitute for policy enforcement, and a system prompt is not a substitute for a gate.

What the sandbox has to get right

Not all sandboxes are built for the way coding agents actually work.

A coding agent doesn't make one move and stop. It inspects, edits, tests, retries, and iterates. That loop puts specific demands on the execution environment:

  • Isolation that holds under untrusted code, external dependencies, and multi-tenant pressure
  • Persistent state so the agent doesn't rebuild its working environment on every step
  • Fast resume so iteration doesn't stall at provisioning

Blaxel sandboxes are built for this workload: persistent micro-VM isolation, 25-millisecond resume from standby, full filesystem and process control, and native MCP access so the agent interacts with the sandbox through the same tool interface it uses for everything else. The sandbox auto-suspends after inactivity, so you're not paying for idle time between agent steps.

The Rippletide piece walks through how to choose a sandbox for this kind of workload. The criteria they lay out map directly to what we've seen matter in practice.

What the decision layer has to get right

A system prompt can tell an agent not to introduce circular dependencies or modify a public API without approval. That's useful context. But it's an instruction to a probabilistic system. Under pressure, those instructions become suggestions.

A decision layer sits at the boundary instead. The model reasons freely, it just can't cross the boundary without satisfying the rule.

For a coding agent, this runs as a pre-tool-call hook. Before the agent edits a file, writes a migration, or opens a pull request, the hook inspects the proposed action against the rules relevant to that part of the codebase. If the action violates a rule, the hook blocks it before the tool runs. If it touches a public interface or an unresolved architectural trade-off, it escalates.

The Rippletide piece goes deep on how to encode those rules in a way that's actually enforceable, how to structure the hook, and how to measure whether the layer is improving the work rather than just generating noise.

The design in practice

We've built a template of enforceable rules for coding agents, designed to be automatically fine-tuned to your codebase. It's a practical starting point for teams that want a decision layer without building the rule set from scratch.

Read the full Rippletide breakdown here.

Get access to the rule template here.

Related articles