Erlang ADK documentation
View SourceThis index separates user guides, behavior contracts, release operations, and
historical delivery evidence. Start with the root README.md
for installation and executable examples.
Release and project documents
CHANGELOG.md— cumulative changes from 0.3.0 through the released 0.9.0 version plus the explicitly unreleased 0.10 development section, fixes, evidence, and visible limitations.TESTING.md— deterministic, paid-provider, Phoenix, browser, packaging, and audit gates.TEST_LAYOUT.md— test ownership, recursive discovery, helper placement, and fixture conventions.UPGRADING.md— behavior and configuration changes between delivery milestones.RELEASING.md— the pre-tag, package, audit, approval, tag, and publication checklist. It does not claim that a tag or package was published.- Deployment asset guide — the in-development relx/OCI, closed/health/application-config modes, descriptor cap, PID1 drain, deployment OTLP bridge, Cloud Run, Helm/GKE, credential-safe Agent Runtime feasibility probe, and supply-chain contracts plus their explicit external-evidence boundaries. It also records the final local OCI and disposable Kind two-mode candidate gate without claiming Cloud/GKE or registry promotion.
- Curated connector package guide — the sole offline all-package gate, dependency-metadata normalization boundary, and the explicit block on connector publication before core 0.10.0 exists in the target Hex repository.
SECURITY.md— supported versions, private reporting, deployment boundaries, secret handling, and known dependency advisories.CONTRIBUTING.md— toolchains, design rules, evidence, and pull-request expectations.FEATURE_PARITY.md— current ADK behavior-family status with explicit partial and adapter-owned surfaces.README_EXAMPLE_COVERAGE.md— current README recipes and sanity checks mapped to prerequisites, deterministic coverage, and optional live validation.
The v0.9.0 deterministic release validation passed all 1,495 EUnit tests and
all 6 deterministic Common Test cases, with warning-as-error compilation, 0
Dialyzer warnings, and 0 undefined or deprecated call/function findings from
./rebar3 xref. The Phoenix companion also passed 103 ExUnit and 40
browser/audio tests, production assets/release, and both health smokes. The
complete evidence boundary is recorded in
VERSION_0_9_0.md.
The VERSION_0_10_0.md milestone is IN DEVELOPMENT.
It now includes the work previously proposed for 0.11/0.12: supervised local
runtime profiles; schema-v2 JSON/strict-YAML Agent Config and composition;
registry-only connectors; artifact streaming/GCS-compatible storage/effect
reconciliation; vector/hybrid memory, policy, erasure, and a durable_local
bundle-owned ingestion outbox; modern MCP; durable evaluation jobs plus
simulators/statistics and canonical multi-format report parity;
Developer UI graph/trace/evaluation surfaces; A2A streaming/task stores/push;
and render-first deployment assets. Its pinned official MCP Python/TypeScript
matrix and A2A JSON-RPC TCK have passed within the loopback scopes recorded in
the candidate ledger. That ledger is development evidence, not a release
record or arbitrary-peer/deployed-infrastructure claim.
Current evidence applies to the named codex/version_0.10.0 working-tree
candidate, not to a reproducible commit or tag; its HEAD remains the v0.9
baseline and all v0.10 work is uncommitted. Focused durable-runtime checks
passed 46/46, canonical evaluation-report parity/boundary checks passed 56,
and the four-package wrapper passed 12/12 source plus 12/12 clean-extracted
EUnit. The changed-candidate aggregate passed 1,826/1,826 EUnit, 6 deterministic
Common Test cases with 22 expected paid-provider skips, clean compile/xref,
0 Dialyzer warnings, and 36,574/49,312 = 74.17% coverage. README checks passed
30/30 plus 4/4, all three example modules compiled with -Werror, and ExDoc,
static Markdown, root Hex/verifier/extracted compile, and diff gates passed.
Root artifact hashes/freshness are intentionally reported out of band. Exact
scoped evidence and explicitly unrun external gates are in
VERSION_0_10_0.md. These
results do not change the IN DEVELOPMENT status.
Runtime and workflow guides
RUNTIME_SAFETY.md— process ownership, limits, cancellation, structured failures, and secret isolation.DURABLE_INVOCATIONS.md— stable runs, replay, continuations, persistence, and restart behavior.AMBIENT_RUNTIME.md— local events and fixed-delay scheduled invocations with bounded admission and session policy.GRAPH_WORKFLOWS.md— graph/fork control flow, checkpoints, deterministic state merge, and resume limitations.PLANNING_RUNTIME.md— explicit planner/executor contracts, bounded replanning, and model-native thinking.CODE_EXECUTION.md— the external-sandbox requirement for model-requested code execution.
Artifacts, memory, and context
ARTIFACTS.md— scoped immutable versions, adapters, quotas, repair, tools, and current data-plane limits.MEMORY.md— scoped retrieval/ingestion, durable local behavior, outbox semantics, erasure, and adapter boundaries.CONTEXT.md— mandatory request sanitation, budgeting, selection, compaction, fingerprints, and provider prefix caching.
Providers, plugins, evaluation, and observability
MODEL_SUPPORT.md— adapter support tiers, remote evidence boundaries, and model/server recipes including keyless local Ollama/vLLM profiles and HTTPS gateways.PROVIDER_PROFILES.md— recommended binary profile configuration for Gemini, native OpenAI Responses, native Anthropic Messages, Vertex AI, compatible Chat Completions, Gemini Live, and OpenAI Realtime, including credential and authority boundaries.GEMINI_GROUNDING.md— Google Search grounding, bounded provider metadata, streaming, and failure behavior.PLUGINS_OBSERVABILITY_EVALUATION.md— Runner-global plugins, trace/metric/export behavior, evaluation v2, and explicit content/privacy boundaries.- Phoenix companion guide — OIDC or loopback-only local authentication, same-BEAM gateways, agent runs, Live operations, browser voice, production TLS/proxy setup, and its independent release/audit gates.
Version contracts
These contracts preserve what each development milestone set out to deliver, what passed, and what remained incomplete. Unchecked items are limitations, not implicit release claims.
VERSION_0_3_0.md— supervised runtime, services, protocols, developer tooling, and quality foundation.VERSION_0_4_0.md— agent, tool, and workflow behavior.VERSION_0_5_0.md— artifacts, memory, and context.VERSION_0_6_0.md— authentication, protocols, and the production-capable Phoenix companion.VERSION_0_7_0.md— Gemini Live/multimodal sessions, plugins, evaluation, expanded observability, developer projections, and browser voice.VERSION_0_8_0.md— model provider profiles, native OpenAI/Anthropic request adapters, compatible vendors, shared model transport, and OpenAI Realtime bidirectional sessions.VERSION_0_9_0.md— definition-bound durable workflow checkpoints, graph validation/inspection and data contracts, nested continuation parity, local-compatible endpoints, and Vertex AI/ADC.VERSION_0_10_0.md— IN DEVELOPMENT: the expanded 0.10 implementation and its explicit interoperability, topology, payload, reconciliation, and deployment-evidence boundaries.
Model and test terminology
The project has two separate Gemini gates:
- REST GenerateContent/SSE and the ordinary agent default use
gemini-3.1-flash-liteandERLANG_ADK_GEMINI_REST=1. - Gemini Live WebSocket uses
gemini-3.1-flash-live-previewandERLANG_ADK_GEMINI_LIVE=1.
Both require GEMINI_API_KEY in the same environment as Common Test. They use
network access, quota, and billable API calls, so they skip unless explicitly
enabled. A skip or quota failure is never counted as a deterministic pass.
OpenAI Responses, Anthropic Messages, compatible Chat Completions, and OpenAI
Realtime passed deterministic injected-transport/codec coverage in the 0.8
release gate. The 0.9 release also has deterministic Vertex and local-server
fixtures, but neither is paid or arbitrary-endpoint evidence. A configured key
or passing fixture must not be reported as remote-provider success. The
2026-07-17 Gemini REST and Live attempts were external credential failures,
recorded separately from passing deterministic evidence; see
TESTING.md.