Check a long run's records signed by someone other than the agent, with a heartbeat on a clock. Agent transcripts and telemetry are not evidence
run_record_verifyCheck a long run's records signed by a key the records say is not the agent's (a host, runner or supervisor: the recorder), with a heartbeat on a clock. Send the records in order: each {v 1, type run-record, run_id, seq, kind start|heartbeat|event|end, at, prev, recorder_id, recorder_key, sig} chained by SHA-256; the start record names agent_id and heartbeat_s. Get back valid or invalid (signatures, chain, order), every check, heartbeat_kept, the run state (ended, running or silent), missed beats, and a summary signed by LLPRO with the time we saw it, checkable offline. Agent transcripts and telemetry are untrusted: carry only their SHA-256 as telemetry_hash. Pin expected_agent, expected_recorder and expected_head for the strongest result. We do not keep the records. It does not show who the recorder is or that the records are complete. Not an audit opinion, not a certification, not a qualified timestamp, not evidence of compliance. Free. Feeds the standards and regulatory road: run logs signed by someone other than the agent.
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": {
"records": "<records>"
},
"name": "run_record_verify"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| records | Yes | ||
| expected_head | No | the recorder's latest chain head you know of; if the last record sent is not it, the result is invalid (catches dropped newest records) | |
| expected_agent | No | the agent public key you expect; if it differs (or the start record names none) the result is invalid | |
| expected_records | No | the number of records you know exist; if a different number is sent the result is invalid | |
| expected_recorder | No | the recorder public key you trust; if it differs the result is invalid |