Skip to content

feat: add Rust-Go interoperability suite#167

Open
muscariello wants to merge 11 commits intomainfrom
feat/163-rust-go-interop
Open

feat: add Rust-Go interoperability suite#167
muscariello wants to merge 11 commits intomainfrom
feat/163-rust-go-interop

Conversation

@muscariello
Copy link
Copy Markdown
Member

@muscariello muscariello commented Apr 4, 2026

Summary

  • expand integrations/agntcy-a2a from a JSON-RPC smoke suite into a released-crate Rust <-> Go interoperability component covering JSON-RPC, HTTP+JSON, and gRPC
  • switch the Rust fixture binaries to published agntcy-a2a 0.2.4, agntcy-a2a-client 0.1.9, agntcy-a2a-server 0.2.2, agntcy-a2a-grpc 0.1.6, and agntcy-a2a-pb 0.1.5
  • add protocol-selectable Go and Rust fixtures, explicit gRPC transport registration in both client helpers, and per-transport Task targets / Ginkgo labels
  • extend the reusable matrix to validate unary and streaming SendMessage, GetTask, ListTasks, CancelTask, negative-path error semantics, unsupported push behavior, and preservation of a mixed text plus structured-data request with message metadata through task history
  • keep JSON-RPC and HTTP+JSON as full 4-leg pass/fail interop signals, and update the released Rust gRPC follow-up so the old endpoint mismatch is gone while one remaining Go-client incompatibility is still documented against the Rust gRPC ListTasks path
  • update the component README and integration workflow to expose and run the full transport matrix in CI

Validation

  • cargo build --manifest-path integrations/agntcy-a2a/fixtures/rust/Cargo.toml --bins
  • PATH=/opt/homebrew/Cellar/go/1.26.1/libexec/bin:$PATH /opt/homebrew/Cellar/go/1.26.1/libexec/bin/go test . -count=1 -v -failfast -test.v -test.paniconexit0 -ginkgo.timeout 20m -timeout 20m -ginkgo.v -ginkgo.label-filter=grpc run from integrations/agntcy-a2a/tests

References

Signed-off-by: Luca Muscariello <muscariello@ieee.org>
Signed-off-by: Luca Muscariello <muscariello@ieee.org>
@muscariello muscariello requested a review from a team as a code owner April 4, 2026 15:08
Signed-off-by: Luca Muscariello <muscariello@ieee.org>
@muscariello muscariello requested review from micpapal and msardara April 4, 2026 15:14
Signed-off-by: Luca Muscariello <muscariello@ieee.org>
Signed-off-by: Luca Muscariello <muscariello@ieee.org>
@muscariello muscariello requested a review from tiswanso April 4, 2026 17:07
Signed-off-by: Luca Muscariello <muscariello@ieee.org>
Signed-off-by: Luca Muscariello <muscariello@ieee.org>
Signed-off-by: Luca Muscariello <muscariello@ieee.org>
Signed-off-by: Luca Muscariello <muscariello@ieee.org>
Signed-off-by: Luca Muscariello <muscariello@ieee.org>
Signed-off-by: Luca Muscariello <muscariello@ieee.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Validate A2A Rust <-> Go interoperability in CSIT

1 participant