# `rho agent`

## Purpose

`rho agent` launches and supervises an agent in repo context.

V1 can use Pi as the first backend, but `rho agent` should own the product-facing contract rather than Pi-specific details.

## Responsibilities

- build agent context from repo state
- expose repo-local tools and messages
- read incoming messages
- let the agent propose actions via tool calls written to outside the sandbox
- route protected execution through `rho run`

## Simplify

- one agent runner abstraction
- one default backend first
- avoid mixing transport, approval, and execution directly into the agent runtime

## Replace Old Functionality With

- a thin agent launcher
- explicit bindings to `rho tools`, `rho messages`, and `rho run`
- stable request files for protected actions

## Leave Off In V1

- multi-agent orchestration frameworks
- many provider backends

## Important Rule

If an agent wants to do something sensitive, it should emit a structured request that deterministic code can validate.

It should not directly gain new privileges because it wrote convincing text.
