Roadmap¶
Each phase ended with a check that proves it's done. The SDK was 0.x through phase 6 and follows SemVer from 1.0 (backward compatibility).
| # | Phase | Done when |
|---|---|---|
| 0 | Skeleton: CI, generated types | ✅ |
| 1 | Types + utilities: errors, helpers, validators | ✅ |
| 2 | Client: JSON-RPC + REST + SSE | ✅ tested in CI against the official Python sample server |
| 3 | Server core + inline runner | ✅ the A2A TCK passes at the MUST level (and SHOULD and MAY); see Conformance |
| 4 | Laravel bridge + queued runner | ✅ the TCK passes (MUST, SHOULD, MAY) against a Laravel app on PHP-FPM + nginx whose executors run on queue workers; see Conformance |
| 5 | Push notifications, card signing, extensions (PDO task store and queue manager arrived early, in phase 3) | ✅ the push-notification, extended-card and required-extension TCK requirements run and pass (MUST 161 distinct tests, SHOULD, MAY, 0 failures; plain PHP and Laravel), and card signatures verify across the PHP and Python SDKs; see Conformance |
| 6 | A2A 0.3 compatibility | ✅ the last 0.3 release of the Python SDK (a2a-sdk 0.3.26) works against the PHP server (plain PHP and Laravel), and the PHP client works against it, over JSON-RPC and HTTP+JSON; see Conformance |
| 7 | 1.0.0 | ✅ public API reviewed (@internal marked), API reference, upgrade guide, benchmarks, weekly upstream watch against the Python SDK, spec and TCK |
| 8 | Later | gRPC client, long-running runners, OpenTelemetry |
Keeping up with Python¶
The SDK tracks a pinned commit of the Python SDK and a pinned spec version (UPSTREAM.md). When Python adds, renames or removes a public class, the mapping changes first, then the code.