Complete reference for AI Agent Behavior Specification v0.1.1
The manifest anchors behavior declarations with canonical schema reference, identity, validity, and cryptographic bindings.
Top-level manifest metadata including schema version, subject, and issued details.
manifest:version: "0.1.0"schema: "https://www.a2as.org/cert/schema"subject:name: "Demo Agent"scope:- "https: //github.com/a2as/demo-agent/AGENT.py"- "https: //github.com/a2as/demo-agent/utils.py"issued:by: "A2AS.org"at: "2025-10-10T00:00:00Z"signatures:digest: "sha256:d34db33f..."key: "ed25519:MCowBQYDK2..."sig: "ed25519:lTTEFxoAb..."
versionstringrequiredSchema version number
schemastring (URL)requiredCanonical schema URL
Identity and scope information about the agent being certified.
subject:name: "Demo Agent"scope:- "https: //github.com/a2as/demo-agent/AGENT.py"- "https: //github.com/a2as/demo-agent/utils.py"
namestringrequiredHuman-readable agent/app name
scopearray of stringsrequiredList of analyzed files (full paths)
Issuance information including issuer name and timestamp.
issued:by: "A2AS.org"at: "2025-10-10T00:00:00Z"
bystringrequiredIssuer name (always A2AS.org)
atRFC3339Z timestamprequiredIssuance timestamp
Cryptographic bindings for certificate verification including digest, key, and signature.
signatures:digest: "sha256:d34db33f..."key: "ed25519:MCowBQYDK2..."sig: "ed25519:lTTEFxoAb..."
digeststringrequiredHex-encoded hash with algorithm prefix
keystringrequiredPublic key with algorithm prefix
sigstringrequiredCryptographic signature
Declares explicit allowlists for what the agent may do at inference, application, and system layers. Anything not declared is denied by default.
Role-based access control mapping of models and agents to roles (assistant, system, tool, user).
roles:assistant:models: ["gpt-4o"]agents: ["news_collector"]system:models: ["claude-3-sonnet"]
<role_type>objectRole type: assistant, system, tool, or user
modelsarray of stringsReferences to keys under models section (at least one of models or agents required)
agentsarray of stringsReferences to keys under agents section (at least one of models or agents required)
Top-level instruction mappings (note: instructions are typically embedded within agents).
instructions:news_collector:- "Gather latest articles on the topic."- "Focus on credible and diverse news sources."claude-3-sonnet:- "You are a helpful assistant that generates high-quality, secure, and factual responses."agentic_pipeline:- "Collect recent news and summarize them for end-user presentation."
<key>array of stringsrequiredKey references model, agent, or pipeline. Contains instruction text.
Declared AI models with their types, supported modalities, and parameters.
models:claude-3-sonnet:type: "chat"modality: ["text", "image", "audio", "video"]params:max_tokens: 1024gpt-4o:type: "agent"modality: ["text"]params:temperature: 0.7text-embedding-3:type: "embedding"modality: ["text"]
typestringrequiredModel purpose: chat, agent, tool, or embedding
modalityarray of stringsrequiredSupported modalities: text, image, audio, video
paramsobjectDebug collection for unregulated, auto-extracted fields
AI agents with their models, tools, memory, and instructions.
agents:news_collector:models: ["gpt-4o"]tools: ["DuckDuckGoTools"]instructions: ["news_collector"]memory: ["fs_notes"]params:name: "News Collector"role: "Collects recent news articles on the given topic"markdown: trueshow_tool_calls: truesummary_writer:models: ["claude-3-sonnet"]tools: ["Newspaper4kTools"]memory: ["fs_notes"]params:name: "Summary Writer"role: "Summarizes collected news articles"markdown: trueshow_tool_calls: true
modelsarray of stringsrequiredReferences to models keys
toolsarray of stringsReferences to tools keys
memoryarray of stringsReferences to memory keys
instructionsarray of stringsReferences to instructions keys
paramsobjectDebug collection for auto-extracted fields
Tools available to agents and models, with their dependencies.
tools:DuckDuckGoTools:models: ["gpt-4o"]agents: ["news_collector"]params:search: truenews: truefile_search:models: ["text-embedding-3"]memory: ["article_cache"]
modelsarray of stringsReferences to models keys (at least one of models or agents required)
agentsarray of stringsReferences to agents keys (at least one of models or agents required)
memoryarray of stringsReferences to memory keys
paramsobjectDebug collection for auto-extracted fields
MCP endpoints for tool integration or gateway services.
mcp:mcp_cursor:type: "tool"url: "https://localhost:5000/mcp"provider: "cursor-mcp"params:mode: "dev"mcp_gateway:type: "gateway"url: "https://mcp.a2as.org"models: ["gpt-4o", "claude-3-sonnet"]agents: ["news_collector", "summary_writer"]provider: "a2as-mcp"
typestringrequiredMCP role: tool or gateway
urlstring (URL)requiredMCP endpoint URL
providerstringMCP provider name
modelsarray of stringsModels using this MCP
agentsarray of stringsAgents using this MCP
paramsobjectDebug collection
Workflow and pipeline definitions with execution types.
workflows:rag_chain.invoke:type: "sequential"steps: []workflow.add_node:type: "parallel"steps: []task_service.get_tasks:type: "parallel"steps: []
typestringrequiredExecution type: sequential or parallel
stepsarrayWorkflow steps (typically empty)
Multi-agent team definitions with orchestration patterns.
teams:team:agents:- "legal_researcher"- "contract_analyst"- "legal_strategist"orchestration: "sequential"
agentsarray of stringsrequiredAgent list
orchestrationstringrequiredCoordination pattern: sequential, parallel, or hierarchical
Streaming endpoint configurations.
streaming:streaming:type: "response"download_file:type: "response"main:type: "response"
typestringrequiredStreaming type: response, data, or events
paramsobjectAdditional streaming parameters
Storage systems for agent memory (database, file, vector, in-memory, or cache).
memory:user_prefs:type: "database"# provider: "postgres"params:host: "postgres.internal"database: "agent_db"table: "user_preferences"user: "agent"fs_notes:type: "file"# provider: "csv"params:path: "/data/notes.csv"article_cache:type: "vector"# provider: "qdrant"params:host: "vectordb.local"index: "embeddings"collection: "news_articles"
typestringrequiredStorage type: database, file, vector, in-memory, or cache
providerstringEngine or format name (e.g., qdrant, redis)
paramsobjectAdditional configuration parameters
Symbol/alias mappings to full module paths.
imports:Agent: google.adk.agents.LlmAgentld: pipeline.load_datapp: pipeline.pre_process
<symbol_or_alias>stringrequiredFull dotted import path (e.g., google.adk.agents.LlmAgent)
Function calls with module paths, arguments, and parameters.
functions:subprocess.run:module: "subprocess"args: ["ls", "-la"]params:capture_output: truetransformers.pipeline:module: "transformers"params:task: "text-generation"model: "mistralai/Mixtral-8x7B-Instruct-v0.1"
modulestringrequiredAbsolute module path
argsarray of stringsPositional arguments
paramsobjectDebug collection for named parameters
Secret management with source type and path information.
secrets:A2AS_GATEWAY_TOKEN:type: "env"path: /app/agent/.envOPENAI_API_KEY:type: "config"path: /app/agent/config.yamlPG_RO_PASSWORD:type: "vault"path: /secrets/db/password
typestringrequiredSecret source: env, config, or vault
pathstringrequiredFile path, mount point, or vault location
File system access permissions with allowed actions and patterns.
files:/app/agent/config.yaml:actions: ["read"]/var/log/app/app.log:actions: ["write"]/app/cache/temp/sessions/:actions: ["delete"]patterns: ["*.tmp"]
actionsarray of stringsrequiredAllowed operations: read, write, delete, exec
patternsarray of stringsGlob patterns (only for directories), e.g., *.tmp, *.log
Network communications with protocols, ports, methods, and endpoints.
networks:platform.openai.com:protocols: ["https"]ports: ["443"]methods: ["get", "post"]urls:- "/v1/chat/completions"- "/v1/images/generations"- "/v1/embeddings"internal_db:protocols: ["tcp"]ports: ["5432"]
protocolsarray of stringsUsed protocols: https, http, tcp, udp
portsarray of stringsNumeric port strings
methodsarray of stringsHTTP verbs: get, post, put, delete
urlsarray of stringsEndpoints or path patterns
Process execution permissions with executable names/paths and arguments.
processes:/bin/bash:actions: ["exec"]args: ["-lc", "whoami"]/usr/bin/curl:actions: ["exec"]args: ["-sS", "https://ipinfo.io/ip"]
actionsarray of stringsrequiredProcess actions: exec
argsarray of stringsPositional arguments
Low-level system call permissions.
syscalls:execve:actions: ["exec"]args: ["/bin/bash", "-lc", "whoami"]connect:actions: ["connect"]args: ["evil.com", "1337"]
actionsarray of stringsrequiredSyscall actions: exec, connect, etc.
argsarray of stringsPositional arguments