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

# Review and act on patterns

> Read a pattern and its evidence, turn it into a scorer or classifier you can monitor, hand it to a coding agent, and close it when it's resolved.

Review the evidence behind a pattern, then investigate, monitor, or fix what [Loop](/docs/loop) found. Each pattern belongs to one project.

## Find a pattern

Go to [**<Icon icon="scan-search" /> Patterns**](https://www.braintrust.dev/app/~/patterns) and select a pattern from the list to open it.

The list shows open patterns by default:

* Click <Icon icon="list-filter" /> **Filter patterns** to choose **Open**, **Closed as resolved**, **Closed as not useful**, or **Closed without reason**. Each option shows its pattern count.
* Use the search box above the list to search by name.

## Read a pattern

Check Loop's reasoning against the evidence before acting. Each pattern has four parts:

* **Summary:** The finding and its context.
* **Suggested fix:** A recommended investigation or change, when available.
* **How to monitor:** A recommended scorer, classifier, or facet, when available. See [Act on a pattern](#act-on-a-pattern).
* **Evidence:** The measurements and traces supporting the finding.

Evidence can include:

* **Frequency** measurements when trace data can reliably identify the behavior.
* **Monitors** for complementary measurements such as latency, cost, or score trends.
* Traces with Loop's notes quoted inline. Select one to open it in the [Debugger](/docs/observe/debug-traces), scrolled to the source span field with quoted terms highlighted.

### Frequency

The **Frequency** chart shows the percentage and number of affected traces. Each trace counts once, even if several spans match. Use the selector above the chart to change the time range.

When Loop identifies a comparable population, you can choose the scope:

* **Similar** (default): The share of comparable traces affected, such as requests for the same operation.
* **All:** The share across your project.

The description below the chart identifies the population. Without a separate population, the chart shows **All** with no scope dropdown.

Frequency is absent when data cannot reliably identify affected traces, such as when a required classifier hasn't been created or backfilled. Loop can still provide trace evidence and recommend how to measure the behavior.

## Act on a pattern

Choose an action based on whether you want to investigate, track, fix, or share the finding.

### Keep investigating

Select <Icon icon="blend" /> **Continue in Loop** to start a new thread with the pattern attached as context. A badge shows the pattern's name.

### Make it measurable

Under **How to monitor**, click <Icon icon="blend" /> **Create scorer** or <Icon icon="blend" /> **Create classifier**, depending on Loop's recommendation. Loop opens with a prefilled prompt, adds the evaluator to the pattern, plans a backfill with you, and creates a monitor chart. This tracks the behavior continuously at lower cost than repeated investigation.

Loop can also create a [facet](/docs/observe/topics/custom-facets) so [Topics](/docs/observe/topics) classifies the behavior across all your traces.

<Warning>
  Objects a scheduled run creates are not linked back to the pattern. If a pattern's monitor chart measures a scorer or facet that a run created, deleting that scorer or facet stops new data from reaching the chart.
</Warning>

### Hand it to a coding agent

Click <Icon icon="clipboard" /> **Copy pattern as prompt** in the pattern header. Braintrust copies a Markdown brief containing the pattern's status and close outcome, summary, suggested fix, evidence trace IDs, and [`bt` CLI](/docs/reference/cli/quickstart) commands for pulling the full traces. Paste it into your coding agent to start work on a fix.

### Share it

When the pattern is open in Loop's workspace, click <Icon icon="share" /> **Copy link** in its header. The link only works for people who already have project access.

## Close or reopen

Closing and reopening requires the project's [`Update` permission](/docs/admin/access-control#object-permissions), granted to **Owners** and **Engineers** [permission groups](/docs/admin/access-control#built-in-permission-groups) by default. Without it, you can read patterns and evidence, but the **Close** and **Reopen** buttons don't appear.

Close a pattern when you've acted on it or decided it isn't useful:

1. Click <Icon icon="archive" /> **Close** in the pattern header.
2. Optionally choose **Resolved** if the problem is fixed, addressed, or no longer happening, or **Not useful** if it's noise, transient, or unimportant.
3. Add optional feedback, then click the close button below the feedback field.

The pattern leaves the **Open** list. Its header shows **Closed as resolved**, **Closed as not useful**, or **Closed without outcome**, and a banner shows who closed it and their feedback.

<Warning>
  A closed pattern reflects a judgment about the evidence. Closing it as resolved does not verify the fix. Use a scorer or monitor chart for that.
</Warning>

Click <Icon icon="archive-restore" /> **Reopen** to set a closed pattern back to active.

<AccordionGroup>
  <Accordion title="How Loop uses closure feedback">
    Loop uses the outcome and your feedback when evaluating related findings:

    * **Not useful** tells Loop not to automatically reopen or recreate a matching pattern while your reason still applies.
    * **Resolved**, or closing without an outcome, allows Loop to reopen the existing pattern if the behavior recurs, unless your feedback says otherwise.
    * Free-text feedback defines the scope of your judgment. If you dismiss synthetic staging traffic but new evidence comes from production, Loop evaluates that evidence independently. Be specific about what you want to dismiss and any conditions for reopening.
  </Accordion>

  <Accordion title="When Loop closes patterns automatically">
    Scheduled runs also review active patterns. Loop can close a pattern when recent, relevant data shows that the behavior has stopped. Missing data or a failed query is not evidence that it has stopped.
  </Accordion>
</AccordionGroup>

## Next steps

* [Write scorers](/docs/evaluate/write-scorers) to measure a behavior a pattern surfaced.
* [Build datasets](/docs/annotate/datasets/create) from the traces behind a pattern, then [run an experiment](/docs/evaluate/run-evaluations) to test a fix.
* [Create custom facets](/docs/observe/topics/custom-facets) to track the behavior across every trace.
* [Debug a trace](/docs/observe/debug-traces) to dig into a single piece of evidence.
