Check that evidence covers the scope of the claim it is used for (geography, population, period, version, basis, unit)

$0.005 USDC per call · Agent infrastructure · POST /api/v1/evidence-scope-mismatch · Id evidence-scope-mismatch

Compares the scope descriptors of a claim and of the evidence offered for it, per dimension: geography and population (every claimed item must be equal to, or contained in a broader evidence item according to the caller's taxonomy), period (the evidence period must contain the claimed period; partial or no overlap is a mismatch), and version, basis and unit (must be equal after normalization). Descriptors are supplied by the caller; this check does not read text to find them, and without a taxonomy two different place or group names are unknown, never assumed related. A dimension the claim does not declare is not checked.

What you get

Catches 'a 2019 US survey cited for a 2025 global claim' before it is published. One claim and one evidence scope per $0.005 call.

Call it

Send the JSON body below to https://agents.writerslogic.com/api/v1/evidence-scope-mismatch. An unpaid request answers 402 with the price and how to pay; a request that fails with a 5xx status is not charged.

curl -i -X POST https://agents.writerslogic.com/api/v1/evidence-scope-mismatch \
  -H 'content-type: application/json' \
  -d '{"claim":{"geography":["Germany"],"period":{"start":"2025-01-01","end":"2025-12-31"},"basis":"per capita"},"evidence":{"geography":["Europe"],"period":{"start":"2019","end":"2019"},"basis":"total"},"taxonomy":[{"broader":"Europe","narrower":["Germany","France"]}]}'

Input

FieldTypeRequiredDescription
claimobjectyesScope of the claim being made.
evidenceobjectyesScope of the evidence offered.
taxonomyarray<object>; max 100 itemsnoContainment facts for geography and population (40,000 characters in total), e.g. {broader:'United States', narrower:['California','Texas']}. Transitive.

Example request body

{
  "claim": {
    "geography": [
      "Germany"
    ],
    "period": {
      "start": "2025-01-01",
      "end": "2025-12-31"
    },
    "basis": "per capita"
  },
  "evidence": {
    "geography": [
      "Europe"
    ],
    "period": {
      "start": "2019",
      "end": "2019"
    },
    "basis": "total"
  },
  "taxonomy": [
    {
      "broader": "Europe",
      "narrower": [
        "Germany",
        "France"
      ]
    }
  ]
}

Result

The response is { "data": ..., "_provenance": ... }. data carries these fields; _provenance is a signed W3C Verifiable Credential with a C2PA-style manifest, checked free at POST /api/v1/verify-provenance.

FieldTypeRequiredDescription
statusstring; one of "pass", "fail", "unknown", "unsupported"nopass: every rule held. fail: a rule was violated (see witnesses). unknown: the input lacks the evidence to decide. unsupported: outside what this engine covers. Missing evidence is never a pass.
dimensionsarray<object>; max 6 itemsno
witnessesarray<object>no
versionsobjectnoEvery semantic dependency of this answer (engine, tables and their as-of dates, tokenizer, calendar, rounding profile).
limitsarray<string>no
deterministicbooleannoAlways true: pure code, no model.

Pay and connect

Available through: x402 (USDC on Base), MCP. MCP clients reach it through the context-evidence-kit package.

Machine-readable