MusewoodsStory

Realizing the Adopt, Adapt, Integrate, and Build Strategy in ADAM
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
AdaptationProposal

Supporting 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 Transitions

Temporal 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 Observation

The 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 Adapter

Security 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 replayable

This 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 Lease

An 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-broker

Keep 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 signature

Governor 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
Signature

This 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.

AdaptationTypical risk
Prompt wordingLow to medium
Retrieval rankingMedium
Context-source additionMedium to high
Tool selectionHigh
Workflow graphHigh
Model replacementHigh
Generated codeHigh
PolicyCritical
AuthorityCritical

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:

  1. Both agents receive the same immutable source digest.
  2. Each agent runs in a separate worktree and sandbox.
  3. Neither agent can write to the target branch.
  4. Network access is default-denied.
  5. Every command and file mutation is recorded.
  6. Test evidence is bound to the exact candidate patch digest.
  7. The verifier does not receive the implementer’s hidden session history.
  8. The selected patch has an Assurance Case.
  9. Human approval is required before merge.
  10. Revoking the capability lease stops further execution.

This vertical slice exercises nearly every foundational thesis without requiring the complete runtime vision.

20

ADAM architecture

20. Architectural Guardrails

The following rules should be treated as non-negotiable.

  1. Provider objects never enter the canonical domain.
  1. Every side effect passes through a Governor enforcement point.
  1. Pola cannot execute actions, and Governor cannot invent policy.
  1. Every invocation binds identity, authority, purpose, context, policy, and evidence requirements.
  1. Context is represented by an immutable manifest, not only a rendered prompt.
  1. Agent output is a proposal until independently validated.
  1. Evidence is a mandatory product of execution, not an optional logging feature.
  1. External framework agents are treated as participants, not embedded as the ADAM kernel.
  1. Adopted components are replaceable through ports.
  1. Adaptations are versioned proposals with experiments and rollback.
  1. No agent approves its own elevation of authority.
  1. A protocol declaration is a capability claim, not evidence of conformance.
  1. Temporal provides durability, not domain truth.
  1. OpenTelemetry provides operational signals, not assurance semantics.
  1. 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.