{
  "generated_at": "2026-07-25T05:09:51-07:00",
  "timezone": "America/Vancouver",
  "status": "warn",
  "strict": false,
  "summary": {
    "pass": 17,
    "warn": 2,
    "fail": 0,
    "meetings": 288,
    "documents": 8,
    "downloaded_documents": 8,
    "text_documents": 6,
    "items": 325,
    "bylaw_items": 185,
    "matched_bylaw_items": 140,
    "discussions": 40
  },
  "checks": [
    {
      "severity": "pass",
      "code": "meetings-found",
      "message": "Discovered 288 Council meetings."
    },
    {
      "severity": "pass",
      "code": "meeting-date-coverage",
      "message": "288 meetings have valid dates."
    },
    {
      "severity": "pass",
      "code": "duplicate-meetings",
      "message": "No duplicate meeting URLs found."
    },
    {
      "severity": "pass",
      "code": "documents-found",
      "message": "Discovered 8 Council documents."
    },
    {
      "severity": "pass",
      "code": "duplicate-documents",
      "message": "No duplicate document URLs found."
    },
    {
      "severity": "pass",
      "code": "document-urls",
      "message": "Council document URLs are structurally valid."
    },
    {
      "severity": "pass",
      "code": "download-failures",
      "message": "No recorded Council document download failures."
    },
    {
      "severity": "pass",
      "code": "pdf-download-mode",
      "message": "8 documents have local PDF records."
    },
    {
      "severity": "pass",
      "code": "text-extraction-coverage",
      "message": "6 of 8 downloaded documents produced text.",
      "details": {
        "none": 2,
        "pypdf": 6
      }
    },
    {
      "severity": "warn",
      "code": "ocr-failures",
      "message": "OCR fallback reported issues for 6 documents.",
      "details": [
        {
          "url": "https://pub-nanaimo.escribemeetings.com/FileStream.ashx?DocumentId=63569",
          "ocr_error": "Tesseract OCR executable was not found; install it or set TESSERACT_CMD"
        },
        {
          "url": "https://pub-nanaimo.escribemeetings.com/FileStream.ashx?DocumentId=64007",
          "ocr_error": "Tesseract OCR executable was not found; install it or set TESSERACT_CMD"
        },
        {
          "url": "https://pub-nanaimo.escribemeetings.com/FileStream.ashx?DocumentId=64085",
          "ocr_error": "Tesseract OCR executable was not found; install it or set TESSERACT_CMD"
        },
        {
          "url": "https://pub-nanaimo.escribemeetings.com:443/FileStream.ashx?DocumentId=64007",
          "ocr_error": "Tesseract OCR executable was not found; install it or set TESSERACT_CMD"
        },
        {
          "url": "https://pub-nanaimo.escribemeetings.com:443/FileStream.ashx?DocumentId=64085",
          "ocr_error": "Tesseract OCR executable was not found; install it or set TESSERACT_CMD"
        },
        {
          "url": "https://pub-nanaimo.escribemeetings.com:443/FileStream.ashx?DocumentId=63569",
          "ocr_error": "Tesseract OCR executable was not found; install it or set TESSERACT_CMD"
        }
      ]
    },
    {
      "severity": "pass",
      "code": "items-found",
      "message": "Extracted 325 Council items."
    },
    {
      "severity": "pass",
      "code": "duplicate-item-ids",
      "message": "No duplicate Council item IDs found."
    },
    {
      "severity": "warn",
      "code": "unknown-actions",
      "message": "Unrecognized Council action labels found.",
      "details": [
        "Second Readings"
      ]
    },
    {
      "severity": "pass",
      "code": "item-date-coverage",
      "message": "325 Council items have valid dates."
    },
    {
      "severity": "pass",
      "code": "bylaw-match-rate",
      "message": "140 of 185 extracted bylaw items match the local bylaw index."
    },
    {
      "severity": "pass",
      "code": "discussion-limit",
      "message": "Homepage discussions contains 40 items."
    },
    {
      "severity": "pass",
      "code": "discussion-order",
      "message": "Homepage Council discussions are sorted newest first."
    },
    {
      "severity": "pass",
      "code": "featured-source-match",
      "message": "Featured bylaw 7336 matches collected Council activity."
    },
    {
      "severity": "pass",
      "code": "collection-age",
      "message": "Council datasets are 0.1 hours old."
    }
  ]
}