Conformance tooling
A2A ACTS conformance and ITK
A2A is developing a portable conformance-test specification while its official Integration Testing Kit already executes a pinned copy of that proposed corpus. The distinction matters: ACTS is still an open proposal, and ITK currently applies documented compatibility rewrites to make part of the corpus runnable.
Status first
Section titled “Status first”A2A now has a concrete conformance architecture under active development, but it is not yet a finalized A2A conformance standard. A2A core PR #1882 remains open at this verification cutoff. The proposal adds the A2A Conformance Test Specification (ACTS): a transport-neutral YAML test corpus and report model intended to turn normative A2A requirements into portable executable tests.
The official a2aproject/a2a-itk repository already runs a pinned copy of that proposed ACTS corpus. Its current checked main is 89f4560258762fb8f434e7c7048d33047db11fbc, after merged ITK PR #64, which adds an ACTS execution/reporting pipeline alongside the ITK’s existing cross-SDK interoperability testing.
Three separate layers
Section titled “Three separate layers”| Layer | Current role | Maturity at this cutoff |
|---|---|---|
| A2A Protocol | Defines the agent-to-agent wire/application contract and bindings. | Tagged specification release v1.0.1. |
| ACTS | Proposed portable conformance-test definitions and report semantics for A2A v1.0. | Open A2A core PR #1882. |
| A2A ITK | Official integration/interoperability test harness that can also execute the pinned ACTS corpus. | Active implementation; current main 89f45602. |
This separation is important for implementers. A protocol release can remain stable while its conformance tooling evolves independently, and a runner can implement a draft test contract before that contract is accepted as normative project policy.
What ACTS proposes
Section titled “What ACTS proposes”PR #1882 proposes a single YAML-based test representation that abstracts protocol operations away from concrete bindings such as JSON-RPC, HTTP+JSON/REST and gRPC. The PR currently describes 111 tests across 14 files:
- 72
MUSTtests; - 35
SHOULDtests; - 4
MAYtests.
The proposal says the corpus maps all 76 testable specification requirements identified by its requirements inventory. It also defines assertion primitives, streaming checks, task-state-machine validation and a standard JSON result/report shape so different runners can produce comparable evidence.
Those counts describe the current proposal, not a ratified A2A certification programme. Until #1882 is merged and released or otherwise formally adopted, implementations should cite the exact ACTS revision they ran rather than saying only “A2A conformant.”
What the official A2A ITK adds
Section titled “What the official A2A ITK adds”The ITK has a broader purpose than ACTS. Its README describes an SDK-agnostic interoperability system that starts implementations from several A2A SDKs and exercises cross-SDK paths across JSON-RPC, gRPC and HTTP+JSON/REST, including streaming. Its traversal logic is designed to cover directed implementation/binding combinations rather than merely testing one server against isolated examples.
Merged PR #64 adds a distinct ACTS path:
POST /run-actsstarts the system under test, runs the ACTS corpus for a selected binding and returns the ACTS report;- a developer-side
run_acts.pypath can execute bindings sequentially; - binding URLs are derived from the Agent Card’s
supportedInterfaces; - optional SDK behavior metadata controls requirement gating;
- client-parsing cases run through the ordinary
send_messagepath rather than a special parser-only shortcut; - a second reduced-capability pass exercises unsupported-operation behavior;
- nightly jobs can emit ACTS reports and metrics as artifacts.
The ITK therefore has two related but non-identical evidence modes: cross-SDK interoperability traversal and ACTS-style normative conformance execution.
The current corpus has documented defects
Section titled “The current corpus has documented defects”The strongest reason to keep the maturity boundary explicit is the ITK’s own scenarios/acts/PROVENANCE.md. The file records that ITK mirrors the ACTS corpus from the open A2A PR at pinned commit dbcabfba4f01cc162c965f0fde5f44fc1f1e70e5 without editing the mirrored files on disk, then applies load-time compatibility rewrites where the draft corpus cannot execute as written.
At the current pin, ITK documents 26 of 111 tests as failing the ACTS CDDL/schema contract before compatibility handling: 85 load directly and 26 require mechanical rewrites. Examples include mismatched expect_error fields, push-notification operation names not represented by the current enum and malformed expectation shapes.
The provenance file also records semantic/runtime issues that are not just parser problems, including cases where a test’s expected error representation, file-field spelling, binding-level assertion or stated requirement does not match the A2A specification it intends to test. ITK deliberately records these defects rather than silently treating them as server failures.
Why this matters to protocol engineering
Section titled “Why this matters to protocol engineering”ACTS is an important architectural signal because it moves A2A toward portable, version-addressable conformance evidence instead of leaving every SDK or vendor to invent unrelated test semantics. The ITK adds the complementary question: do separately implemented SDKs actually interoperate across transport/binding combinations?
That distinction is useful beyond A2A. Conformance asks whether an implementation satisfies a defined contract. Interoperability testing asks whether independently implemented peers work together in practice. A mature ecosystem benefits from both, but neither substitutes for the other.
ACTS / ITK versus UHP conformance
Section titled “ACTS / ITK versus UHP conformance”UHP and A2A operate at different protocol boundaries, so their test counts must not be compared as though they measure the same thing.
| Dimension | A2A ACTS / ITK | UHP conformance |
|---|---|---|
| Protocol boundary | Remote agent ↔ agent/application interaction. | Client ↔ server ↔ selected complete harness execution. |
| Current protocol line | A2A v1.0, latest tagged spec release v1.0.1. | UHP 2026-08-11. |
| Test authority | ACTS is currently an open proposal; ITK executes a pinned draft corpus. | Published UHP conformance package 2026.8.11.post1. |
| Current test count | Proposed ACTS corpus: 111 tests at PR #1882’s current revision. | 64 checks in the current UHP suite. |
| Cross-implementation testing | ITK separately exercises SDK/binding interoperability. | Conformance validates a UHP server against the UHP contract; independent implementation evidence is tracked separately. |
| Known draft correction layer | ITK documents compatibility rewrites for 26 currently non-loading ACTS cases. | No equivalent draft-ACTS compatibility layer is part of the current published UHP suite. |
| Cross-protocol implication | None. | None. |
HarnessRouter’s published 64/64 UHP Full reference result remains UHP evidence only. An A2A SDK or agent passing ACTS does not become a UHP implementation, and a UHP server passing its suite does not become A2A-conformant.
Evidence boundaries
Section titled “Evidence boundaries”- A2A protocol release: latest tagged specification release observed here is
v1.0.1; ACTS does not create a new wire-protocol version. - ACTS: PR #1882 remains open. Its 111-test corpus and requirement counts are proposal facts, not final released conformance policy.
- ITK: official A2A Project repository; current checked
mainis89f4560258762fb8f434e7c7048d33047db11fbc. - ACTS pin inside ITK: provenance records source revision
dbcabfba4f01cc162c965f0fde5f44fc1f1e70e5from the open A2A PR. - Compatibility policy: ITK documents 85 directly loading tests and 26 requiring compatibility rewrites at that pin.
- UHP: unchanged at
2026-08-11; no UHP↔ACTS binding or shared conformance authority is established. - HarnessRouter: no A2A backend/adoption claim follows from this tooling work.
Related pages
Section titled “Related pages”Read UHP vs A2A for the protocol-layer comparison, A2A CLI for the official command-line client surface, UHP conformance for UHP’s released test model, and Harness composition for delegation topology around agent runtimes.