ancha.

Ancha, the whole product.

Twelve steps, ninety seconds.

ancha.
PagerDutypages it
Datadogfinds the cause
AI on-call agent
GitHubships the fix
Slackupdates the team
AccountsSlack, PagerDuty, Datadog, GitHub
PeopleBen, Rachel, Greg, each knowing different things
Timean approval that comes two hours later
Incidentsan outage, a 429
A verdictnot grading its own homework
$ 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
Agentancha.yaml
Worldworlds/acme-oncall.yaml
Testtests/status-request.yaml
Slack#orders-incident · runbook
GitHubacme/orders · deploys
Datadogorders.errors · monitors
PagerDutyOrders service · on-call rota
B
Bendeveloper · asks at 1:30
R
Rachelon-call lead · calls the rollback
G
Gregdatabase · knows the disk
acme
14:00
a clock only Ancha moves
A bad deploy breaks orders

13:55 it ships · 14:00 Datadog alerts · PagerDuty pages the agent

BBen asks for a status at 1:30

in #orders-incident, and wants the reply in his thread

8checks

on the outcome and the process: the page, the fix, the orders, the alert, the thread

13:55world clock · three sealed copies of acme
Run 1 · 3 attempts0 / 3passed
0:06

The agent read Slack. Once.

B
1:30

Ben asked. Nobody answered.

#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
CIGitHub Actions
3 / 3 passed

PR #41 · min pass rate 95%

Consoleapp.ancha.io
status-request3 / 3
bad-deploy1 / 1
false-alarm1 / 1
db-disk-full0 / 1
Your own testspytest
def test_status_request(acme): run = acme.run("status-request") assert run.pass_rate == 1.0
1 passed
ancha.
npm i -g @ancha-labs/cliancha.io