- Formation
- ADAM
Realizing the Adopt, Adapt, Integrate, and Build Strategy in ADAM
Technical strategy
Realizing the Adopt, Adapt, Integrate, and Build Strategy in ADAM
The recommendation should become more than a technology-selection matrix. It should define the constitutional architecture of ADAM: what the platform owns, what it governs, what it delegates, and what it refuses to rebuild.
The central architectural thesis is:
ADAM should own the semantics of governed agency, but not the commodity infrastructure used to execute it.
Temporal can preserve workflow state. LiteLLM can normalize model APIs. MCP can expose tools. A2A can exchange tasks. Firecracker can isolate workloads. LLVM can compile code. None of them can determine whether an agent is authorized to perform a particular action, whether the context is trustworthy, whether the resulting artifact is sufficiently assured, or whether an adaptation may be promoted.
That is the ADAM boundary.
01
ADAM architecture
1. Organize ADAM into Four Architectural Rings
The four-category disposition can be realized as four concentric architectural rings.
Figure 1
Rendering diagram…
The dependency direction is important:
- ADAM may depend on adopted infrastructure through ports.
- Adapted components may depend on ADAM contracts.
- External participants may integrate through stable protocols.
- The ADAM semantic kernel must never depend on provider-specific concepts.
For example, claude_session_id, openai_response_id, or temporal_run_id may appear in adapter metadata, but they should never become canonical ADAM identifiers.
02
ADAM architecture
2. Define the ADAM Architectural Vocabulary
Several terms need precise boundaries.
ADAM Core
The canonical semantic and lifecycle kernel. It owns:
- Identity of canonical objects
- Invocation lifecycle
- Agent lifecycle
- Authority and delegation semantics
- Context manifests
- Evidence requirements
- Assurance decisions
- Adaptation transitions
ADAM Coordination Fabric
The distributed control plane that:
- Admits requests
- Creates plans
- Selects participants
- Routes work
- Coordinates execution
- Manages durable state
- Resolves failures
- Collects evidence
Pola
The Policy Decision Point. Pola determines:
- Whether an action is allowed
- Under whose authority
- For what purpose
- Against which resource
- Under which obligations
- For how long
Pola does not execute or intercept the action.
Governor
The distributed Policy Enforcement Point. Governor:
- Intercepts consequential operations
- Validates capability leases
- Applies filesystem, network, secret, and process controls
- Blocks unauthorized execution
- Emits enforcement receipts
Governor does not decide policy.
The separation must be absolute:
Pola decides. Governor enforces. Actra proves what happened.
Actra
The evidence and activity substrate. Actra records:
- Invocations
- Policy decisions
- Enforcement decisions
- Model calls
- Tool calls
- Filesystem mutations
- Network operations
- Generated artifacts
- Tests
- Evaluations
- Approvals
- Deployments
- Runtime observations
- Adaptations
Ana
The epistemic memory substrate. Ana preserves distinctions among:
- Observations
- Claims
- Interpretations
- Hypotheses
- Evaluated findings
- Approved knowledge
- Policies
- Superseded knowledge
Actra records what happened. Ana preserves what the organization believes it learned from what happened.
Governed Autonomy Runtime
The execution substrate in which agents, tools, generated code, and workflows operate.
Agentic VM
The compiler-mediated portion of the Governed Autonomy Runtime that validates, transforms, links, instruments, and executes typed agentic representations.
The Agentic VM should not be used as a synonym for the entire ADAM platform.
03
ADAM architecture
3. Separate ADAM into Control, Mediation, and Execution Planes
Figure 2
Rendering diagram…
This prevents ADAM Core from becoming tightly coupled to every tool, agent, compiler, and runtime.
04
ADAM architecture
4. Create a Small Canonical Kernel
The native domain should initially be built around approximately twelve foundational objects.
Principal
Participant
AgentDefinition
AgentRelease
Capability
AuthorityGrant
Invocation
ContextManifest
PolicyDecision
Activity
EvidenceBundle
AssuranceCase
AdaptationProposalSupporting objects can be added later, but these establish the governance spine.
The central relationship
Figure 3
Rendering diagram…
05
ADAM architecture
5. Make the Governed Invocation the Atomic Unit
Temporal workflows, MCP calls, A2A tasks, model calls, shell commands, and CI jobs should all be correlated to a canonical ADAM Invocation.
An Invocation is not merely a request payload. It is a governed unit of work.
Suggested lifecycle
Figure 4
Rendering diagram…
Every transition should produce a signed receipt.
06
ADAM architecture
6. Realize “Adopt as-is” Through Infrastructure Ports
“Adopt as-is” should not mean direct use from domain code. It should mean:
Do not fork, reimplement, or extend the internal semantics of the adopted system. Access it through a narrow ADAM-owned port.
6.1 Model normalization
Use LiteLLM patterns or equivalent infrastructure behind:
pub trait ModelExecutionPort {
async fn invoke(
&self,
invocation: GovernedModelInvocation,
) -> Result<ModelExecutionReceipt, ModelExecutionError>;
}The port should expose ADAM semantics, not LiteLLM semantics.
The implementation may use:
- LiteLLM
- OpenAI-compatible APIs
- Bedrock
- Vertex AI
- Azure
- vLLM
- Local model servers
ADAM should own:
- Model Passport resolution
- Policy enforcement
- Context Manifest binding
- Cost authorization
- Evidence requirements
- Output validation
The gateway should own:
- Provider authentication
- API translation
- Streaming normalization
- Retry mechanics
- Rate limiting
- Provider routing
6.2 Durable execution
Temporal should execute durable coordination, but ADAM must own the lifecycle state machine.
Do not allow Temporal workflow state to become the canonical business state.
ADAM Invocation State
|
v
Temporal Workflow Execution
|
v
Temporal Events mapped back into
ADAM Activities and State TransitionsTemporal is the mechanism of durability. ADAM defines the meaning of the workflow.
6.3 Supply-chain attestation
Use:
- In-toto for step attestations
- SLSA for build provenance
- Sigstore for artifact signing and identity-bound signatures
ADAM should add semantic linkage:
Intent
-> Invocation
-> Context Manifest
-> Source Patch
-> Build
-> Tests
-> Attestation
-> Signed Artifact
-> Deployment
-> Runtime ObservationThe supply-chain tools prove how an artifact was built. ADAM connects that proof to the governing intent and agent authority.
6.4 Telemetry and events
Use:
- CloudEvents as the event envelope
- OpenTelemetry for traces, metrics, and logs
- W3C PROV for provenance projection
Do not use telemetry as the evidence model itself.
A trace says that a call occurred. Evidence says why the call matters to an assurance claim.
6.5 Isolation
Create an ExecutionEnvironmentPort:
pub trait ExecutionEnvironmentPort {
async fn provision(
&self,
profile: ExecutionProfile,
) -> Result<ExecutionEnvironment, ProvisioningError>;
async fn execute(
&self,
environment: &ExecutionEnvironment,
command: GovernedCommand,
) -> Result<ExecutionReceipt, ExecutionError>;
async fn terminate(
&self,
environment: &ExecutionEnvironment,
) -> Result<(), TerminationError>;
}Implementations:
- Wasmtime
- Rootless OCI
- gVisor
- Firecracker
- Kata Containers
- Kubernetes jobs
ADAM selects the execution tier. The underlying runtime performs the isolation.
6.6 LLVM and MLIR
Treat LLVM and MLIR as compiler backends and transformation infrastructure, not as ADAM domain authorities.
ADAM owns:
- Dialect semantics
- Validation rules
- Policy passes
- Capability linking
- Evidence insertion
- Risk classification
- Target selection
LLVM and MLIR own:
- IR infrastructure
- Pass execution
- Optimization
- Lowering
- Native code generation
- Instrumentation
07
ADAM architecture
7. Realize “Adapt” Through Governed Boundary Components
Adapted systems should never be connected directly to ADAM Core. Every adapted capability should pass through a governance boundary.
ADAM architecture
7.1 Coding-agent adapter framework
Every coding agent should implement a canonical ParticipantAdapter.
pub trait ParticipantAdapter {
fn descriptor(&self) -> ParticipantDescriptor;
async fn negotiate(
&self,
request: CapabilityNegotiationRequest,
) -> Result<CapabilityNegotiationResponse, AdapterError>;
async fn start(
&self,
invocation: GovernedInvocation,
) -> Result<ParticipantSession, AdapterError>;
async fn stream(
&self,
session: &ParticipantSession,
) -> Result<ActivityStream, AdapterError>;
async fn cancel(
&self,
session: &ParticipantSession,
) -> Result<CancellationReceipt, AdapterError>;
}Coding-agent adapters should normalize
- Session creation
- Context loading
- File reads
- File writes
- Patch proposals
- Shell commands
- Test execution
- Approval requests
- Usage and cost
- Errors
- Cancellation
- Final artifacts
- Evidence
Agent-specific behavior remains inside the adapter
Examples:
Codex Adapter
Claude Code Adapter
OpenHands Adapter
ACP Adapter
CLI Agent Adapter
Remote Agent AdapterSecurity model
A coding agent should never receive unrestricted workstation access.
It receives:
- An isolated worktree
- A sandbox
- A short-lived identity
- A bounded Context Manifest
- Capability leases
- Restricted network access
- Brokered credentials
- A task-specific budget
All writes should be directed to a proposed patch or isolated branch. Only ADAM’s merge process receives merge authority.
ADAM architecture
7.2 Model gateway wrapper
The model gateway should sit behind an ADAM Model Execution Gateway.
Figure 5
Rendering diagram…
The wrapper adds:
- Model Passport binding
- Context Manifest hash
- Data classification
- Cost limits
- Token limits
- Retention constraints
- Output schema
- Evidence requirements
- Policy obligations
ADAM architecture
7.3 MCP governance bridge
Do not register raw MCP servers directly with agents.
Introduce a governed MCP lifecycle:
Figure 6
Rendering diagram…
The MCP proxy should:
- Hide unapproved tools
- Bind calls to capability grants
- Validate tool schemas
- Limit input size
- Enforce network policy
- Redact secrets
- Inspect outputs
- Record tool provenance
- Reject version drift
- Support emergency revocation
An MCP tool description is only a claim. ADAM qualification determines whether the tool actually behaves as declared.
ADAM architecture
7.4 Agent-framework wrapper
LangGraph, CrewAI, AutoGen, and similar systems should be represented as compound participants.
ADAM should not attempt to govern every internal thought or message unless the framework exposes those events reliably.
The wrapper should declare its observability level:
Opaque
Partially observable
Fully instrumented
Deterministically replayableThis affects its maximum assurance level.
For example:
- A fully instrumented LangGraph workflow may expose node transitions, tool calls, state mutations, and checkpoints.
- An opaque remote CrewAI service may expose only task inputs and final artifacts.
ADAM should never pretend these provide equal evidence.
08
ADAM architecture
8. Realize “Integrate” Through Contracted External Participants
Integrated systems should have independent lifecycles and versioned contracts.
ADAM architecture
8.1 A2A participants
An Agent Card should be ingested as a capability claim, not accepted as proof.
Figure 7
Rendering diagram…
The external A2A agent remains independently operated. ADAM owns:
- Whether it may participate
- What authority it receives
- What data it sees
- Which evidence it must return
- How its output is evaluated
ADAM architecture
8.2 Enterprise identity
OIDC and SAML identify human or enterprise principals.
SPIFFE-style identities may identify workloads.
ADAM must map them into its own principal model:
Enterprise Identity
|
v
ADAM Principal
|
v
Role Assignment
|
v
Authority Grant
|
v
Delegation or Capability LeaseAn authenticated identity is not automatically authorized.
ADAM architecture
8.3 External evaluators
External evaluators should implement an Evaluation Contract:
- Evaluation target
- Artifact digest
- Evaluation rubric
- Test data version
- Evaluator identity
- Execution environment
- Results
- Confidence
- Limitations
- Signature
- Reproducibility information
ADAM should support multiple evaluator types:
- Deterministic test runners
- Static analyzers
- Security scanners
- Formal verifiers
- Model-based judges
- Human reviewers
- Domain-specific certification systems
ADAM architecture
8.4 Source control and CI
GitHub, GitLab, and CI platforms should remain systems of record for repositories and build execution.
ADAM should integrate through:
- Webhooks
- Commit and tree digests
- Pull-request APIs
- Check-run APIs
- Build attestations
- Deployment events
- Signed status receipts
ADAM owns the lifecycle decision. CI owns the execution of a particular validation pipeline.
09
ADAM architecture
9. Build the ADAM-Native Foundation as a Kernel, Not a Monolith
The native capabilities can be organized into Rust crates and deployable services.
ADAM architecture
9.1 Proposed Rust workspace
crates/
adam-ids
adam-errors
adam-domain
adam-events
adam-protocol
adam-invocation
adam-registry
adam-context
adam-assurance
adam-adaptation
adam-policy-ir
adam-agent-ir
adam-evidence
adam-adapter-sdk
adam-execution
adam-testkit
services/
adam-api
adam-coordinator
adam-registry-service
adam-context-broker
pola-pdp
governor-gateway
actra-ledger
assurance-service
adaptation-controller
adapter-host
execution-brokerKeep domain crates free of infrastructure dependencies
adam-domain should not import:
- Temporal SDKs
- LiteLLM clients
- Kubernetes clients
- MCP SDKs
- A2A SDKs
- OpenTelemetry exporters
- LLVM libraries
Those belong in adapter and infrastructure crates.
ADAM architecture
9.2 Suggested bounded contexts
Invocation
Owns:
- Invocation aggregate
- State machine
- Admission
- Correlation
- Cancellation
- Completion
Authority
Owns:
- Principal
- AuthorityGrant
- Delegation
- CapabilityLease
- Revocation
Registry
Owns:
- Participant
- AgentDefinition
- AgentRelease
- AgentPassport
- ModelPassport
- ToolDescriptor
- AdapterDescriptor
Context
Owns:
- ContextManifest
- ContextEntry
- SourceDigest
- Trust classification
- Epistemic status
- Data classification
Evidence
Owns:
- Activity
- EvidenceItem
- EvidenceBundle
- Attestation
- Provenance links
Assurance
Owns:
- Claim
- Argument
- Requirement
- Evaluation
- AssuranceCase
- AssuranceDecision
Adaptation
Owns:
- AdaptationProposal
- AdaptationExperiment
- Canary
- Promotion
- Rollback
- LearningRecord
10
ADAM architecture
10. Define an ADAM-Native Protocol Envelope
ADAM should not replace MCP, A2A, ACP, HTTP, gRPC, or CloudEvents.
It should define a governance envelope that can accompany or reference payloads transported through those protocols.
{
"envelope_version": "1.0",
"message_id": "msg_01...",
"correlation_id": "corr_01...",
"invocation_id": "inv_01...",
"principal": {
"principal_id": "principal_01...",
"type": "agent"
},
"participant": {
"participant_id": "agent_release_01...",
"passport_id": "agent_passport_01..."
},
"authority": {
"grant_id": "grant_01...",
"delegation_chain_id": "delegation_01...",
"expires_at": "2026-08-01T05:00:00Z"
},
"policy": {
"decision_id": "decision_01...",
"bundle_digest": "sha256:..."
},
"context": {
"manifest_id": "context_01...",
"manifest_digest": "sha256:..."
},
"execution": {
"risk_tier": "T3",
"environment_profile_id": "env_profile_01..."
},
"evidence": {
"profile_id": "evidence_profile_01...",
"activity_stream_id": "stream_01..."
},
"payload": {
"protocol": "mcp",
"content_type": "application/json",
"reference": "payload_01..."
},
"signatures": []
}The payload may be:
- An MCP tool call
- An A2A task
- An ACP session event
- A model request
- A Temporal workflow signal
- A GitHub check result
- A custom enterprise API request
The envelope carries governance semantics without attempting to redefine the payload protocol.
11
ADAM architecture
11. Realize the Pola and Governor Separation
This is one of the most important architectural decisions.
Pola PDP output
Pola should return a decision artifact:
Decision
Effect: Permit | Deny | Conditional
Principal
Invocation
Capability
Resource
Purpose
Conditions
Obligations
Validity period
Policy bundle digest
Decision signatureGovernor PEP responsibilities
Governor should enforce:
- Identity validity
- Decision validity
- Capability scope
- Lease expiry
- Target resource
- Input constraints
- Data classification
- Filesystem restrictions
- Network restrictions
- Resource budgets
- Required telemetry
- Required evidence
- Revocation state
Enforcement receipt
Every consequential operation should return:
Requested operation
Policy decision used
Controls applied
Actual target
Actual side effect
Result
Evidence identifiers
Timestamp
Governor identity
SignatureThis allows ADAM to prove not only that Pola permitted an action, but that the action executed under the required controls.
12
ADAM architecture
12. Realize Actra as an Evidence Graph, Not Just a Log Store
Actra should have two storage views.
Append-only activity stream
Optimized for:
- High-volume ingestion
- Temporal ordering
- Audit
- Replay
- Incident investigation
Evidence and provenance graph
Optimized for:
- Derivation
- Causality
- Assurance queries
- Artifact lineage
- Responsibility
- Policy traceability
Figure 8
Rendering diagram…
OpenTelemetry events can feed Actra, but should not become Actra’s semantic model.
13
ADAM architecture
13. Realize the Context Broker with Immutable Manifests
The Context Broker should not return an unrecorded string of prompt text.
It should construct a manifest containing:
- Source identity
- Source digest
- Source version
- Selection reason
- Retrieval query
- Retrieval score
- Trust classification
- Epistemic status
- Data classification
- Transformation history
- Token representation
- Ordering
- Exclusions
- Context budget decision
Figure 9
Rendering diagram…
The rendered prompt is transient. The Context Manifest is the governed record.
14
ADAM architecture
14. Realize Ana with Epistemic-State Preservation
Ana should prevent a common agent-memory failure: repeated claims gradually becoming accepted facts.
Recommended state transitions:
Figure 10
Rendering diagram…
Every transition should identify:
- Who or what proposed it
- What evidence supports it
- What evidence contradicts it
- Which authority approved it
- When it expires or must be reviewed
15
ADAM architecture
15. Realize Governed Adaptation as a Separate Lifecycle
An agent should never directly mutate its own production configuration.
Figure 11
Rendering diagram…
Adaptation classes should be governed differently.
| Adaptation | Typical risk |
|---|---|
| Prompt wording | Low to medium |
| Retrieval ranking | Medium |
| Context-source addition | Medium to high |
| Tool selection | High |
| Workflow graph | High |
| Model replacement | High |
| Generated code | High |
| Policy | Critical |
| Authority | Critical |
Policy and authority adaptations should never be autonomously approved.
16
ADAM architecture
16. Introduce the Agentic VM Incrementally
Do not begin by creating custom MLIR dialects for the entire system.
Stage 1: Typed canonical objects
Use:
- JSON Schema
- Rust types
- State-machine validation
- Policy evaluation
- Deterministic validation passes
Stage 2: Portable workflow IR
Represent:
- Steps
- Dependencies
- Capabilities
- Inputs
- Outputs
- Side effects
- Evidence obligations
- Failure branches
Stage 3: Agentic validation passes
Implement:
- Authority checking
- Capability resolution
- Data-classification checking
- Side-effect classification
- Evidence completeness
- Approval-path validation
- Rollback-path validation
- Resource-bound checking
Stage 4: MLIR experimentation
Introduce MLIR where it adds clear value:
- Multi-level lowering
- Custom type checking
- Static side-effect analysis
- Capability linking
- Policy insertion
- Execution-target selection
- Instrumentation
Stage 5: Risk-tiered lowering
Figure 12
Rendering diagram…
This prevents the MLIR effort from delaying the first useful ADAM release.
17
ADAM architecture
17. Deploy ADAM as a Global Control Plane with Local Execution Cells
For enterprise deployment, centralizing all execution through one ADAM cluster will create latency, data residency, and blast-radius problems.
Use:
- A logically global control plane
- Regionally or organizationally local execution cells
Figure 13
Rendering diagram…
Execution cells should continue enforcing the last valid policy set during a temporary control-plane outage, but should fail closed for new high-risk authority grants.
18
ADAM architecture
18. Build the First Vertical Slice
The strongest first implementation is not the full Agentic VM. It is a governed coding-agent lifecycle.
Proposed vertical slice
A user submits a Rust engineering task. ADAM sends it independently to Codex and Claude Code, isolates each implementation, runs verification, selects a candidate, produces an assurance case, and opens a governed pull request.
Flow
Figure 14
Rendering diagram…
Acceptance criteria
The slice is complete when:
- Both agents receive the same immutable source digest.
- Each agent runs in a separate worktree and sandbox.
- Neither agent can write to the target branch.
- Network access is default-denied.
- Every command and file mutation is recorded.
- Test evidence is bound to the exact candidate patch digest.
- The verifier does not receive the implementer’s hidden session history.
- The selected patch has an Assurance Case.
- Human approval is required before merge.
- Revoking the capability lease stops further execution.
This vertical slice exercises nearly every foundational thesis without requiring the complete runtime vision.
19
ADAM architecture
19. Recommended Implementation Sequence
Milestone 1: Canonical kernel
Build:
- Canonical identifiers
- Invocation aggregate
- Participant and passport objects
- Capability and AuthorityGrant
- Context Manifest
- Activity and Evidence Bundle
- State-transition receipts
Milestone 2: Pola and Governor
Build:
- PDP decision contract
- Capability leases
- Revocation
- Governor enforcement SPI
- Filesystem and process enforcement
- Enforcement receipts
Milestone 3: Coding-agent adapters
Build:
- Adapter SDK
- Codex adapter
- Claude Code adapter
- Generic CLI adapter
- Capability negotiation
- Session cancellation
- Worktree isolation
Milestone 4: Durable coordination
Integrate:
- Temporal
- Retry and compensation
- Approval waits
- Cancellation
- Quarantine
- Idempotent activity execution
Milestone 5: Actra and assurance
Build:
- Activity ingestion
- Evidence graph
- Test evidence
- Attestation binding
- Assurance Case builder
- Release decision workflow
Milestone 6: MCP and A2A governance
Build:
- MCP governance proxy
- Tool qualification
- Agent Card ingestion
- A2A delegation bridge
- ADAM protocol envelope
Milestone 7: Runtime lifecycle
Build:
- Active agent inventory
- Capability leasing
- Continuous enforcement
- Suspension
- Quarantine
- Runtime evaluation
- Retirement
Milestone 8: Governed adaptation
Build:
- Adaptation proposals
- Experiment execution
- Canary management
- Promotion and rollback
- Ana knowledge transitions
Milestone 9: Agentic VM
Build:
- Workflow IR
- Policy IR
- Evidence IR
- Validation-pass framework
- Wasm target
- Container target
- MicroVM target
- Initial MLIR dialect prototype
20
ADAM architecture
20. Architectural Guardrails
The following rules should be treated as non-negotiable.
- Provider objects never enter the canonical domain.
- Every side effect passes through a Governor enforcement point.
- Pola cannot execute actions, and Governor cannot invent policy.
- Every invocation binds identity, authority, purpose, context, policy, and evidence requirements.
- Context is represented by an immutable manifest, not only a rendered prompt.
- Agent output is a proposal until independently validated.
- Evidence is a mandatory product of execution, not an optional logging feature.
- External framework agents are treated as participants, not embedded as the ADAM kernel.
- Adopted components are replaceable through ports.
- Adaptations are versioned proposals with experiments and rollback.
- No agent approves its own elevation of authority.
- A protocol declaration is a capability claim, not evidence of conformance.
- Temporal provides durability, not domain truth.
- OpenTelemetry provides operational signals, not assurance semantics.
- LLVM provides compilation infrastructure, not an agent security boundary.
21
ADAM architecture
21. The Resulting ADAM Architecture
The final architecture can be summarized in one sentence:
ADAM converts external models, agents, tools, frameworks, protocols, and runtimes into governed participants by binding every consequential operation to canonical identity, authority, context, policy, execution, evidence, assurance, and lifecycle semantics.
The decisive move is not to build replacements for LiteLLM, Temporal, MCP, A2A, Firecracker, or LLVM.
It is to build the governance kernel that makes them composable, attributable, controllable, and continuously assured as one agent lifecycle system.