đź§ AI Is Not The Execution Engine
AI provides intelligence. Averos provides control.
This distinction is at the heart of Averos.
Averos does not treat an AI model as the execution engine of the application.
AI is exceptionally useful at interpreting intent, reasoning about requirements, and proposing changes. But those capabilities do not require unrestricted authority over the application.
Averos therefore separates intelligence from execution.
AI provides intelligence. Averos provides control.
The conventional AI coding loop
A conventional AI coding workflow can look roughly like this:
flowchart TD
classDef human fill:#ffffff,stroke:#86868b,stroke-width:1.5px,color:#1d1d1f
classDef ai fill:#ede7f6,stroke:#512da8,stroke-width:2px,color:#1d1d1f,font-weight:bold
classDef legacy fill:#ffebee,stroke:#c62828,stroke-width:2px,color:#1d1d1f,font-weight:bold
subgraph UncontrolledWorkflow ["Conventional AI Coding Workflow"]
H["`**Human**`"]:::human
P[/"`**Prompt**`"/]:::human
A[["`**AI**`"]]:::ai
C[/"`**Code**`"/]:::legacy
SE(["`**Side Effects**`"]):::legacy
H --> P
P --> A
A --> C
C --> SE
end
The model interprets a natural-language request and may directly modify files, invoke tools, install dependencies, execute commands, or otherwise affect the development environment.
The problem is not that AI can perform these actions.
The problem is that interpretation and execution are often collapsed into the same step.
When that happens, it becomes difficult to establish a precise boundary between:
- what the human intended;
- what the AI inferred;
- what the AI changed;
- why those changes were necessary;
- whether the resulting state is valid;
- and what will happen if the same request is made again.
Averos introduces explicit architectural boundaries between those concerns.
The Averos model
In Averos, AI can participate in the process without becoming the authority that directly executes arbitrary changes.
flowchart TD
classDef human fill:#ffffff,stroke:#86868b,stroke-width:1.5px,color:#1d1d1f
classDef ai fill:#ede7f6,stroke:#512da8,stroke-width:2px,color:#1d1d1f,font-weight:bold
classDef artifact fill:#ffffff,stroke:#86868b,stroke-width:1.5px,color:#1d1d1f
classDef process fill:#f5f5f7,stroke:#86868b,stroke-width:1.5px,color:#1d1d1f
classDef engine fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px,color:#1d1d1f,font-weight:bold
classDef gate fill:#fff3e0,stroke:#ef6c00,stroke-width:2px,color:#1d1d1f,font-weight:bold
classDef success fill:#e8f5e9,stroke:#2e7d32,stroke-width:2px,color:#1d1d1f,font-weight:bold
subgraph PromptDomain ["1. Intent & Proposal"]
H["`**Human**`"]:::human
I[/"`**Intent**`"/]:::human
AI[["`**AI**`"]]:::ai
M[/"`**Manifest**`"/]:::artifact
end
subgraph VerificationDomain ["2. Engine Verification"]
V["`**Validation**`"]:::process
D["`**Semantic Diff**`"]:::process
P[/"`**Execution Plan**`"/]:::artifact
end
subgraph GovernanceDomain ["3. Governance"]
G{"`**Approval**`"}:::gate
end
subgraph ExecutionDomain ["4. Deterministic Mutation"]
E[["`**Deterministic Execution**`"]]:::engine
App(["`**Application**`"]):::success
end
H --> I
I --> AI
AI --> M
M --> V
V --> D
D --> P
P --> G
G -->|Approved| E
E --> App
Each stage has a distinct responsibility.
| Stage | Responsibility |
|---|---|
| Human | Establish intent and governance |
| AI | Interpret intent and propose a desired state |
| Manifest | Represent that desired state explicitly |
| Validation | Determine whether the proposed state is admissible |
| Semantic Diff | Determine what has changed |
| Execution Plan | Determine what operations are required and in what order |
| Approval | Authorize the planned transition |
| Deterministic Execution | Apply the approved operations |
| Application | Become the resulting realized state |
This separation is the foundation of governed AI-assisted development.
AI is a proposer, not the executor
The AI remains extremely important.
It can:
- understand natural language;
- interpret requirements;
- propose application structures;
- reason about application changes;
- translate intent into manifest changes;
- interact with Averos through MCP;
- help humans explore alternatives;
- explain proposed changes.
But none of these capabilities require the model itself to own the final execution mechanism.
The AI can propose:
"Add priority to tasks."
The system can turn that intent into a manifest revision:
flowchart TD
classDef ai fill:#ede7f6,stroke:#512da8,stroke-width:2px,color:#1d1d1f,font-weight:bold
classDef artifact fill:#ffffff,stroke:#86868b,stroke-width:1.5px,color:#1d1d1f
classDef process fill:#f5f5f7,stroke:#86868b,stroke-width:1.5px,color:#1d1d1f
classDef addition fill:#e8f5e9,stroke:#2e7d32,stroke-width:2px,color:#1d1d1f,font-weight:bold
subgraph Proposal ["1. Natural Language Intent"]
A[["AI Agent"]]:::ai
I["Add priority to tasks."]:::artifact
end
subgraph Transformation ["2. Engine Representation"]
M["Manifest Revision"]:::process
subgraph TaskSchema ["Task Entity Manifest"]
T1["title"]:::artifact
T2["description"]:::artifact
T3["completed"]:::artifact
T4["priority (new)"]:::addition
end
end
A --> I
I --> M
M --> TaskSchema
Validation then determines whether that desired state is valid.
Orchestration determines the semantic difference and builds the execution plan.
Only after the appropriate execution gate is cleared does the executor apply the change.
The AI can propose the destination without being given unrestricted control over the road.
From intent to controlled execution
Consider a simple request:
“Add priority to tasks.”
A conventional workflow might allow the model to interpret the request and immediately edit the application.
Averos separates the journey:
flowchart TD
classDef human fill:#ffffff,stroke:#86868b,stroke-width:1.5px,color:#1d1d1f
classDef ai fill:#ede7f6,stroke:#512da8,stroke-width:2px,color:#1d1d1f,font-weight:bold
classDef artifact fill:#ffffff,stroke:#86868b,stroke-width:1.5px,color:#1d1d1f
classDef process fill:#f5f5f7,stroke:#86868b,stroke-width:1.5px,color:#1d1d1f
classDef engine fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px,color:#1d1d1f,font-weight:bold
classDef gate fill:#fff3e0,stroke:#ef6c00,stroke-width:2px,color:#1d1d1f,font-weight:bold
classDef success fill:#e8f5e9,stroke:#2e7d32,stroke-width:2px,color:#1d1d1f,font-weight:bold
subgraph Phase1 ["1. AI Proposal Phase"]
I[/"`**Add priority to tasks**`"/]:::human
AI[["`**AI interprets**`"]]:::ai
M[/"`**Manifest revision**`"/]:::artifact
end
subgraph Phase2 ["2. Verification Phase"]
V["`**Validation**`"]:::process
D["`**Semantic Diff**`"]:::process
P[/"`**Execution Plan**`"/]:::artifact
end
subgraph Phase3 ["3. Governance Phase"]
G{"`**Approval Gate**`"}:::gate
end
subgraph Phase4 ["4. Deterministic Mutation"]
E[["`**Deterministic Execution**`"]]:::engine
App(["`**Updated Application**`"]):::success
end
I --> AI
AI --> M
M --> V
V --> D
D --> P
P --> G
G -->|Approved| E
E --> App
The key change is not that AI becomes less capable.
It is that AI no longer has to be the mechanism that materializes its own decisions.
This makes the proposed change inspectable before it becomes an application change.
Why the manifest matters
The manifest creates a durable boundary between what was requested and what will be executed.
Natural language can be ambiguous.
A manifest can be validated.
A conversation can contain context, assumptions, and interpretation.
A manifest represents an explicit application state.
This gives the system an intermediate artifact that can be:
- inspected;
- validated;
- versioned;
- compared;
- reviewed;
- approved;
- reproduced.
The AI therefore does not need to be the source of truth.
The manifest becomes the precise representation of the desired application state.
Conversation captures intent. The manifest captures the resulting state.
Why deterministic execution matters
Once a validated manifest has been transformed into an execution plan, the execution stage does not need an AI model to decide what to do next.
The executor follows the plan.
Its behavior is governed by explicit operations, dependencies, execution state, adapters, checkpoints, and execution policies.
Conceptually:
flowchart TD
classDef ai fill:#ede7f6,stroke:#512da8,stroke-width:2px,color:#1d1d1f,font-weight:bold
classDef artifact fill:#ffffff,stroke:#86868b,stroke-width:1.5px,color:#1d1d1f
classDef engine fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px,color:#1d1d1f,font-weight:bold
classDef process fill:#f5f5f7,stroke:#86868b,stroke-width:1.5px,color:#1d1d1f
classDef success fill:#e8f5e9,stroke:#2e7d32,stroke-width:2px,color:#1d1d1f,font-weight:bold
subgraph IntentDomain ["1. Nondeterministic Intent"]
A[["`**AI**`"]]:::ai
end
subgraph ContractDomain ["2. Declarative Contract"]
M[/"`**Manifest**`"/]:::artifact
P[/"`**Execution Plan**`"/]:::artifact
end
subgraph ExecutionDomain ["3. Deterministic Runtime"]
E[["`**Executor**`"]]:::engine
Ops["`**Deterministic Operations**`"]:::process
App(["`**Application**`"]):::success
end
A -->|proposes| M
M -->|validated| P
P -->|approved| E
E --> Ops
Ops --> App
This creates a critical separation:
flowchart TD
classDef ai fill:#ede7f6,stroke:#512da8,stroke-width:2px,color:#1d1d1f,font-weight:bold
classDef artifact fill:#ffffff,stroke:#86868b,stroke-width:1.5px,color:#1d1d1f
classDef process fill:#f5f5f7,stroke:#86868b,stroke-width:1.5px,color:#1d1d1f
classDef engine fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px,color:#1d1d1f,font-weight:bold
classDef success fill:#e8f5e9,stroke:#2e7d32,stroke-width:2px,color:#1d1d1f,font-weight:bold
subgraph IntelligenceDomain ["1. Intelligence Layer"]
AI[["`**AI / Intelligence**`"]]:::ai
end
subgraph RepresentationDomain ["2. Intermediate Representation"]
AM[/"`**Application Model**`"/]:::artifact
EP[/"`**Execution Plan**`"/]:::process
end
subgraph ExecutionDomain ["3. Engine Core"]
DE[["`**Deterministic Executor**`"]]:::engine
APP(["`**Application**`"]):::success
end
AI -->|proposes| AM
AM -->|validates| EP
EP -->|controls| DE
DE --> APP
The executor does not need to “think” about whether a different implementation might be better.
That reasoning can happen upstream.
At execution time, the system has an explicit plan to apply.
AI through MCP
Averos can expose the same governed lifecycle to AI agents through @averos/mcp.
The interaction can therefore remain structured:
flowchart TD
classDef mcp fill:#ede7f6,stroke:#512da8,stroke-width:2px,color:#1d1d1f,font-weight:bold
classDef artifact fill:#ffffff,stroke:#86868b,stroke-width:1.5px,color:#1d1d1f
classDef process fill:#f5f5f7,stroke:#86868b,stroke-width:1.5px,color:#1d1d1f
classDef engine fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px,color:#1d1d1f,font-weight:bold
classDef gate fill:#fff3e0,stroke:#ef6c00,stroke-width:2px,color:#1d1d1f,font-weight:bold
classDef success fill:#e8f5e9,stroke:#2e7d32,stroke-width:2px,color:#1d1d1f,font-weight:bold
subgraph MCPProposal ["1. Proposal Protocol Call"]
T1["`**update_ir**`"]:::mcp
end
subgraph MCPVerification ["2. Verification & Planning Protocol Calls"]
T2["`**validate_ir**`"]:::mcp
T3["`**build_execution_plan**`"]:::mcp
end
subgraph MCPGovernance ["3. Governance Protocol Call"]
T4{"`**approve_plan**`"}:::gate
end
subgraph MCPExecution ["4. Deterministic Runtime Protocol Call"]
T5[["`**execute_plan**`"]]:::engine
App(["`**Application**`"]):::success
end
T1 -->|propose manifest change| T2
T2 -->|validate desired state| T3
T3 -->|"compute semantic diff & resolve dependencies"| T4
T4 -->|execution gate| T5
T5 -->|apply approved operations| App
The important property is that MCP does not have to collapse proposal and execution into a single opaque action.
The agent can participate in the same lifecycle as a human-driven workflow.
This means the system can preserve explicit boundaries even when the primary interface is an AI agent.
AI can operate the workflow without becoming the workflow’s execution authority.
Governance without removing AI
This architecture is not about removing AI from software development.
It is about giving AI a better place in the system.
AI is particularly well suited to:
flowchart TD
classDef natural fill:#ffffff,stroke:#86868b,stroke-width:1.5px,color:#1d1d1f
classDef ai fill:#ede7f6,stroke:#512da8,stroke-width:2px,color:#1d1d1f,font-weight:bold
classDef process fill:#f5f5f7,stroke:#86868b,stroke-width:1.5px,color:#1d1d1f
classDef artifact fill:#ffffff,stroke:#3f51b5,stroke-width:2px,color:#1d1d1f,font-weight:bold
subgraph CognitivePipeline ["Intelligence Domain (LLM)"]
NL[/"`**Natural Language**`"/]:::natural
I["`**Interpretation**`"]:::process
R["`**Reasoning**`"]:::ai
P[/"`**Proposal**`"/]:::artifact
NL -->|Input| I
I -->|Contextual mapping| R
R -->|Synthesizes intent| P
end
Deterministic infrastructure is particularly well suited to:
flowchart TD
classDef process fill:#f5f5f7,stroke:#86868b,stroke-width:1.5px,color:#1d1d1f
classDef artifact fill:#ffffff,stroke:#86868b,stroke-width:1.5px,color:#1d1d1f
classDef engine fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px,color:#1d1d1f,font-weight:bold
classDef state fill:#e8f5e9,stroke:#2e7d32,stroke-width:2px,color:#1d1d1f,font-weight:bold
subgraph RuntimeDomain ["Deterministic Infrastructure Engine"]
V["`**Validation**`"]:::process
D["`**Diff**`"]:::process
P[/"`**Planning**`"/]:::artifact
E[["`**Execution**`"]]:::engine
S(["`**State / Recovery**`"]):::state
V -->|Ensures admissibility| D
D -->|Computes structural delta| P
P -->|Schedules ordered DAG| E
E -->|Applies side effects & checkpoints| S
end
Averos connects the two:
flowchart TD
classDef ai fill:#ede7f6,stroke:#512da8,stroke-width:2px,color:#1d1d1f,font-weight:bold
classDef artifact fill:#ffffff,stroke:#86868b,stroke-width:1.5px,color:#1d1d1f
classDef process fill:#f5f5f7,stroke:#86868b,stroke-width:1.5px,color:#1d1d1f
classDef engine fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px,color:#1d1d1f,font-weight:bold
classDef gate fill:#fff3e0,stroke:#ef6c00,stroke-width:2px,color:#1d1d1f,font-weight:bold
classDef success fill:#e8f5e9,stroke:#2e7d32,stroke-width:2px,color:#1d1d1f,font-weight:bold
subgraph IntelligenceDomain ["1. Intelligence Domain (AI Reasoning)"]
AI[["`**AI**`"]]:::ai
end
subgraph ContractDomain ["2. Declarative Contract"]
M[/"`**Application Manifest**`"/]:::artifact
end
subgraph VerificationDomain ["3. Verification & Orchestration"]
V["`**Validation**`"]:::process
O["`**Semantic Orchestration**`"]:::process
P[/"`**Execution Plan**`"/]:::artifact
end
subgraph GovernanceDomain ["4. Governance Barrier"]
G{"`**Approval**`"}:::gate
end
subgraph RuntimeDomain ["5. Deterministic Engine Runtime"]
E[["`**Deterministic Executor**`"]]:::engine
App(["`**Application**`"]):::success
end
AI -->|Intent / Proposal| M
M --> V
V --> O
O --> P
P --> G
G -->|Approved| E
E --> App
The result is not less automation.
It is automation with explicit boundaries.
The architectural principle
The distinction can be summarized simply:
AI provides intelligence. Averos provides control.
AI can understand.
AI can reason.
AI can propose.
Averos validates.
Averos plans.
Averos governs.
Averos executes.
This separation allows increasingly capable AI systems to participate in application development without making the AI model itself the system of record or the final execution authority.
The model may change.
The AI provider may change.
The interface may change.
The application model, validation rules, execution plan, and deterministic execution boundary can remain explicit.
The intelligence can evolve without surrendering control of execution.