Complete reference for AI Agent Behavior Specification v0.1.2
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.2"schema: https://a2as.org/cert/schemasubject:name: Demo Agentsource: https://github.com/a2as-org/demo-agentbranch: maincommit: c3rt1f13dscope: [src/agent.py, src/tools.py]issued:by: A2AS.orgat: "2025-12-30T18:28:50Z"signatures:digest: sha256:XXkqv1YNSrR2WEsGNI3fFVrnnApBs7rDjR9i7dGuN5Ekey: ed25519:huQlPA95aJwAQUttLp49lbg4r3hRXvVb_UK3WSHUBWUsig: ed25519:CDC-ZPfGofm9aMkmsxvMy6G7oicVysDvCUfcnuafH-PmahTOckgRbmKP-PB85KzU6UfQckvqPr4of_WCTToHAw
versionstringrequiredSemantic schema version number
schemastring (URL)requiredCanonical schema reference URL
Identity and scope information about the agent being certified.
subject:name: Demo Agentsource: https://github.com/a2as-org/demo-agentbranch: maincommit: c3rt1f13dscope: [src/agent.py, src/tools.py]
namestringrequiredHuman-readable agent/app name
sourcestringrequiredGit repository URL
branchstringGit branch name
commitstringGit commit hash
scopelist[string]requiredList of relative file paths
Issuance information including issuer name and timestamp.
issued:by: A2AS.orgat: "2025-12-30T18:28:50Z"
bystringrequiredIssuer name (always A2AS.org)
atstring (RFC3339Z)requiredUTC timestamp
Cryptographic bindings for certificate verification including digest, key, and signature.
signatures:digest: sha256:XXkqv1YNSrR2WEsGNI3fFVrnnApBs7rDjR9i7dGuN5Ekey: ed25519:huQlPA95aJwAQUttLp49lbg4r3hRXvVb_UK3WSHUBWUsig: ed25519:CDC-ZPfGofm9aMkmsxvMy6G7oicVysDvCUfcnuafH-...
digeststringrequiredHash for the content 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.
AI agents with their type, models, tools, MCP, memory, and instructions.
agents:news_collector:type: instancemodels: [gpt-4o]tools: [DuckDuckGoTools]mcp: [mcp_gateway]memory: [fs_notes]params:name: News Collectormarkdown: "true"show_tool_calls: "true"instructions: [Gather latest articles on the topic.]team_lead:type: instancemodels: [gpt-4o]tools: [delegation_tool]
typestringBinding type: instance (resolved), factory (unresolved), or class (unresolved)
modelsarray of stringsValues or refs to model IDs
toolsarray of stringsValues or refs to tool IDs
mcparray of stringsValues or refs to MCP IDs
memoryarray of stringsValues or refs to memory IDs
paramsobjectUnregulated additional fields including instructions
Declared AI models with their types, supported modalities, and parameters.
models:claude-3-sonnet:type: chatmodality: [text, image, audio, video]params:max_tokens: "1024"gpt-4o:type: agentmodality: [text]params:temperature: "0.7"text-embedding-3:type: embeddingmodality: [text]
typestringModel purpose: chat, agent, tool, or embedding
agentsarray of stringsValues or refs to agent IDs
modalityarray of stringsSupported modalities: text, image, audio, video
paramsobjectUnregulated additional fields
Tools available to agents and models, with their type and dependencies.
tools:DuckDuckGoTools:type: classagents: [news_collector]models: [gpt-4o]mcp: [mcp_gateway]params:search: "true"news: "true"file_search:type: functionmodels: [text-embedding-3]memory: [article_cache]
typestringTool binding type: decorator, wrapper, function, module, agent, class, or variable
agentsarray of stringsValues or refs to agent IDs
modelsarray of stringsValues or refs to model IDs
mcparray of stringsValues or refs to MCP IDs
memoryarray of stringsValues or refs to memory IDs
paramsobjectUnregulated additional fields
MCP endpoints for tool integration or gateway services.
mcp:mcp_cursor:type: networkurl: https://localhost:5000/mcptools: [code_search]params:mode: devmcp_gateway:type: networkurl: https://mcp.a2as.orgagents: [news_collector, summary_writer]models: [gpt-4o, claude-3-sonnet]
typestringMCP server type: process or network
urlstring (URL)MCP endpoint URL
agentsarray of stringsValues or refs to agent IDs
modelsarray of stringsValues or refs to model IDs
toolsarray of stringsValues or refs to tool IDs
paramsobjectUnregulated additional fields including alias and class
Storage systems for agent memory (runtime, database, vector, cache, or file).
memory:message_history:type: runtimeparams:max_tokens: "1024"user_prefs:type: databaseparams:host: postgres.internaldatabase: agent_dbtable: user_preferencesarticle_cache:type: vectorparams:host: vectordb.localindex: embeddingscollection: news_articles
typestringStorage type: runtime, database, vector, cache, or file
paramsobjectUnregulated additional fields
Workflow and pipeline definitions with execution types.
workflows:news_pipeline:type: sequentialagents: [news_collector, summary_writer]tools: [file_search]params:steps: [news_collector, summary_writer]
typestringExecution type: sequential or parallel
agentsarray of stringsParticipating agents
toolsarray of stringsAvailable tools
teamsarray of stringsParticipating teams
paramsobjectUnregulated additional fields
Multi-agent team definitions with coordination patterns.
teams:news_team:type: sequentialagents: [news_collector, summary_writer]models: [gpt-4o, claude-3-sonnet]workflows: [news_pipeline]legal_team:type: hierarchicalagents: [legal_researcher, contract_analyst, legal_strategist]
typestringCoordination pattern: handoff, sequential, parallel, or hierarchical
agentsarray of stringsAgent list
modelsarray of stringsShared models
workflowsarray of stringsTeam workflows
paramsobjectUnregulated additional fields
Role-based access control mapping of models and agents to message roles.
roles:assistant:type: assistantagents: [news_collector]models: [gpt-4o]instructions: [news_collector]system:type: systemmodels: [claude-3-sonnet]instructions: [system_prompt]
typestringMessage role type: system, user, assistant, tool, or function
agentsarray of stringsValues or refs to agent IDs
modelsarray of stringsValues or refs to model IDs
instructionsarray of stringsRole-specific instructions
paramsobjectUnregulated additional fields
Instruction text mappings referenced by agents and roles.
instructions:news_collector:- Gather latest articles on the topic.- Focus on credible and diverse news sources.- Verify information from multiple sources.system_prompt:- You are a helpful assistant that generates high-quality, secure, and factual responses.- Always cite sources when making factual claims.
<instruction_id>array of stringsList of instruction strings
Symbol/alias mappings to full module paths.
imports:Agent: google.adk.agents.LlmAgentld: pipeline.load_datapp: pipeline.pre_process
<import_id>stringFull import path mapped to symbol/alias
Function calls with type, module paths, arguments, and parameters.
functions:subprocess.run:type: syncmodule: subprocessargs: [ls, -la]params:capture_output: "true"fetch_data:type: asyncmodule: utils.networkargs: [url]
typestringFunction type: sync, async, or generator
modulestringAbsolute module path
argsarray of stringsPositional arguments
paramsobjectUnregulated additional fields
Variable management with source type and path information.
variables:A2AS_GATEWAY_TOKEN:type: envparams:caller: [os.getenv]path: [/app/agent/.env]OPENAI_API_KEY:type: configparams:path: [/app/agent/config.yaml]PG_RO_PASSWORD:type: vaultparams:path: [/secrets/db/password]
typestringVariable source: env, config, or vault
paramsobjectUnregulated additional fields including caller and path
File system access permissions with type, allowed actions, and patterns.
files:config.yaml:type: literalactions: [read]params:path: [config_dir]caller: [os.path.join]session_path:type: variableactions: [delete]params:caller: [cleanup_sessions]links: [session_id, config.cache_dir]./:type: patternactions: [read]params:patterns: ["*.tmp"]caller: [glob.glob]
typestringPath resolution type: literal, variable, or pattern
actionsarray of stringsAllowed operations: read, write, delete, exec
paramsobjectUnregulated additional fields including path, caller, links, and patterns
Process execution permissions including shell commands and syscalls.
processes:/bin/bash:type: shellactions: [exec]args: [[-lc, whoami]]params:caller: [subprocess.run]shell: ["false"]execve:type: syscallactions: [exec]args: [[/bin/bash, -lc, whoami]]connect:type: syscallactions: [connect]args: [[evil.com, "1337"]]
typestringProcess type: shell, mcp, or syscall
actionsarray of stringsProcess actions: exec, connect
argsarray of arraysList of invocations (list of lists)
paramsobjectUnregulated additional fields including caller and shell
Network communications with type, protocols, ports, methods, and endpoints.
networks:platform.openai.com:type: apiactions: [get, post]urls: [/v1/chat/completions, /v1/images/generations, /v1/embeddings]protocols: [https]ports: ["443"]params:caller: [openai.ChatCompletion.create]links: [api_base]internal_db:type: databaseactions: [connect]protocols: [tcp]ports: ["5432"]
typestringConnection type: api, database, router, or internal
actionsarray of stringsNetwork actions: get, post, put, delete, connect, subscribe
urlsarray of stringsEndpoints or paths
protocolsarray of stringsUsed protocols: https, http, tcp, udp, grpc, websocket
portsarray of stringsNumeric port strings
paramsobjectUnregulated additional fields including caller and links