Extension Proposal: experimental-ext-settlement — settlement semantics for A2A tasks (seeking maintainer sponsor)
- 主要語言
- Shell
- 星號
- 25.7k
- 分支
- 2.6k
- 平均合併
- 3 天 6 小時
- 30 天內合併 PR
- 16
描述
## Abstract
This defines interoperable settlement semantics for economic obligations tied to A2A task states. It does not define a payment rail. x402, AP2, hosted escrow, stablecoins, card rails, or internal ledgers can all move the value.
## Motivation
A2A discovers agents and runs tasks. It does not define when an economic obligation is discharged. Settlement sits above the payment rail and tells it when to move, so x402 or AP2 can be the rail underneath.
Anyone can publish an extension at their own URI. Settlement semantics only interoperate if release, refund, and dispute mean the same thing on every rail. If each rail defines those words itself, a client cannot switch rails without rewriting settlement logic.
## Technical Approach
Agents declare the extension in `capabilities.extensions` on the Agent Card. Settlement context rides in the existing `metadata` field on messages and tasks. Actions map onto terminal TaskStates. COMPLETED releases the obligation. FAILED, CANCELED, and REJECTED refund it. Dispute is a settlement status, not a new TaskState: either party can flag it, and the obligation stays frozen until it resolves to a release or a refund. No new task states. No core protocol changes.
The spec is [SPEC.md](https://github.com/a2a-settlement/a2a-settlement/blob/main/SPEC.md) v0.11.0. Extension URI: `https://a2a-settlement.org/extensions/settlement/v1`.
## Prior Work
The reference exchange at https://exchange.a2a-settlement.org runs against that spec. That implementation is mine.
[settlement-conformance](https://github.com/a2a-settlement/settlement-conformance) holds five signed v0 vectors. The envelope and the settlement/reputation layer types were authored by AlgoVoi. I chair the repo. Results are published at [results/a2a-se](https://github.com/a2a-settlement/settlement-conformance/tree/main/results/a2a-se). Other rails are welcome to post theirs.
SPEC v0.11.0 is archived at https://doi.org/10.5281/zenodo.21953795 (2026-06-10).
[a2a-samples PR #442](https://github.com/a2aproject/a2a-samples/pull/442) is still open; I filed it the same day as [Discussion #1576](https://github.com/a2aproject/A2A/discussions/1576) (March 2, 2026), which was the wrong venue.
## Ask
I am asking a maintainer to sponsor this and create `experimental-ext-settlement` under a2aproject, following the [Extension and Protocol Binding Governance](https://github.com/a2aproject/A2A/blob/main/docs/topics/extension-and-binding-governance.md) process. The sponsor's role is oversight and alignment review; I do the spec and repo work, and I will maintain it. The spec would move under a2aproject governance.
貢獻指南
評估
這個 Issue 還沒有評估資料。