docs(protocol-landscape): add Tenzro TDIP integration mapping + example#25
Closed
hilarl wants to merge 1 commit intoagent-intent:mainfrom
Closed
docs(protocol-landscape): add Tenzro TDIP integration mapping + example#25hilarl wants to merge 1 commit intoagent-intent:mainfrom
hilarl wants to merge 1 commit intoagent-intent:mainfrom
Conversation
Adds a new protocol-landscape page documenting how Verifiable Intent composes with the Tenzro Decentralized Identity Protocol (TDIP), and a worked Python example exercising the composition end-to-end. TDIP supplies the on-chain identity registry, DelegationScope structural ceiling, and runtime SpendingPolicy. VI supplies the off-chain, selectively-disclosable credential format that proves user intent for a particular purchase without a registry round-trip. The two compose: a TDIP-bound agent's payment is permitted iff it passes BOTH the VI L2 constraints AND DelegationScope::enforce_operation AND SpendingPolicy::check. The example mocks the on-chain TDIP primitives so it runs without a live Tenzro Ledger node, while exercising the real VI L1->L2->L3 SDK chain. Verification at step 6 asserts all four ceilings: 1. VI chain validity (verify_chain) 2. VI per-purchase constraints (check_constraints) 3. TDIP DelegationScope::enforce_operation 4. TDIP SpendingPolicy::check All TDIP-specific language lives only in protocol-landscape/tenzro-tdip.md and the example; spec/ is unchanged. No SDK changes are required; the example uses only the existing verifiable_intent SDK surface. Files: protocol-landscape/tenzro-tdip.md (new, ~140 lines) examples/tenzro_tdip_flow.py (new, ~370 lines) Tests: pytest clean (326 passed) against this PR. python examples/tenzro_tdip_flow.py runs end-to-end. Signed-off-by: Hilal Agil <hilal@tenzro.com>
c9c5a39 to
7e7bdfa
Compare
This was referenced May 2, 2026
Author
|
Withdrawing. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
docs(protocol-landscape): add Tenzro TDIP integration mapping + example
Motivation
The current
protocol-landscape/section maps VI to commerce-protocolpeers (UCP/AP2 in
protocols.md, plus the cross-protocol glossary). TheTenzro Decentralized Identity Protocol (TDIP) is an identity-rooted
protocol — a unified W3C-DID-method specification (
did:tenzro)covering both human and machine (AI agent) identities with first-class
delegation primitives (
DelegationScope+ runtimeSpendingPolicy).TDIP and VI address adjacent layers of the same authorization problem:
enforcement hooks (
enforce_operation).credential format that proves user intent for a particular purchase
without a registry round-trip.
A merchant in a TDIP-rooted purchase needs evidence that the buyer
agent was authorized, but the merchant may not have RPC access to the
Tenzro Ledger or may want a locally-verifiable record for audit. VI
gives the merchant exactly that. Symmetrically, TDIP gives VI a
registry-anchored root of trust that propagates revocation reliably.
This PR documents the relationship between the two, with a worked
Python example that exercises both layers.
Why this content belongs in
protocol-landscape/, notspec/Per CONTRIBUTING.md:
TDIP is a Tenzro-specific protocol, so a TDIP↔VI mapping belongs in
protocol-landscape/alongside the existing UCP/AP2 and ACP mappings.The VI core specification stays untouched.
What's in this PR
protocol-landscape/tenzro-tdip.md(new)Mirrors the structure of the existing
protocols.md:the off-chain credential format that AP2-style architectures call
for but don't prescribe.
carry over directly: off-chain verifiability, selective disclosure,
per-purchase constraint enforcement.
identity, runtime enforcement composition, and cross-protocol
carriage (UCP/AP2 mandates extension; ACP extension fields).
examples/tenzro_tdip_flow.py(new)A self-contained example that demonstrates VI ↔ TDIP composition.
Mocks the on-chain TDIP primitives (
DelegationScope,SpendingPolicy,IdentityRegistry) so the example runs without alive Tenzro Ledger node, while exercising the real VI L1→L2→L3
chain. Verification at step 6 checks all four ceilings:
verify_chain)check_constraints)DelegationScope::enforce_operationSpendingPolicy::checkAll four MUST pass for the purchase to proceed. The example asserts
each, so
pytest examples/tenzro_tdip_flow.pyis a green test.Files
No changes to
spec/. No changes tosrc/. No changes to existingprotocol-landscape/pages.Tests
pytestclean against this PR.python examples/tenzro_tdip_flow.pyruns end-to-end and prints thesame banner-formatted output as
autonomous_flow.py.examples/helpers.pyfor keys / merchants /catalog — no new test-data dependencies.
SDK consistency
No SDK changes are required; the example uses only the existing
verifiable_intentSDK surface. The TDIP primitives are mockedlocally in the example file. A note in
tenzro-tdip.mdreferencesthe upstream Rust reference implementation in
tenzro/tenzro-network::crates/tenzro-identityfor readers who wantthe real on-chain version.
Protocol-agnostic language
The VI core spec (
spec/) is unchanged. All TDIP-specific languagelives only in
protocol-landscape/tenzro-tdip.mdand the example.DCO sign-off
All commits in this PR carry
Signed-off-by: Hilal Agil <eng@tenzro.com>.AI assistance disclosure
Per the project's contribution norms: parts of the wording in this PR
description, the
tenzro-tdip.mddocument, and code comments in theexample were prepared with AI assistance from Claude Code. All
technical decisions, the mapping itself, and final wording were
reviewed and authored by the human author (Hilal Agil,
eng@tenzro.com). The TDIP reference implementation in
tenzro/tenzro-networkwas developed independently.Checklist
docs(protocol-landscape): add Tenzro TDIP integration mapping.spec/(TDIP-specific content stays inprotocol-landscape/).pytestclean against the change.verifiable_intentsurface isunchanged.