ancha.

Ancha, the whole product.

Eleven steps, ninety seconds.

1

PagerDuty
pages it
Datadog
finds the cause
AI on-call agent written by a coding agent
ships the fix
GitHub
updates the team
Slack
15tools 232lines of code < 1 hto write
The agent written in an hour
What it has to deal withcan the coding agent build it?
AccountsSlack, PagerDuty, Datadog, GitHub: can't be created, reset or broken on purposeno
PeopleBen, Rachel, Greg: each with their own facts, decisions and timingno
Timean approval two hours later, a deploy that lands after CIno
Incidentsan outage, a timeout after a commit, a 429no
A verdictgrading with its own mocks is grading its own homeworkno
$ npx @ancha-labs/cli init reading agent.ts, tools.ts found Slack · GitHub · Datadog · PagerDuty wrote ancha.yaml wrote ancha/worlds/acme-oncall.yaml wrote ancha/tests/status-request.yaml next ancha run
Agentancha.yaml
how it starts, how it gets work
Worldacme-oncall.yaml
tools, company data, people, rules
Teststatus-request.yaml
what starts it, who shows up, what counts
acme · a simulated company real APIs, no accounts fresh copy per attempt
Tools
Slack
#orders-incidentrunbookthe team
GitHub
acme/orderscommit historydeploy pipeline
Datadog
orders.errorsmonitorslogs
PagerDuty
Orders serviceon-call rota
People
B
Bendeveloper
asks for a status update at 1:30, in a thread
R
Rachelon-call lead
decides whether to roll back
G
Gregdatabase
the only one who knows the disk
simulated clock · 14:00 · skips the time nobody is waiting for
ancha/tests/status-request.yaml
Trigger
13:55 a bad change ships→ 14:00 Datadog alerts→ PagerDuty pages the agent
People
B+1:30 Ben asks for a status update in #orders-incident, reply in the thread
Checks
world clock13:55 3 sealed copies, in parallel
Run 1 · 3 attempts 0 / 3 passed
agent reads Slack
0:06never again
Ben asks
B1:30
agent posts
0:124:23
0:001:002:003:004:00
✗ answered_request_thread expected ≥1 reply from the agent in Ben's thread actual 2 messages in the channel, 0 in the thread
#orders-incident
B
Ben 14:01:30

Status request: what is the current customer impact, what are you doing, and when is the next update? Reply in this thread.

0 replies
A second model grades the reply on its own: fail
CIGitHub Actions
acme/orders · PR #41 · poll Slack before every turn
ancha · 3 / 3 passed · min 95%
build
$ ancha run --on cloud \ --min-pass-rate 0.95
Consoleapp.ancha.io
status-request3 / 3
bad-deploy1 / 1
false-alarm1 / 1
db-disk-full0 / 1
Every run, every conversation, every check, with evidence.
Your own testspytest
def test_status_request(acme): run = acme.run( "status-request", attempts=3) assert run.pass_rate == 1.0 ✓ 1 passed
same world, same checks, every result in one place
ancha.
Production, simulated.
The other side of your AI agent: the company it works in, and the grade.
npm i -g @ancha-labs/cliancha.io