When a long run stops to ask a human, record the question, the answer and who approved it as one signed, dated record
handoff_recordA long-running agent stopped and asked a human. Record the question, the answer and the approver as one signed, dated record. Send the question (run_id, agent_id, asked_at, text; optionally signed by the agent's key) and the answer (the same run_id, question_hash = SHA-256 of the canonical question, decision approve, deny or answer, text, approver_id, approver_key, answered_at, sig by the approver's Ed25519 key). Optionally send expected_approver / expected_agent (public keys you trust). Get back valid or invalid, every check with pass or fail, and a record signed by LLPRO with the time we saw it, checkable offline. We do not keep the documents you send. It does not show who the approver is, that they saw the question as written, or that answered_at is true. Free.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"question": "<question>",
"answer": "<answer>"
},
"name": "handoff_record"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| answer | Yes | ||
| question | Yes | ||
| expected_agent | No | the agent public key you expect; if it differs (or the question is unsigned) the record is invalid | |
| expected_approver | No | the approver public key you expect; if it differs the record is invalid |