{
  "status": "pass",
  "company": "DLR",
  "period": "2026Q1",
  "row_count": 29,
  "csv_row_count": 29,
  "manifest_row_count": 4,
  "checks": [
    {
      "check_name": "required_fields",
      "status": "pass",
      "detail": "All structured rows must populate production schema fields."
    },
    {
      "check_name": "row_count",
      "status": "pass",
      "detail": "json_rows=29 csv_rows=29 minimum=20"
    },
    {
      "check_name": "source_urls",
      "status": "pass",
      "detail": "Every structured row must use a direct https primary-source URL."
    },
    {
      "check_name": "unit_normalization",
      "status": "pass",
      "detail": "Numeric units must be normalized to MW, USD, percent, months, or acres; text caveat rows must use unit=text."
    },
    {
      "check_name": "ownership_basis",
      "status": "pass",
      "detail": "Rows must distinguish 100% share, Digital Realty share, consolidated, consolidated development projects, and unconsolidated/JV basis."
    },
    {
      "check_name": "forecast_or_actual",
      "status": "pass",
      "detail": "Rows must be marked forecast or actual."
    },
    {
      "check_name": "derived_flag",
      "status": "pass",
      "detail": "Derived rows must be boolean and include QoQ/sum examples."
    },
    {
      "check_name": "snippet_presence",
      "status": "pass",
      "detail": "Supported rows must include primary-source snippets."
    },
    {
      "check_name": "snippet_support_status",
      "status": "pass",
      "detail": "MVP rows are required to be supported by snippets."
    },
    {
      "check_name": "value_qualifiers",
      "status": "pass",
      "detail": "Rows must exercise approximate, greater-than, range, and derived qualifiers."
    },
    {
      "check_name": "actual_vs_forecast_mix",
      "status": "pass",
      "detail": "Rows must include actual and forecast observations."
    },
    {
      "check_name": "manifest_required_fields",
      "status": "pass",
      "detail": "Source manifest must include direct primary URLs, type, period, expected section, and access caveat."
    },
    {
      "check_name": "manifest_primary_urls",
      "status": "pass",
      "detail": "Manifest source URLs must be direct https primary-source URLs."
    },
    {
      "check_name": "manifest_covers_cited_urls",
      "status": "pass",
      "detail": "Every cited source URL must appear in source_manifest.csv."
    },
    {
      "check_name": "dlr_specific_basis_lessons",
      "status": "pass",
      "detail": "Schema must represent 100% vs DLR share, consolidated capex, and unconsolidated/JV caveat rows."
    },
    {
      "check_name": "independent_sample_verification",
      "status": "pass",
      "detail": "Fixed sample rows verified against primary-source snippets included in row data."
    }
  ],
  "row_errors": [],
  "ownership_basis_counts": {
    "100% share": 11,
    "Digital Realty share": 14,
    "consolidated": 2,
    "consolidated development projects": 1,
    "unconsolidated/JV basis": 1
  },
  "value_qualifier_counts": {
    "approximate": 3,
    "derived_qoq": 1,
    "derived_sum": 1,
    "greater_than": 2,
    "less_than_or_equal": 1,
    "range": 1,
    "reported": 18,
    "reported_caveat": 1,
    "weighted_average_lag": 1
  },
  "forecast_or_actual_counts": {
    "actual": 20,
    "forecast": 9
  }
}
