The agent runner
Isolated execution, pinned source, bounded spending and reviewable outputs.
Execution boundary
The web app stores requests and budgets. A separate long-running service receives authenticated jobs and executes untrusted source in an E2B sandbox. App credentials, treasury keys and model API keys must never be injected into that sandbox.
The runner checks out the exact upstream commit. Repository files and model output are untrusted. Generated paths are validated, work is time-bounded and tests run inside the sandbox.
What the current runner produces
The included runner uses a bounded tool-calling loop to inspect the actual source, edit files, run compilation and tests, and capture a patch against the pinned commit. It asks the agent to document implemented changes and remaining migration work. Its output is a review artifact, not proof of a complete Rust-to-Solidity port or a production deployment.
Broader ports need iterative implementation, dependency-specific builds, reference vectors and independent tests. Generated tests alone do not prove protocol correctness or financial safety. Command exit codes remain visible in the artifact; detailed terminal output stays private for operator review.
Cost controls
- A job includes its pinned revision, target chain and maximum USD reservation.
- The runner requires conservative model and sandbox price ceilings before making a paid call.
- Idempotency keys prevent repeated dispatches from automatically repeating paid work.
- Unknown costs and interrupted jobs require operator reconciliation, rather than an invented refund.
Artifacts and release status
Successful artifact creation places the request in review. The artifact includes files, tests, source reference and limitations. “Review required” does not mean deployed or safe to use.
The separate runner must be deployed, funded and configured before queue dispatch can execute. Service authentication is also required to deliver callbacks to a private application.