{
  "generated_at": "2026-06-02T08:06:34.112460+00:00",
  "date": "2026-05-26",
  "input_site_data": "public/data/site-data.json",
  "input_claim_network_dir": "public/data/claim-network",
  "review_status": "deterministic_unreviewed",
  "issue_count": 16,
  "summary": {
    "candidate_count": 61,
    "by_severity": {
      "info": 14,
      "warning": 2
    },
    "by_category": {
      "presentation": 13,
      "source_data": 3
    },
    "by_surface": {
      "claim-network": 2,
      "federal-votes": 2,
      "images": 1,
      "promise-action-review": 9,
      "source-corpus": 2
    },
    "coverage": {
      "candidate_images": 10,
      "current_program": 10,
      "finance": 10,
      "prediction_markets": 18,
      "moral_llm_judge": 10,
      "source_corpus": 10,
      "federal_vote_record": 3,
      "action_spine": 9
    }
  },
  "issues": [
    {
      "severity": "warning",
      "category": "presentation",
      "surface": "federal-votes",
      "message": "39% of joined roll-call rows are non-votes; keep the raw roll-call list secondary to readable examples",
      "candidate_id": "xavier-becerra",
      "candidate_name": "Xavier Becerra"
    },
    {
      "severity": "info",
      "category": "presentation",
      "surface": "promise-action-review",
      "message": "10 possible promise/action links are unreviewed and should remain secondary",
      "candidate_id": "xavier-becerra",
      "candidate_name": "Xavier Becerra"
    },
    {
      "severity": "info",
      "category": "presentation",
      "surface": "promise-action-review",
      "message": "4 possible promise/action links are unreviewed and should remain secondary",
      "candidate_id": "matt-mahan",
      "candidate_name": "Matt Mahan"
    },
    {
      "severity": "warning",
      "category": "presentation",
      "surface": "federal-votes",
      "message": "61% of joined roll-call rows are non-votes; keep the raw roll-call list secondary to readable examples",
      "candidate_id": "katie-porter",
      "candidate_name": "Katie Porter"
    },
    {
      "severity": "info",
      "category": "presentation",
      "surface": "promise-action-review",
      "message": "14 possible promise/action links are unreviewed and should remain secondary",
      "candidate_id": "katie-porter",
      "candidate_name": "Katie Porter"
    },
    {
      "severity": "info",
      "category": "presentation",
      "surface": "promise-action-review",
      "message": "1 possible promise/action link is unreviewed and should remain secondary",
      "candidate_id": "tom-steyer",
      "candidate_name": "Tom Steyer"
    },
    {
      "severity": "info",
      "category": "presentation",
      "surface": "promise-action-review",
      "message": "10 possible promise/action links are unreviewed and should remain secondary",
      "candidate_id": "eric-swalwell",
      "candidate_name": "Eric Swalwell"
    },
    {
      "severity": "info",
      "category": "presentation",
      "surface": "promise-action-review",
      "message": "17 possible promise/action links are unreviewed and should remain secondary",
      "candidate_id": "tony-k-thurmond",
      "candidate_name": "Tony K. Thurmond"
    },
    {
      "severity": "info",
      "category": "presentation",
      "surface": "promise-action-review",
      "message": "4 possible promise/action links are unreviewed and should remain secondary",
      "candidate_id": "antonio-villaraigosa",
      "candidate_name": "Antonio Villaraigosa"
    },
    {
      "severity": "info",
      "category": "presentation",
      "surface": "promise-action-review",
      "message": "2 possible promise/action links are unreviewed and should remain secondary",
      "candidate_id": "betty-t-yee",
      "candidate_name": "Betty T. Yee"
    },
    {
      "severity": "info",
      "category": "presentation",
      "surface": "promise-action-review",
      "message": "2 possible promise/action links are unreviewed and should remain secondary",
      "candidate_id": "chad-bianco",
      "candidate_name": "Chad Bianco"
    },
    {
      "severity": "info",
      "category": "source_data",
      "surface": "images",
      "message": "51 non-priority candidates rely on generated fallback avatars instead of display portraits",
      "details": {
        "candidate_ids": [
          "akinyemi-agbede",
          "mohammad-arif",
          "larry-azevedo",
          "carolina-buhler",
          "louis-a-de-barraicua",
          "sophia-edum-a-sam",
          "derek-grasty",
          "joel-e-jacob",
          "gary-howard-kidgell",
          "matthew-chase-levy",
          "barack-d-obama-shaw",
          "thunder-parley",
          "raji-rab",
          "satish-rao",
          "scott-p-shields",
          "erin-zez-zezulak",
          "james-athans-jr",
          "patricia-de-luca-basualdo",
          "randeep-s-dhillon",
          "rafael-m-hernandez"
        ],
        "candidate_names": [
          "Akinyemi Agbede",
          "Mohammad Arif",
          "Larry Azevedo",
          "Carolina Buhler",
          "Louis A. De Barraicua",
          "Sophia Edum-a-Sam",
          "Derek Grasty",
          "Joel E. Jacob",
          "Gary Howard Kidgell",
          "Matthew Chase Levy",
          "Barack D. Obama Shaw",
          "Thunder Parley",
          "Raji Rab",
          "Satish Rao",
          "Scott P Shields",
          "Erin \"Zez\" Zezulak",
          "James Athans Jr.",
          "Patricia De Luca Basualdo",
          "Randeep S. Dhillon",
          "Rafael M. Hernandez"
        ]
      }
    },
    {
      "severity": "info",
      "category": "presentation",
      "surface": "claim-network",
      "message": "407 claim summaries are model-generated and still unreviewed"
    },
    {
      "severity": "info",
      "category": "presentation",
      "surface": "claim-network",
      "message": "173 candidate-to-candidate claim links are model-generated and still unreviewed"
    },
    {
      "severity": "info",
      "category": "source_data",
      "surface": "source-corpus",
      "message": "priority comparable event has near-threshold participant text segments",
      "details": {
        "event_id": "event-2026-05-15-axios-homelessness-candidate-qa",
        "title": "Axios San Diego candidate Q&A: homelessness plans",
        "priority": "high",
        "min_words": 80,
        "warning_min_words": 60,
        "word_counts": {
          "matt-mahan": 68,
          "tom-steyer": 68
        }
      }
    },
    {
      "severity": "info",
      "category": "source_data",
      "surface": "source-corpus",
      "message": "priority comparable event has near-threshold participant text segments",
      "details": {
        "event_id": "event-2026-05-05-cnn-california-governor-primary-debate",
        "title": "CNN California governor primary debate",
        "priority": "critical",
        "min_words": 800,
        "warning_min_words": 720,
        "word_counts": {
          "antonio-villaraigosa": 776
        }
      }
    }
  ]
}
