{
  "product_id": "elyreon.verification.claims",
  "version": "1.0.0",
  "status": "AVAILABLE",
  "billing_mode": "live",
  "title": "ELYREON Verification — claim checking against owned evidence",
  "summary": "Checks structured claims (a dataset, a column, an operator, an expected value) against ELYREON's own datasets and returns verified, contradicted, insufficient evidence or invalid input, with the rows examined as evidence.",
  "capability": "verification.claim_check",
  "customer": {
    "segment": "AI agents that must cite",
    "buyer": "agent developer, compliance tooling",
    "job_to_be_done": "stop an agent asserting a figure it cannot support"
  },
  "use_cases": [
    "check a CVE is in CISA KEV",
    "check an issuer filed a form",
    "check a dataset row count claim"
  ],
  "input_schema": {
    "type": "object",
    "additionalProperties": false,
    "properties": {
      "claims": {
        "type": "array",
        "minItems": 1,
        "maxItems": 20,
        "items": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "claim_id": {
              "type": "string",
              "maxLength": 64
            },
            "dataset": {
              "type": "string",
              "maxLength": 120
            },
            "operator": {
              "enum": [
                "exists",
                "equals",
                "gte",
                "lte",
                "contains"
              ]
            },
            "column": {
              "type": "string",
              "maxLength": 120
            },
            "expected": {},
            "filters": {
              "type": "object"
            }
          },
          "required": [
            "claim_id",
            "dataset",
            "operator"
          ]
        }
      },
      "max_rows_per_claim": {
        "type": "integer",
        "minimum": 1,
        "maximum": 5000,
        "default": 500
      }
    },
    "required": [
      "claims"
    ]
  },
  "output_schema": {
    "type": "object",
    "additionalProperties": false,
    "properties": {
      "product_id": {
        "type": "string"
      },
      "version": {
        "type": "string"
      },
      "generated_at": {
        "type": "string"
      },
      "verdicts": {
        "type": "array",
        "items": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "claim_id": {
              "type": "string"
            },
            "verdict": {
              "enum": [
                "verified",
                "contradicted",
                "insufficient_evidence",
                "invalid_input"
              ]
            },
            "observed": {},
            "expected": {},
            "evidence": {
              "type": "object"
            },
            "explanation": {
              "type": "string"
            }
          },
          "required": []
        }
      },
      "summary": {
        "type": "object"
      },
      "limitations": {
        "type": "array",
        "items": {
          "type": "string"
        }
      },
      "provenance": {
        "type": "array",
        "items": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "source_id": {
              "type": "string"
            },
            "engine": {
              "type": "string"
            },
            "endpoint": {
              "type": "string"
            },
            "request_digest": {
              "type": "string"
            },
            "retrieved_at": {
              "type": "string"
            },
            "rows_examined": {
              "type": "integer"
            },
            "freshness": {
              "type": "object"
            }
          },
          "required": []
        }
      }
    },
    "required": []
  },
  "auth": {
    "schemes": [
      "api_key",
      "mcp_oauth"
    ],
    "scopes": [
      "arsenal.verification.read"
    ],
    "tenant_isolation": "per-tenant upstream credential; no shared row cache"
  },
  "pricing": {
    "model": "per_call",
    "unit": "call",
    "list_price_minor": 100,
    "ceiling_minor": 400,
    "approved": true,
    "approval_ref": "INTERNAL-REC-2026-11-14-OWNER-ARSENAL-LIST-PRICES",
    "minimum_charge_minor": 0
  },
  "resources": {
    "max_input_bytes": 16384,
    "timeout_ms": 20000,
    "max_upstream_calls": 20,
    "max_output_rows": 200,
    "max_concurrency": 8
  },
  "errors": [
    "invalid_input",
    "unauthorized",
    "forbidden_scope",
    "insufficient_credit",
    "service_disabled",
    "upstream_unavailable",
    "resource_limit_exceeded",
    "timeout",
    "idempotency_conflict",
    "internal_error"
  ],
  "retry": {
    "idempotency": "required",
    "safe_to_retry": true,
    "on_failure": "released, no charge"
  },
  "data": {
    "sources": [
      "ELYREON Data Foundry datasets (24 lakes)"
    ],
    "licensing": "per-dataset rights_status gate; a dataset not commercial_ready is refused, not silently used",
    "restrictions": [
      "verdicts describe the sampled rows and say so"
    ]
  },
  "upstream": {
    "engine": "foundry",
    "endpoints": [
      "/v1/datasets",
      "/v1/datasets/{slug}",
      "/v1/datasets/{slug}/query"
    ]
  },
  "limitations": [
    "only verifies against datasets that exist in the Foundry catalog",
    "row-sampled: a verdict is over the rows examined, reported in evidence",
    "a detector or claim whose evidence cannot be examined is reported as insufficient_evidence rather than as a negative finding; absence is not provable by this product version"
  ],
  "docs": "docs/products/verification.md",
  "readiness": {
    "implementation": "present",
    "tests": "test/verification.test.ts",
    "benchmark": "units in UNIT_ECONOMICS.md"
  }
}