Works with agents built with any framework and editor
Claude Code
Cursor
Codex
LangGraph
CrewAI
LlamaIndex
OpenClaw
Pydantic
Hermes Agent
AutoGen
4 steps. No SDK.
Step 1: Connect to GitHub
Select your repositories; Etna automatically reads your source code to discover your agents and map their tools.
Step 2: Simulate real-world scenarios
Run multi-turn interactions in isolated sandboxes with mock APIs, catching loop stalls and unhandled timeouts before deployment.
Step 3: Review verified fixes
Replay every proposed code or prompt patch against your historical test suite to guarantee your baseline never breaks.
Step 4: Open clean pull requests
Get ready-to-merge GitHub PRs with raw execution traces attached, approved in a single click.
Runs autonomously, tests and patches in isolation
Agent Etna sets up virtual sandboxes to execute tools, catch breaking loop stalls, and open verified PRs for you to review.
Agent 1Support
Agent 2Billing
Agent 3Email
round 1 Agent 1 claims the intake · Agent 2 passes · Agent 3 passes
round 2 Agent 2 claims the refund · refund_api.execute(order_ref A-2231) · 200
round 3 the address step is offered to all three
all three pass — nobody claims it
round 4 Agent 3 has nothing to send · silent for two rounds
verdict partial — broke between the agents, not inside them
SHARED WORKSHEET · WHAT THE TEAM ACTUALLY RECORDED
order_ref A-2231 written by Agent 1, round 1
amount £89.00 written by Agent 2, round 2
customer_email never written — Agent 3 had nothing to send to
OWNERSHIPAgent 1 owns the customer record for the whole refund; the others must not fetch it independently.
HANDOFFA handoff to Agent 3 must carry order_ref, amount and customer_email. A recipient filling in a missing field is a break, not a fix.
AUTHORITYNot proposed — this run never tested who may assign work to whom.
All three transcripts
3 PRs opened — one per agent, shipped whole or not at all
Fosters agent groups.
Runs group simulations, catches broken handoff schemas, and opens paired PRs to lock in working coordination contracts.