Glossary

April 17, 2026 · View on GitHub

Quick reference for key terms used throughout this documentation.

TL;DR

  • A2A = How agents talk to each other (discovery + messaging)
  • UCP = Standard data types for commerce (Checkout, LineItem, Payment)
  • ADK = Google's framework for building AI agents

Core Concepts

TermDefinitionExample in This Sample
A2AAgent-to-Agent Protocol - How AI agents discover and communicate with each other/.well-known/agent-card.json endpoint
UCPUniversal Commerce Protocol - Standard data types for commerce transactionsCheckout, LineItem, PaymentInstrument
ADKAgent Development Kit - Google's framework for building agents with toolsAgent(), ToolContext, Runner
AgentIn this sample: the Cymbal Retail Agent service (includes LLM + tools + state)The backend running on port 10999
ToolA Python function the LLM can invoke to perform actionssearch_shopping_catalog(), add_to_checkout()
CapabilityA feature set the agent supports, declared in UCP profiledev.ucp.shopping.checkout
NegotiationClient and merchant agreeing on shared capabilities before transactingHappens when first message is sent

Protocol Terms

TermWhat It DoesWhere to Find It
Agent CardJSON file declaring agent identity and capabilities/.well-known/agent-card.json
UCP ProfileJSON file declaring commerce capabilities and payment handlers/.well-known/ucp
JSON-RPC 2.0Message format used for A2A communicationRequest/response structure in A2A calls
UCP-Agent HeaderHTTP header containing client's profile URLSent with every A2A request

State Management

State is stored in ADK's session service (in-memory by default).

KeyPurposeLifetime
user:checkout_idCurrent checkout session IDUntil checkout completed or session expires
__ucp_metadata__Negotiated capabilities from client/merchant profilesSet once per session
__payment_data__Payment instrument for current checkoutSet during payment flow
__session_extensions__Active A2A extensions for this sessionSet once per session
temp:LATEST_TOOL_RESULTTemporary storage for last UCP tool responseCleared after each agent response

Naming conventions:

  • user: prefix — User-scoped data (persists across turns)
  • __ prefix — System/internal data (managed by framework)
  • temp: prefix — Temporary data (cleared after use)

Checkout States

The checkout follows a 3-state lifecycle:

Checkout State Lifecycle

Figure 1: Checkout state transitions from incomplete → ready_for_complete → completed

StateMeaningWhat's Needed to Progress
incompleteMissing required infoAdd email, address, or items
ready_for_completeReady for paymentUser confirms payment
completedOrder placed successfullyTerminal state - checkout finalized

ADK Components

ComponentRoleFile
AgentOrchestrates LLM and toolsagent.py
ToolIndividual function the LLM can callDefined in agent.py
ToolContextProvides state access to toolsPassed to each tool function
RunnerExecutes agent with session managementInMemoryRunner
SessionStores conversation history and stateInMemorySessionService
CallbackHook to modify tool/agent outputafter_tool_callback, after_agent_callback

Architecture Layers

Architecture Layers

Figure 2: Vertical stack from Chat Client through A2A Server, Agent Executor, ADK Agent, to RetailStore


Common Acronyms

AcronymFull NameContext
A2AAgent-to-AgentProtocol for agent communication
UCPUniversal Commerce ProtocolCommerce data standard
ADKAgent Development KitGoogle's agent framework
LLMLarge Language ModelGemini 3.0 Flash in this sample
SDKSoftware Development KitUCP Python SDK

External Resources

Official documentation for the core technologies used in this sample.

ADK (Agent Development Kit)

ResourceURL
Official Docsgoogle.github.io/adk-docs
Getting StartedADK Get Started Guide
Agents GuideBuilding Agents
GitHub (Python SDK)github.com/google/adk-python
Google Cloud DocsVertex AI Agent Builder

A2A (Agent-to-Agent Protocol)

ResourceURL
Official Protocol Sitea2a-protocol.org
SpecificationA2A Specification
ADK IntegrationADK with A2A
GitHub Repositorygithub.com/a2aproject/A2A
Google Cloud DocsA2A Agents on Cloud Run

UCP (Universal Commerce Protocol)

ResourceURL
Official Siteucp.dev
Specification OverviewUCP Specification
Developer GuideGoogle Merchant UCP Guide
GitHub Repositorygithub.com/Universal-Commerce-Protocol/ucp
Python SDKgithub.com/Universal-Commerce-Protocol/python-sdk
TechnologyDocumentation
Gemini APIai.google.dev/gemini-api/docs
MCP (Model Context Protocol)modelcontextprotocol.io
JSON-RPC 2.0jsonrpc.org/specification