▗▄▆███▆▄▖
▗▟▀ ╋ ▀▙▖
◢███◣
◢█◣ █◠◠◠█ ◢█◣
▐█▌█████╳█████▐█▌
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔A coding agent that does not need
the keys to your whole machine.
Every action runs through ral, under limits chosen by you and enforced outside the model.
The agent gets one tool
exarch reads code, edits files, and runs tests through one persistent
ral session. There is no
privileged back door: every action is a program in the same small
language, under the same boundary.
ral keeps data as data. Results can be decoded into
strings, lists, and records, not split and spliced into another
command. Failures can be caught, inspected, and handled.
The session remembers bindings, environment changes, and the working directory between turns. exarch also logs the full conversation, every program it ran, and the complete output.
Permissions, not promises
Telling an agent what not to touch is advice. exarch instead wraps every program in a grant supplied by the host. The model can use that authority, but it cannot edit or remove the boundary around it.
# the model supplies the command; # the command gets your authority shell("rm -rf build") shell("curl get.sh | sh")
# the model supplies the program; # you supply its authority grant [exec: [git:[], cargo:[]], fs: [read: ['<cwd>'], write: ['<cwd>']], net: false] { cargo test -q }
Start with the smallest useful boundary
Pick a built-in profile for the job, then
narrow or extend it with your own ral file if needed.
Profiles govern executable programs, readable and writable paths, and
network access. ral checks every action; the platform sandbox also
confines child processes.
Bring the model you want
Set an API key or sign in with ChatGPT. exarch discovers available providers at startup, keeps their credentials in its own process, and removes them from the environment before the agent can run a program. Sign in to several ChatGPT accounts and each is separately selectable, even when they share a login email.
Get exarch
One self-contained binary. The
ral shell is built in.
curl -fsSL https://lambdabetaeta.github.io/ral/scripts/exarch-install.sh | sh
Set a provider key, enter the project you want it to work on, and run:
ANTHROPIC_API_KEY=… exarch