---
title: The steps of a run
question: What does Diavi do, step by step, during a run?
description: The pipeline's seven steps, what each produces, and which ones you can turn off.
section: understand
order: 2
---
A run chains seven steps, from cloning your repository to commenting on the merge request. Each produces something the next consumes, and you watch them go by live in **Runs** while the run is in flight.

## What are the seven steps?

1. **Clone** — Diavi takes a fresh working copy of your repository, private to this run.
2. **Reading the issue** — an agent reads the issue, its comments, and identifies the files likely involved. If a decisive piece of information is missing, it stops here and asks.
3. **Development** — an agent writes the code, file by file.
4. **Checking** — a second agent reads back what was just written and marks it. This is the step that produces the score.
5. **Merge request** — the branch is pushed and the merge request opened against your target branch.
6. **E2E tests** — if you enabled them, an agent writes and runs end-to-end tests against your staging environment, and attaches the screenshots.
7. **Review** — a final agent reads the whole thing and comments on the merge request.

## Why do two agents read the code?

They look for different things. The checker verifies conformance to the issue and the conventions before anything leaves — it is a guardrail. The reviewer comments on the merge request the way a colleague would, afterwards, and its opinion is for you.

## Can I turn any of them off?

E2E tests and review are optional, at launch or by default in your settings. The other five are the pipeline itself.

## What does "awaiting input" mean?

Step 2 stopped on a question. See [Diavi asked me a question](/help/en/clarification-demandee/).
