Skip to content

feat(demo): add Agent-to-Agent binding walkthrough - #14

Merged
thinksyncs merged 1 commit into
mainfrom
feat/a2a-demo
Jul 31, 2026
Merged

feat(demo): add Agent-to-Agent binding walkthrough#14
thinksyncs merged 1 commit into
mainfrom
feat/a2a-demo

Conversation

@thinksyncs

@thinksyncs thinksyncs commented Jul 31, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Add a one-command Agent A to Agent B binding demonstration.

Changes

  • Run real localhost mTLS 1.3 communication with live TLS exporter and request-context binding.
  • Verify Manager and Agent signatures, receiver-local L3-L6 policy, application resource mapping, and replay protection.
  • Demonstrate one accepted task and fail-closed rejection of scope escalation, resource substitution, wrong audience, session borrowing, and replay.
  • Document go run ./examples/a2a.

Testing

  • go run ./examples/a2a
  • go test -race -count=1 ./examples/a2a
  • go vet ./examples/a2a
  • go test -count=1 ./...
  • make product-security-gate

Notes

  • This is a software-only, single-process localhost demonstration. It does not perform hardware attestation or define an application-protocol message format.

Copilot AI review requested due to automatic review settings July 31, 2026 21:11

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a runnable Agent-to-Agent (A→B) localhost demo showcasing the project’s secure binding flow (mTLS 1.3 + TLS exporter + request-context binding) and several fail-closed rejection scenarios, alongside a Makefile target and README docs to make the walkthrough easy to run.

Changes:

  • Documented a new make demo-a2a walkthrough in README.md.
  • Added a demo-a2a Makefile target to run the new example.
  • Introduced examples/a2a demo implementation plus a smoke test validating expected outputs.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

File Description
README.md Documents the new Agent-to-Agent demo entrypoint and what it demonstrates.
Makefile Adds demo-a2a phony target to run the example with the selected Go toolchain.
examples/a2a/main.go Implements the end-to-end localhost mTLS demo with grant + session binding verification and replay checks.
examples/a2a/main_test.go Adds a test that runs the demo and asserts expected scenario outputs are present.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread examples/a2a/main.go
Comment on lines +319 to +325
func (d *demoRuntime) dial() (*agentConnection, error) {
conn, err := tls.Dial("tcp", d.address, d.clientTLS.Clone())
if err != nil {
return nil, fmt.Errorf("Agent A connect to Agent B: %w", err)
}
return &agentConnection{conn: conn, reader: bufio.NewReader(conn)}, nil
}
Comment thread examples/a2a/main.go
Comment on lines +258 to +260
fmt.Fprintln(out)
fmt.Fprintf(out, "summary: %d/%d expected decisions observed\n", completed, completed)
fmt.Fprintln(out, "ephemeral certificates and signing keys were not written to disk")
@thinksyncs
thinksyncs merged commit f1393f7 into main Jul 31, 2026
10 checks passed
@thinksyncs
thinksyncs deleted the feat/a2a-demo branch July 31, 2026 21:38
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.

2 participants