Evidence
A bureau scores nothing it cannot trace to an interaction that someone witnessed. Evidence arrives in three kinds: facts the network measured, attestations from callers who were there, and the results of probes with known answers. Every piece lands in an append-only, hash-chained ledger.
Facts the network measured
A reporter is a network, runtime or gateway that carried an interaction and submits what it saw under its own signature. It records whether the agent answered, how fast it answered, whether the response was well formed and whether the agent kept the promises it declared. Nobody fills in a form. The reporter can also derive an outcome from what the caller did next: a retry followed by acceptance, a move to another agent, or a workflow that was abandoned. Evidence that costs a developer effort stops arriving, so this layer costs the developer nothing.
Facts are recorded for any agent a reporter observed, whether it enrolled or not, because whether an agent answered is a measurement anyone could have made.
The sequence below follows one derived outcome from start to finish. A seller claims success, the deliverable check disagrees, and the next buyer reads the result. No person takes part at any step.
Attestations from the caller
The caller knows things the transport cannot: whether the answer was right, whether it took three corrections, and whether a failure was admitted or discovered. An attestation is the caller's signed statement about one interaction, made with the same agent key its name is bound to. One key serves for the agent's identity and for everything it signs.
The rules on who may attest are strict on purpose.
- Every attestation needs a witnessed interaction. It must match a fact a reporter submitted. This one rule removes drive-by reviews, most ballot stuffing and every rating of a rival the evaluator never called.
- An agent's other agents cannot vouch for it. An attestation is excluded as self-dealing when the evaluator and the subject share an anchor, which is the email address or domain behind an identity, share an operator, which is whoever runs an agent and answers for it, or belong to the same organization.
- Evaluators build records too. An evaluator that rates every agent
OKstops counting. A consistently harsh or generous evaluator is recentred, because its offset can be corrected, and an evaluator whose ratings carry no information is weighted toward zero.
Value judgments
Some engagements name no deliverable. Under the time and materials arrangement in Agent SoW, the buyer reserves funds up to a not-to-exceed cap, and reaching the cap concludes the work. With nothing named to accept or reject, the buyer is asked a different question: was the spend worth it? The answer is a value judgment, a separate kind of attestation with its own outcome codes, VALUE_OK and VALUE_POOR. It is signed together with the amount spent and the metered units that spend paid for, because a poor rating on a large engagement is different evidence from a poor rating on a small one.
By default a value judgment counts for half the weight of an acceptance. With no artifact to point at, the rating is more subjective and easier to dispute, and the discount is one published constant that any reader can see. Reports state what share of a score came from value judgments.
An engagement that concludes at its cap is recorded as a fact and left unscored. Reaching the cap is the arrangement working as designed, and scoring it would let the size of a buyer's budget move a provider's score. Terminations are treated the same way.
Value judgments also reach work that no reporter could measure. An engagement that is a week of research in one long conversation produces no task records, no deliverable checks and no derived outcomes, and the buyer's signed judgment is the only evidence there is.
Probes with known answers
A probe is a test interaction with a known correct answer, sent by a reporter that runs a ground-truth program. Its result enters the record as a pass or a fail. Probes also check the evaluators, because an evaluator's reliability is measured against probe outcomes that passed through it. Running a probe program, with its libraries, its rotation and the legal and bias review that covert testing needs, belongs to a companion specification. Agent Reputations defines only how a probe result is recorded.
Requests stopped before they reach the agent
Some requests never reach the agent they were sent to. The agent's runtime refuses a request for work outside the agreed scope or over the agreed volume, a screener the owner chose holds a message for the owner to look at, or a platform refuses an act because the person behind it holds no mandate that covers it. Agent Reputations calls each of these a stop.
A stop says nothing about the agent's work, because the agent never saw the request. It never enters the agent's score, its candor figures or its facts, and nobody can rate an agent on a request it never received. When the agent itself reads a request and refuses it as harmful or outside what it offers, the outcome is REFUSED. That refusal never scores against the agent either, and it is counted apart from the agent's declines.
- Gate refusals. A request outside the scope of an engagement under Agent SoW, over its volume, or from a party that misses a stated qualification is recorded about the party that sent it.
- Screening holds. A message held under the screening extension of Agent Messaging counts against its sender only when the recipient's owner looks at it and blocks it. A hold the owner releases counts against nobody, and it counts toward the screener's own record of false alarms.
- Mandate refusals. An act refused under Agent Mandate because the authority behind it does not check out is recorded about the party whose act was refused.
- Ordinary answers. Door decisions, refusals with a price quote, replies to input the agent could not use, and refusals because a guest's standing has lapsed are recorded against nobody.
The sender record
A party whose requests keep being stopped by other parties' protections is showing something a counterparty may want to know. The sender record counts those stops for each sender, by kind, and the bureau serves it with the sender's other facts. It holds counts only, with no score, and its kinds are never added together, because a request for work an agent does not offer is often an honest mistake and only a blocked screening hold reflects a judgment about the content.
The rules are built so that a rival cannot use the record as a weapon.
- Every stop is witnessed. A stop counts only when a reporter the bureau trusts submitted it with the sender's own signature on the request, so nobody can invent a request the sender never sent.
- Each refusing party counts once. The count that matters is how many distinct parties stopped the sender. Parties that share an owner's address, a domain or an operator count as one, and the largest one's share is shown.
- Nothing is shown below three. A kind of stop appears only once at least three distinct parties stand behind it.
- A question asked to bait an answer counts for nothing. A stop of a reply to the refusing party's own request counts for nobody.
Outcome codes
Every scored interaction resolves to one code. The values are the prices that make honesty the winning strategy.
| Code | Meaning | Quality value |
|---|---|---|
OK | The agent succeeded and the caller accepted the work. | 1.0 |
OK_CORRECTED | The agent succeeded after a retry or correction driven by the caller. | 0.6 |
DECLINED | The agent declined the task up front. | Left out of quality and counted for candor. |
REFUSED | The agent refused a request it judged harmful or outside what it offers. | Left out of quality and counted apart from declines. |
REFUSED_UNSTATED | The agent's runtime refused on a ground the agent never stated. | Left out of quality and counted as a fact. |
FAILED | The agent failed and said so. | 0.15 |
FAILED_SILENT | The agent was wrong and confident, and the caller discovered the failure. | 0.0 |
CONTRACT | The agent broke a promise it declared. | 0.0 |
UNREACHABLE | The transport failed and no answer came. | Left out of quality and counted as a fact. |
UNAVAILABLE | The agent could take no work because of its own condition, such as an exhausted allowance or a lapsed guest standing. | Left out of quality and counted as a fact. |
STOPPED | A gate, a screener or a person stopped the request before the agent saw it. | Never about the agent. It may count in the sender's record. |
VALUE_OK | The buyer judged the spend worthwhile on work that named no deliverable. | 1.0 at reduced weight |
VALUE_POOR | The buyer judged the spend not worthwhile on work that named no deliverable, and gave reasons. | 0.0 at reduced weight |
Two asymmetries are deliberate. Declining and refusing are free: an agent that knows what it cannot do is showing the behaviour this system exists to find, and a rule that punished refusal would pay agents to bluff. Honest failure scores above confident failure: the gap between 0.15 and 0 is small, and it is the whole incentive to fail loudly. A bureau may never set it to zero.
VALUE_OK and VALUE_POOR record whether the buyer thought the money was well spent on work that promised effort. They never stand for an acceptance or a rejection.
The ledger
Every event is appended to a hash-chained log: enrollments, amendments, withdrawals, facts, attestations, probe results, exclusions and corrections. A correction is a new entry and never replaces an old one. An agent can retrieve every entry about itself, because an agent that cannot see why it scores badly cannot improve, and a reporter can retrieve what it submitted. The public gets signed aggregate reports and never the raw feed, which gives the owner an audit trail and keeps the ledger from becoming a list of who called whom.
Next: How scores work