> ## 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 feedback

> Send a report to the Reticle maintainers from the shell, including from a setup that never finished.

`reticle feedback` is the feedback channel as a command: no prompts, no editor, no account. It exists so the cost of telling the maintainers something is lower than the cost of shrugging and moving on.

```bash theme={"dark"}
npx reticle feedback [--rating 1-5] [--bug] "what worked, what didn't"
npx reticle feedback --agent --kind <bug|gap|ambiguity|feature_request|improvement> "what happened"
```

The `--agent` form is for an agent that cannot reach the `reticle_feedback` tool: during `init`, while instrumentation is half wired, or when the daemon will not start. Those are the reports that are hardest to hear and most needed, because every other path requires the tool surface to already work.

## Flags

| Flag         | Type                                                                             | Default                             | What it does                                                             |
| ------------ | -------------------------------------------------------------------------------- | ----------------------------------- | ------------------------------------------------------------------------ |
| `--rating N` | integer 1 to 5                                                                   | unset                               | A human's overall take. A bare rating with no words is a valid report    |
| `--bug`      | boolean                                                                          | `false`                             | Shorthand for `--kind bug`                                               |
| `--kind K`   | one of `bug`, `gap`, `ambiguity`, `feature_request`, `improvement`, `experience` | `experience`, or `bug` with `--bug` | The report's class. Wins over `--bug`                                    |
| `--agent`    | boolean                                                                          | `false`                             | File as the agent, so agent reports never dilute the human rating signal |

Everything that is not a flag or a flag's value becomes the message, joined with spaces. Quoting is still your job for shell reasons.

## What it prints

The payload is printed **before** it is sent, every time. A channel that carries free text and does not show you what it sends is asking for trust it has not earned.

```
sending      {"source":"human","kind":"experience","stack":"vite","runtime":"web"}
redacted     email (removed before sending)
thanks       your feedback is in. it genuinely changes what gets built next.
```

`not sent` replaces the last line when the send failed or telemetry is off, and names the reason. Humans who have never identified also get an offer of a reply route, printed after the receipt rather than as a prompt.

Run with no message and no rating, it prints usage and exits `1`. Real capture:

```
usage: reticle feedback [--rating 1-5] [--bug] "what worked, what didn't"
       agents: reticle feedback --agent --kind <bug|gap|ambiguity|feature_request|improvement|experience> "what happened"
       your words go to the maintainers; nothing from your app is ever included.
```

## Exit codes

| Code | Meaning                                                         |
| ---- | --------------------------------------------------------------- |
| `0`  | The report was submitted, or attempted and reported as not sent |
| `1`  | No message and no rating, or an invalid `--rating` or `--kind`  |

## Worked example

```bash theme={"dark"}
npx reticle feedback --agent --kind gap \
  "no way to drive a contenteditable rich-text editor; had to skip the flow"
```

<Card title="The same channel from inside a session" icon="comments" href="/tools-session-and-feedback">
  `reticle_feedback` when the tools are reachable.
</Card>
