# How AI CodeOps works

> Follow one AI CodeOps session from task to merged pull request: agents plan and build, your tests run in a sandbox, AI review flags issues, a person approves.

Source: https://aicodeops.dev/docs/how-it-works · Last updated: 2026-10-18

A session takes one task from a sentence to a reviewed pull request. This page follows a session through each stage, in the order AI CodeOps runs them.

## 1. You describe the task

Open **Develop → AI Sessions** and choose **New session**. Describe the task, pick a **Workflow** and a **Project**, and choose **Start session**. Every session belongs to a [project](https://aicodeops.dev/docs/projects).

Before anything runs, AI CodeOps checks two things:

- **Your budget.** If the workspace is over its budget or out of allowance, the session doesn't start and says why. See [Cost controls](https://aicodeops.dev/docs/cost-controls).
- **Your workspace policy.** A deny rule stops the session. An ask rule holds it until someone approves it on **Review & Gate → Approvals**. See [Approvals and policies](https://aicodeops.dev/docs/approvals-and-policies).

The session is then queued with the status **pending** until a worker picks it up.

## 2. The agents work through the workflow

A workflow is a fixed list of steps. Each step is run by one agent, and the steps run one after another. The default workflow, **Plan, Build, Review & Test**, runs:

1. **Plan**, by the [Architect](https://aicodeops.dev/agents/architect).
2. **Build**, by the [Builder](https://aicodeops.dev/agents/builder).
3. **Review**, by the [Reviewer](https://aicodeops.dev/agents/reviewer).
4. **Test**, by the [Tester](https://aicodeops.dev/agents/tester).

Each step sees the task and what the earlier steps wrote. The budget is checked again before every model call. A session that goes over budget mid-way stops with the reason. Other workflows are listed in [Workflows](https://aicodeops.dev/docs/workflows).

## 3. The change is written

Once the steps finish, AI CodeOps turns the team's plan into complete files. It applies them to a fresh copy of your repository and produces a diff. A project without a repository gets a new codebase instead.

A diff over 60 KB is refused whole: "Split the task into smaller changes." If no usable file changes come back, the session fails with the reason.

## 4. Your tests run

AI CodeOps rebuilds the change in an isolated sandbox. It installs dependencies, cuts the sandbox off from the network, and runs your project's test command. The result is recorded as the session's test run: passed, failed, skipped and coverage.

The test command is the one set on the project. Without one, AI CodeOps looks for a `package.json` test script, then pytest, then `go test`. If tests can't run at all (no command, or dependencies that won't install), nothing is recorded and the run page shows that the change wasn't verified.

## 5. The diff is reviewed

A review pass reads the actual diff, with the review and security steps' notes as context. It records **findings**, each with a severity, a category and usually a file. See [Multi-agent reviews](https://aicodeops.dev/docs/multi-agent-reviews).

If that review can't finish, the change is held: its findings are unknown, so it can't be treated as clean.

## 6. The change waits for a person

When the session finishes with a diff, AI CodeOps:

- marks the session **completed**;
- moves its change to **in review** under **Develop → Changes**;
- opens a review request on **Review & Gate → Approvals**. It expires after 7 days.

Open the session page to see the summary, the **Proposed changes**, the **Quality gates** panel and the **Findings**.

## 7. A person approves

Choose **Accept changes** on the session page, or **Approve** on the Approvals page. The person who started the session can't approve it while someone else in the workspace can. A one-person workspace can approve its own change. One rejection ends the request.

## 8. The pull request opens

Approving starts the pull request. Before opening it, AI CodeOps checks, in order:

1. the workspace policy;
2. the approval;
3. the [quality gate](https://aicodeops.dev/docs/quality-gates): no open high or critical findings, no failing tests, and a completed review.

If all three pass, AI CodeOps pushes a branch named `codeops/run-<id>` and opens a pull request into the project's default branch. It uses the Git connection of the person who approved, so they need a [connected Git account](https://aicodeops.dev/docs/git/permissions-and-scopes) for that host. If the pull request couldn't open, choose **Create Pull Request** on the session page. The button says what's missing.

## 9. Merge and deploy

Merge the pull request when you're ready. If you merge it from the console, the quality gate is checked again first. If the project has a deploy target, AI CodeOps then calls your deploy webhook and records the deployment. See [Gated deploys](https://aicodeops.dev/docs/gated-deploys).

## Time limits

| Stage              | Limit                                       |
| ------------------ | ------------------------------------------- |
| Agent steps        | 4 minutes in total                          |
| Tests              | 6 minutes, plus the command already running |
| Review of the diff | 2 minutes                                   |
| Whole session      | Stopped as stalled after about 19 minutes   |

A session that times out or stalls ends as **failed**, with the reason on its page.

## Next steps

- [Core concepts](https://aicodeops.dev/docs/core-concepts)
- [Sessions](https://aicodeops.dev/docs/sessions)
- [Quality gates](https://aicodeops.dev/docs/quality-gates)

## Frequently asked questions

### Does an AI session merge code by itself?

No. A person approves every code change before its pull request opens, and merging is a separate step you take.

### What if my project has no tests?

The session still runs. No test result is recorded, the run page shows that verification was skipped, and nothing about tests blocks the change.

### Can I watch the agents while they work?

Yes. The session page updates live with each step, its agent, its status, and the tokens and cost so far.
