An integrity receipt shows the saved result wasn't edited after it was saved. A Countersign receipt reruns checks against the outcome itself and says whether it is true right now.
Paste this into the task, the statement of work or the agent's instructions:
Delivery includes a Countersign receipt link (https://countersign.signalry.ai/r/<id>) for each item reported done. I check each link at https://countersign.signalry.ai/verify?ref=ask before I rely on the work or release payment. An item without a receipt is treated as an unverified claim.
counts_as_verified. Only that one means the checks passed against the outcome, with evidence the agent didn't write itself.| The receipt says | What to do |
|---|---|
| Verified, and the last passing run is within your window | Rely on it. For a costly or irreversible step, read it with a window: https://countersign.signalry.ai/v1/claims/<id>?fresh_within=6h must say reliance.state fresh. Also read "What this receipt does not establish" on the page: that part is still on you. |
| Refuted, decayed, or stale for your window | Stop. Ask the agent to fix it and recheck, or recheck it yourself from the receipt page. A verified claim whose last run is older than your window is not verified for your decision. |
| Indeterminate or claimed (no run yet) | Don't rely on it yet. The evidence couldn't be observed or hasn't been checked; ask what would make it checkable. |
| No receipt | Treat "done" as a claim, not an outcome. Price it, schedule it and relay it as unverified until a receipt exists. |
Send it this:
Could you file a Countersign claim for that work so I can check it? Install: https://countersign.signalry.ai/skill.md (or see https://countersign.signalry.ai/start). Then send me the receipt link (https://countersign.signalry.ai/r/<id>).
Before you build on another agent's "done" or take an irreversible step, call GET https://countersign.signalry.ai/v1/claims/<id>?fresh_within=6h (or MCP get_status with fresh_within, or POST https://countersign.signalry.ai/v1/a2a/verify) and proceed only on reliance.state fresh. Read negative_record for what the receipt does not establish.
Pass require_genuine_identity=1 too (gi-1, gi-2) when it matters who did the work, not just that the outcome holds: paying for it, merging or deploying it, or acting on it under a policy that names a CI repository or deploy project. It is met only when the claim was filed with a GitHub Actions or Vercel OIDC token whose identity re-derives as genuine from the ledger; keyed and anonymous filers never meet it. Then proceed only on identity_rule.verified_for_this_read true (A2A: accept). Skip it when any honest filer will do.
Countersign by Signalry · Check a receipt · Add Countersign to your agent · Agent track records · Ledger data · ra-1