diff --git a/README.md b/README.md index 5db74b5..dbf58a8 100644 --- a/README.md +++ b/README.md @@ -162,6 +162,7 @@ grapharc run graph.json --check-only # admission as a linter; executes nothing grapharc agent "fix the failing test" --workspace ./sandbox # agent + the seven core tools grapharc serve --port 8000 # the HTTP API (needs the `server` extra) +python -m grapharc.slack # the same commands from Slack (needs the `slack` extra) grapharc models # what a model spec resolves to grapharc trace # pretty-print a run trace @@ -173,6 +174,8 @@ grapharc diff # what changed between two runs Eleven commands, and every one of them takes `--json` — in JSON mode the failure is the document rather than a line on stderr. Exit codes are part of the interface: `0` did the job, `1` ran and the answer was negative (an agent stopped short, a run id had no events, two runs differed), `2` could not run at all. +The Slack bot puts most of these commands one `/grapharc …` away from a phone, behind an allowlisting gate that keeps the default spend at zero — setup in [docs/cookbook/07-slack.md](docs/cookbook/07-slack.md), and a command-by-command session, refusals included, in [docs/cookbook/08-slack-walkthrough.md](docs/cookbook/08-slack-walkthrough.md). + The `run` stages use scripted models by default, so they cost nothing and produce the same trace every time. Add `--model` to run one against a real backend — that works for stage1 through stage6 and the capstone; stage0 is pure code with no model in it. `grapharc agent` is the exception: it needs a tool-calling backend and says so rather than degrading, because a scripted model has no `bind_tools` to drive a tool loop with. Building a graph: