> ## Documentation Index
> Fetch the complete documentation index at: https://docs.reticle.sh/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Reticle is a dev-only, localhost-only verification layer for AI coding agents. It reads program truth (network, state, console, routing, animations, framework state) from inside a running web app and returns a deterministic verdict with evidence. It is not a screenshot tool and not a browser automation library.
> Only `reticle_act_and_wait` and `reticle_assert` produce a verdict. Every other tool moves or reads the app and proves nothing. A drive that ends without one of those two has no result, however many tools it used.
> A verdict of `verified: "unknown"` is not a pass. It means Reticle drove the app and could not tell what happened. Report it as unknown; never weaken a check to make it pass.
> Package names are scoped `@reticlehq/*` and the CLI is `reticle`. Install with `npx reticle init`. The complete tool surface is on the `/usage` page; `/agent-cheatsheet` is the one-screen version.

# reticle affected

> List which saved flows must re-verify for a set of changed files.

`reticle affected` answers one question: given these changed files, which saved flows cover them? It is the foundation the [gate](/cli/gate) and [watch](/cli/watch) are built on, and it costs your agent nothing per turn because it runs in the environment.

```bash theme={"dark"}
npx reticle affected [--since <ref>] [file...]
```

## Arguments and flags

| Argument        | Type                | Default                        | What it does                                             |
| --------------- | ------------------- | ------------------------------ | -------------------------------------------------------- |
| `file...`       | strings, positional | none                           | Explicit changed files                                   |
| `--since <ref>` | string              | `HEAD` when no files are given | Also include files git reports as changed since this ref |

With nothing after it, `reticle affected` means the working tree against `HEAD`. It used to be a usage error, while the rule `reticle init` writes into the agent's own instruction file told the agent to run it.

## What it prints

One `reticle_affected` line. Real capture from this repository, with the file and flow lists trimmed for length:

```json theme={"dark"}
{
  "t": "2026-08-14T19:38:46.407Z",
  "event": "reticle_affected",
  "changedFiles": ["docs/cli.mdx", "packages/server/src/tools/e2e-surface-drift.test.ts"],
  "affected": ["deploy-journey", "verify-route", "console-compose"],
  "unknownProvenance": ["deploy-journey", "verify-route", "console-compose"]
}
```

| Field               | Meaning                                                                                                              |
| ------------------- | -------------------------------------------------------------------------------------------------------------------- |
| `changedFiles`      | The resolved file set: your positional arguments plus whatever `--since` added                                       |
| `affected`          | Saved flows that cover at least one of those files                                                                   |
| `unknownProvenance` | Flows with no recorded source mapping. They are listed as affected because the safe assumption is that they might be |

## Exit codes

Always `0`. A load error is logged as `reticle_affected_failed`, not thrown. Use [`reticle gate`](/cli/gate) when you want a non-zero exit.

## Worked example

```bash theme={"dark"}
npx reticle affected --since origin/main
npx reticle affected src/components/Login.tsx
```
