The single audit call is the whole product: it compares what the prompt authorized against what the diff actually contains, so a login-form request that arrives with a payment dependency and a checkout route surfaces as HIGH findings with the evidence attached. Only the prompt-reading step involves a model at all, and it is skippable — run it keyless and the extraction is regex, which is what makes two runs over the same diff agree.
A scope auditor for AI-written code. One call takes the originating prompt and a diff and returns structured findings plus a scope_creep_score, worked out by set arithmetic rather than a second model's opinion: what the diff contains, minus what the prompt authorized.
- Out-of-scope findings typed and ranked: scope.env, scope.endpoint, scope.cron and scope.listener at HIGH, scope.dep and scope.file at MEDIUM, scope.feature at LOW
- Each finding carries the file it came from and the evidence string that triggered it, so review starts at a line rather than at a summary
- A blast-radius pass over the things reviewers miss: a schema change with no migration, code reading an env var that .env never defines, a new route with no test, package.json without its lockfile, hardcoded secrets, a new file nothing imports
- A scope_creep_score for the whole diff, so a clean change is quick to wave through
- Deterministic results — diff parsing and comparison are regex and set operations, so the same prompt and diff give the same findings every run
- A health check for the server itself
Nothing mandatory. It starts as npx -y overreach --serve. A key for the model that reads your prompt is optional — ANTHROPIC_API_KEY or OPENAI_API_KEY if you want the scope extracted by a model, none at all for the offline regex mode, and none for a local Ollama. Anonymous usage pings carry counts and enums only, never code, prompts, file paths or diff content, and OVERREACH_TELEMETRY=0 or DO_NOT_TRACK=1 turns them off. The same package also runs as a CLI and a GitHub Action that exits non-zero when unexpected changes are found. MIT.
One command — npx overreach --serve
