Understanding โ Exchange
PROPOSED โ not yet upstreamed. Built to the ToIP
spec.meta.schema.jsonfor the dtgwg-trust-tasks-tf registry; the slug below is proposed to that namespace, not registry-accepted. The PR is pending; the registry's decision governs.
Proposed slug: understanding/exchange ยท version 0.1 ยท status draft
The joining party answers the host's gateway terms from comprehension โ pinned to the exact digest it read โ and the host judges whether understanding, not copying, occurred.
Abstract
The Understanding โ Exchange Trust Task is where understanding is
demonstrated: the joining party answers the gateway's prompts in its own
words, pinned to the exact digest of the terms it read. The host judges
comprehension โ a verbatim reproduction of the gateway is refused
(copyNotComprehension), because the ceremony's key is what the joiner
understood, not what it can retrieve.
A passed exchange does not admit anyone. It qualifies the joining party to
propose the seal (understanding/seal) โ the
bilateral agreement that the whole ceremony exists to reach.
Status of this Document
This is a draft Trust Task specification per SPEC.md ยง5.3; the schema MAY change without notice. Feedback via the issue tracker.
Conformance
RFC2119(https://www.rfc-editor.org/rfc/rfc2119) and RFC8174(https://www.rfc-editor.org/rfc/rfc8174) key-word conventions apply.
A conforming producer (the joining party) MUST:
- Emit a Trust Task document whose
typeishttps://trusttasks.org/spec/understanding/exchange/0.1, echoing the gateway digest it actually read. - Answer in its own words. The gateway is the source of the answers' content; it must not be the source of their text.
A conforming consumer (the host) MUST:
- Reject an unknown join with
noPendingOfferand a superseded digest withgatewayStaleโ answers are judged only against the terms the joiner actually read, and only while those terms are current. - Refuse verbatim reproduction with
copyNotComprehensionrather than scoring it. - Return
passedand, when passed,sealByโ the window in which the joiner may propose the seal.
Payload
payload.gatewayDigest (REQUIRED) โ the digest of the terms the answers address.payload.answers (REQUIRED) โ the joiner's answers to the gateway's prompts.payload.ext โ extension slot per SPEC.md ยง4.5.1.
Request
{
"id": "urn:uuid:f5be091e-283c-4bea-ac5d-465768798a91",
"type": "https://trusttasks.org/spec/understanding/exchange/0.1",
"issuer": "did:key:z6MkJoiningPartyExample",
"recipient": "did:key:z6MkHostExample",
"issuedAt": "2026-07-18T16:20:00Z",
"payload": {
"gatewayDigest": "5b6c7d8e9f202132435b6c7d8e9f202132435b6c7d8e9f202132435b6c7d8e9f",
"answers": [
{
"promptId": "gateway#contribution",
"answer": "Whatever I produce here feeds the room's shared corpus; my expressions are both my key and the room's material, so I only contribute what I am content to leave."
},
{
"promptId": "gateway#access",
"answer": "I never receive the room's underlying credentials; anything I'm granted is scoped, expiring, and mediated by the room's broker."
}
]
},
"proof": {
"type": "DataIntegrityProof",
"cryptosuite": "eddsa-jcs-2022",
"created": "2026-07-18T16:20:00Z",
"verificationMethod": "did:key:z6MkJoiningPartyExample#z6MkJoiningPartyExample",
"proofPurpose": "assertionMethod",
"proofValue": "z3FXQmV6ExampleProofValueForUnderstandingExchange"
}
}
Response
{
"id": "urn:uuid:06cf1a2f-394d-4cfb-bd6e-576879809aa2",
"type": "https://trusttasks.org/spec/understanding/exchange/0.1#response",
"issuer": "did:key:z6MkHostExample",
"recipient": "did:key:z6MkJoiningPartyExample",
"threadId": "urn:uuid:f5be091e-283c-4bea-ac5d-465768798a91",
"issuedAt": "2026-07-18T16:20:03Z",
"payload": {
"passed": true,
"sealBy": "2026-07-18T18:00:00Z"
},
"proof": {
"type": "DataIntegrityProof",
"cryptosuite": "eddsa-jcs-2022",
"created": "2026-07-18T16:20:03Z",
"verificationMethod": "did:key:z6MkHostExample#z6MkHostExample",
"proofPurpose": "assertionMethod",
"proofValue": "z58aKqExampleProofValueForUnderstandingExchangeResponse"
}
}
Security & Privacy
Answers disclose the joiner's reasoning about the host's published terms โ no
third-party data, and nothing beyond what the joiner chose to write. The host's
judgment is local policy; this specification fixes only what may not count
(verbatim copying) and what the answers must be pinned to (the digest). The
deterministic witness-draw mechanism ofagent-admission/apply ports
cleanly onto this task where hosts want grooming resistance; it is not required
in the peer posture.
Assets
Source: specs/understanding/exchange/0.1/ โ spec.md + payload.schema.json
upstream: ~/dtgwg-trust-tasks-tf-mage (untracked contribution lane; upstream registry: trustoverip/dtgwg-trust-tasks-tf) ยท author: Mitchell Travers ยท the git source wins on any disagreement ยท (โ๏ธโฅโฟปโฅ๐ง)๐
โ The Trust Tasks ยท Welcome Visitors