{
  "date": "2026-10-22",
  "status": "Corrections published; primary-source verification remains partial",
  "launchReady": false,
  "counts": {
    "canada": {
      "rows": 2666,
      "national": 547,
      "regional": 2047,
      "riding": 72,
      "firms": 31,
      "primaryReviewed": 19,
      "flagged": 73,
      "auditChanges": 29,
      "duplicateGroups": 29
    },
    "us": {
      "directoryRaces": 661,
      "candidates": 1963,
      "forecastRaces": 470,
      "identityReviewRaces": 38,
      "normalizedTextFields": 32,
      "normalizedCandidateNames": 20
    },
    "bc": {
      "districts": 93,
      "candidates": 353,
      "historicalDistrictArithmeticChecks": 93,
      "resultsConnection": "not-connected"
    },
    "ontario": {
      "baselineMunicipalities": 444,
      "importedMunicipalities": 444,
      "races": 1713,
      "candidates": 6670,
      "positiveVoteRecords": 0
    },
    "toronto": {
      "pollRows": 26,
      "primaryCheckedRows": 10
    }
  },
  "corrections": [
    {
      "area": "US identities",
      "detail": "Repaired 32 broken-encoding text fields, including 20 candidate names. Diacritic matching now preserves accented names. Original source hash and before/after changes are retained."
    },
    {
      "area": "US forecast labels",
      "detail": "38 races have unresolved source-to-directory name or party discrepancies, including possible name variants. Their candidate-specific labels are withheld, source estimates use model-slot labels, and these races are excluded from personal pick-board choices. Raw source names remain in provenance; probabilities are not reassigned to replacement candidates."
    },
    {
      "area": "Canadian federal polls",
      "detail": "29 record-level metadata/figure patches applied. Fixed a mixed all-respondent/decided Liaison record, Green support in a Léger release, and a Mainstreet sample transcription. Matching duplicate entries were consolidated with original transcriptions retained."
    },
    {
      "area": "Overlapping trackers",
      "detail": "The final Nanos April 27 one-day and two-day samples are retained as distinct, labelled variants. The two-day ballot figures and decided sample were corrected against the original report."
    },
    {
      "area": "Toronto polls",
      "detail": "Nine Liaison releases and the latest Nanos release now have primary-source links and review labels; remaining supplied rows stay explicitly unverified."
    }
  ],
  "remaining": [
    {
      "priority": "Before live coverage",
      "area": "BC results",
      "detail": "Candidate coverage is checked, but resultsStatus is not-connected. Connect and test the official results feed before promising live BC returns."
    },
    {
      "priority": "Review queue",
      "area": "Canadian polling",
      "detail": "73 records remain flagged. They remain in the ledger but are excluded from chart dots and descriptive trend lines. Link availability is not verification of a poll’s figures."
    },
    {
      "priority": "Review queue",
      "area": "US model identities",
      "detail": "38 races need source-model reconciliation. Candidate directory date remains 2026-10-21. Name variants and real roster conflicts require individual review."
    },
    {
      "priority": "Review queue",
      "area": "Toronto compilation",
      "detail": "16 supplied poll rows still lack a recorded primary-source check."
    },
    {
      "priority": "Operational check",
      "area": "Election-night updates",
      "detail": "No test before polls close proves that every upstream provider will publish complete, timely election-night data. Live returns, projections and rehearsal data must remain separate."
    }
  ],
  "identityReview": [
    {
      "id": "house:0408",
      "label": "AZ-8",
      "chamber": "house",
      "source": "https://www.poliwave.com/us/fed/polls/house/az-08",
      "directorySource": "https://www.thegreenpapers.com/G26/AZ",
      "issues": [
        "Kirsten Engel is not uniquely matched by name and party in the dated directory.",
        "Debbie Lesko is not uniquely matched by name and party in the dated directory."
      ]
    },
    {
      "id": "house:0604",
      "label": "CA-4",
      "chamber": "house",
      "source": "https://www.poliwave.com/us/fed/polls/house/ca-04",
      "directorySource": "https://www.thegreenpapers.com/G26/CA",
      "issues": [
        "Ray Riehle is not uniquely matched by name and party in the dated directory."
      ]
    },
    {
      "id": "house:0606",
      "label": "CA-6",
      "chamber": "house",
      "source": "https://www.poliwave.com/us/fed/polls/house/ca-06",
      "directorySource": "https://www.thegreenpapers.com/G26/CA",
      "issues": [
        "Kevin Kiley is not uniquely matched by name and party in the dated directory."
      ]
    },
    {
      "id": "house:0803",
      "label": "CO-3",
      "chamber": "house",
      "source": "https://www.poliwave.com/us/fed/polls/house/co-03",
      "directorySource": "https://www.thegreenpapers.com/G26/CO",
      "issues": [
        "Heather Barton is not uniquely matched by name and party in the dated directory."
      ]
    },
    {
      "id": "house:0804",
      "label": "CO-4",
      "chamber": "house",
      "source": "https://www.poliwave.com/us/fed/polls/house/co-04",
      "directorySource": "https://www.thegreenpapers.com/G26/CO",
      "issues": [
        "Tim Veldhuizen is not uniquely matched by name and party in the dated directory."
      ]
    },
    {
      "id": "house:0805",
      "label": "CO-5",
      "chamber": "house",
      "source": "https://www.poliwave.com/us/fed/polls/house/co-05",
      "directorySource": "https://www.thegreenpapers.com/G26/CO",
      "issues": [
        "Roy Matthewson is not uniquely matched by name and party in the dated directory."
      ]
    },
    {
      "id": "house:0901",
      "label": "CT-1",
      "chamber": "house",
      "source": "https://www.poliwave.com/us/fed/polls/house/ct-01",
      "directorySource": "https://www.thegreenpapers.com/G26/CT",
      "issues": [
        "John Larson is not uniquely matched by name and party in the dated directory."
      ]
    },
    {
      "id": "house:1502",
      "label": "HI-2",
      "chamber": "house",
      "source": "https://www.poliwave.com/us/fed/polls/house/hi-02",
      "directorySource": "https://www.thegreenpapers.com/G26/HI",
      "issues": [
        "Edward Codelia is not uniquely matched by name and party in the dated directory."
      ]
    },
    {
      "id": "house:1805",
      "label": "IN-5",
      "chamber": "house",
      "source": "https://www.poliwave.com/us/fed/polls/house/in-05",
      "directorySource": "https://www.thegreenpapers.com/G26/IN",
      "issues": [
        "J. D. Ford is not uniquely matched by name and party in the dated directory."
      ]
    },
    {
      "id": "house:2001",
      "label": "KS-1",
      "chamber": "house",
      "source": "https://www.poliwave.com/us/fed/polls/house/ks-01",
      "directorySource": "https://www.thegreenpapers.com/G26/KS",
      "issues": [
        "Craig Musser is not uniquely matched by name and party in the dated directory."
      ]
    },
    {
      "id": "house:2004",
      "label": "KS-4",
      "chamber": "house",
      "source": "https://www.poliwave.com/us/fed/polls/house/ks-04",
      "directorySource": "https://www.thegreenpapers.com/G26/KS",
      "issues": [
        "Paul Catanese is not uniquely matched by name and party in the dated directory."
      ]
    },
    {
      "id": "house:2205",
      "label": "LA-5",
      "chamber": "house",
      "source": "https://www.poliwave.com/us/fed/polls/house/la-05",
      "directorySource": "https://www.thegreenpapers.com/G26/LA",
      "issues": [
        "Source model has no candidate names."
      ]
    },
    {
      "id": "house:2206",
      "label": "LA-6",
      "chamber": "house",
      "source": "https://www.poliwave.com/us/fed/polls/house/la-06",
      "directorySource": "https://www.thegreenpapers.com/G26/LA",
      "issues": [
        "Source model has no candidate names."
      ]
    },
    {
      "id": "house:2613",
      "label": "MI-13",
      "chamber": "house",
      "source": "https://www.poliwave.com/us/fed/polls/house/mi-13",
      "directorySource": "https://www.thegreenpapers.com/G26/MI",
      "issues": [
        "T.P. Nykoriak is not uniquely matched by name and party in the dated directory."
      ]
    },
    {
      "id": "house:2703",
      "label": "MN-3",
      "chamber": "house",
      "source": "https://www.poliwave.com/us/fed/polls/house/mn-03",
      "directorySource": "https://www.thegreenpapers.com/G26/MN",
      "issues": [
        "Quentin Wittrock is not uniquely matched by name and party in the dated directory."
      ]
    },
    {
      "id": "house:2705",
      "label": "MN-5",
      "chamber": "house",
      "source": "https://www.poliwave.com/us/fed/polls/house/mn-05",
      "directorySource": "https://www.thegreenpapers.com/G26/MN",
      "issues": [
        "Dalia Al-Aqidi is not uniquely matched by name and party in the dated directory."
      ]
    },
    {
      "id": "house:3001",
      "label": "MT-1",
      "chamber": "house",
      "source": "https://www.poliwave.com/us/fed/polls/house/mt-01",
      "directorySource": "https://www.thegreenpapers.com/G26/MT",
      "issues": [
        "Kimberly Persico is not uniquely matched by name and party in the dated directory."
      ]
    },
    {
      "id": "house:3902",
      "label": "OH-2",
      "chamber": "house",
      "source": "https://www.poliwave.com/us/fed/polls/house/oh-02",
      "directorySource": "https://www.thegreenpapers.com/G26/OH",
      "issues": [
        "Jennifer Mazzuckelli is not uniquely matched by name and party in the dated directory."
      ]
    },
    {
      "id": "house:3904",
      "label": "OH-4",
      "chamber": "house",
      "source": "https://www.poliwave.com/us/fed/polls/house/oh-04",
      "directorySource": "https://www.thegreenpapers.com/G26/OH",
      "issues": [
        "Tamie Wilson is not uniquely matched by name and party in the dated directory."
      ]
    },
    {
      "id": "house:4201",
      "label": "PA-1",
      "chamber": "house",
      "source": "https://www.poliwave.com/us/fed/polls/house/pa-01",
      "directorySource": "https://www.thegreenpapers.com/G26/PA",
      "issues": [
        "John Hoban is not uniquely matched by name and party in the dated directory."
      ]
    },
    {
      "id": "house:4204",
      "label": "PA-4",
      "chamber": "house",
      "source": "https://www.poliwave.com/us/fed/polls/house/pa-04",
      "directorySource": "https://www.thegreenpapers.com/G26/PA",
      "issues": [
        "Madeleine Dean is not uniquely matched by name and party in the dated directory.",
        "Milan Patel is not uniquely matched by name and party in the dated directory."
      ]
    },
    {
      "id": "house:4210",
      "label": "PA-10",
      "chamber": "house",
      "source": "https://www.poliwave.com/us/fed/polls/house/pa-10",
      "directorySource": "https://www.thegreenpapers.com/G26/PA",
      "issues": [
        "Isabelle Harman is not uniquely matched by name and party in the dated directory."
      ]
    },
    {
      "id": "house:4211",
      "label": "PA-11",
      "chamber": "house",
      "source": "https://www.poliwave.com/us/fed/polls/house/pa-11",
      "directorySource": "https://www.thegreenpapers.com/G26/PA",
      "issues": [
        "Jeffrey Wilder is not uniquely matched by name and party in the dated directory."
      ]
    },
    {
      "id": "house:4705",
      "label": "TN-5",
      "chamber": "house",
      "source": "https://www.poliwave.com/us/fed/polls/house/tn-05",
      "directorySource": "https://www.thegreenpapers.com/G26/TN",
      "issues": [
        "Andy Ogles is not uniquely matched by name and party in the dated directory."
      ]
    },
    {
      "id": "house:4706",
      "label": "TN-6",
      "chamber": "house",
      "source": "https://www.poliwave.com/us/fed/polls/house/tn-06",
      "directorySource": "https://www.thegreenpapers.com/G26/TN",
      "issues": [
        "Megan Barry is not uniquely matched by name and party in the dated directory.",
        "Chris Monday is not uniquely matched by name and party in the dated directory."
      ]
    },
    {
      "id": "house:4807",
      "label": "TX-7",
      "chamber": "house",
      "source": "https://www.poliwave.com/us/fed/polls/house/tx-07",
      "directorySource": "https://www.thegreenpapers.com/G26/TX",
      "issues": [
        "Ngabo Espoir is not uniquely matched by name and party in the dated directory."
      ]
    },
    {
      "id": "house:4815",
      "label": "TX-15",
      "chamber": "house",
      "source": "https://www.poliwave.com/us/fed/polls/house/tx-15",
      "directorySource": "https://www.thegreenpapers.com/G26/TX",
      "issues": [
        "Monica De La Cruz is not uniquely matched by name and party in the dated directory."
      ]
    },
    {
      "id": "house:4820",
      "label": "TX-20",
      "chamber": "house",
      "source": "https://www.poliwave.com/us/fed/polls/house/tx-20",
      "directorySource": "https://www.thegreenpapers.com/G26/TX",
      "issues": [
        "Anthony Tristan is not uniquely matched by name and party in the dated directory."
      ]
    },
    {
      "id": "house:4821",
      "label": "TX-21",
      "chamber": "house",
      "source": "https://www.poliwave.com/us/fed/polls/house/tx-21",
      "directorySource": "https://www.thegreenpapers.com/G26/TX",
      "issues": [
        "Dan McQueen is not uniquely matched by name and party in the dated directory."
      ]
    },
    {
      "id": "house:4828",
      "label": "TX-28",
      "chamber": "house",
      "source": "https://www.poliwave.com/us/fed/polls/house/tx-28",
      "directorySource": "https://www.thegreenpapers.com/G26/TX",
      "issues": [
        "Adriel Ventura Lopez is not uniquely matched by name and party in the dated directory."
      ]
    },
    {
      "id": "house:5000",
      "label": "VT-AL",
      "chamber": "house",
      "source": "https://www.poliwave.com/us/fed/polls/house/vt-al",
      "directorySource": "https://www.thegreenpapers.com/G26/VT",
      "issues": [
        "Mark Coester is not uniquely matched by name and party in the dated directory."
      ]
    },
    {
      "id": "house:5105",
      "label": "VA-5",
      "chamber": "house",
      "source": "https://www.poliwave.com/us/fed/polls/house/va-05",
      "directorySource": "https://www.thegreenpapers.com/G26/VA",
      "issues": [
        "Chris Register is not uniquely matched by name and party in the dated directory."
      ]
    },
    {
      "id": "house:5401",
      "label": "WV-1",
      "chamber": "house",
      "source": "https://www.poliwave.com/us/fed/polls/house/wv-01",
      "directorySource": "https://www.thegreenpapers.com/G26/WV",
      "issues": [
        "Isaiah Rucker is not uniquely matched by name and party in the dated directory."
      ]
    },
    {
      "id": "house:5402",
      "label": "WV-2",
      "chamber": "house",
      "source": "https://www.poliwave.com/us/fed/polls/house/wv-02",
      "directorySource": "https://www.thegreenpapers.com/G26/WV",
      "issues": [
        "Chris Whitcomb is not uniquely matched by name and party in the dated directory."
      ]
    },
    {
      "id": "house:5504",
      "label": "WI-4",
      "chamber": "house",
      "source": "https://www.poliwave.com/us/fed/polls/house/wi-04",
      "directorySource": "https://www.thegreenpapers.com/G26/WI",
      "issues": [
        "Purnima Nath is not uniquely matched by name and party in the dated directory."
      ]
    },
    {
      "id": "house:5508",
      "label": "WI-8",
      "chamber": "house",
      "source": "https://www.poliwave.com/us/fed/polls/house/wi-08",
      "directorySource": "https://www.thegreenpapers.com/G26/WI",
      "issues": [
        "Mark Scheffler is not uniquely matched by name and party in the dated directory."
      ]
    },
    {
      "id": "senate:IA",
      "label": "Iowa",
      "chamber": "senate",
      "source": "https://www.poliwave.com/us/ia/sen-fed",
      "directorySource": "https://www.thegreenpapers.com/G26/IA",
      "issues": [
        "Ashley Hinson is not uniquely matched by name and party in the dated directory."
      ]
    },
    {
      "id": "senate:SC",
      "label": "South Carolina",
      "chamber": "senate",
      "source": "https://www.poliwave.com/us/sc/sen-fed",
      "directorySource": "https://www.thegreenpapers.com/G26/SC",
      "issues": [
        "Darline Graham is not uniquely matched by name and party in the dated directory."
      ]
    }
  ],
  "evidence": {
    "checkedAt": "2026-10-22",
    "bcCandidates": {
      "source": "https://elections.bc.ca/2026election/2026-provincial-general-election-candidates.csv",
      "sha256": "7f7b03e41819b6880c885003a6e2d2e2807a8eab00b58be46056478075cb0acf",
      "sourceRows": 353,
      "exactMatches": 353,
      "missing": 0,
      "extra": 0,
      "encoding": "Windows-1252"
    },
    "houseOfficeholders": {
      "source": "https://clerk.house.gov/xml/lists/MemberData.xml",
      "sha256": "01833c6c646873b2247950e8ab9c7ecc2c57fd2bf019d1014bd64a58b496ed3d",
      "publishDate": "October 1, 2026",
      "officialOccupiedEntries": 439,
      "officeholderStateSurnameMatches": 433,
      "unmatched": [],
      "partyConflicts": [],
      "limitation": "Automated state/surname and party consistency against an October 1 snapshot, not individual ballot certification or proof of redistricted-seat incumbency.",
      "method": "State and surname, with shared given-name tokens used only to disambiguate multiple matches"
    },
    "canadaLinkChecks": [
      {
        "id": "ca-2",
        "url": "https://storage.ghost.io/c/5a/2c/5a2c6702-fc8c-4232-bdc0-33fad8d71a80/content/files/2026/06/2026.06.22-National-Graphs-1.pdf",
        "status": 200,
        "finalURL": "https://storage.ghost.io/c/5a/2c/5a2c6702-fc8c-4232-bdc0-33fad8d71a80/content/files/2026/06/2026.06.22-National-Graphs-1.pdf",
        "ext": "pdf",
        "bytes": 981215,
        "sha256": "dc0727a824a965e702fff770bf15d30e061ddb147811eac1cf8a3e6035cb1561"
      },
      {
        "id": "ca-0",
        "url": "https://storage.ghost.io/c/5a/2c/5a2c6702-fc8c-4232-bdc0-33fad8d71a80/content/files/2026/06/2026.06.29-National-Tracker-Graphs.pdf",
        "status": 200,
        "finalURL": "https://storage.ghost.io/c/5a/2c/5a2c6702-fc8c-4232-bdc0-33fad8d71a80/content/files/2026/06/2026.06.29-National-Tracker-Graphs.pdf",
        "ext": "pdf",
        "bytes": 973137,
        "sha256": "9c9953ed79795ebef4e877f60bbe53df718aed29c2378c22805dca4a0f1ba8a4"
      },
      {
        "id": "ca-1",
        "url": "https://press.liaisonstrategies.ca/federal-tracker-liberals-lead-by-9-as-race-holds-steady/",
        "status": 200,
        "finalURL": "https://press.liaisonstrategies.ca/federal-tracker-liberals-lead-by-9-as-race-holds-steady/",
        "ext": "html",
        "bytes": 24786,
        "sha256": "c6b0c847dbc723541e00fd3f40b52f4f3968d213cd8ddc15491e4c8ae158b2f4"
      },
      {
        "id": "ca-3",
        "url": "https://press.liaisonstrategies.ca/federal-tracker-liberals-lead-by-8-as-conservatives-gain-ground/",
        "status": 200,
        "finalURL": "https://press.liaisonstrategies.ca/federal-tracker-liberals-lead-by-8-as-conservatives-gain-ground/",
        "ext": "html",
        "bytes": 27506,
        "sha256": "d2c2f176c38e97a49e5dc8496caae0aaba83cb1c3f0bd0a036ff73c2a91a24a4"
      },
      {
        "id": "ca-4",
        "url": "https://leger360.com/wp-content/uploads/2026/06/Leger_Fed_Pol_May2026.pdf",
        "status": 200,
        "finalURL": "https://leger360.com/wp-content/uploads/2026/06/Leger_Fed_Pol_May2026.pdf",
        "ext": "pdf",
        "bytes": 1047801,
        "sha256": "fd968d554f361b9fcbbacb5e0d849b5a7fbb628d93733293c9a06ae67b9bf781"
      },
      {
        "id": "ca-8",
        "url": "https://niknanos.substack.com/p/canadas-political-tightrope-economic",
        "status": 200,
        "finalURL": "https://niknanos.substack.com/p/canadas-political-tightrope-economic",
        "ext": "html",
        "bytes": 195,
        "sha256": "5b131ca14aa96311d3432b0062c7443d3b0e6346ec279bd376a75f0a76bcd5d7"
      },
      {
        "id": "ca-9",
        "url": "https://nanos.co/wp-content/uploads/2025/12/Political-Package-2025-12-26-FOR-RELEASE.pdf",
        "status": 404,
        "finalURL": "https://nanos.co/wp-content/uploads/2025/12/Political-Package-2025-12-26-FOR-RELEASE.pdf",
        "ext": "html",
        "bytes": 146,
        "sha256": "55f7d9e99b8e2d4e0e193b2f0275501e6d9c1ebd29cadbea6a0da48a8587e3e0"
      },
      {
        "id": "ca-6",
        "url": "https://nanos.co/wp-content/uploads/2026/01/Political-Package-2026-01-23-FOR-RELEASE.pdf",
        "status": 200,
        "finalURL": "https://nanos.co/wp-content/uploads/2026/01/Political-Package-2026-01-23-FOR-RELEASE.pdf",
        "ext": "pdf",
        "bytes": 1804182,
        "sha256": "3d7dee5d76a22b1a98181555b8f481f8c4e892be627a31bf1d7da804e3d7a429"
      },
      {
        "id": "ca-10",
        "url": "https://niknanos.substack.com/p/jobs-trump-all-canadians-fixate-on",
        "status": 200,
        "finalURL": "https://niknanos.substack.com/p/jobs-trump-all-canadians-fixate-on",
        "ext": "html",
        "bytes": 195,
        "sha256": "5b131ca14aa96311d3432b0062c7443d3b0e6346ec279bd376a75f0a76bcd5d7"
      },
      {
        "id": "ca-7",
        "url": "https://nanos.co/wp-content/uploads/2026/01/Political-Package-2026-01-02-FOR-RELEASE.pdf",
        "status": 200,
        "finalURL": "https://nanos.co/wp-content/uploads/2026/01/Political-Package-2026-01-02-FOR-RELEASE.pdf",
        "ext": "pdf",
        "bytes": 1950057,
        "sha256": "cb82de7ac689f9fcdb7873ffc565be7470d7ccfa40534f5e4e349e440393f0d7"
      },
      {
        "id": "ca-13",
        "url": "https://researchco.ca/2025/04/27/cdnpoli-lateapril2025/",
        "status": 200,
        "finalURL": "https://researchco.ca/2025/04/27/cdnpoli-lateapril2025/",
        "ext": "html",
        "bytes": 139163,
        "sha256": "482033895db4bf7e6fffb2db1bfc0c99b627b0372469f74591d9c47a22537372"
      },
      {
        "id": "ca-14",
        "url": "https://nanos.co/wp-content/uploads/2025/04/2025-2783-ELXN-FED-2025-04-27-Field-Ended.pdf",
        "status": 200,
        "finalURL": "https://nanos.co/wp-content/uploads/2025/04/2025-2783-ELXN-FED-2025-04-27-Field-Ended.pdf",
        "ext": "pdf",
        "bytes": 1609045,
        "sha256": "9f9da2855ee85aacebb648cffb553312dd57785d2af75978450d5388a56b6ffa"
      },
      {
        "id": "ca-11",
        "url": "https://abacusdata.ca/abacus-data-poll-political-opinions-stable-as-canadians-settle-into-summer-even-as-trump-tariffs-cast-a-shadow/",
        "status": 200,
        "finalURL": "https://abacusdata.ca/abacus-data-poll-political-opinions-stable-as-canadians-settle-into-summer-even-as-trump-tariffs-cast-a-shadow/",
        "ext": "html",
        "bytes": 99737,
        "sha256": "22c3f3d27c9db2875dd5419630f67e34baf7288919961f8c6c968e36f2c461d8"
      },
      {
        "id": "ca-5",
        "url": "https://www.ekospolitics.com/index.php/2026/04/liberals-hold-commanding-lead-in-tightened-race/",
        "status": 200,
        "finalURL": "https://www.ekospolitics.com/index.php/2026/04/liberals-hold-commanding-lead-in-tightened-race/",
        "ext": "html",
        "bytes": 109216,
        "sha256": "dd095b88780c77ae9e7b41da6b5b31d77eefc8b0e4ac889cf06cbcb273c92c4b"
      },
      {
        "id": "ca-12",
        "url": "https://sparkadvocacy.ca/insights/2025/06/us-style-polarization-in-canada-maybe-not",
        "status": 200,
        "finalURL": "https://sparkadvocacy.ca/insights/2025/06/us-style-polarization-in-canada-maybe-not",
        "ext": "html",
        "bytes": 51233,
        "sha256": "4e77367f972812a495472ee827da4d09940e78571ead83bac93006ed7c72b2b2"
      },
      {
        "id": "ca-15",
        "url": "https://press.liaisonstrategies.ca/national-tracker-liberals-43-conservatives-37-again/",
        "status": 200,
        "finalURL": "https://press.liaisonstrategies.ca/national-tracker-liberals-43-conservatives-37-again/",
        "ext": "html",
        "bytes": 22038,
        "sha256": "5648a7c849d81bdd7f79164f7b4c3390e4731e55ace6c37149be5500048d5951"
      },
      {
        "id": "ca-17",
        "url": "https://www.mainstreetresearch.ca/post/canadian-federal-election-daily-tracker-poll-day-30",
        "status": 200,
        "finalURL": "https://www.mainstreetresearch.ca/post/canadian-federal-election-daily-tracker-poll-day-30",
        "ext": "html",
        "bytes": 29932,
        "sha256": "c984027303e8ef0bc0a5fe30c575d23bf7e0b3bc0bdb5d852aed293e6d168889"
      },
      {
        "id": "ca-16",
        "url": "https://cdn.prod.website-files.com/66c8dfb086a015b3b519e988/680599c20d3c9a1f4c25f31c_2025-04-21_CAN_Daily_Tracker_Public.pdf",
        "status": 200,
        "finalURL": "https://cdn.prod.website-files.com/66c8dfb086a015b3b519e988/680599c20d3c9a1f4c25f31c_2025-04-21_CAN_Daily_Tracker_Public.pdf",
        "ext": "pdf",
        "bytes": 5393439,
        "sha256": "481ebe3c37fafa2c4ab43a59eb37744c0da719c580f6c0550522e140127d8172"
      },
      {
        "id": "ca-19",
        "url": "https://cdn.prod.website-files.com/66c8dfb086a015b3b519e988/6802c6cf087bc55f9a3c5c48_2025-04-19_CAN_Daily_Tracker_Public.pdf",
        "status": 200,
        "finalURL": "https://cdn.prod.website-files.com/66c8dfb086a015b3b519e988/6802c6cf087bc55f9a3c5c48_2025-04-19_CAN_Daily_Tracker_Public.pdf",
        "ext": "pdf",
        "bytes": 5393508,
        "sha256": "59280f083f01bdadc111fdd58f454958a3fcd0473cb8c7f81da9feff52b922dc"
      },
      {
        "id": "ca-20",
        "url": "https://www.mainstreetresearch.ca/post/canadian-federal-election-daily-tracker-poll-day-28",
        "status": 200,
        "finalURL": "https://www.mainstreetresearch.ca/post/canadian-federal-election-daily-tracker-poll-day-28",
        "ext": "html",
        "bytes": 29932,
        "sha256": "eb9bb965a68978295481e4e624e83662c2a7609b6fbc1ef8b5526498c73966f2"
      },
      {
        "id": "ca-21",
        "url": "https://www.ekospolitics.com/index.php/2025/04/massive-gender-divide-underpins-tightened-race/",
        "status": 200,
        "finalURL": "https://www.ekospolitics.com/index.php/2025/04/massive-gender-divide-underpins-tightened-race/",
        "ext": "html",
        "bytes": 115728,
        "sha256": "64cb8cfef6eeb3342c199b6248da05a2865b4f1051b5034bc316c44da1a4e1b7"
      },
      {
        "id": "ca-18",
        "url": "https://innovativeresearch.ca/wp-content/uploads/2025/04/CTM-2504-Wave-3-Comparative-Vote-RELEASE-2025-04-23.pdf",
        "status": 200,
        "finalURL": "https://innovativeresearch.ca/wp-content/uploads/2025/04/CTM-2504-Wave-3-Comparative-Vote-RELEASE-2025-04-23.pdf",
        "ext": "pdf",
        "bytes": 1108516,
        "sha256": "13ff35e29271f5e813e1553d69595a84d243431c4ca00fcfd9772b10d70c1ec7"
      },
      {
        "id": "ca-22",
        "url": "https://ekospolitics.com/wp-content/uploads/20250417datatables_5day.pdf",
        "status": 200,
        "finalURL": "https://ekospolitics.com/wp-content/uploads/20250417datatables_5day.pdf",
        "ext": "pdf",
        "bytes": 75247,
        "sha256": "422d84da1346a63087482659d0348b131f7f3358b95f32b85f2ab42d01d5c68d"
      },
      {
        "id": "ca-25",
        "url": "https://cdn.prod.website-files.com/66c8dfb086a015b3b519e988/67f854633aec0c5da2bdd0d8_2025-04-11_CAN_Daily_Tracker_Public.pdf",
        "status": 200,
        "finalURL": "https://cdn.prod.website-files.com/66c8dfb086a015b3b519e988/67f854633aec0c5da2bdd0d8_2025-04-11_CAN_Daily_Tracker_Public.pdf",
        "ext": "pdf",
        "bytes": 5404948,
        "sha256": "03cb5f1bc32ace5cd4719092748546e769cec85ab97606b11708915dae30fcd0"
      },
      {
        "id": "ca-26",
        "url": "https://www.mainstreetresearch.ca/post/canadian-federal-election-daily-tracker-poll-day-20",
        "status": 200,
        "finalURL": "https://www.mainstreetresearch.ca/post/canadian-federal-election-daily-tracker-poll-day-20",
        "ext": "html",
        "bytes": 29932,
        "sha256": "df7bcfe5861b4d505e13aeafff1370b70d3849ae4800aecc6963a3ff408fd329"
      },
      {
        "id": "ca-23",
        "url": "https://abacusdata.ca/2025-federal-election-poll-liberals-lead-by-4-2/",
        "status": 200,
        "finalURL": "https://abacusdata.ca/2025-federal-election-poll-liberals-lead-by-4-2/",
        "ext": "html",
        "bytes": 103139,
        "sha256": "3f5907ca5854332e53b66902322c98c0dd05ad5070d45ae57537c6b1f7a898cf"
      },
      {
        "id": "ca-29",
        "url": "https://cdn.prod.website-files.com/66c8dfb086a015b3b519e988/67ede2f7332a17f4dd2323fc_2025-04-03_CAN_Daily_Tracker_Public.pdf",
        "status": 200,
        "finalURL": "https://cdn.prod.website-files.com/66c8dfb086a015b3b519e988/67ede2f7332a17f4dd2323fc_2025-04-03_CAN_Daily_Tracker_Public.pdf",
        "ext": "pdf",
        "bytes": 5405034,
        "sha256": "a31a6acdcedc26ee36d65b874b2324da52a157ec91cb0c6f722c1b6287e61e6f"
      },
      {
        "id": "ca-30",
        "url": "https://www.mainstreetresearch.ca/post/canadian-federal-election-daily-tracker-poll-day-12",
        "status": 200,
        "finalURL": "https://www.mainstreetresearch.ca/post/canadian-federal-election-daily-tracker-poll-day-12",
        "ext": "html",
        "bytes": 29931,
        "sha256": "da177693898349e856740ef588ed1453abed83daaf241082e5fd99e325f88ed8"
      },
      {
        "id": "ca-24",
        "url": "https://nanos.co/wp-content/uploads/2025/04/2025-2783-ELXN-FED-2025-04-10-Field-Ended.pdf",
        "status": 200,
        "finalURL": "https://nanos.co/wp-content/uploads/2025/04/2025-2783-ELXN-FED-2025-04-10-Field-Ended.pdf",
        "ext": "pdf",
        "bytes": 1681022,
        "sha256": "42bfb55e0a52b25a87f3f8081a6316aaf46b5e8985a0857954e0d063cd35aa2d"
      },
      {
        "id": "ca-32",
        "url": "https://cdn.prod.website-files.com/66c8dfb086a015b3b519e988/67e9f989c0279682b263c5bd_2025-03-31_CAN_Daily_Tracker_Public.pdf",
        "status": 200,
        "finalURL": "https://cdn.prod.website-files.com/66c8dfb086a015b3b519e988/67e9f989c0279682b263c5bd_2025-03-31_CAN_Daily_Tracker_Public.pdf",
        "ext": "pdf",
        "bytes": 5405037,
        "sha256": "e93a4f8708c5f008fafb11c8ac6dfb19f0cfed4b6656e1aad90a30396515dec2"
      },
      {
        "id": "ca-33",
        "url": "https://www.mainstreetresearch.ca/post/canadian-federal-election-daily-tracker-poll-day-9",
        "status": 200,
        "finalURL": "https://www.mainstreetresearch.ca/post/canadian-federal-election-daily-tracker-poll-day-9",
        "ext": "html",
        "bytes": 29923,
        "sha256": "16d9c019fa1b60e849c43c03053354d0df35280948bcebf3ef1299fa659f7f76"
      },
      {
        "id": "ca-28",
        "url": "https://files.constantcontact.com/f737aa99901/281b24e1-c710-412e-ace5-3a8af3a4b2a1.pdf",
        "status": 200,
        "finalURL": "https://files.constantcontact.com/f737aa99901/281b24e1-c710-412e-ace5-3a8af3a4b2a1.pdf",
        "ext": "pdf",
        "bytes": 4906769,
        "sha256": "89fd38e0f33993e87b23dab1280543b39e688677e82e89d9d77952d8aa945be0"
      },
      {
        "id": "ca-27",
        "url": "https://abacusdata.ca/2025-federal-election-poll-liberals-lead-by-4/",
        "status": 200,
        "finalURL": "https://abacusdata.ca/2025-federal-election-poll-liberals-lead-by-4/",
        "ext": "html",
        "bytes": 103166,
        "sha256": "4c5967498d4fad2c4373eee24d922ef8771603c3b027fb7636d347e984d70959"
      },
      {
        "id": "ca-34",
        "url": "https://press.liaisonstrategies.ca/national-tracker-liberals-42-conservatives-38/",
        "status": 200,
        "finalURL": "https://press.liaisonstrategies.ca/national-tracker-liberals-42-conservatives-38/",
        "ext": "html",
        "bytes": 24161,
        "sha256": "7299d890f4fbb749e430c04a607b2f89f6a0258548fa3846d6f937778601f554"
      },
      {
        "id": "ca-31",
        "url": "https://nanos.co/wp-content/uploads/2025/04/2025-2783-ELXN-FED-2025-04-01-Field-Ended.pdf",
        "status": 200,
        "finalURL": "https://nanos.co/wp-content/uploads/2025/04/2025-2783-ELXN-FED-2025-04-01-Field-Ended.pdf",
        "ext": "pdf",
        "bytes": 1612360,
        "sha256": "f8634320fbaa3b13f28e0549ce05647442e352e2688e783a0778b5ca7ad05282"
      },
      {
        "id": "ca-36",
        "url": "https://press.liaisonstrategies.ca/national-tracker-liberals-tories-up-1-2-point-race-continues/",
        "status": 200,
        "finalURL": "https://press.liaisonstrategies.ca/national-tracker-liberals-tories-up-1-2-point-race-continues/",
        "ext": "html",
        "bytes": 19243,
        "sha256": "6c15c677c60dc47c79d35cabef6dbfd18ab64c4954a09c7f0aef6a9180657c4c"
      },
      {
        "id": "ca-35",
        "url": "https://press.liaisonstrategies.ca/national-tracker-liberals-lead-by-4-once-again-at-40/",
        "status": 200,
        "finalURL": "https://press.liaisonstrategies.ca/national-tracker-liberals-lead-by-4-once-again-at-40/",
        "ext": "html",
        "bytes": 20581,
        "sha256": "4d3d959f7fe8ec40d93998cc6b14e269fee4d940a8db97f449975f0cfe860e17"
      },
      {
        "id": "ca-40",
        "url": "https://nanos.co/conservatives-47-liberals-20-ndp-18-canadians-increasingly-focused-on-jobs-the-economy-nanos/",
        "status": 200,
        "finalURL": "https://nanos.co/conservatives-47-liberals-20-ndp-18-canadians-increasingly-focused-on-jobs-the-economy-nanos/",
        "ext": "html",
        "bytes": 135686,
        "sha256": "6377d99ec7d4026f6930341f788f4ddea2069810d081a05b1c625176e96a4124"
      },
      {
        "id": "ca-39",
        "url": "https://nanos.co/wp-content/uploads/2025/01/Political-Package-2025-01-10-FOR-RELEASE.pdf",
        "status": 200,
        "finalURL": "https://nanos.co/wp-content/uploads/2025/01/Political-Package-2025-01-10-FOR-RELEASE.pdf",
        "ext": "pdf",
        "bytes": 1941675,
        "sha256": "daf695c6f95809b437be7e0806d729f4302a02ad1c1e14929c095f659ac69d6b"
      },
      {
        "id": "ca-38",
        "url": "https://abacusdata.ca/conservative-lead-by-21-canadian-politics/",
        "status": 200,
        "finalURL": "https://abacusdata.ca/conservative-lead-by-21-canadian-politics/",
        "ext": "html",
        "bytes": 98350,
        "sha256": "4251fc8cb6eec0f6301276d4220ec0778b7700682d3415b7696f6a79d6285054"
      },
      {
        "id": "ca-37",
        "url": "https://innovativeresearch.ca/wp-content/uploads/2025/02/Liberal-Brand-Rebounding.pdf",
        "status": 200,
        "finalURL": "https://innovativeresearch.ca/wp-content/uploads/2025/02/Liberal-Brand-Rebounding.pdf",
        "ext": "pdf",
        "bytes": 1460709,
        "sha256": "e1a1da5ec9bca27840cc46e928d8d2f75b8bc9c70958d88ffc4aa4bf8943ba1d"
      },
      {
        "id": "ca-42",
        "url": "https://www.ekospolitics.com/index.php/2024/12/conservatives-open-up-25-point-lead-following-freelands-resignation/",
        "status": 200,
        "finalURL": "https://www.ekospolitics.com/index.php/2024/12/conservatives-open-up-25-point-lead-following-freelands-resignation/",
        "ext": "html",
        "bytes": 113452,
        "sha256": "8141b61e164d4734116dfd2d051bf924c7448982f03d363d71a1547f8cad4e43"
      },
      {
        "id": "ca-41",
        "url": "https://www.ekospolitics.com/index.php/2025/01/liberals-enjoy-boost-amid-trudeau-resignation-trump-threats/",
        "status": 200,
        "finalURL": "https://www.ekospolitics.com/index.php/2025/01/liberals-enjoy-boost-amid-trudeau-resignation-trump-threats/",
        "ext": "html",
        "bytes": 113347,
        "sha256": "e5f0c2a774798beacb8d8e2ce7a5bf7cfd9e72743003ae9514dc5ee9bcf69b88"
      }
    ],
    "leaderSources": {
      "date": "2026-10-22",
      "sources": {
        "LPC": "https://liberal.ca/meet-mark-carney/",
        "CPC": "https://www.conservative.ca/pierre-poilievre/",
        "NDP": "https://www.ndp.ca/team",
        "BQ": "https://www.blocquebecois.org/le-chef/",
        "GPC": "https://www.greenparty.ca/en/news/gpc-reports-481k-raised-in-q3-of-2026-marking-its-best-q3-in-five-years"
      }
    },
    "limitations": [
      "Only 19 national federal polling records have a full primary-source review; other archive records are transcriptions, not independently verified originals.",
      "House officeholder comparison uses an October 1 official snapshot. Senate official XML returned HTTP 403; no full Senate-officeholder primary check is claimed.",
      "No original XLS refresh was obtained during this audit; the US candidate directory remains the dated October 21 compilation.",
      "BC results feed is not connected. Election-night delivery is not certified by these data checks."
    ]
  },
  "limitations": [
    "Only 19 national federal polling records have a full primary-source review; other archive records are transcriptions, not independently verified originals.",
    "House officeholder comparison uses an October 1 official snapshot. Senate official XML returned HTTP 403; no full Senate-officeholder primary check is claimed.",
    "No original XLS refresh was obtained during this audit; the US candidate directory remains the dated October 21 compilation.",
    "BC results feed is not connected. Election-night delivery is not certified by these data checks."
  ]
}
