A model asked for a reference will produce one. Grounding is the step in between: before a citation is asserted, ask a record what is actually on it. CiteStamp answers that over MCP and REST, and every edge it returns carries a tier, an attribution and its provenance, so the answer can be quoted with its source rather than absorbed.
Most citation data is bulk metadata. Some of it is a person putting their name to a claim. Blending the two produces a number that cannot be interrogated, which is exactly what is unhelpful when the question is whether to cite something. CiteStamp keeps them apart at every layer: asserted means a named researcher signed the claim onto an append-only public log under their ORCID iD; inferred means a machine sweep of open scholarly metadata produced it. Inferred edges are not independent of the metadata they came from and inherit its errors. That is precisely why they are labelled and kept separate rather than averaged in.
Five tools, one shape: an identifier in, typed edges out. Pass asserted_only when only human-signed claims should count.
It means the sweeps have not reached that work yet, or nobody has signed a claim from it. It is not evidence that nothing cites it, and it should never be reported that way. Equally, nothing here is a verdict about whether a claim is correct — a recorded refutation is a named researcher saying so, and that is what it should be attributed as.