Klarety

Approvals

When an AI asks to deploy, a person reviews the commit and approves or rejects it before anything builds.

An AI can write code and ask to it, but it never puts an app live by itself. The deploy waits, and nothing builds until a person approves it. A person stays in charge of what visitors see and what the app costs.

An AI never deploys by itself

This applies to every AI tool in a Studio and to every agent.

When a deploy needs approval

A deploy waits when it was asked for by:

  • Your AI tool in a Studio (for example, after you press Deploy on a project without a linked repository, or ask your AI to deploy).
  • A teammate's AI tool.
  • This project's agent.
  • A push from a Studio to the production branch of the linked repository.

A deploy you start in the app, or a push from outside a Studio, does not wait.

Before you start

  • You need to be able to change the .
  • You approve with your own sign-in in the app. An , a Studio or an AI cannot approve or reject a deploy.

Approve or reject a deploy

Open the project's Deploy page

Go to Deploy and open the project, or use the project's Deploy tab. A notice reads A deploy is waiting for you (or how many are waiting), with "An AI asked to put this project live. Nothing builds until you approve."

Check what would go live

Each request shows who asked, the Commit it would build (with Branch of the repository when there is one), the files In the commit, and Waits until a time. The commit is fixed when the AI asks, so later Studio changes cannot slip in.

Decide

Select Approve and deploy to build now, or Reject to drop the request. An approved deploy appears under Deployments, credited to you.

A deploy waiting for approval on the project's Deploy page

What you see when it worked

After Approve and deploy, the button shows Starting, the notice goes away and the deploy moves through Queued, Building and Live under Deployments. After Reject, the notice goes away and nothing builds.

How long a request waits

Requests close after 30 minutes

An unanswered request closes on its own and nothing builds.

To still deploy, ask the AI to request it again.

Your plan limits how many requests can wait at once; beyond that, new ones are refused until the waiting ones are answered.

From code

From a Studio, deploy raises AwaitingApprovalError with the request's approval_id. Tell the person and wait; calling it again does not help, and approving from code is refused.

from klarety import Nexus
from klarety.errors import AwaitingApprovalError

nx = Nexus.connect()
try:
    nx.projects.deploy("PROJECT_ID")
except AwaitingApprovalError as waiting:
    print(waiting)

for request in nx.projects.deploy_approvals("PROJECT_ID"):
    print(request)

deploy_approvals lists the requests that still wait for a person.

There is nothing to do from code: a person always decides in the app.

If something goes wrong

  • "this deploy was already decided, or it waited too long": someone else answered it, or the 30 minutes passed. Ask the AI to request it again.
  • You do not see Approve and deploy: you cannot change this project. Ask its owner or an admin.
  • The AI says too many deploys are waiting: approve or reject the waiting requests on the Deploy page first.

Where to go next

On this page