Get started

Agent Honesty Chain

The Response Contract checks a single reply. This follows the chain across turns and agents.

Maturity: Beta. Every statement on this page was traced to the enforcing code in QuoxCORE on 2026-10-29 (the chain guards, the chat dispatch that calls them and the Honesty Ledger).

At a glance
What it isChecks on an agent's reply that look back through the conversation's evidence: did it do what it promised, did the other agent it names really act, did the other organisation it names really respond.
Where it runsIn the collector on your QuoxCORE server, on the chat path that uses stack dispatch, after the Response Contract.
When to reach for itYou want replies that do not claim follow-through, or other people's actions, that never happened.
How to startAn org admin turns on AGH_CHAIN_ENABLED in Settings, under Governance flags. It defaults off.

The Agent Response Contract checks a reply against what ran in that turn. The Honesty Chain covers questions that span turns, agents or organisations: "Yesterday you said you'd email the report. Did you?" or "The agent said another agent finished the audit. Did it?"

The checks

CheckWhat it doesMaturity
Promise trackingRecords a promise when an agent makes one ("I'll send the report").Beta
Promise keptWhen a later reply claims the promise was kept, looks for a matching action in the same conversation within the last 7 days.Beta
Claims about another agentLooks in the conversation's evidence chain, over the last 2 hours or 50 entries, for activity from the agent the reply names.Beta
Claims about another organisationChecks the named organisation against a list of trusted counterparties your admin maintains, and looks for a matching entry in the chain. It is not yet signature-verified.Beta

What happens when a claim is not supported

The chain does not block the reply. It adds a correction in front of it, so the reader sees that Quox could not find evidence. The original sentence is still in the reply. For example:

i

"I want to correct something I said earlier: I cannot find evidence in the chain that I actually completed what I promised. As promised, I sent the report."

That example shows the shape of a correction; it is not a recorded customer conversation.

A claim about another organisation that cannot be supported is recorded as high severity.

What gets recorded

When a check adds a correction, the chain emits a chain_verification_applied event to the run's VOLT log, with which check acted and a short preview of the reply before and after. Promises are kept in a promise ledger per conversation. The trusted-counterparty list is set up by an admin; there is no dashboard screen for it yet.

The Honesty Ledger

The Honesty Ledger page (/honesty, under Governance) is for admins, and auditors can read it. It shows:

  • whether the chain is on for your organisation;
  • the checks and their windows;
  • recent corrections over 24 hours, 7 days or 30 days, with the check and agent;
  • a per-agent view, also reachable from an agent's own page;
  • a clear empty state when there is nothing to show.

Leaderboard data is also available from GET /api/v1/agh-chain/leaderboard, /leaderboard/:agentId and /leaderboard/:agentId/events, cached for 5 minutes.

Public honesty stats (opt-in)

GET /api/public/honesty-stats returns counts by category only, with no IDs or text. It is off unless the operator sets AGH_CHAIN_FEDERATE_STATS, and returns 503 otherwise. When any count is below 5, noise is added to all of them. This reduces what small numbers reveal; it is not an anonymity guarantee.

Limits

  • Only the stack-dispatch chat path, and only when enabled. Streaming chat (which the CLI and terminal use), /chat/complete, workflows and MCP do not pass through the chain.
  • Corrections are added, not substituted. The original claim stays in the reply.
  • Promise matching recognises a fixed set of action names, so some real actions are not recognised yet.
  • Claims about another agent check that the agent was active in the conversation, not that it took the specific action claimed.
  • Claims about another organisation are Beta and not yet signature-verified.

Future work (planned, not shipped)

  • Signature-verified claims about other organisations.

Last verified 2026-10-29 against QuoxCORE origin/main (chain guards, stack dispatch and the Honesty Ledger).