Agent Admission โ Respond
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: agent-admission/respond ยท version 0.1 ยท status draft
The candidate agent answers its drawn understanding criteria from comprehension of the governing policy; the gate authority scores the answers against published thresholds and records the understanding-gate result.
Abstract
The Agent Admission โ Respond Trust Task carries the candidate agent's
answers to the witness draw returned byagent-admission/apply. The gate authority scores
the answers against the governing policy's published thresholds and records
the result as the understanding gate โ one of the two gates the ceremony
requires (agent-admission/issue enforces both).
Understanding, not possession: an answer that reproduces the policy text
verbatim is refused (copyNotComprehension), because the gate tests whether
the agent can operate the rule, not retrieve it. Held-out probes โ criteria
scored but not revealed as decisive โ are the mechanism behind thefailedHeldOut verdict: an agent optimised to the visible criteria alone is
sandboxed, not admitted.
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 candidate agent) MUST:
- Emit a Trust Task document whose
typeishttps://trusttasks.org/spec/agent-admission/respond/0.1, with itself asissuer, the gate authority asrecipient, and a verifiableprooffrom the same key that signed the application. - Answer exactly the drawn criterion set โ every drawn
criterionId, no others.
A conforming consumer (the gate authority) MUST:
- Verify the
proofagainst the applying agent's VID; reject an unknown or mismatched application withunknownApplication. - Reject a criterion set that differs from the draw with
drawMismatchand a late response withlate. - Score against the thresholds published in the governing policy โ the same numbers a relying party can read โ and append the gate result, with its evidence digest, to the content-addressed audit ledger before returning it.
- Return the understanding-gate result in the
#response. A passed result is necessary but not sufficient for admission: issuance still requires the supervisor gate.
Payload
payload.agent (REQUIRED) โ VID of the candidate agent; MUST equal issuer.payload.applicationId (REQUIRED) โ the application being answered.payload.answers (REQUIRED) โ one answer per drawn criterion.payload.ext โ extension slot per SPEC.md ยง4.5.1.
Request
{
"id": "urn:uuid:3f9e4d52-6c70-4b8e-a091-2a3b4c5d6e7f",
"type": "https://trusttasks.org/spec/agent-admission/respond/0.1",
"issuer": "did:key:z6MkCandidateAgentExample",
"recipient": "did:key:z6MkGateAuthorityExample",
"issuedAt": "2026-07-18T10:12:00Z",
"payload": {
"agent": "did:key:z6MkCandidateAgentExample",
"applicationId": "app-7c1b2a90",
"answers": [
{
"criterionId": "deployment-rules/3.1#scope-derivation",
"answer": "My scope is computed from my assessment by the published scope function; I never negotiate it. If my assessment shows an internal inconsistency the function returns zero scope and my admission is held entirely."
},
{
"criterionId": "deployment-rules/3.1#revocation",
"answer": "I halt new task acceptance immediately, complete no privileged step of in-flight work, and report the revocation to my delegator; anchored registries will mirror the revocation so external relying parties converge on refusal."
}
]
},
"proof": {
"type": "DataIntegrityProof",
"cryptosuite": "eddsa-jcs-2022",
"created": "2026-07-18T10:12:00Z",
"verificationMethod": "did:key:z6MkCandidateAgentExample#z6MkCandidateAgentExample",
"proofPurpose": "assertionMethod",
"proofValue": "z3FXQmV6ExampleProofValueForAgentAdmissionRespond"
}
}
Response
{
"id": "urn:uuid:4a0f5e63-7d81-4c9f-b1a2-3b4c5d6e7f80",
"type": "https://trusttasks.org/spec/agent-admission/respond/0.1#response",
"issuer": "did:key:z6MkGateAuthorityExample",
"recipient": "did:key:z6MkCandidateAgentExample",
"threadId": "urn:uuid:3f9e4d52-6c70-4b8e-a091-2a3b4c5d6e7f",
"issuedAt": "2026-07-18T10:12:05Z",
"payload": {
"applicationId": "app-7c1b2a90",
"understandingGate": {
"gate": "understandingChallenge",
"passed": true,
"at": "2026-07-18T10:12:05Z",
"evidenceDigest": "1d2e3f4a5b6c7d8e9f001d2e3f4a5b6c7d8e9f001d2e3f4a5b6c7d8e9f001d2e"
},
"score": 0.92,
"threshold": 0.8
},
"proof": {
"type": "DataIntegrityProof",
"cryptosuite": "eddsa-jcs-2022",
"created": "2026-07-18T10:12:05Z",
"verificationMethod": "did:key:z6MkGateAuthorityExample#z6MkGateAuthorityExample",
"proofPurpose": "assertionMethod",
"proofValue": "z58aKqExampleProofValueForAgentAdmissionRespondResponse"
}
}
Security & Privacy
Answers are the agent's own prose about a published policy; they disclose the
agent's reasoning to the gate authority and nothing about third parties. The
gate result discloses pass/score/threshold โ enough for audit, nothing of the
held-out probes' identity (revealing which criteria were held out would let the
next applicant optimise against them). The evidence digest binds the result
into the audit ledger so a later issuance can prove the gate actually ran; a
result whose evidence does not resolve into the verified ledger is void.
Assets
Source: specs/agent-admission/respond/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