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

# The runtime review for your PRs

> Garnet records what your code actually did when it ran — process lineage, network egress, file access — and posts a Run Profile back to the PR you already review.

**Review the run, not just the diff.** You already read the diff and run the tests — that's what the code *says* it does. Garnet adds the second pass: what the code *actually did* when it ran.

AI is opening more PRs than anyone can read line-by-line, and dependencies, build tools, and agents run with the same access to your secrets as your own code. The diff shows intent. The **Run Profile** shows what happened.

<CardGroup cols={2}>
  <Card title="Quick start" icon="rocket" href="/quickstart">
    Add Garnet to a workflow and get your first Run Profile in minutes.
  </Card>

  <Card title="The Run Profile" icon="fingerprint" href="/run-profile">
    What you get back on the PR, and how to read it.
  </Card>
</CardGroup>

***

## Two passes on every PR

Pass 1 reads the diff and reasons about intent — you and your AI reviewer. Pass 2 watches the run and reports behavior — Garnet. Execution is the new code; the **Run Profile** is its commit.

Garnet doesn't replace your AI reviewer or static analysis. It sits beside them and gives them ground truth: what the code actually did when it ran.

<Frame>
  <img src="https://mintcdn.com/garnetlabs/xu71ouaM8L4tf9sJ/images/v1-run-details-fail.png?fit=max&auto=format&n=xu71ouaM8L4tf9sJ&q=85&s=01ed7ccbee909318794f10074fc6db25" alt="Garnet's second pass on a PR: a new egress the diff didn't show, traced to the process that made it" width="3308" height="2556" data-path="images/v1-run-details-fail.png" />
</Frame>

Garnet's second pass on this PR: an outbound connection the diff never showed — `chainstack.com`, traced to `wget` in the workflow. [More write-ups →](https://www.garnet.ai/resources)

***

## Vocabulary

Five terms carry the whole product. Every page uses them exactly this way.

| Term                  | Meaning                                                                                                            |
| :-------------------- | :----------------------------------------------------------------------------------------------------------------- |
| **run**               | One monitored execution — a CI job, workflow run, or agent run. The *event*.                                       |
| **Run Profile**       | The record a run produces: process lineage, network egress, and file access, tied to the commit. The product noun. |
| **runtime check**     | An invariant evaluated against a Run Profile → **pass** or **fail**.                                               |
| **detection signal**  | A low-level [Jibril](https://jibril.garnet.ai) event (`dropdomain`, `hidden_elf_exec`…) that composes into checks. |
| **Run Profile state** | How the result reads on the PR — **Clean** or **Needs review**.                                                    |

<Card title="Install Garnet" icon="rocket" href="/quickstart" horizontal>
  Two clicks from a workflow to your first Run Profile on a PR.
</Card>
