A woman in a dark blazer studies a glowing display in a night city office showing panels for a model update, with an "APPROVE" button marked "Not yet selected."

What Your AI Approval Button Hides

I would bind approval to the exact recipient and reply, then test whether a changed action is refused.

Key findings

  • I would bind approval to a specific action and relevant version, not a general expression of confidence.
  • I would put the consequence and missing evidence beside the approval button.
  • I would treat an acknowledged request as a request until I can observe its effect.
  • I would test whether reviewers understand the action and whether changed proposals invalidate old approval.

In a fictional support case, I would approve a reply to Maya Lee only after removing an unsupported replacement promise. If an agent changed the recipient to Alex Ruiz before sending, the old approval must fail. I have not run that test. Until I have, I cannot claim the interface holds that boundary. The recipient is the test.

An approval must bind the action I saw to the action the system executes. A click alone tells me nothing about whether the recipient, promise, or authority changed after I pressed it. The button is not the boundary.

I have written about human control of AI. Here I want to make the decision visible, then name the test that could prove the boundary works.

What decision belongs on the screen?

I start with an illustrative support workflow. An agent proposes a reply about a delayed shipment. The draft sounds helpful. It also promises a replacement without the facts this fictional policy requires.

If I saw only the prose, I might proofread it and miss the commitment. I need the promise, recipient, and authority on the same screen.

Here is a wholly fictional card. Every name, address, order ID, policy condition, and timestamp is invented for this example. This is a proposed interface, not an Orbyt support product or an observed customer event.

On the cardProposed content
RecipientMaya Lee, maya@example.test
Prepared atOctober 5, 2026, 10:00 UTC
OrderEX-104, marked delayed; current carrier status is unknown
Draft to approve"Hi Maya, I am sorry your order is late. We will send a replacement tomorrow."
ConsequenceSending makes a replacement promise to Maya
Illustrative policyPromise a replacement only after a carrier confirms the package is lost and replacement stock is available
Missing evidenceNo carrier loss confirmation and no stock check
ScopeApproval authorizes this reply to Maya only; it does not create a shipment
ChoicesRequest the missing facts, edit the reply, or reject

Neither eligibility fact is here.

I would block the promised replacement until the missing facts are established. If I removed the promise, I would prepare a new reply for approval:

Hi Maya, I am sorry your order is late. I am checking the carrier status and replacement stock. I will update you when I have those facts.

That promise is gone.

I would approve that text to Maya only. The edit creates a new proposal; it cannot inherit approval for the earlier promise. I would put the action, recipient, consequence, evidence, and missing fact on one card. I would make the order record and policy available beside the decision.

What must remain bound to the approval?

The displayed recipient, content, scope, and relevant version must belong to the action that executes. A model must not quietly regenerate the reply after approval and keep the old permission.

Orbyt's experimental Command Record specification describes a record with the target, operator, requested change, evidence, and limits on reversal. It gives me a concrete model for what the interface should explain. The specification is not proof.

I would bind the confirmation to the displayed content and recipient. I would also have the executor reject an expired confirmation and recheck the conditions that make the action valid.

If a person approves the revised reply to Maya, the executor should reject a version addressed to Alex. It should not ask a model whether those two messages are close enough. They are different actions. The old approval must fail.

The same check applies when the world changes without a rewrite.

If the recipient changes, approval expires. If a policy change removes authority, the action stops. If another operator already completed the task, the system reconciles that state before attempting a duplicate.

My permissions audit, published August 25, 2026, found 391 allow rules, zero deny rules, and zero ask rules. I had not calculated their combined reach. I had approved individual prompts while trying to finish other work. Each prompt looked local. Together, they left agents with more permission than any one prompt made obvious.

A separate audit of my governance checks found that agents could edit the files that judged their authority. The agent could edit its judge. An approval screen can look governed while the agent has a route around the boundary. I need the executor to enforce scope independently of the screen and of an agent's own description of its limits.

When is a confirmation useful?

More approval screens can bury judgment under interruptions. More clicks are not supervision.

I would keep a confirmation only when the reviewer can make a useful choice.

I would let routine, reversible work within an established policy proceed without another prompt. I would stop for a new recipient, broader permission, external commitment, or uncertain consequence. At that point I would state the specific boundary the action crosses.

Google's People + AI Guidebook (opens in a new tab) treats the balance between automation and user control as a design decision. It recommends allowing people to adjust outputs and retain control where their situation requires it. A reviewer needs an alternative.

If I gave the reviewer no new information and no useful alternative, I would remove the interruption or redesign the control.

