Skip to main content
Agent environments are the configured runtime contexts for Aion agents. An environment is not the behavior implementation and it is not the identity used to address an agent. It is the project-owned configuration layer that selects which behavior should run, supplies environment-specific settings, and optionally binds a daemon identity for direct access.

What an Environment Stores

At a high level, an agent environment stores:
  • A project and display name
  • Configuration variables for the runtime
  • The deployment and behavior key used to find the behavior lineage
  • A runtime selector for stable, beta, or pinned behavior resolution
  • Capability configuration for the environment
  • An optional daemon identity for direct agent addressability
Environment names are user-maintained labels. They are useful for grouping projects such as production, staging, or dev, but Aion does not treat an environment name as an official lifecycle flag. Aion does use project environment names as a sharing boundary for organization-shared behavior inclusion and capability discovery. For example, a production project can discover organization-shared behaviors and capabilities from other production projects, but not from staging projects. Globally shared Aion behaviors are not constrained by this label. The deployment reference is used as behavior-resolution scope. It does not mean the deployment owns the environment. Environments are project-owned, and the deployment, behavior key, and runtime selector are inputs for choosing the concrete behavior to run.

Behavior Resolution

An environment resolves a behavior from three main inputs:
  • deploymentId, which scopes candidate behaviors to a deployment
  • behaviorKey, which selects a logical behavior lineage
  • runtimeSelector, which chooses stable, beta, or pinned resolution
Stable resolution selects the stable release-channel behavior for the deployment and behavior key. Beta resolution prefers the beta release channel and falls back to stable when beta is not available. Pinned resolution selects an explicit behavior id, but that behavior must still match the same deployment and behavior key. This lets an environment stay stable while the underlying behavior versions change over time.

Configuration And Capabilities

The behavior declares what the implementation can support. The environment configures what this specific runtime context should actually expose. Environment configuration includes runtime variables and capability configuration. For example, a behavior may declare an A2A daemon capability, but the direct daemon surface only becomes available when the resolved behavior supports it and the environment enables the matching capability configuration.

Daemon Identity Binding

An environment may be assigned a daemon identity. That daemon identity is the address and permission subject for direct access to the environment. When another agent targets the daemon identity, Aion resolves the identity back to the bound environment and then resolves the environment to the behavior that should handle the request. The binding is constrained: the identity must be an agent identity of type Daemon, and a daemon identity can be bound to only one active environment. An environment without a daemon identity can still participate in other configured flows, but it does not expose a direct daemon-addressable agent surface.

How Environments Relate To Nodes

Project nodes use environments to turn reusable behavior into configured runtime participants. A behavior node combines a behavior with an environment. A distribution node also has an environment, because the distribution may need behavior resolution, runtime configuration, and optional daemon access for its internal component surface. See Agent Abstraction, Behaviors, Identities, and Nodes for the surrounding model.