All field notes

Autonomous organization runtime

Why Autonomous Organizations Need Reconciliation Loops, Not Just Workflows

Durable workflows preserve execution. Reconciliation loops determine whether an organization still needs work—and how to converge without turning drift into unsafe automation.

MP
Max PerfiljevFounder & CEO, AES · Architect of Autonomous Organizations
Read in Russian

A workflow can complete perfectly while the organizational responsibility that triggered it is already failing again. A support-escalation workflow may close, yet service coverage can fall below its target an hour later. An onboarding workflow may finish, while the required compliance evidence remains missing. A customer-recovery workflow may send its messages, while account health continues to deteriorate.

This is the architectural limit of treating an autonomous organization as a collection of workflows. Workflows answer: how do we execute a defined sequence reliably? They do not, by themselves, answer: is the standing objective still satisfied, has reality drifted, and is more work permitted or required?

Durable execution systems are essential here. Temporal, for example, documents workflows whose business-logic state survives crashes and infrastructure failures. That makes a workflow a strong execution substrate for multi-step work involving people, agents, and tools. But durability of one run is not evidence that an ongoing responsibility remains fulfilled. Completion is an event. Organizational intent is usually a condition that must hold over time.

The missing layer is reconciliation

Kubernetes offers a useful architectural pattern, not a blueprint for running a company. Its controllers are non-terminating control loops: they observe current state and make or request changes that move it toward desired state. Kubernetes also separates an object’s spec, which expresses desired state, from its status, which reports observed state. The control plane continuously reduces the difference.

The equivalent organizational move is to represent persistent responsibilities as governed objects. A service-coverage object might declare the required coverage window and response target. Its observed status could record actual staffing, queue conditions, and verified exceptions. An account-health object might declare a permitted risk posture while separately recording current signals and evidence. A compliance object might declare required controls, evidence freshness, and review intervals.

A reconciler watches one bounded aspect of such an object. When it finds meaningful drift, it does not simply improvise. It proposes the smallest permissible action that could reduce the gap. If that action requires a sequence—check availability, request approval, assign a person, notify a customer, verify the result—the reconciler starts or requests a durable workflow. The workflow executes; the reconciler later observes whether the condition actually improved.

Workflows make work durable. Reconciliation decides whether work is needed.

This distinction changes how an autonomous runtime is designed. The primary unit is no longer only a task or an agent session. It is an object with declared intent, independently observed reality, and a governed path from drift to action.

Make intent, observation, and authority separate

An organizational object should not collapse planning, observation, and control into one mutable record. At minimum, an AES-style object model should distinguish desired intent; observed status; policy and ownership metadata; the last observed intent version; active convergence work; a retry budget; and terminal conditions such as ready, blocked, conflicted, or requiring human judgment. This is a proposed model, not an existing standard.

Versioned intent matters because a reconciler must know what it is trying to satisfy. The OpenGitOps principles similarly require desired state to be declarative, versioned, immutable, automatically pulled, and continuously reconciled against actual state. In an organization, a new version of an objective should not silently rewrite the basis for an action already underway. The runtime needs to detect the change, reassess the work, and either continue under a permitted rule, supersede it, or escalate it.

Observed status must be independently grounded. An agent saying that coverage is adequate is not equivalent to evidence that coverage is adequate. Status should retain its source, time of observation, and confidence or verification condition where the domain needs it. Otherwise the same system can define success, report success, and act on its own report without a meaningful control boundary.

Ownership is equally important. Kubernetes favors multiple controllers responsible for particular aspects of state rather than one monolithic loop. Flux applies related ideas operationally through managed-object inventories, dependency handling, and field-level ignore rules that allow other controllers to retain ownership. An organizational runtime needs comparable explicitness: which controller may change staffing requests, which may alter customer communications, and which fields are reserved for a human operator or another domain authority?

Controllers must be bounded, or they will fight

A naive reconciler observes a shortfall and repeatedly acts until the metric moves. That design is dangerous in a business environment. A staffing controller may seek more coverage while a cost controller seeks fewer assignments. A retention controller may propose outreach while a communication policy blocks contact. A human may make a temporary exception that the system mistakes for drift to be reversed.

The answer is not one omnipotent controller or one global desired state. It is explicit scope, ownership, and conflict handling. Each reconciler needs a bounded objective, named fields it may influence, permitted action types, and conditions under which it must yield. It should detect an active convergence workflow before creating another. It should surface incompatible claims as a conflict, not attempt to win by issuing more requests.

Policy sits on every transition. It decides not merely whether an eventual goal is allowed, but whether this action, by this actor, at this time, with this evidence and under this policy version is permitted. That matters especially when a reconciler proposes external commitments: a payment, a customer message, an approval request, or a change to someone’s access. These are not universally safe retries.

Convergence needs failure discipline

Reconciliation is continuous; it must not become continuous amplification of failure. AWS guidance warns that uncontrolled retries can overload dependencies, produce retry storms, and duplicate side effects. It recommends idempotent operations, bounded retries, exponential backoff and jitter, and failing fast for non-transient errors. These are not implementation details. They are governance properties of an autonomous organization.

Every reconciler should therefore carry a retry budget and a clear failure classification. A transient failure may justify a delayed retry. An unknown outcome after sending an external message may require deduplication or human resolution, not a second send. A rejected approval is not a transport error. A policy denial is not drift that an agent should work around. When the budget is exhausted, the object should become blocked or require human judgment, with the unresolved gap and attempted actions visible.

Backoff also gives the organization time to observe. Immediate re-action assumes that the previous action had no delayed effect. That is often false: a person may be responding, a downstream system may be settling, or evidence may simply not have arrived yet. A reconciler that cannot tolerate observation delay will manufacture its own noise.

Human intervention is part of the control loop

Continuous reconciliation must not mean automatically undoing every human change. A human edit can be an authoritative override, a temporary exception, or evidence that the declared objective is wrong. The object model needs a way to record that distinction. An override should have an owner, a scope, a reason, and, where appropriate, an expiry. A change to intent should create a new version. A conflict should preserve competing claims rather than quietly selecting the most recent writer.

This is where reconciliation becomes a governance mechanism rather than a background automation feature. It makes a standing responsibility inspectable: what was intended, what was observed, who owns the discrepancy, what action was proposed, what policy constrained it, and why the system stopped or escalated.

Build the loop before multiplying agents

The practical design sequence is straightforward. First, identify responsibilities that persist after any single workflow: service level, coverage, account health, control evidence, replenishment, or risk posture. Second, define their versioned desired conditions and the independent sources that can establish observed status. Third, assign field-level ownership and policy-bounded action authority. Fourth, build narrow reconcilers that propose minimal convergence work. Finally, use durable workflows to execute approved multi-step actions and feed their results back into status.

The result is not a promise of automatic business correctness. A runtime can converge on a stale, incomplete, or wrongly specified objective. But it creates the necessary architecture for discovering that fact instead of mistaking a completed workflow for a healthy organization. Autonomous organizations do not become reliable when they can finish more processes. They become governable when they can continuously notice where reality no longer matches their declared responsibilities—and respond within limits.

BUILD WITH AES

Turn architecture into an operating company.

AES connects strategy, tasks, organizational memory, knowledge, agents, people and approvals in one execution environment.