{
  "version": 2,
  "service": "Data Quality Gate",
  "description": "Deterministic post-scrape data cleaner. Repairs how data was encoded -- residual HTML, mojibake (\"CafÃ©\" -> \"Café\"), invisible characters, non-breaking spaces -- and never what it says. Also returns a quality verdict (RELIABLE / USABLE_WITH_CLEANING / UNRELIABLE) with per-check facts. No LLM: identical input always produces byte-identical output.",
  "resources": [
    "https://www.aidatatools.dev/api/clean",
    "https://www.aidatatools.dev/api/clean/audit",
    "https://www.aidatatools.dev/api"
  ],
  "instructions": "CLEAN ($0.04): POST your scraper output to https://www.aidatatools.dev/api/clean -- a JSON array of row objects, a single object, or a CSV/text body. The response body IS the repaired data, in the shape you sent it. CLEAN + AUDIT ($0.12): the same at https://www.aidatatools.dev/api/clean/audit, plus a replayable, reversible ledger of every transformation. VERDICT ($0.01): POST a JSON array (or {\"rawJson\": [...]}) to https://www.aidatatools.dev/api for a score, per-check facts and a RELIABLE / USABLE_WITH_CLEANING / UNRELIABLE verdict. What is repaired automatically, what needs an explicit opt-in, and what is only ever reported is published in full at GET https://www.aidatatools.dev/api/clean -- read it before paying. Runtime 402 behaviour is authoritative over this static document: call GET https://www.aidatatools.dev/api for live payment state (payment.x402Enabled, payment.activeNetworks). Full reference at https://www.aidatatools.dev/llms-full.txt and https://www.aidatatools.dev/openapi.json."
}
