AI-Native Engineering·8 min read

Capability Is Not Authority: Who Decides What AI Agents May Do?

AI agents are getting better at doing the work. The harder question is who decides what they are allowed to do, and where explicit human approval stays necessary.

Hamed RezaeiSoftware Architect & Senior .NET Backend Engineer·Expanded from my LinkedIn post

AI agents are getting better at doing the work. But who decides what they're allowed to do?

Where the engineering effort moved

Working with OpenAI Codex across complex, multi-service systems has changed where I spend my engineering effort. Less of it goes into typing the implementation. More of it goes into four things:

  • Defining boundaries: what a task may touch, and what it may not.
  • Delegating implementation: handing a well-specified task to an agent.
  • Evaluating evidence: deciding whether the result is actually demonstrated, not just claimed.
  • Deciding where human approval is necessary.

A release workflow made the shift tangible

An agent could prepare changes and support technical verification. Yet some verification remained incomplete. The release status had to preserve that uncertainty, instead of rounding it up to “ready”, and advancing the changes required explicit approval.

Release status that keeps uncertainty visible
  1. 01

    Prepared

    The agent assembles the changes.

  2. 02

    Partially verified

    What was checked, and what wasn't, stays on record.

  3. 03

    Awaiting approval

    A person sees the evidence and the gaps.

  4. 04

    Approved to advance

    Only by an explicit decision.

The agent can move the work forward. It can't promote its own uncertainty into a release. Illustrative states.

Capability and authority are two different things

Two separate questions
Capability · what the agent can doModel quality, tools, context, execution environment. It keeps improving.
Authority · what the agent may doIdentity, scoped permissions, quality gates, approval boundaries. It has to be designed.
A more capable agent is not automatically a more trusted one.

That distinction matters more as we move from assistance inside an IDE toward autonomous, platform-managed workflows. Inside an IDE, a person approves almost every step implicitly. In a platform-managed workflow, nobody is watching each step, so authority has to be explicit.

Three execution paths

I see three kinds of execution path in an agentic delivery workflow:

Execution paths
Probabilisticagents interpret requirements, explore solutions, investigate failures
Deterministicpipelines run defined checks; policies enforce permissions, gates, approvals
Hybridagent reasoning and deterministic checkpoints in a controlled loop
Use reasoning where the problem is open. Use rules where the answer must not vary.

Probabilistic paths

This is where agents add the most: reading an ambiguous requirement, trying alternatives, tracing a failure through logs. The output varies from run to run, which is fine for exploration and not fine for enforcement.

Deterministic paths

Pipelines run defined checks. Policy controls enforce permissions, quality gates and release approvals. The same input gives the same decision every time, whatever the model believes.

Hybrid paths

Agent reasoning and deterministic checkpoints form a controlled feedback loop. This is where most real delivery work sits.

The hybrid loop, with a budget

In a hybrid path, an agent proposes a change, CI evaluates it, and failure signals guide the next correction. A bounded retry budget limits the loop, and unresolved failures require escalation.

Hybrid path
  1. 01

    Agent proposes

    A change, with its reasoning.

  2. 02

    CI evaluates

    Defined checks, the same for every author.

  3. 03

    Signals guide

    Failures feed the next correction.

  4. 04

    Gate or escalate

    Pass to approval, or hand to a person when the budget runs out.

Retry within the budget. Passing a check still doesn't grant release authority.

The loop is allowed to be automatic. Its exits are not.

Written as policy, the idea is small. The syntax below is illustrative, not a specific product's:

# Illustrative policy: limits live outside the model
agent_loop:
  max_attempts: 3
  on_exhausted: escalate_to_owner
release:
  requires: [ci_passed, security_gates_passed, human_approval]
  agent_may_approve: false

Toward an Agentic Development Platform

This is the direction I see for an Agentic Development Platform (ADP): extending existing Internal Developer Platforms and Golden Paths to support agents as first-class consumers. The architecture needs a clear separation of responsibilities.

Agentic Development Platform · separation of responsibilities
agent harness · how work gets done
Contextspecs, contracts, decisions
Toolsbuild, test, inspect
Isolated executionone environment per task
governance plane · what is allowed
Non-human identitiesevery agent acts as someone
Scoped permissionsleast privilege per task
Gates & approvalsquality, security, release
The governance plane enforces its rules independently of model reasoning. An agent can't argue its way past a gate.

The agent harness provides context, tools and execution capabilities, ideally within isolated environments. I wrote more about it in AI Agents Can Write Production Code. Can They Prove It Works?

The governance plane manages non-human identities and enforces scoped permissions, quality and security gates, and approval boundaries independently of model reasoning.

Measuring success: engineering throughput

At scale, the measure of success is engineering throughput: independent tasks progressing concurrently and meeting defined acceptance criteria, with traceable decisions and controlled access. Not lines of code, and not the number of agents running.

More parallel work needs clearer authority boundaries.

For me, AI-native engineering increasingly means designing the systems that govern execution, alongside the software being delivered.

Which actions in your workflow should always require explicit human approval? Join the discussion on LinkedIn, or see how I approach agent-based systems.

Quick answers

What is the difference between an agent's capability and its authority?

Capability is what an agent can do with its model, tools and context. Authority is what it is permitted to do: which identity it acts under, what it may change, and which steps still need a human decision. Better capability doesn't grant more authority on its own.

What is an Agentic Development Platform (ADP)?

It's the direction I see for extending Internal Developer Platforms and Golden Paths so that AI agents are first-class consumers: an agent harness for context, tools and isolated execution, and a governance plane for identities, permissions, gates and approvals.

Should an AI agent be allowed to approve its own release?

In the workflows I design, no. An agent can prepare changes and gather evidence, and passing checks is necessary, but release authority sits with an explicit approval boundary enforced outside the model.

What is a bounded retry budget?

A limit on how many times an agent may try to fix a failing check on its own. When the budget runs out, the work escalates to a person instead of looping indefinitely.

  • AI-Native Engineering
  • Agentic Development
  • Platform Engineering
  • Governance
  • Human Approval
  • Codex