This is where taste in AI products becomes operational. I would put the consequence and missing evidence beside the approval button. I would link the order record and policy there. I would give a public commitment more attention than a harmless copy edit.

What should happen after the press?

I would show what happened after the press. Approval, request acceptance, execution, and observed effect are different events. One green check would collapse them into a false account.

The Command Record specification separates those states. A request records intent. An executor can record a commit or acknowledged call. A separate reader must establish the effect before the record earns the corresponding state.

I would write the status to match the evidence.

After sending a pause command, I can say the pause was requested. Requested is not paused. I would claim the seat is paused only when a separate observation supports that statement. If confirmation is unavailable, I would show that uncertainty.

In the fictional support case, an accepted send request would not prove that Maya received the message. Accepted is not delivered. I would show the delivery state I could actually observe. That matters before anyone retries.

The Collective makes this problem easy to see: the human issues a command, while another part of the system must establish its effect. The same design applies to ordinary business software.

How would I test comprehension?

I would test the proposed interface with realistic tasks before optimizing approval speed. I would ask the reviewer what will happen, what remains uncertain, and which action would exceed the permission they are granting.

I would record their answer before execution and compare it with the proposed action. A fast approval with the wrong understanding is a failed review, even if every endpoint returns successfully.

I need two cases. In a safe test environment, I would prepare the fictional reply to Maya, approve it, then change only the recipient to Alex Ruiz before execution. The old confirmation must be refused and no message sent. I would then leave the approved recipient and reply unchanged. That authorized control must be accepted. One must fail. One must pass. I have not run this test or observed either result.

I would also test a delayed result. I would show the existing request so the operator can distinguish waiting from failure before retrying. These are proposed tests; this article reports no participant results.

What to do Next

I would start with one consequential action and write its approval card before touching the layout. I would name the action, target, consequence, missing evidence, and available alternatives in ordinary language.

Then I would trace those promises into execution. I would record what invalidates approval and what observation earns completion. If I could not explain that path, I would not trust a prettier button to fix it.

I would approve the action on the card, not a later action that merely resembles it.

Related reading:

Methodology

Design guide combining the public Command Record specification, Google PAIR guidance, and published Orbyt audit accounts. The support response card and comprehension tests are proposed patterns. Every field in the worked support example is fictional.

Limitations

No participant study, approval error measurement, stale approval test, or end to end command execution was performed for this article. The support workflow is illustrative. The experimental public specification establishes the intended command model, not proof of production behavior.

Sources

  1. Human-in-the-Loop Is Not Enough Retrieved October 2, 2026.
  2. Orbyt Command Record specification Retrieved October 2, 2026.
  3. 391 Yeses and Not One No. Retrieved October 2, 2026.
  4. Google PAIR: Feedback and Control (opens in a new tab) Retrieved October 2, 2026.
  5. Building AI-Native Apps with Taste Retrieved October 2, 2026.
  6. Orbyt Collective public scope Retrieved October 2, 2026.
  7. Trust Is the Product Retrieved October 2, 2026.
  8. Codex Accuses. Claude Convicts. Retrieved October 2, 2026.
  9. Verification Is the New Literacy Retrieved October 2, 2026.

Common questions

What should an AI approval screen contain?

I would show the exact action, recipient, consequence, evidence, missing facts, and useful alternatives. I would make the order record and policy available beside the decision. If eligibility evidence were missing, I would block a replacement promise until I had it. I would make the boundary of approval explicit, including what the approval cannot authorize.

When should an earlier approval become invalid?

I would void an earlier approval when the recipient, reply, scope, or relevant version changed. I would have the executor reject expired approval and recheck the conditions that make the action valid. If another operator had already completed the task, I would reconcile that state before trying again. The old approval cannot authorize a new action.

How can a team test an approval interface?

I would ask reviewers to explain the action, uncertainty, and permission boundary before execution. I would compare their answers with the proposed action. In a safe environment, I would change the recipient after approval and require refusal, then keep an authorized proposal unchanged and require acceptance. I would record observed results separately from expected results. I have not run these tests.

Part of Inside the Machine

One of the articles about Orbyt Collective, the agent leadership team that runs Orbyt Labs. The reading order.

Justin Bartak

Founder & Chief AI Officer, Orbyt Labs

4X founder. Former CPO, CTO and CDO with 20+ years shipping software, now building it with agents.

Writes The Machine Speaks with the agents that build the product, and The AI-Native Lens (opens in a new tab).

All of The Machine Speaks