ARC is an autonomous reliability & chaos engineering harness for AI agents. Auto-mine safety invariants, simulate real-world failure modes (timeouts, 429s, race conditions), and mathematically verify safety rules before code ships.
# agent.py
from arc import trace_agent, trace_tool
@trace_tool(name="stripe_charge")
def process_refund(order_id: str, amount: float) -> dict:
return {"status": "ok", "refund_id": "ref_1042"}
@trace_agent(name="refund_agent")
def handle_customer_request(order_id: str) -> dict:
return process_refund(order_id, 45.99)Wrap agent functions and tools with ARC decorators. Traces and side-effects are captured with zero overhead and automatic Tier-1 secret redaction. Replay them in a zero-production sandbox to verify safety invariants (e.g. never refund twice).
pip install arc-reliability
arcLaunches the interactive terminal hub for zero-config onboarding, AST tracing auto-attach, chaos fault injection, and invariant reviews.
arc gate --profile smokeRuns end-to-end chaos verification across 0 = PASS, Exit 1 = FAIL).
Traces run in-process with OpenTelemetry spans. Choose how you persist trace artifacts:
# Option A: Save traces to a local folder or mounted volume (no extra service needed)
export ARC_TRACE_DIR=/var/log/arc_traces
# Option B: Stream to centralized ARC Collector API
export ARC_COLLECTOR_URL=https://arc-collector.internal.netWhen an incident occurs on production, reproduce it locally with step-by-step diagnostics:
arc repro .arc/incidents/inc_double_refund.yaml --visual| Command | Description |
|---|---|
arc |
Launch interactive studio with smart state detection |
arc gate --profile smoke |
Run CI reliability gate (Exit 0 = PASS, Exit 1 = FAIL) |
arc repro <file> --visual |
Playwright-style terminal UI diagnostic trace |
arc minimize <file> |
Delta-debugging (ddmin) to isolate minimal fault sequence |
arc debug --port 8089 |
Local replay debugger proxy |
arc catalog review |
Review candidate invariants mined from code and schemas |