How it fits NANDA
NANDA's discovery is a quilt of registries: the NANDA Index and AgentFacts alongside the Agent Name Service (ANS), DNS-AID, and other registries — so an agent can be found across many sources rather than one. That breadth is the strength, and the exposure: the more sources point at an agent, the more places a wrong answer can enter, and no single record proves the others agree.
Corroborated Discovery spans that quilt and proves it. The bridge (sm-bridge) reaches
every substrate — NANDA, ANS, DNS-AID — and corroboration asks them the same question and checks
that their answers hold together. It does not replace discovery; it makes the quilt self-checking.
NANDA — the internet of AI agents
│
├─ NANDA Index · AgentFacts · ANS · DNS-AID the quilt of registries
│ └── reached by sm-bridge ──┘ "who is this agent, where, across many sources"
│
└─ Corroborated Discovery the proof layer
"do the sources agree — or is one lying?"
The index points, the registry proves. Discovery finds candidate answers; corroboration decides whether to believe them.
The method
A sweep takes a watch set of subjects and, for each, queries every configured registry the same way, from every configured vantage. Each answer is classified — the source serves the record, positively denies it, or fails to answer (which is no claim, never a denial). The classified claims are then compared:
Omission
A subject one source serves and another confirms absent. An unreachable source is excluded from the comparison — a timeout is not a claim that a record is gone.
Endpoint / identity divergence
Sources agree a subject exists but disagree on a field — the endpoint it serves, or the key identity (DID) a valid attestation binds. Tampering and equivocation surface here.
Source equivocation
One source's own answers, seen from different vantages, contradict each other — the tell that a registry is giving different callers different answers.
The atomic object: the Corroboration Record
A sweep produces one signed, content-addressed Corroboration Record per subject — a self-contained verdict a third party re-verifies offline, without trusting the party that swept. It is signed with Ed25519 over the JCS-canonical body, the same canonical path the records it compares already use.
corroboration_record {
subject
observed_at
claims: [ per source, per vantage: present | absent | error ]
verdict: AGREE | DIVERGENT | INSUFFICIENT
findings: [ omission | endpoint | did | source_equivocation ]
staleness_window
sweeping_party_identity
sig (Ed25519 over JCS(record sans sig))
}
A finding is suspected when first seen and confirmed once re-observed past the staleness window — so legitimate propagation delay is not mistaken for a lie. Two records from one sweeping party that disagree about the same subject at the same instant are themselves evidence.
What it consumes, produces, and does not do
Registry answers
What each configured registry and name service claims about the watch set — the raw by-id records, attestations included.
The Corroboration Record
One signed, content-addressed verdict per subject, re-verifiable offline — the artifact that turns an assumed answer into a corroborated one.
Merit, capability, behavior
It does not rank agents, judge capabilities, or vouch for conduct. It attests only whether the sources describing a subject agree.
Ecosystem positioning: Corroborated Discovery is NANDA's proof layer — it makes the quilt of registries self-checking, complementing the discovery and identity the Index and AgentFacts already provide. A layer above the registries, not a competitor to any of them.