docs(extensions): add Tenzro TDIP Binding extension to example list#1813
docs(extensions): add Tenzro TDIP Binding extension to example list#1813hilarl wants to merge 3 commits into
Conversation
There was a problem hiding this comment.
Code Review
This pull request adds the TDIP Binding Extension to the list of foreseeable applications in the extensions documentation. The feedback suggests categorizing the entry as a 'Profile Extension' to maintain consistency with other entries and provides a suggestion to refine the description's phrasing and hyphenation.
| | [Hello World or Timestamp Extension](https://github.com/a2aproject/a2a-samples/tree/main/extensions/timestamp) | A simple extension demonstrating how to augment base A2A types by adding timestamps to the `metadata` field of `Message` and `Artifact` objects (v1). | | ||
| | [Traceability Extension](https://github.com/a2aproject/a2a-samples/tree/main/samples/python/extensions/traceability) | Explore the Python implementation and basic usage of the Traceability Extension (v1). | | ||
| | [Agent Gateway Protocol (AGP) Extension](https://github.com/a2aproject/a2a-samples/tree/main/extensions/agp) | A Core Protocol Layer or Routing Extension that introduces Autonomous Squads (ASq) and routes Intent payloads based on declared Capabilities, enhancing scalability (v1). | | ||
| | [TDIP Binding Extension](https://tenzro.network/a2a/extensions/tdip-binding/v1) | Binds an A2A agent's identity to a Tenzro Decentralized Identity Protocol (TDIP) DID with delegation-scope and runtime spending-policy enforcement, enabling verifiable agent autonomy and per-message authorization for autonomous commerce (v1). | |
There was a problem hiding this comment.
Identifying the TDIP Binding extension as a "Profile Extension" (as categorized in the PR description and the "Scope of Extensions" section) would be consistent with other entries like AGP. Additionally, ensure standard hyphenation for "delegation scope" and "spending policy" is used. Note that per repository guidelines, intentional repetition for clarity is acceptable in documentation, so the existing level of detail is permitted.
| | [TDIP Binding Extension](https://tenzro.network/a2a/extensions/tdip-binding/v1) | Binds an A2A agent's identity to a Tenzro Decentralized Identity Protocol (TDIP) DID with delegation-scope and runtime spending-policy enforcement, enabling verifiable agent autonomy and per-message authorization for autonomous commerce (v1). | | |
| | [TDIP Binding Extension](https://tenzro.network/a2a/extensions/tdip-binding/v1) | A Profile Extension that binds an agent's identity to a Tenzro Decentralized Identity Protocol (TDIP) DID with delegation scope and spending policy enforcement, enabling verifiable autonomy and per-message authorization for autonomous commerce (v1). | |
References
- In documentation, intentional repetition can be acceptable for emphasis and clarity, even if it appears redundant.
Adds a single-row entry to the "List of Example Extensions" table in docs/topics/extensions.md for the TDIP Binding extension. The extension is a Profile Extension that binds an A2A agent's identity to a long-lived Tenzro Decentralized Identity Protocol (TDIP) DID. Every per-message binding carries the agent's did:tenzro:machine: DID, a hybrid Ed25519 + ML-DSA-65 signature over the JCS-canonicalized message minus the binding fields, and an optional delegation-scope assertion. Verifiers run a five-step check: DID resolve → controller key recovery → hybrid signature verify → DelegationScope::enforce_operation → runtime SpendingPolicy::check. The extension specification is hosted at the URI listed in the table: https://tenzro.com/a2a/extensions/tdip-binding/v1 A reference implementation is available in the open-source tenzro-network repository under crates/tenzro-agent and a live A2A endpoint runs at https://a2a.tenzro.network. Signed-off-by: Hilal Agil <hilal@tenzro.com>
4a00ad3 to
2c5f414
Compare
- Apply Gemini's suggestion: lead with "A Profile Extension that..."
to match the categorization style used by the AGP row, and switch
to standard hyphenation ("delegation scope", "spending policy").
- Add TDIP, Tenzro, tdip, tenzro to the spelling allow-list.
Signed-off-by: Hilal Agil <hilal@tenzro.com>
|
Hi maintainers — flagging this PR for TSC review per CODEOWNERS. This is a single-row addition to the example-list table in Status of checks:
Could a maintainer apply the The extension is third-party (URI under |
| | [Hello World or Timestamp Extension](https://github.com/a2aproject/a2a-samples/tree/main/extensions/timestamp) | A simple extension demonstrating how to augment base A2A types by adding timestamps to the `metadata` field of `Message` and `Artifact` objects (v1). | | ||
| | [Traceability Extension](https://github.com/a2aproject/a2a-samples/tree/main/samples/python/extensions/traceability) | Explore the Python implementation and basic usage of the Traceability Extension (v1). | | ||
| | [Agent Gateway Protocol (AGP) Extension](https://github.com/a2aproject/a2a-samples/tree/main/extensions/agp) | A Core Protocol Layer or Routing Extension that introduces Autonomous Squads (ASq) and routes Intent payloads based on declared Capabilities, enhancing scalability (v1). | | ||
| | [TDIP Binding Extension](https://tenzro.com/a2a/extensions/tdip-binding/v1) | A Profile Extension that binds an agent's identity to a Tenzro Decentralized Identity Protocol (TDIP) DID with delegation scope and spending policy enforcement, enabling verifiable autonomy and per-message authorization for autonomous commerce (v1). | |
There was a problem hiding this comment.
Thank you for the pull request. This new changes is not adding an example.
|
Marking this pull request as stale since it has been open for 14 days with no activity. This PR will be closed if no further activity occurs. |
|
Marking this pull request as stale since it has been open for 14 days with no activity. This PR will be closed if no further activity occurs. |
Summary
Adds a single-row entry to the List of Example Extensions table in
docs/topics/extensions.mdfor the TDIP Binding A2A extension.What is TDIP Binding?
TDIP Binding is a Profile Extension (per the A2A taxonomy in §"Scope of Extensions") that binds an A2A agent's identity to a long-lived Tenzro Decentralized Identity Protocol (TDIP) DID.
When activated, every A2A
Messagefrom a TDIP-bound agent carries four metadata fields under the extension URI:…/did— the agent'sdid:tenzro:machine:DID…/sig— Ed25519 signature over the JCS-canonicalized message minus the binding fields…/pq_sig— ML-DSA-65 (FIPS 204) signature over the same preimage (hybrid PQ)…/scope— optional per-message delegation scope assertionReceivers run a five-step verification:
DelegationScope::enforce_operationagainst the resolved identitySpendingPolicy::checkagainst the operationFailure at any step fails closed with a method-local JSON-RPC error code.
Why it belongs in the example list
Per the existing Extension Governance section, the example table cites third-party extensions hosted at their own URIs (the AGP, Secure Passport, Timestamp, and Traceability rows are all third-party). TDIP Binding follows the same pattern — Tenzro hosts the spec at its own URI and registers a row in the upstream A2A example list for discoverability.
The extension addresses a concrete autonomous-commerce gap not covered by the existing extensions: stable cryptographic identity for agents, verifiable operator delegation, and a runtime spending ceiling that the operator can dial without re-issuing the delegation. This complements (rather than competes with) Secure Passport (caller context) and AGP (routing).
Spec hosting
The extension URI is https://tenzro.com/a2a/extensions/tdip-binding/v1 (live; HTTP 200). The full specification (sections 1–11: Summary, Motivation, Terminology, Activation, Per-Message Binding, Verification, Examples, Error Codes, Security Considerations, Reference Implementation, References) is hosted at that URI.
Reference implementation
A working implementation is in tenzro/tenzro-network under:
crates/tenzro-identity— TDIP DID resolution,DelegationScope::enforce_operationcrates/tenzro-agent— A2A integration,AgentRuntime::set_spending_policycrates/tenzro-crypto::composite— hybrid Ed25519 + ML-DSA-65 signingA live A2A endpoint is at https://a2a.tenzro.network (publishes a TDIP-aware Agent Card at
/.well-known/agent.json).What this PR does NOT change
specification.mdor any normative spec textMessage,AgentCard, etc.)docs/topics/extensions.mdTDIP,Tenzro,tdip,tenzro) so the new row passesCheck SpellingReview feedback applied
Gemini's review suggestion has been applied in the second commit:
delegation scope,spending policy.Note for maintainers re: linked-issues check
This is a single-row example-list addition with no underlying issue to close (matching prior partner-list/SDK-list additions like #1729 "Add Rust SDK to list of official SDKs", which was merged with the
no-issuelabel). Happy for a maintainer to apply theno-issuelabel so theCheck for Linked Issuesrerun passes; the same pattern was used in #1729, #1702, #1634, and similar merged docs PRs.DCO sign-off
Both commits carry
Signed-off-by: Hilal Agil <hilal@tenzro.com>.AI assistance disclosure
Parts of the wording in this PR description and the extension specification were prepared with AI assistance from Claude Code. All technical decisions, the binding design itself, and final wording were reviewed and authored by the human author (Hilal Agil, hilal@tenzro.com). The reference implementation in
tenzro/tenzro-networkwas developed independently.Checklist
docs(extensions): add Tenzro TDIP Binding extension to example list/v1), under a permanent author-controlled domain, currently resolving with HTTP 200Signed-off-by(DCO)specification.mdor normative spec text