{
  "schemaVersion": "cvintel.public-source-corpus.v0",
  "generatedFrom": "The-Newsroom/canonical-corpus/palm-desert/corpus-manifest.json",
  "rules": [
    "This index exposes source coverage, not civic conclusions.",
    "Official written sources remain separate from local transcript and review artifacts.",
    "Unpublished Intel Layer extraction conclusions are not included.",
    "Human review is required before draft civic intel becomes a public-facing claim."
  ],
  "city": {
    "slug": "palm-desert",
    "name": "Palm Desert"
  },
  "summary": {
    "publicDates": 30,
    "transcripts": 0,
    "policyBriefs": 0,
    "markdownArtifacts": 0,
    "officialDocumentRecords": 20,
    "coverageRows": 57,
    "completeCoverageRows": 0,
    "canceledCoverageRows": 0,
    "officialRecordsWithAgendaPdf": 20,
    "officialRecordsWithAgendaPacket": 0,
    "officialRecordsWithMinutesPdf": 10,
    "videos": 56,
    "intelligenceBundles": 5
  },
  "readinessSummary": {
    "partial": 19,
    "official-docs-only": 1,
    "needs review": 37
  },
  "bundles": [
    {
      "bundleId": "palm-desert-2026-05-28-city-council-regular",
      "city": "Palm Desert",
      "citySlug": "palm-desert",
      "meetingDate": "2026-05-28",
      "corpusDates": [
        "2026-05-28"
      ],
      "body": "City Council Regular",
      "bodyType": "city-council-regular",
      "meetingType": "Regular",
      "title": "Palm Desert City Council - Regular Meeting",
      "readinessCategory": "partial",
      "extractionReadiness": "partial-official-text-and-video",
      "sourceCoverageStatus": "available",
      "statusFlags": {
        "hasTranscript": false,
        "hasPolicyBrief": false,
        "hasAgenda": true,
        "hasPacket": false,
        "hasMinutes": false,
        "hasVideo": true,
        "hasOfficialSource": true,
        "hasExtractedOfficialText": true
      },
      "canonicalSourceCompleteness": {
        "readiness": "partial-official-text-and-video",
        "hasAnyOfficialText": true,
        "gaps": [
          "missing-agenda-packet-url",
          "missing-minutes-url",
          "missing-transcript"
        ]
      },
      "counts": {
        "transcripts": 0,
        "policyBriefs": 0,
        "officialSources": 1,
        "officialTextArtifacts": 4,
        "extractedOfficialTextArtifacts": 1,
        "missing": 3
      },
      "officialSourceUrls": [
        "https://pub-palmdesert.escribemeetings.com/Meeting.aspx?Id=3069e723-1870-41b0-983b-0ea828a20a6a&lang=English",
        "https://pub-palmdesert.escribemeetings.com/Meeting.aspx?Id=3069e723-1870-41b0-983b-0ea828a20a6a&Agenda=Agenda&lang=English"
      ],
      "agendaPdfUrls": [
        "https://pub-palmdesert.escribemeetings.com/FileStream.ashx?DocumentId=44456"
      ],
      "packetPdfUrls": [],
      "minutesPdfUrls": [],
      "videoUrls": [
        "https://www.youtube.com/watch?v=1AgNWaUoAbc"
      ],
      "transcriptReferences": [],
      "policyBriefReferences": [],
      "officialTextArtifacts": [
        {
          "sourceType": "agenda-html",
          "label": "Agenda HTML",
          "url": "https://pub-palmdesert.escribemeetings.com/Meeting.aspx?Id=3069e723-1870-41b0-983b-0ea828a20a6a&Agenda=Agenda&lang=English",
          "localArchivePath": null,
          "localTextPath": "Public-Records/official-documents/palm-desert/text/2026-05-28-city-council-regular/agenda.txt",
          "archiveStatus": "referenced",
          "textStatus": "extracted",
          "sha256": "sha256:8dafff6a8b5fa01f854359968b110ecc6d0fcb8720c88bdad5db3e5992dfb825",
          "acquisitionError": null,
          "extractionError": null,
          "hasExtractedText": true
        },
        {
          "sourceType": "agenda-pdf",
          "label": "Agenda PDF",
          "url": "https://pub-palmdesert.escribemeetings.com/FileStream.ashx?DocumentId=44456",
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "referenced",
          "textStatus": "needs-checking",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "text extraction not completed or deferred",
          "hasExtractedText": false
        },
        {
          "sourceType": "packet-or-attachments",
          "label": "packet-or-attachments",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "minutes-pdf",
          "label": "minutes-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        }
      ],
      "missing": [
        "missing-agenda-packet-url",
        "missing-minutes-url",
        "missing-transcript"
      ],
      "previousBundleId": null,
      "nextBundleId": "palm-desert-2026-05-28-city-council-study-session",
      "relatedDraftExtractionIds": [],
      "meetingSourceSetUrl": "/source/palm-desert/meetings/2026-05-28-city-council-regular",
      "meetingSourceSetJsonUrl": "/data/palm-desert/meetings/2026-05-28-city-council-regular.json"
    },
    {
      "bundleId": "palm-desert-2026-05-28-city-council-study-session",
      "city": "Palm Desert",
      "citySlug": "palm-desert",
      "meetingDate": "2026-05-28",
      "corpusDates": [
        "2026-05-28"
      ],
      "body": "City Council Study Session",
      "bodyType": "city-council-study-session",
      "meetingType": "Study Session",
      "title": "Palm Desert City Council - Study Session",
      "readinessCategory": "partial",
      "extractionReadiness": "partial-official-text-and-video",
      "sourceCoverageStatus": "available",
      "statusFlags": {
        "hasTranscript": false,
        "hasPolicyBrief": false,
        "hasAgenda": true,
        "hasPacket": false,
        "hasMinutes": false,
        "hasVideo": true,
        "hasOfficialSource": true,
        "hasExtractedOfficialText": true
      },
      "canonicalSourceCompleteness": {
        "readiness": "partial-official-text-and-video",
        "hasAnyOfficialText": true,
        "gaps": [
          "missing-agenda-packet-url",
          "missing-minutes-url",
          "missing-transcript"
        ]
      },
      "counts": {
        "transcripts": 0,
        "policyBriefs": 0,
        "officialSources": 1,
        "officialTextArtifacts": 4,
        "extractedOfficialTextArtifacts": 1,
        "missing": 3
      },
      "officialSourceUrls": [
        "https://pub-palmdesert.escribemeetings.com/Meeting.aspx?Id=974ef06c-bd6a-4b05-87fc-555f4c5113ad&lang=English",
        "https://pub-palmdesert.escribemeetings.com/Meeting.aspx?Id=974ef06c-bd6a-4b05-87fc-555f4c5113ad&Agenda=Agenda&lang=English"
      ],
      "agendaPdfUrls": [
        "https://pub-palmdesert.escribemeetings.com/FileStream.ashx?DocumentId=44450"
      ],
      "packetPdfUrls": [],
      "minutesPdfUrls": [],
      "videoUrls": [
        "https://www.youtube.com/watch?v=iNDHm5l00ZY"
      ],
      "transcriptReferences": [],
      "policyBriefReferences": [],
      "officialTextArtifacts": [
        {
          "sourceType": "agenda-html",
          "label": "Agenda HTML",
          "url": "https://pub-palmdesert.escribemeetings.com/Meeting.aspx?Id=974ef06c-bd6a-4b05-87fc-555f4c5113ad&Agenda=Agenda&lang=English",
          "localArchivePath": null,
          "localTextPath": "Public-Records/official-documents/palm-desert/text/2026-05-28-city-council-study-session/agenda.txt",
          "archiveStatus": "referenced",
          "textStatus": "extracted",
          "sha256": "sha256:45d30afe43dd3bafd31b899631167d7b06b0920246edaefdf26fed6346c5fe93",
          "acquisitionError": null,
          "extractionError": null,
          "hasExtractedText": true
        },
        {
          "sourceType": "agenda-pdf",
          "label": "Agenda PDF",
          "url": "https://pub-palmdesert.escribemeetings.com/FileStream.ashx?DocumentId=44450",
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "referenced",
          "textStatus": "needs-checking",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "text extraction not completed or deferred",
          "hasExtractedText": false
        },
        {
          "sourceType": "packet-or-attachments",
          "label": "packet-or-attachments",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "minutes-pdf",
          "label": "minutes-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        }
      ],
      "missing": [
        "missing-agenda-packet-url",
        "missing-minutes-url",
        "missing-transcript"
      ],
      "previousBundleId": "palm-desert-2026-05-28-city-council-regular",
      "nextBundleId": "palm-desert-2026-05-27-city-council-study-session",
      "relatedDraftExtractionIds": [],
      "meetingSourceSetUrl": "/source/palm-desert/meetings/2026-05-28-city-council-study-session",
      "meetingSourceSetJsonUrl": "/data/palm-desert/meetings/2026-05-28-city-council-study-session.json"
    },
    {
      "bundleId": "palm-desert-2026-05-27-city-council-study-session",
      "city": "Palm Desert",
      "citySlug": "palm-desert",
      "meetingDate": "2026-05-27",
      "corpusDates": [
        "2026-05-27"
      ],
      "body": "City Council Study Session",
      "bodyType": "city-council-study-session",
      "meetingType": "Study Session",
      "title": "Palm Desert City Council - Study Session",
      "readinessCategory": "official-docs-only",
      "extractionReadiness": "official-docs-only",
      "sourceCoverageStatus": "needs-checking",
      "statusFlags": {
        "hasTranscript": false,
        "hasPolicyBrief": false,
        "hasAgenda": true,
        "hasPacket": false,
        "hasMinutes": false,
        "hasVideo": false,
        "hasOfficialSource": true,
        "hasExtractedOfficialText": true
      },
      "canonicalSourceCompleteness": {
        "readiness": "official-docs-only",
        "hasAnyOfficialText": true,
        "gaps": [
          "missing-agenda-packet-url",
          "missing-minutes-url",
          "missing-video-url",
          "missing-transcript"
        ]
      },
      "counts": {
        "transcripts": 0,
        "policyBriefs": 0,
        "officialSources": 1,
        "officialTextArtifacts": 4,
        "extractedOfficialTextArtifacts": 1,
        "missing": 4
      },
      "officialSourceUrls": [
        "https://pub-palmdesert.escribemeetings.com/Meeting.aspx?Id=0be5311f-094b-439b-b8c8-2ac72446a1fe&lang=English",
        "https://pub-palmdesert.escribemeetings.com/Meeting.aspx?Id=0be5311f-094b-439b-b8c8-2ac72446a1fe&Agenda=Agenda&lang=English"
      ],
      "agendaPdfUrls": [
        "https://pub-palmdesert.escribemeetings.com/FileStream.ashx?DocumentId=44515"
      ],
      "packetPdfUrls": [],
      "minutesPdfUrls": [],
      "videoUrls": [],
      "transcriptReferences": [],
      "policyBriefReferences": [],
      "officialTextArtifacts": [
        {
          "sourceType": "agenda-html",
          "label": "Agenda HTML",
          "url": "https://pub-palmdesert.escribemeetings.com/Meeting.aspx?Id=0be5311f-094b-439b-b8c8-2ac72446a1fe&Agenda=Agenda&lang=English",
          "localArchivePath": null,
          "localTextPath": "Public-Records/official-documents/palm-desert/text/2026-05-27-city-council-study-session/agenda.txt",
          "archiveStatus": "referenced",
          "textStatus": "extracted",
          "sha256": "sha256:80cee3e51c0972b941f2a80002d81b050139b9226fc368b10f71faa4bfafa493",
          "acquisitionError": null,
          "extractionError": null,
          "hasExtractedText": true
        },
        {
          "sourceType": "agenda-pdf",
          "label": "Agenda PDF",
          "url": "https://pub-palmdesert.escribemeetings.com/FileStream.ashx?DocumentId=44515",
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "referenced",
          "textStatus": "needs-checking",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "text extraction not completed or deferred",
          "hasExtractedText": false
        },
        {
          "sourceType": "packet-or-attachments",
          "label": "packet-or-attachments",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "minutes-pdf",
          "label": "minutes-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        }
      ],
      "missing": [
        "missing-agenda-packet-url",
        "missing-minutes-url",
        "missing-video-url",
        "missing-transcript"
      ],
      "previousBundleId": "palm-desert-2026-05-28-city-council-study-session",
      "nextBundleId": "palm-desert-2026-05-14-city-council-regular",
      "relatedDraftExtractionIds": [],
      "meetingSourceSetUrl": "/source/palm-desert/meetings/2026-05-27-city-council-study-session",
      "meetingSourceSetJsonUrl": "/data/palm-desert/meetings/2026-05-27-city-council-study-session.json"
    },
    {
      "bundleId": "palm-desert-2026-05-14-city-council-regular",
      "city": "Palm Desert",
      "citySlug": "palm-desert",
      "meetingDate": "2026-05-14",
      "corpusDates": [
        "2026-05-14"
      ],
      "body": "City Council Regular",
      "bodyType": "city-council-regular",
      "meetingType": "Regular",
      "title": "Palm Desert City Council - Regular Meeting",
      "readinessCategory": "partial",
      "extractionReadiness": "partial-official-text-and-video",
      "sourceCoverageStatus": "available",
      "statusFlags": {
        "hasTranscript": false,
        "hasPolicyBrief": false,
        "hasAgenda": true,
        "hasPacket": false,
        "hasMinutes": true,
        "hasVideo": true,
        "hasOfficialSource": true,
        "hasExtractedOfficialText": true
      },
      "canonicalSourceCompleteness": {
        "readiness": "partial-official-text-and-video",
        "hasAnyOfficialText": true,
        "gaps": [
          "missing-agenda-packet-url",
          "missing-transcript"
        ]
      },
      "counts": {
        "transcripts": 0,
        "policyBriefs": 0,
        "officialSources": 1,
        "officialTextArtifacts": 4,
        "extractedOfficialTextArtifacts": 2,
        "missing": 2
      },
      "officialSourceUrls": [
        "https://pub-palmdesert.escribemeetings.com/Meeting.aspx?Id=bf364d81-8e27-4e72-948e-3c11baafec22&lang=English",
        "https://pub-palmdesert.escribemeetings.com/Meeting.aspx?Id=bf364d81-8e27-4e72-948e-3c11baafec22&Agenda=Agenda&lang=English"
      ],
      "agendaPdfUrls": [
        "https://pub-palmdesert.escribemeetings.com/FileStream.ashx?DocumentId=43791"
      ],
      "packetPdfUrls": [],
      "minutesPdfUrls": [
        "https://pub-palmdesert.escribemeetings.com/FileStream.ashx?DocumentId=44759"
      ],
      "videoUrls": [
        "https://www.youtube.com/watch?v=Gpc40f6nfXU"
      ],
      "transcriptReferences": [],
      "policyBriefReferences": [],
      "officialTextArtifacts": [
        {
          "sourceType": "agenda-html",
          "label": "Agenda HTML",
          "url": "https://pub-palmdesert.escribemeetings.com/Meeting.aspx?Id=bf364d81-8e27-4e72-948e-3c11baafec22&Agenda=Agenda&lang=English",
          "localArchivePath": null,
          "localTextPath": "Public-Records/official-documents/palm-desert/text/2026-05-14-city-council-regular/agenda.txt",
          "archiveStatus": "referenced",
          "textStatus": "extracted",
          "sha256": "sha256:d1c1f46cef005e92024e249358c3577b4baba5052e60c15039849d7e54dca68d",
          "acquisitionError": null,
          "extractionError": null,
          "hasExtractedText": true
        },
        {
          "sourceType": "agenda-pdf",
          "label": "Agenda PDF",
          "url": "https://pub-palmdesert.escribemeetings.com/FileStream.ashx?DocumentId=43791",
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "referenced",
          "textStatus": "needs-checking",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "text extraction not completed or deferred",
          "hasExtractedText": false
        },
        {
          "sourceType": "packet-or-attachments",
          "label": "packet-or-attachments",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "minutes-pdf",
          "label": "Minutes PDF",
          "url": "https://pub-palmdesert.escribemeetings.com/FileStream.ashx?DocumentId=44759",
          "localArchivePath": null,
          "localTextPath": "Public-Records/official-documents/palm-desert/text/2026-05-14-city-council-regular/minutes.txt",
          "archiveStatus": "referenced",
          "textStatus": "extracted",
          "sha256": "sha256:a510617533d87c9c18e9c8c1f40a91ae5e5f0e11d3738e8f5f86a5627f332acd",
          "acquisitionError": null,
          "extractionError": null,
          "hasExtractedText": true
        }
      ],
      "missing": [
        "missing-agenda-packet-url",
        "missing-transcript"
      ],
      "previousBundleId": "palm-desert-2026-05-27-city-council-study-session",
      "nextBundleId": "palm-desert-2026-05-14-city-council-study-session",
      "relatedDraftExtractionIds": [],
      "meetingSourceSetUrl": "/source/palm-desert/meetings/2026-05-14-city-council-regular",
      "meetingSourceSetJsonUrl": "/data/palm-desert/meetings/2026-05-14-city-council-regular.json"
    },
    {
      "bundleId": "palm-desert-2026-05-14-city-council-study-session",
      "city": "Palm Desert",
      "citySlug": "palm-desert",
      "meetingDate": "2026-05-14",
      "corpusDates": [
        "2026-05-14"
      ],
      "body": "City Council Study Session",
      "bodyType": "city-council-study-session",
      "meetingType": "Study Session",
      "title": "Palm Desert City Council - Study Session",
      "readinessCategory": "partial",
      "extractionReadiness": "partial-official-text-and-video",
      "sourceCoverageStatus": "available",
      "statusFlags": {
        "hasTranscript": false,
        "hasPolicyBrief": false,
        "hasAgenda": true,
        "hasPacket": false,
        "hasMinutes": false,
        "hasVideo": true,
        "hasOfficialSource": true,
        "hasExtractedOfficialText": true
      },
      "canonicalSourceCompleteness": {
        "readiness": "partial-official-text-and-video",
        "hasAnyOfficialText": true,
        "gaps": [
          "missing-agenda-packet-url",
          "missing-minutes-url",
          "missing-transcript"
        ]
      },
      "counts": {
        "transcripts": 0,
        "policyBriefs": 0,
        "officialSources": 1,
        "officialTextArtifacts": 4,
        "extractedOfficialTextArtifacts": 1,
        "missing": 3
      },
      "officialSourceUrls": [
        "https://pub-palmdesert.escribemeetings.com/Meeting.aspx?Id=5ac58eda-3681-4650-8eeb-7cfbd9f06b4a&lang=English",
        "https://pub-palmdesert.escribemeetings.com/Meeting.aspx?Id=5ac58eda-3681-4650-8eeb-7cfbd9f06b4a&Agenda=Agenda&lang=English"
      ],
      "agendaPdfUrls": [
        "https://pub-palmdesert.escribemeetings.com/FileStream.ashx?DocumentId=43775"
      ],
      "packetPdfUrls": [],
      "minutesPdfUrls": [],
      "videoUrls": [
        "https://www.youtube.com/watch?v=_PkNIsHEFVQ"
      ],
      "transcriptReferences": [],
      "policyBriefReferences": [],
      "officialTextArtifacts": [
        {
          "sourceType": "agenda-html",
          "label": "Agenda HTML",
          "url": "https://pub-palmdesert.escribemeetings.com/Meeting.aspx?Id=5ac58eda-3681-4650-8eeb-7cfbd9f06b4a&Agenda=Agenda&lang=English",
          "localArchivePath": null,
          "localTextPath": "Public-Records/official-documents/palm-desert/text/2026-05-14-city-council-study-session/agenda.txt",
          "archiveStatus": "referenced",
          "textStatus": "extracted",
          "sha256": "sha256:70740f7a1e0266b97ff490697b3a4fe92d30b95e2557acebca937da06126dee9",
          "acquisitionError": null,
          "extractionError": null,
          "hasExtractedText": true
        },
        {
          "sourceType": "agenda-pdf",
          "label": "Agenda PDF",
          "url": "https://pub-palmdesert.escribemeetings.com/FileStream.ashx?DocumentId=43775",
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "referenced",
          "textStatus": "needs-checking",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "text extraction not completed or deferred",
          "hasExtractedText": false
        },
        {
          "sourceType": "packet-or-attachments",
          "label": "packet-or-attachments",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "minutes-pdf",
          "label": "minutes-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        }
      ],
      "missing": [
        "missing-agenda-packet-url",
        "missing-minutes-url",
        "missing-transcript"
      ],
      "previousBundleId": "palm-desert-2026-05-14-city-council-regular",
      "nextBundleId": "palm-desert-2026-04-23-city-council-regular",
      "relatedDraftExtractionIds": [],
      "meetingSourceSetUrl": "/source/palm-desert/meetings/2026-05-14-city-council-study-session",
      "meetingSourceSetJsonUrl": "/data/palm-desert/meetings/2026-05-14-city-council-study-session.json"
    },
    {
      "bundleId": "palm-desert-2026-04-23-city-council-regular",
      "city": "Palm Desert",
      "citySlug": "palm-desert",
      "meetingDate": "2026-04-23",
      "corpusDates": [
        "2026-04-23"
      ],
      "body": "City Council Regular",
      "bodyType": "city-council-regular",
      "meetingType": "Regular",
      "title": "Palm Desert City Council - Regular Meeting",
      "readinessCategory": "partial",
      "extractionReadiness": "partial-official-text-and-video",
      "sourceCoverageStatus": "available",
      "statusFlags": {
        "hasTranscript": false,
        "hasPolicyBrief": false,
        "hasAgenda": true,
        "hasPacket": false,
        "hasMinutes": false,
        "hasVideo": true,
        "hasOfficialSource": true,
        "hasExtractedOfficialText": true
      },
      "canonicalSourceCompleteness": {
        "readiness": "partial-official-text-and-video",
        "hasAnyOfficialText": true,
        "gaps": [
          "missing-agenda-packet-url",
          "missing-minutes-url",
          "missing-transcript"
        ]
      },
      "counts": {
        "transcripts": 0,
        "policyBriefs": 0,
        "officialSources": 1,
        "officialTextArtifacts": 4,
        "extractedOfficialTextArtifacts": 1,
        "missing": 3
      },
      "officialSourceUrls": [
        "https://pub-palmdesert.escribemeetings.com/Meeting.aspx?Id=79104b95-7b32-4605-a101-e556e2e4cd64&lang=English",
        "https://pub-palmdesert.escribemeetings.com/Meeting.aspx?Id=79104b95-7b32-4605-a101-e556e2e4cd64&Agenda=Agenda&lang=English"
      ],
      "agendaPdfUrls": [
        "https://pub-palmdesert.escribemeetings.com/FileStream.ashx?DocumentId=43382"
      ],
      "packetPdfUrls": [],
      "minutesPdfUrls": [],
      "videoUrls": [
        "https://www.youtube.com/watch?v=xuyZF20sw9A"
      ],
      "transcriptReferences": [],
      "policyBriefReferences": [],
      "officialTextArtifacts": [
        {
          "sourceType": "agenda-html",
          "label": "Agenda HTML",
          "url": "https://pub-palmdesert.escribemeetings.com/Meeting.aspx?Id=79104b95-7b32-4605-a101-e556e2e4cd64&Agenda=Agenda&lang=English",
          "localArchivePath": null,
          "localTextPath": "Public-Records/official-documents/palm-desert/text/2026-04-23-city-council-regular/agenda.txt",
          "archiveStatus": "referenced",
          "textStatus": "extracted",
          "sha256": "sha256:3fbed53d2a687411c8f1c8afaa717ecd0ba7eef7e06eb2e2139de1e99d14a234",
          "acquisitionError": null,
          "extractionError": null,
          "hasExtractedText": true
        },
        {
          "sourceType": "agenda-pdf",
          "label": "Agenda PDF",
          "url": "https://pub-palmdesert.escribemeetings.com/FileStream.ashx?DocumentId=43382",
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "referenced",
          "textStatus": "needs-checking",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "text extraction not completed or deferred",
          "hasExtractedText": false
        },
        {
          "sourceType": "packet-or-attachments",
          "label": "packet-or-attachments",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "minutes-pdf",
          "label": "minutes-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        }
      ],
      "missing": [
        "missing-agenda-packet-url",
        "missing-minutes-url",
        "missing-transcript"
      ],
      "previousBundleId": "palm-desert-2026-05-14-city-council-study-session",
      "nextBundleId": "palm-desert-2026-04-23-city-council-study-session",
      "relatedDraftExtractionIds": [],
      "meetingSourceSetUrl": "/source/palm-desert/meetings/2026-04-23-city-council-regular",
      "meetingSourceSetJsonUrl": "/data/palm-desert/meetings/2026-04-23-city-council-regular.json"
    },
    {
      "bundleId": "palm-desert-2026-04-23-city-council-study-session",
      "city": "Palm Desert",
      "citySlug": "palm-desert",
      "meetingDate": "2026-04-23",
      "corpusDates": [
        "2026-04-23"
      ],
      "body": "City Council Study Session",
      "bodyType": "city-council-study-session",
      "meetingType": "Study Session",
      "title": "Palm Desert City Council - Study Session",
      "readinessCategory": "partial",
      "extractionReadiness": "partial-official-text-and-video",
      "sourceCoverageStatus": "available",
      "statusFlags": {
        "hasTranscript": false,
        "hasPolicyBrief": false,
        "hasAgenda": true,
        "hasPacket": false,
        "hasMinutes": false,
        "hasVideo": true,
        "hasOfficialSource": true,
        "hasExtractedOfficialText": true
      },
      "canonicalSourceCompleteness": {
        "readiness": "partial-official-text-and-video",
        "hasAnyOfficialText": true,
        "gaps": [
          "missing-agenda-packet-url",
          "missing-minutes-url",
          "missing-transcript"
        ]
      },
      "counts": {
        "transcripts": 0,
        "policyBriefs": 0,
        "officialSources": 1,
        "officialTextArtifacts": 4,
        "extractedOfficialTextArtifacts": 1,
        "missing": 3
      },
      "officialSourceUrls": [
        "https://pub-palmdesert.escribemeetings.com/Meeting.aspx?Id=19d45d0e-de3e-4afb-9bcd-906d2bb39ed2&lang=English",
        "https://pub-palmdesert.escribemeetings.com/Meeting.aspx?Id=19d45d0e-de3e-4afb-9bcd-906d2bb39ed2&Agenda=Agenda&lang=English"
      ],
      "agendaPdfUrls": [
        "https://pub-palmdesert.escribemeetings.com/FileStream.ashx?DocumentId=43438"
      ],
      "packetPdfUrls": [],
      "minutesPdfUrls": [],
      "videoUrls": [
        "https://www.youtube.com/watch?v=e8F42Cb8NXQ"
      ],
      "transcriptReferences": [],
      "policyBriefReferences": [],
      "officialTextArtifacts": [
        {
          "sourceType": "agenda-html",
          "label": "Agenda HTML",
          "url": "https://pub-palmdesert.escribemeetings.com/Meeting.aspx?Id=19d45d0e-de3e-4afb-9bcd-906d2bb39ed2&Agenda=Agenda&lang=English",
          "localArchivePath": null,
          "localTextPath": "Public-Records/official-documents/palm-desert/text/2026-04-23-city-council-study-session/agenda.txt",
          "archiveStatus": "referenced",
          "textStatus": "extracted",
          "sha256": "sha256:c75bec9a2f118cca3b8c8ac6b5d592c026ae1f4f383b531745cca63750471981",
          "acquisitionError": null,
          "extractionError": null,
          "hasExtractedText": true
        },
        {
          "sourceType": "agenda-pdf",
          "label": "Agenda PDF",
          "url": "https://pub-palmdesert.escribemeetings.com/FileStream.ashx?DocumentId=43438",
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "referenced",
          "textStatus": "needs-checking",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "text extraction not completed or deferred",
          "hasExtractedText": false
        },
        {
          "sourceType": "packet-or-attachments",
          "label": "packet-or-attachments",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "minutes-pdf",
          "label": "minutes-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        }
      ],
      "missing": [
        "missing-agenda-packet-url",
        "missing-minutes-url",
        "missing-transcript"
      ],
      "previousBundleId": "palm-desert-2026-04-23-city-council-regular",
      "nextBundleId": "palm-desert-2026-04-09-city-council-regular",
      "relatedDraftExtractionIds": [],
      "meetingSourceSetUrl": "/source/palm-desert/meetings/2026-04-23-city-council-study-session",
      "meetingSourceSetJsonUrl": "/data/palm-desert/meetings/2026-04-23-city-council-study-session.json"
    },
    {
      "bundleId": "palm-desert-2026-04-09-city-council-regular",
      "city": "Palm Desert",
      "citySlug": "palm-desert",
      "meetingDate": "2026-04-09",
      "corpusDates": [
        "2026-04-09"
      ],
      "body": "City Council Regular",
      "bodyType": "city-council-regular",
      "meetingType": "Regular",
      "title": "Palm Desert City Council - Regular Meeting",
      "readinessCategory": "partial",
      "extractionReadiness": "partial-official-text-and-video",
      "sourceCoverageStatus": "available",
      "statusFlags": {
        "hasTranscript": false,
        "hasPolicyBrief": false,
        "hasAgenda": true,
        "hasPacket": false,
        "hasMinutes": false,
        "hasVideo": true,
        "hasOfficialSource": true,
        "hasExtractedOfficialText": true
      },
      "canonicalSourceCompleteness": {
        "readiness": "partial-official-text-and-video",
        "hasAnyOfficialText": true,
        "gaps": [
          "missing-agenda-packet-url",
          "missing-minutes-url",
          "missing-transcript"
        ]
      },
      "counts": {
        "transcripts": 0,
        "policyBriefs": 0,
        "officialSources": 1,
        "officialTextArtifacts": 4,
        "extractedOfficialTextArtifacts": 1,
        "missing": 3
      },
      "officialSourceUrls": [
        "https://pub-palmdesert.escribemeetings.com/Meeting.aspx?Id=6d6ece28-9cf7-4720-b381-643cc8307469&lang=English",
        "https://pub-palmdesert.escribemeetings.com/Meeting.aspx?Id=6d6ece28-9cf7-4720-b381-643cc8307469&Agenda=Agenda&lang=English"
      ],
      "agendaPdfUrls": [
        "https://pub-palmdesert.escribemeetings.com/FileStream.ashx?DocumentId=42977"
      ],
      "packetPdfUrls": [],
      "minutesPdfUrls": [],
      "videoUrls": [
        "https://www.youtube.com/watch?v=skCW_gpaGB4"
      ],
      "transcriptReferences": [],
      "policyBriefReferences": [],
      "officialTextArtifacts": [
        {
          "sourceType": "agenda-html",
          "label": "Agenda HTML",
          "url": "https://pub-palmdesert.escribemeetings.com/Meeting.aspx?Id=6d6ece28-9cf7-4720-b381-643cc8307469&Agenda=Agenda&lang=English",
          "localArchivePath": null,
          "localTextPath": "Public-Records/official-documents/palm-desert/text/2026-04-09-city-council-regular/agenda.txt",
          "archiveStatus": "referenced",
          "textStatus": "extracted",
          "sha256": "sha256:9096f5da4097cba4460ebc6ebf5798a6e5d5e7cf448e9a0eedda5ff76e0c1482",
          "acquisitionError": null,
          "extractionError": null,
          "hasExtractedText": true
        },
        {
          "sourceType": "agenda-pdf",
          "label": "Agenda PDF",
          "url": "https://pub-palmdesert.escribemeetings.com/FileStream.ashx?DocumentId=42977",
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "referenced",
          "textStatus": "needs-checking",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "text extraction not completed or deferred",
          "hasExtractedText": false
        },
        {
          "sourceType": "packet-or-attachments",
          "label": "packet-or-attachments",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "minutes-pdf",
          "label": "minutes-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        }
      ],
      "missing": [
        "missing-agenda-packet-url",
        "missing-minutes-url",
        "missing-transcript"
      ],
      "previousBundleId": "palm-desert-2026-04-23-city-council-study-session",
      "nextBundleId": "palm-desert-2026-04-09-city-council-study-session",
      "relatedDraftExtractionIds": [],
      "meetingSourceSetUrl": "/source/palm-desert/meetings/2026-04-09-city-council-regular",
      "meetingSourceSetJsonUrl": "/data/palm-desert/meetings/2026-04-09-city-council-regular.json"
    },
    {
      "bundleId": "palm-desert-2026-04-09-city-council-study-session",
      "city": "Palm Desert",
      "citySlug": "palm-desert",
      "meetingDate": "2026-04-09",
      "corpusDates": [
        "2026-04-09"
      ],
      "body": "City Council Study Session",
      "bodyType": "city-council-study-session",
      "meetingType": "Study Session",
      "title": "Palm Desert City Council - Study Session",
      "readinessCategory": "partial",
      "extractionReadiness": "partial-official-text-and-video",
      "sourceCoverageStatus": "available",
      "statusFlags": {
        "hasTranscript": false,
        "hasPolicyBrief": false,
        "hasAgenda": true,
        "hasPacket": false,
        "hasMinutes": false,
        "hasVideo": true,
        "hasOfficialSource": true,
        "hasExtractedOfficialText": true
      },
      "canonicalSourceCompleteness": {
        "readiness": "partial-official-text-and-video",
        "hasAnyOfficialText": true,
        "gaps": [
          "missing-agenda-packet-url",
          "missing-minutes-url",
          "missing-transcript"
        ]
      },
      "counts": {
        "transcripts": 0,
        "policyBriefs": 0,
        "officialSources": 1,
        "officialTextArtifacts": 4,
        "extractedOfficialTextArtifacts": 1,
        "missing": 3
      },
      "officialSourceUrls": [
        "https://pub-palmdesert.escribemeetings.com/Meeting.aspx?Id=6f71e3e2-dcc5-46e0-81c1-ed3d1b207ff5&lang=English",
        "https://pub-palmdesert.escribemeetings.com/Meeting.aspx?Id=6f71e3e2-dcc5-46e0-81c1-ed3d1b207ff5&Agenda=Agenda&lang=English"
      ],
      "agendaPdfUrls": [
        "https://pub-palmdesert.escribemeetings.com/FileStream.ashx?DocumentId=43025"
      ],
      "packetPdfUrls": [],
      "minutesPdfUrls": [],
      "videoUrls": [
        "https://www.youtube.com/watch?v=lTVmX7gajJo"
      ],
      "transcriptReferences": [],
      "policyBriefReferences": [],
      "officialTextArtifacts": [
        {
          "sourceType": "agenda-html",
          "label": "Agenda HTML",
          "url": "https://pub-palmdesert.escribemeetings.com/Meeting.aspx?Id=6f71e3e2-dcc5-46e0-81c1-ed3d1b207ff5&Agenda=Agenda&lang=English",
          "localArchivePath": null,
          "localTextPath": "Public-Records/official-documents/palm-desert/text/2026-04-09-city-council-study-session/agenda.txt",
          "archiveStatus": "referenced",
          "textStatus": "extracted",
          "sha256": "sha256:0cb7a2627bc58ec58ad7ed5f28ee6537b62207f1ab7bb187eb4d0c41dd21c65e",
          "acquisitionError": null,
          "extractionError": null,
          "hasExtractedText": true
        },
        {
          "sourceType": "agenda-pdf",
          "label": "Agenda PDF",
          "url": "https://pub-palmdesert.escribemeetings.com/FileStream.ashx?DocumentId=43025",
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "referenced",
          "textStatus": "needs-checking",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "text extraction not completed or deferred",
          "hasExtractedText": false
        },
        {
          "sourceType": "packet-or-attachments",
          "label": "packet-or-attachments",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "minutes-pdf",
          "label": "minutes-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        }
      ],
      "missing": [
        "missing-agenda-packet-url",
        "missing-minutes-url",
        "missing-transcript"
      ],
      "previousBundleId": "palm-desert-2026-04-09-city-council-regular",
      "nextBundleId": "palm-desert-2026-03-26-city-council-regular",
      "relatedDraftExtractionIds": [],
      "meetingSourceSetUrl": "/source/palm-desert/meetings/2026-04-09-city-council-study-session",
      "meetingSourceSetJsonUrl": "/data/palm-desert/meetings/2026-04-09-city-council-study-session.json"
    },
    {
      "bundleId": "palm-desert-2026-03-26-city-council-regular",
      "city": "Palm Desert",
      "citySlug": "palm-desert",
      "meetingDate": "2026-03-26",
      "corpusDates": [
        "2026-03-26"
      ],
      "body": "City Council Regular",
      "bodyType": "city-council-regular",
      "meetingType": "Regular",
      "title": "Palm Desert City Council - Regular Meeting",
      "readinessCategory": "partial",
      "extractionReadiness": "partial-official-text-and-video",
      "sourceCoverageStatus": "available",
      "statusFlags": {
        "hasTranscript": false,
        "hasPolicyBrief": false,
        "hasAgenda": true,
        "hasPacket": false,
        "hasMinutes": true,
        "hasVideo": true,
        "hasOfficialSource": true,
        "hasExtractedOfficialText": true
      },
      "canonicalSourceCompleteness": {
        "readiness": "partial-official-text-and-video",
        "hasAnyOfficialText": true,
        "gaps": [
          "missing-agenda-packet-url",
          "missing-transcript"
        ]
      },
      "counts": {
        "transcripts": 0,
        "policyBriefs": 0,
        "officialSources": 1,
        "officialTextArtifacts": 4,
        "extractedOfficialTextArtifacts": 2,
        "missing": 2
      },
      "officialSourceUrls": [
        "https://pub-palmdesert.escribemeetings.com/Meeting.aspx?Id=e8a0a522-61f8-41e5-8292-a43d41f84997&lang=English",
        "https://pub-palmdesert.escribemeetings.com/Meeting.aspx?Id=e8a0a522-61f8-41e5-8292-a43d41f84997&Agenda=Agenda&lang=English"
      ],
      "agendaPdfUrls": [
        "https://pub-palmdesert.escribemeetings.com/FileStream.ashx?DocumentId=42715"
      ],
      "packetPdfUrls": [],
      "minutesPdfUrls": [
        "https://pub-palmdesert.escribemeetings.com/FileStream.ashx?DocumentId=43322"
      ],
      "videoUrls": [
        "https://www.youtube.com/watch?v=utFkASALJx4"
      ],
      "transcriptReferences": [],
      "policyBriefReferences": [],
      "officialTextArtifacts": [
        {
          "sourceType": "agenda-html",
          "label": "Agenda HTML",
          "url": "https://pub-palmdesert.escribemeetings.com/Meeting.aspx?Id=e8a0a522-61f8-41e5-8292-a43d41f84997&Agenda=Agenda&lang=English",
          "localArchivePath": null,
          "localTextPath": "Public-Records/official-documents/palm-desert/text/2026-03-26-city-council-regular/agenda.txt",
          "archiveStatus": "referenced",
          "textStatus": "extracted",
          "sha256": "sha256:336b9adfd835e2f57303124ad8202b84f9c1a9e6cfd6429f47fb24a14c0023ab",
          "acquisitionError": null,
          "extractionError": null,
          "hasExtractedText": true
        },
        {
          "sourceType": "agenda-pdf",
          "label": "Agenda PDF",
          "url": "https://pub-palmdesert.escribemeetings.com/FileStream.ashx?DocumentId=42715",
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "referenced",
          "textStatus": "needs-checking",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "text extraction not completed or deferred",
          "hasExtractedText": false
        },
        {
          "sourceType": "packet-or-attachments",
          "label": "packet-or-attachments",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "minutes-pdf",
          "label": "Minutes PDF",
          "url": "https://pub-palmdesert.escribemeetings.com/FileStream.ashx?DocumentId=43322",
          "localArchivePath": null,
          "localTextPath": "Public-Records/official-documents/palm-desert/text/2026-03-26-city-council-regular/minutes.txt",
          "archiveStatus": "referenced",
          "textStatus": "extracted",
          "sha256": "sha256:4ff63026efd98aab5792cdf49f3b4d32099c07e42fd896f8fc8408e37910917b",
          "acquisitionError": null,
          "extractionError": null,
          "hasExtractedText": true
        }
      ],
      "missing": [
        "missing-agenda-packet-url",
        "missing-transcript"
      ],
      "previousBundleId": "palm-desert-2026-04-09-city-council-study-session",
      "nextBundleId": "palm-desert-2026-03-26-city-council-study-session",
      "relatedDraftExtractionIds": [],
      "meetingSourceSetUrl": "/source/palm-desert/meetings/2026-03-26-city-council-regular",
      "meetingSourceSetJsonUrl": "/data/palm-desert/meetings/2026-03-26-city-council-regular.json"
    },
    {
      "bundleId": "palm-desert-2026-03-26-city-council-study-session",
      "city": "Palm Desert",
      "citySlug": "palm-desert",
      "meetingDate": "2026-03-26",
      "corpusDates": [
        "2026-03-26"
      ],
      "body": "City Council Study Session",
      "bodyType": "city-council-study-session",
      "meetingType": "Study Session",
      "title": "Palm Desert City Council - Study Session",
      "readinessCategory": "partial",
      "extractionReadiness": "partial-official-text-and-video",
      "sourceCoverageStatus": "available",
      "statusFlags": {
        "hasTranscript": false,
        "hasPolicyBrief": false,
        "hasAgenda": true,
        "hasPacket": false,
        "hasMinutes": true,
        "hasVideo": true,
        "hasOfficialSource": true,
        "hasExtractedOfficialText": true
      },
      "canonicalSourceCompleteness": {
        "readiness": "partial-official-text-and-video",
        "hasAnyOfficialText": true,
        "gaps": [
          "missing-agenda-packet-url",
          "missing-transcript"
        ]
      },
      "counts": {
        "transcripts": 0,
        "policyBriefs": 0,
        "officialSources": 1,
        "officialTextArtifacts": 4,
        "extractedOfficialTextArtifacts": 2,
        "missing": 2
      },
      "officialSourceUrls": [
        "https://pub-palmdesert.escribemeetings.com/Meeting.aspx?Id=9f95d001-900f-4d70-9a9f-21a3fdc21408&lang=English",
        "https://pub-palmdesert.escribemeetings.com/Meeting.aspx?Id=9f95d001-900f-4d70-9a9f-21a3fdc21408&Agenda=Agenda&lang=English"
      ],
      "agendaPdfUrls": [
        "https://pub-palmdesert.escribemeetings.com/FileStream.ashx?DocumentId=42645"
      ],
      "packetPdfUrls": [],
      "minutesPdfUrls": [
        "https://pub-palmdesert.escribemeetings.com/FileStream.ashx?DocumentId=43257"
      ],
      "videoUrls": [
        "https://www.youtube.com/watch?v=pI-XDAxLdew"
      ],
      "transcriptReferences": [],
      "policyBriefReferences": [],
      "officialTextArtifacts": [
        {
          "sourceType": "agenda-html",
          "label": "Agenda HTML",
          "url": "https://pub-palmdesert.escribemeetings.com/Meeting.aspx?Id=9f95d001-900f-4d70-9a9f-21a3fdc21408&Agenda=Agenda&lang=English",
          "localArchivePath": null,
          "localTextPath": "Public-Records/official-documents/palm-desert/text/2026-03-26-city-council-study-session/agenda.txt",
          "archiveStatus": "referenced",
          "textStatus": "extracted",
          "sha256": "sha256:3123982e03d2e0e5b1db898afd4fa9f1093730c032c0a8c936748e0fc421a153",
          "acquisitionError": null,
          "extractionError": null,
          "hasExtractedText": true
        },
        {
          "sourceType": "agenda-pdf",
          "label": "Agenda PDF",
          "url": "https://pub-palmdesert.escribemeetings.com/FileStream.ashx?DocumentId=42645",
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "referenced",
          "textStatus": "needs-checking",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "text extraction not completed or deferred",
          "hasExtractedText": false
        },
        {
          "sourceType": "packet-or-attachments",
          "label": "packet-or-attachments",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "minutes-pdf",
          "label": "Minutes PDF",
          "url": "https://pub-palmdesert.escribemeetings.com/FileStream.ashx?DocumentId=43257",
          "localArchivePath": null,
          "localTextPath": "Public-Records/official-documents/palm-desert/text/2026-03-26-city-council-study-session/minutes.txt",
          "archiveStatus": "referenced",
          "textStatus": "extracted",
          "sha256": "sha256:dd3384ae271603ccb0d95ef370f4de58be7d7567f0e1c7ef1363b367969df99d",
          "acquisitionError": null,
          "extractionError": null,
          "hasExtractedText": true
        }
      ],
      "missing": [
        "missing-agenda-packet-url",
        "missing-transcript"
      ],
      "previousBundleId": "palm-desert-2026-03-26-city-council-regular",
      "nextBundleId": "palm-desert-2026-03-12-city-council-regular",
      "relatedDraftExtractionIds": [],
      "meetingSourceSetUrl": "/source/palm-desert/meetings/2026-03-26-city-council-study-session",
      "meetingSourceSetJsonUrl": "/data/palm-desert/meetings/2026-03-26-city-council-study-session.json"
    },
    {
      "bundleId": "palm-desert-2026-03-12-city-council-regular",
      "city": "Palm Desert",
      "citySlug": "palm-desert",
      "meetingDate": "2026-03-12",
      "corpusDates": [
        "2026-03-12"
      ],
      "body": "City Council Regular",
      "bodyType": "city-council-regular",
      "meetingType": "Regular",
      "title": "Palm Desert City Council - Regular Meeting",
      "readinessCategory": "partial",
      "extractionReadiness": "partial-official-text-and-video",
      "sourceCoverageStatus": "available",
      "statusFlags": {
        "hasTranscript": false,
        "hasPolicyBrief": false,
        "hasAgenda": true,
        "hasPacket": false,
        "hasMinutes": true,
        "hasVideo": true,
        "hasOfficialSource": true,
        "hasExtractedOfficialText": true
      },
      "canonicalSourceCompleteness": {
        "readiness": "partial-official-text-and-video",
        "hasAnyOfficialText": true,
        "gaps": [
          "missing-agenda-packet-url",
          "missing-transcript"
        ]
      },
      "counts": {
        "transcripts": 0,
        "policyBriefs": 0,
        "officialSources": 1,
        "officialTextArtifacts": 4,
        "extractedOfficialTextArtifacts": 2,
        "missing": 2
      },
      "officialSourceUrls": [
        "https://pub-palmdesert.escribemeetings.com/Meeting.aspx?Id=4a7a1b6d-3294-445e-866b-e20e8882938f&lang=English",
        "https://pub-palmdesert.escribemeetings.com/Meeting.aspx?Id=4a7a1b6d-3294-445e-866b-e20e8882938f&Agenda=Agenda&lang=English"
      ],
      "agendaPdfUrls": [
        "https://pub-palmdesert.escribemeetings.com/FileStream.ashx?DocumentId=42373"
      ],
      "packetPdfUrls": [],
      "minutesPdfUrls": [
        "https://pub-palmdesert.escribemeetings.com/FileStream.ashx?DocumentId=43323"
      ],
      "videoUrls": [
        "https://www.youtube.com/watch?v=YTe5ZADE5hI"
      ],
      "transcriptReferences": [],
      "policyBriefReferences": [],
      "officialTextArtifacts": [
        {
          "sourceType": "agenda-html",
          "label": "Agenda HTML",
          "url": "https://pub-palmdesert.escribemeetings.com/Meeting.aspx?Id=4a7a1b6d-3294-445e-866b-e20e8882938f&Agenda=Agenda&lang=English",
          "localArchivePath": null,
          "localTextPath": "Public-Records/official-documents/palm-desert/text/2026-03-12-city-council-regular/agenda.txt",
          "archiveStatus": "referenced",
          "textStatus": "extracted",
          "sha256": "sha256:878ce1f0e0884dd211ac6ac03b854f08951efbe76594b140e549b322e6ee5a21",
          "acquisitionError": null,
          "extractionError": null,
          "hasExtractedText": true
        },
        {
          "sourceType": "agenda-pdf",
          "label": "Agenda PDF",
          "url": "https://pub-palmdesert.escribemeetings.com/FileStream.ashx?DocumentId=42373",
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "referenced",
          "textStatus": "needs-checking",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "text extraction not completed or deferred",
          "hasExtractedText": false
        },
        {
          "sourceType": "packet-or-attachments",
          "label": "packet-or-attachments",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "minutes-pdf",
          "label": "Minutes PDF",
          "url": "https://pub-palmdesert.escribemeetings.com/FileStream.ashx?DocumentId=43323",
          "localArchivePath": null,
          "localTextPath": "Public-Records/official-documents/palm-desert/text/2026-03-12-city-council-regular/minutes.txt",
          "archiveStatus": "referenced",
          "textStatus": "extracted",
          "sha256": "sha256:ef6c080f5c43fa602cdbc33c44eac6d4fec55173b5691389b9721efe24055104",
          "acquisitionError": null,
          "extractionError": null,
          "hasExtractedText": true
        }
      ],
      "missing": [
        "missing-agenda-packet-url",
        "missing-transcript"
      ],
      "previousBundleId": "palm-desert-2026-03-26-city-council-study-session",
      "nextBundleId": "palm-desert-2026-03-12-city-council-study-session",
      "relatedDraftExtractionIds": [],
      "meetingSourceSetUrl": "/source/palm-desert/meetings/2026-03-12-city-council-regular",
      "meetingSourceSetJsonUrl": "/data/palm-desert/meetings/2026-03-12-city-council-regular.json"
    },
    {
      "bundleId": "palm-desert-2026-03-12-city-council-study-session",
      "city": "Palm Desert",
      "citySlug": "palm-desert",
      "meetingDate": "2026-03-12",
      "corpusDates": [
        "2026-03-12"
      ],
      "body": "City Council Study Session",
      "bodyType": "city-council-study-session",
      "meetingType": "Study Session",
      "title": "Palm Desert City Council - Study Session",
      "readinessCategory": "partial",
      "extractionReadiness": "partial-official-text-and-video",
      "sourceCoverageStatus": "available",
      "statusFlags": {
        "hasTranscript": false,
        "hasPolicyBrief": false,
        "hasAgenda": true,
        "hasPacket": false,
        "hasMinutes": true,
        "hasVideo": true,
        "hasOfficialSource": true,
        "hasExtractedOfficialText": true
      },
      "canonicalSourceCompleteness": {
        "readiness": "partial-official-text-and-video",
        "hasAnyOfficialText": true,
        "gaps": [
          "missing-agenda-packet-url",
          "missing-transcript"
        ]
      },
      "counts": {
        "transcripts": 0,
        "policyBriefs": 0,
        "officialSources": 1,
        "officialTextArtifacts": 4,
        "extractedOfficialTextArtifacts": 2,
        "missing": 2
      },
      "officialSourceUrls": [
        "https://pub-palmdesert.escribemeetings.com/Meeting.aspx?Id=210370b8-16cb-4889-87bc-4594872b45d9&lang=English",
        "https://pub-palmdesert.escribemeetings.com/Meeting.aspx?Id=210370b8-16cb-4889-87bc-4594872b45d9&Agenda=Agenda&lang=English"
      ],
      "agendaPdfUrls": [
        "https://pub-palmdesert.escribemeetings.com/FileStream.ashx?DocumentId=42363"
      ],
      "packetPdfUrls": [],
      "minutesPdfUrls": [
        "https://pub-palmdesert.escribemeetings.com/FileStream.ashx?DocumentId=43256"
      ],
      "videoUrls": [
        "https://www.youtube.com/watch?v=K-w9iWhE2Gs"
      ],
      "transcriptReferences": [],
      "policyBriefReferences": [],
      "officialTextArtifacts": [
        {
          "sourceType": "agenda-html",
          "label": "Agenda HTML",
          "url": "https://pub-palmdesert.escribemeetings.com/Meeting.aspx?Id=210370b8-16cb-4889-87bc-4594872b45d9&Agenda=Agenda&lang=English",
          "localArchivePath": null,
          "localTextPath": "Public-Records/official-documents/palm-desert/text/2026-03-12-city-council-study-session/agenda.txt",
          "archiveStatus": "referenced",
          "textStatus": "extracted",
          "sha256": "sha256:13eb315c4fd44d474be66529fe640218866e152e4df9a45205b849d7e93cdb56",
          "acquisitionError": null,
          "extractionError": null,
          "hasExtractedText": true
        },
        {
          "sourceType": "agenda-pdf",
          "label": "Agenda PDF",
          "url": "https://pub-palmdesert.escribemeetings.com/FileStream.ashx?DocumentId=42363",
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "referenced",
          "textStatus": "needs-checking",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "text extraction not completed or deferred",
          "hasExtractedText": false
        },
        {
          "sourceType": "packet-or-attachments",
          "label": "packet-or-attachments",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "minutes-pdf",
          "label": "Minutes PDF",
          "url": "https://pub-palmdesert.escribemeetings.com/FileStream.ashx?DocumentId=43256",
          "localArchivePath": null,
          "localTextPath": "Public-Records/official-documents/palm-desert/text/2026-03-12-city-council-study-session/minutes.txt",
          "archiveStatus": "referenced",
          "textStatus": "extracted",
          "sha256": "sha256:5e6e61d44665255252331fc7d4ba9f9a6af4c72d410faac9e8e46b30ff36de0c",
          "acquisitionError": null,
          "extractionError": null,
          "hasExtractedText": true
        }
      ],
      "missing": [
        "missing-agenda-packet-url",
        "missing-transcript"
      ],
      "previousBundleId": "palm-desert-2026-03-12-city-council-regular",
      "nextBundleId": "palm-desert-2026-02-26-city-council-regular",
      "relatedDraftExtractionIds": [],
      "meetingSourceSetUrl": "/source/palm-desert/meetings/2026-03-12-city-council-study-session",
      "meetingSourceSetJsonUrl": "/data/palm-desert/meetings/2026-03-12-city-council-study-session.json"
    },
    {
      "bundleId": "palm-desert-2026-02-26-city-council-regular",
      "city": "Palm Desert",
      "citySlug": "palm-desert",
      "meetingDate": "2026-02-26",
      "corpusDates": [
        "2026-02-26"
      ],
      "body": "City Council Regular",
      "bodyType": "city-council-regular",
      "meetingType": "Regular",
      "title": "Palm Desert City Council - Regular Meeting",
      "readinessCategory": "partial",
      "extractionReadiness": "partial-official-text-and-video",
      "sourceCoverageStatus": "available",
      "statusFlags": {
        "hasTranscript": false,
        "hasPolicyBrief": false,
        "hasAgenda": true,
        "hasPacket": false,
        "hasMinutes": true,
        "hasVideo": true,
        "hasOfficialSource": true,
        "hasExtractedOfficialText": true
      },
      "canonicalSourceCompleteness": {
        "readiness": "partial-official-text-and-video",
        "hasAnyOfficialText": true,
        "gaps": [
          "missing-agenda-packet-url",
          "missing-transcript"
        ]
      },
      "counts": {
        "transcripts": 0,
        "policyBriefs": 0,
        "officialSources": 1,
        "officialTextArtifacts": 4,
        "extractedOfficialTextArtifacts": 2,
        "missing": 2
      },
      "officialSourceUrls": [
        "https://pub-palmdesert.escribemeetings.com/Meeting.aspx?Id=86dceaf7-cb5f-4d1a-8944-505a68ba15f8&lang=English",
        "https://pub-palmdesert.escribemeetings.com/Meeting.aspx?Id=86dceaf7-cb5f-4d1a-8944-505a68ba15f8&Agenda=Agenda&lang=English"
      ],
      "agendaPdfUrls": [
        "https://pub-palmdesert.escribemeetings.com/FileStream.ashx?DocumentId=41971"
      ],
      "packetPdfUrls": [],
      "minutesPdfUrls": [
        "https://pub-palmdesert.escribemeetings.com/FileStream.ashx?DocumentId=43324"
      ],
      "videoUrls": [
        "https://www.youtube.com/watch?v=p9xEilxFDXk"
      ],
      "transcriptReferences": [],
      "policyBriefReferences": [],
      "officialTextArtifacts": [
        {
          "sourceType": "agenda-html",
          "label": "Agenda HTML",
          "url": "https://pub-palmdesert.escribemeetings.com/Meeting.aspx?Id=86dceaf7-cb5f-4d1a-8944-505a68ba15f8&Agenda=Agenda&lang=English",
          "localArchivePath": null,
          "localTextPath": "Public-Records/official-documents/palm-desert/text/2026-02-26-city-council-regular/agenda.txt",
          "archiveStatus": "referenced",
          "textStatus": "extracted",
          "sha256": "sha256:39a954b6d571d74bdb0c71a2b6cc63bd59f3bcc152767d0d663785a51f782f57",
          "acquisitionError": null,
          "extractionError": null,
          "hasExtractedText": true
        },
        {
          "sourceType": "agenda-pdf",
          "label": "Agenda PDF",
          "url": "https://pub-palmdesert.escribemeetings.com/FileStream.ashx?DocumentId=41971",
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "referenced",
          "textStatus": "needs-checking",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "text extraction not completed or deferred",
          "hasExtractedText": false
        },
        {
          "sourceType": "packet-or-attachments",
          "label": "packet-or-attachments",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "minutes-pdf",
          "label": "Minutes PDF",
          "url": "https://pub-palmdesert.escribemeetings.com/FileStream.ashx?DocumentId=43324",
          "localArchivePath": null,
          "localTextPath": "Public-Records/official-documents/palm-desert/text/2026-02-26-city-council-regular/minutes.txt",
          "archiveStatus": "referenced",
          "textStatus": "extracted",
          "sha256": "sha256:b8f381c69df00e6720173ff33dba620e5aee1392af8ad085eadb51a45ed757ff",
          "acquisitionError": null,
          "extractionError": null,
          "hasExtractedText": true
        }
      ],
      "missing": [
        "missing-agenda-packet-url",
        "missing-transcript"
      ],
      "previousBundleId": "palm-desert-2026-03-12-city-council-study-session",
      "nextBundleId": "palm-desert-2026-02-26-city-council-study-session",
      "relatedDraftExtractionIds": [],
      "meetingSourceSetUrl": "/source/palm-desert/meetings/2026-02-26-city-council-regular",
      "meetingSourceSetJsonUrl": "/data/palm-desert/meetings/2026-02-26-city-council-regular.json"
    },
    {
      "bundleId": "palm-desert-2026-02-26-city-council-study-session",
      "city": "Palm Desert",
      "citySlug": "palm-desert",
      "meetingDate": "2026-02-26",
      "corpusDates": [
        "2026-02-26"
      ],
      "body": "City Council Study Session",
      "bodyType": "city-council-study-session",
      "meetingType": "Study Session",
      "title": "Palm Desert City Council - Study Session",
      "readinessCategory": "partial",
      "extractionReadiness": "partial-official-text-and-video",
      "sourceCoverageStatus": "available",
      "statusFlags": {
        "hasTranscript": false,
        "hasPolicyBrief": false,
        "hasAgenda": true,
        "hasPacket": false,
        "hasMinutes": true,
        "hasVideo": true,
        "hasOfficialSource": true,
        "hasExtractedOfficialText": true
      },
      "canonicalSourceCompleteness": {
        "readiness": "partial-official-text-and-video",
        "hasAnyOfficialText": true,
        "gaps": [
          "missing-agenda-packet-url",
          "missing-transcript"
        ]
      },
      "counts": {
        "transcripts": 0,
        "policyBriefs": 0,
        "officialSources": 1,
        "officialTextArtifacts": 4,
        "extractedOfficialTextArtifacts": 2,
        "missing": 2
      },
      "officialSourceUrls": [
        "https://pub-palmdesert.escribemeetings.com/Meeting.aspx?Id=793c434b-af2d-467a-a3d7-d8311007921f&lang=English",
        "https://pub-palmdesert.escribemeetings.com/Meeting.aspx?Id=793c434b-af2d-467a-a3d7-d8311007921f&Agenda=Agenda&lang=English"
      ],
      "agendaPdfUrls": [
        "https://pub-palmdesert.escribemeetings.com/FileStream.ashx?DocumentId=42021"
      ],
      "packetPdfUrls": [],
      "minutesPdfUrls": [
        "https://pub-palmdesert.escribemeetings.com/FileStream.ashx?DocumentId=43255"
      ],
      "videoUrls": [
        "https://www.youtube.com/watch?v=08AXsMIOeQc"
      ],
      "transcriptReferences": [],
      "policyBriefReferences": [],
      "officialTextArtifacts": [
        {
          "sourceType": "agenda-html",
          "label": "Agenda HTML",
          "url": "https://pub-palmdesert.escribemeetings.com/Meeting.aspx?Id=793c434b-af2d-467a-a3d7-d8311007921f&Agenda=Agenda&lang=English",
          "localArchivePath": null,
          "localTextPath": "Public-Records/official-documents/palm-desert/text/2026-02-26-city-council-study-session/agenda.txt",
          "archiveStatus": "referenced",
          "textStatus": "extracted",
          "sha256": "sha256:d3a8482c91d61e4fb65c6a529024264d346a924a4f68cd4b7c9cb62e01e3b8e4",
          "acquisitionError": null,
          "extractionError": null,
          "hasExtractedText": true
        },
        {
          "sourceType": "agenda-pdf",
          "label": "Agenda PDF",
          "url": "https://pub-palmdesert.escribemeetings.com/FileStream.ashx?DocumentId=42021",
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "referenced",
          "textStatus": "needs-checking",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "text extraction not completed or deferred",
          "hasExtractedText": false
        },
        {
          "sourceType": "packet-or-attachments",
          "label": "packet-or-attachments",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "minutes-pdf",
          "label": "Minutes PDF",
          "url": "https://pub-palmdesert.escribemeetings.com/FileStream.ashx?DocumentId=43255",
          "localArchivePath": null,
          "localTextPath": "Public-Records/official-documents/palm-desert/text/2026-02-26-city-council-study-session/minutes.txt",
          "archiveStatus": "referenced",
          "textStatus": "extracted",
          "sha256": "sha256:0ff12fadc205cd7e1660b5c8a00f0994233ba279df4bb9e011388051d260cac5",
          "acquisitionError": null,
          "extractionError": null,
          "hasExtractedText": true
        }
      ],
      "missing": [
        "missing-agenda-packet-url",
        "missing-transcript"
      ],
      "previousBundleId": "palm-desert-2026-02-26-city-council-regular",
      "nextBundleId": "palm-desert-2026-02-12-city-council-regular",
      "relatedDraftExtractionIds": [],
      "meetingSourceSetUrl": "/source/palm-desert/meetings/2026-02-26-city-council-study-session",
      "meetingSourceSetJsonUrl": "/data/palm-desert/meetings/2026-02-26-city-council-study-session.json"
    },
    {
      "bundleId": "palm-desert-2026-02-12-city-council-regular",
      "city": "Palm Desert",
      "citySlug": "palm-desert",
      "meetingDate": "2026-02-12",
      "corpusDates": [
        "2026-02-12"
      ],
      "body": "City Council Regular",
      "bodyType": "city-council-regular",
      "meetingType": "Regular",
      "title": "Palm Desert City Council - Regular Meeting",
      "readinessCategory": "partial",
      "extractionReadiness": "partial-official-text-and-video",
      "sourceCoverageStatus": "available",
      "statusFlags": {
        "hasTranscript": false,
        "hasPolicyBrief": false,
        "hasAgenda": true,
        "hasPacket": false,
        "hasMinutes": true,
        "hasVideo": true,
        "hasOfficialSource": true,
        "hasExtractedOfficialText": true
      },
      "canonicalSourceCompleteness": {
        "readiness": "partial-official-text-and-video",
        "hasAnyOfficialText": true,
        "gaps": [
          "missing-agenda-packet-url",
          "missing-transcript"
        ]
      },
      "counts": {
        "transcripts": 0,
        "policyBriefs": 0,
        "officialSources": 1,
        "officialTextArtifacts": 4,
        "extractedOfficialTextArtifacts": 1,
        "missing": 2
      },
      "officialSourceUrls": [
        "https://pub-palmdesert.escribemeetings.com/Meeting.aspx?Id=fb29700c-4668-4b9b-af3e-06accb308425&lang=English",
        "https://pub-palmdesert.escribemeetings.com/Meeting.aspx?Id=fb29700c-4668-4b9b-af3e-06accb308425&Agenda=Agenda&lang=English"
      ],
      "agendaPdfUrls": [
        "https://pub-palmdesert.escribemeetings.com/FileStream.ashx?DocumentId=41596"
      ],
      "packetPdfUrls": [],
      "minutesPdfUrls": [
        "https://pub-palmdesert.escribemeetings.com/FileStream.ashx?DocumentId=41876"
      ],
      "videoUrls": [
        "https://www.youtube.com/watch?v=w1-T67V-5JQ"
      ],
      "transcriptReferences": [],
      "policyBriefReferences": [],
      "officialTextArtifacts": [
        {
          "sourceType": "agenda-html",
          "label": "Agenda HTML",
          "url": "https://pub-palmdesert.escribemeetings.com/Meeting.aspx?Id=fb29700c-4668-4b9b-af3e-06accb308425&Agenda=Agenda&lang=English",
          "localArchivePath": null,
          "localTextPath": "Public-Records/official-documents/palm-desert/text/2026-02-12-city-council-regular/agenda.txt",
          "archiveStatus": "referenced",
          "textStatus": "extracted",
          "sha256": "sha256:801bc030487907407b8dc5f634924a983ccfc2701cb28bf408841debed911b27",
          "acquisitionError": null,
          "extractionError": null,
          "hasExtractedText": true
        },
        {
          "sourceType": "agenda-pdf",
          "label": "Agenda PDF",
          "url": "https://pub-palmdesert.escribemeetings.com/FileStream.ashx?DocumentId=41596",
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "referenced",
          "textStatus": "needs-checking",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "text extraction not completed or deferred",
          "hasExtractedText": false
        },
        {
          "sourceType": "packet-or-attachments",
          "label": "packet-or-attachments",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "minutes-pdf",
          "label": "Minutes PDF",
          "url": "https://pub-palmdesert.escribemeetings.com/FileStream.ashx?DocumentId=41876",
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "referenced",
          "textStatus": "needs-checking",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "text extraction not completed or deferred",
          "hasExtractedText": false
        }
      ],
      "missing": [
        "missing-agenda-packet-url",
        "missing-transcript"
      ],
      "previousBundleId": "palm-desert-2026-02-26-city-council-study-session",
      "nextBundleId": "palm-desert-2026-02-12-city-council-study-session",
      "relatedDraftExtractionIds": [],
      "meetingSourceSetUrl": "/source/palm-desert/meetings/2026-02-12-city-council-regular",
      "meetingSourceSetJsonUrl": "/data/palm-desert/meetings/2026-02-12-city-council-regular.json"
    },
    {
      "bundleId": "palm-desert-2026-02-12-city-council-study-session",
      "city": "Palm Desert",
      "citySlug": "palm-desert",
      "meetingDate": "2026-02-12",
      "corpusDates": [
        "2026-02-12"
      ],
      "body": "City Council Study Session",
      "bodyType": "city-council-study-session",
      "meetingType": "Study Session",
      "title": "Palm Desert City Council - Study Session",
      "readinessCategory": "partial",
      "extractionReadiness": "partial-official-text-and-video",
      "sourceCoverageStatus": "available",
      "statusFlags": {
        "hasTranscript": false,
        "hasPolicyBrief": false,
        "hasAgenda": true,
        "hasPacket": false,
        "hasMinutes": true,
        "hasVideo": true,
        "hasOfficialSource": true,
        "hasExtractedOfficialText": true
      },
      "canonicalSourceCompleteness": {
        "readiness": "partial-official-text-and-video",
        "hasAnyOfficialText": true,
        "gaps": [
          "missing-agenda-packet-url",
          "missing-transcript"
        ]
      },
      "counts": {
        "transcripts": 0,
        "policyBriefs": 0,
        "officialSources": 1,
        "officialTextArtifacts": 4,
        "extractedOfficialTextArtifacts": 2,
        "missing": 2
      },
      "officialSourceUrls": [
        "https://pub-palmdesert.escribemeetings.com/Meeting.aspx?Id=29025c32-9072-4761-a3ea-4dcbdce0a931&lang=English",
        "https://pub-palmdesert.escribemeetings.com/Meeting.aspx?Id=29025c32-9072-4761-a3ea-4dcbdce0a931&Agenda=Agenda&lang=English"
      ],
      "agendaPdfUrls": [
        "https://pub-palmdesert.escribemeetings.com/FileStream.ashx?DocumentId=41600"
      ],
      "packetPdfUrls": [],
      "minutesPdfUrls": [
        "https://pub-palmdesert.escribemeetings.com/FileStream.ashx?DocumentId=43254"
      ],
      "videoUrls": [
        "https://www.youtube.com/watch?v=9EDWLt_zZYg"
      ],
      "transcriptReferences": [],
      "policyBriefReferences": [],
      "officialTextArtifacts": [
        {
          "sourceType": "agenda-html",
          "label": "Agenda HTML",
          "url": "https://pub-palmdesert.escribemeetings.com/Meeting.aspx?Id=29025c32-9072-4761-a3ea-4dcbdce0a931&Agenda=Agenda&lang=English",
          "localArchivePath": null,
          "localTextPath": "Public-Records/official-documents/palm-desert/text/2026-02-12-city-council-study-session/agenda.txt",
          "archiveStatus": "referenced",
          "textStatus": "extracted",
          "sha256": "sha256:4880f1d794a95a9c75e019c1fdda4d91cac6162ce9652aaeed3707bf1e46329e",
          "acquisitionError": null,
          "extractionError": null,
          "hasExtractedText": true
        },
        {
          "sourceType": "agenda-pdf",
          "label": "Agenda PDF",
          "url": "https://pub-palmdesert.escribemeetings.com/FileStream.ashx?DocumentId=41600",
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "referenced",
          "textStatus": "needs-checking",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "text extraction not completed or deferred",
          "hasExtractedText": false
        },
        {
          "sourceType": "packet-or-attachments",
          "label": "packet-or-attachments",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "minutes-pdf",
          "label": "Minutes PDF",
          "url": "https://pub-palmdesert.escribemeetings.com/FileStream.ashx?DocumentId=43254",
          "localArchivePath": null,
          "localTextPath": "Public-Records/official-documents/palm-desert/text/2026-02-12-city-council-study-session/minutes.txt",
          "archiveStatus": "referenced",
          "textStatus": "extracted",
          "sha256": "sha256:453f4bfc93b44b82fa5c0dfa0cf93bf6442e2c0d40e926c7c2b4df7cb846d9e4",
          "acquisitionError": null,
          "extractionError": null,
          "hasExtractedText": true
        }
      ],
      "missing": [
        "missing-agenda-packet-url",
        "missing-transcript"
      ],
      "previousBundleId": "palm-desert-2026-02-12-city-council-regular",
      "nextBundleId": "palm-desert-2026-01-22-city-council-regular",
      "relatedDraftExtractionIds": [],
      "meetingSourceSetUrl": "/source/palm-desert/meetings/2026-02-12-city-council-study-session",
      "meetingSourceSetJsonUrl": "/data/palm-desert/meetings/2026-02-12-city-council-study-session.json"
    },
    {
      "bundleId": "palm-desert-2026-01-22-city-council-regular",
      "city": "Palm Desert",
      "citySlug": "palm-desert",
      "meetingDate": "2026-01-22",
      "corpusDates": [
        "2026-01-22"
      ],
      "body": "City Council Regular",
      "bodyType": "city-council-regular",
      "meetingType": "Regular",
      "title": "Palm Desert City Council - Regular Meeting",
      "readinessCategory": "partial",
      "extractionReadiness": "partial-official-text-and-video",
      "sourceCoverageStatus": "available",
      "statusFlags": {
        "hasTranscript": false,
        "hasPolicyBrief": false,
        "hasAgenda": true,
        "hasPacket": false,
        "hasMinutes": false,
        "hasVideo": true,
        "hasOfficialSource": true,
        "hasExtractedOfficialText": true
      },
      "canonicalSourceCompleteness": {
        "readiness": "partial-official-text-and-video",
        "hasAnyOfficialText": true,
        "gaps": [
          "missing-agenda-packet-url",
          "missing-minutes-url",
          "missing-transcript"
        ]
      },
      "counts": {
        "transcripts": 0,
        "policyBriefs": 0,
        "officialSources": 1,
        "officialTextArtifacts": 4,
        "extractedOfficialTextArtifacts": 1,
        "missing": 3
      },
      "officialSourceUrls": [
        "https://pub-palmdesert.escribemeetings.com/Meeting.aspx?Id=43e3172f-fce5-4d29-aac0-5e2767b605dc&lang=English",
        "https://pub-palmdesert.escribemeetings.com/Meeting.aspx?Id=43e3172f-fce5-4d29-aac0-5e2767b605dc&Agenda=Agenda&lang=English"
      ],
      "agendaPdfUrls": [
        "https://pub-palmdesert.escribemeetings.com/FileStream.ashx?DocumentId=41180"
      ],
      "packetPdfUrls": [],
      "minutesPdfUrls": [],
      "videoUrls": [
        "https://www.youtube.com/watch?v=V-Yq0AAWniM"
      ],
      "transcriptReferences": [],
      "policyBriefReferences": [],
      "officialTextArtifacts": [
        {
          "sourceType": "agenda-html",
          "label": "Agenda HTML",
          "url": "https://pub-palmdesert.escribemeetings.com/Meeting.aspx?Id=43e3172f-fce5-4d29-aac0-5e2767b605dc&Agenda=Agenda&lang=English",
          "localArchivePath": null,
          "localTextPath": "Public-Records/official-documents/palm-desert/text/2026-01-22-city-council-regular/agenda.txt",
          "archiveStatus": "referenced",
          "textStatus": "extracted",
          "sha256": "sha256:66b794791af2361a4a5093aed7c5a373876a3d64f4537d63a420be76cae57eeb",
          "acquisitionError": null,
          "extractionError": null,
          "hasExtractedText": true
        },
        {
          "sourceType": "agenda-pdf",
          "label": "Agenda PDF",
          "url": "https://pub-palmdesert.escribemeetings.com/FileStream.ashx?DocumentId=41180",
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "referenced",
          "textStatus": "needs-checking",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "text extraction not completed or deferred",
          "hasExtractedText": false
        },
        {
          "sourceType": "packet-or-attachments",
          "label": "packet-or-attachments",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "minutes-pdf",
          "label": "minutes-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        }
      ],
      "missing": [
        "missing-agenda-packet-url",
        "missing-minutes-url",
        "missing-transcript"
      ],
      "previousBundleId": "palm-desert-2026-02-12-city-council-study-session",
      "nextBundleId": "palm-desert-2026-01-08-city-council-regular",
      "relatedDraftExtractionIds": [],
      "meetingSourceSetUrl": "/source/palm-desert/meetings/2026-01-22-city-council-regular",
      "meetingSourceSetJsonUrl": "/data/palm-desert/meetings/2026-01-22-city-council-regular.json"
    },
    {
      "bundleId": "palm-desert-2026-01-08-city-council-regular",
      "city": "Palm Desert",
      "citySlug": "palm-desert",
      "meetingDate": "2026-01-08",
      "corpusDates": [
        "2026-01-08"
      ],
      "body": "City Council Regular",
      "bodyType": "city-council-regular",
      "meetingType": "Regular",
      "title": "Palm Desert City Council - Regular Meeting",
      "readinessCategory": "partial",
      "extractionReadiness": "partial-official-text-and-video",
      "sourceCoverageStatus": "available",
      "statusFlags": {
        "hasTranscript": false,
        "hasPolicyBrief": false,
        "hasAgenda": true,
        "hasPacket": false,
        "hasMinutes": false,
        "hasVideo": true,
        "hasOfficialSource": true,
        "hasExtractedOfficialText": true
      },
      "canonicalSourceCompleteness": {
        "readiness": "partial-official-text-and-video",
        "hasAnyOfficialText": true,
        "gaps": [
          "missing-agenda-packet-url",
          "missing-minutes-url",
          "missing-transcript"
        ]
      },
      "counts": {
        "transcripts": 0,
        "policyBriefs": 0,
        "officialSources": 1,
        "officialTextArtifacts": 4,
        "extractedOfficialTextArtifacts": 1,
        "missing": 3
      },
      "officialSourceUrls": [
        "https://pub-palmdesert.escribemeetings.com/Meeting.aspx?Id=05602e45-f57b-4960-a1a9-f771380d2a9b&lang=English",
        "https://pub-palmdesert.escribemeetings.com/Meeting.aspx?Id=05602e45-f57b-4960-a1a9-f771380d2a9b&Agenda=Agenda&lang=English"
      ],
      "agendaPdfUrls": [
        "https://pub-palmdesert.escribemeetings.com/FileStream.ashx?DocumentId=40783"
      ],
      "packetPdfUrls": [],
      "minutesPdfUrls": [],
      "videoUrls": [
        "https://www.youtube.com/watch?v=ydkqjTp7fKE"
      ],
      "transcriptReferences": [],
      "policyBriefReferences": [],
      "officialTextArtifacts": [
        {
          "sourceType": "agenda-html",
          "label": "Agenda HTML",
          "url": "https://pub-palmdesert.escribemeetings.com/Meeting.aspx?Id=05602e45-f57b-4960-a1a9-f771380d2a9b&Agenda=Agenda&lang=English",
          "localArchivePath": null,
          "localTextPath": "Public-Records/official-documents/palm-desert/text/2026-01-08-city-council-regular/agenda.txt",
          "archiveStatus": "referenced",
          "textStatus": "extracted",
          "sha256": "sha256:a9d67c904cf9761c79e7135b67408644533d456c0056dfabf83a545b6596d1b1",
          "acquisitionError": null,
          "extractionError": null,
          "hasExtractedText": true
        },
        {
          "sourceType": "agenda-pdf",
          "label": "Agenda PDF",
          "url": "https://pub-palmdesert.escribemeetings.com/FileStream.ashx?DocumentId=40783",
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "referenced",
          "textStatus": "needs-checking",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "text extraction not completed or deferred",
          "hasExtractedText": false
        },
        {
          "sourceType": "packet-or-attachments",
          "label": "packet-or-attachments",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "minutes-pdf",
          "label": "minutes-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        }
      ],
      "missing": [
        "missing-agenda-packet-url",
        "missing-minutes-url",
        "missing-transcript"
      ],
      "previousBundleId": "palm-desert-2026-01-22-city-council-regular",
      "nextBundleId": "palm-desert-2026-01-08-city-council-study-session",
      "relatedDraftExtractionIds": [],
      "meetingSourceSetUrl": "/source/palm-desert/meetings/2026-01-08-city-council-regular",
      "meetingSourceSetJsonUrl": "/data/palm-desert/meetings/2026-01-08-city-council-regular.json"
    },
    {
      "bundleId": "palm-desert-2026-01-08-city-council-study-session",
      "city": "Palm Desert",
      "citySlug": "palm-desert",
      "meetingDate": "2026-01-08",
      "corpusDates": [
        "2026-01-08"
      ],
      "body": "City Council Study Session",
      "bodyType": "city-council-study-session",
      "meetingType": "Study Session",
      "title": "Palm Desert City Council - Study Session",
      "readinessCategory": "partial",
      "extractionReadiness": "partial-official-text-and-video",
      "sourceCoverageStatus": "available",
      "statusFlags": {
        "hasTranscript": false,
        "hasPolicyBrief": false,
        "hasAgenda": true,
        "hasPacket": false,
        "hasMinutes": true,
        "hasVideo": true,
        "hasOfficialSource": true,
        "hasExtractedOfficialText": true
      },
      "canonicalSourceCompleteness": {
        "readiness": "partial-official-text-and-video",
        "hasAnyOfficialText": true,
        "gaps": [
          "missing-agenda-packet-url",
          "missing-transcript"
        ]
      },
      "counts": {
        "transcripts": 0,
        "policyBriefs": 0,
        "officialSources": 1,
        "officialTextArtifacts": 4,
        "extractedOfficialTextArtifacts": 2,
        "missing": 2
      },
      "officialSourceUrls": [
        "https://pub-palmdesert.escribemeetings.com/Meeting.aspx?Id=9316f732-0fb1-479b-bd76-ba7475b6de5b&lang=English",
        "https://pub-palmdesert.escribemeetings.com/Meeting.aspx?Id=9316f732-0fb1-479b-bd76-ba7475b6de5b&Agenda=Agenda&lang=English"
      ],
      "agendaPdfUrls": [
        "https://pub-palmdesert.escribemeetings.com/FileStream.ashx?DocumentId=40863"
      ],
      "packetPdfUrls": [],
      "minutesPdfUrls": [
        "https://pub-palmdesert.escribemeetings.com/FileStream.ashx?DocumentId=41696"
      ],
      "videoUrls": [
        "https://www.youtube.com/watch?v=OsoDNf6KP8k"
      ],
      "transcriptReferences": [],
      "policyBriefReferences": [],
      "officialTextArtifacts": [
        {
          "sourceType": "agenda-html",
          "label": "Agenda HTML",
          "url": "https://pub-palmdesert.escribemeetings.com/Meeting.aspx?Id=9316f732-0fb1-479b-bd76-ba7475b6de5b&Agenda=Agenda&lang=English",
          "localArchivePath": null,
          "localTextPath": "Public-Records/official-documents/palm-desert/text/2026-01-08-city-council-study-session/agenda.txt",
          "archiveStatus": "referenced",
          "textStatus": "extracted",
          "sha256": "sha256:04f3ae25018f2f4873c3d54029de9f6523e3c66f0d8951c2eb584ed1b0eb709c",
          "acquisitionError": null,
          "extractionError": null,
          "hasExtractedText": true
        },
        {
          "sourceType": "agenda-pdf",
          "label": "Agenda PDF",
          "url": "https://pub-palmdesert.escribemeetings.com/FileStream.ashx?DocumentId=40863",
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "referenced",
          "textStatus": "needs-checking",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "text extraction not completed or deferred",
          "hasExtractedText": false
        },
        {
          "sourceType": "packet-or-attachments",
          "label": "packet-or-attachments",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "minutes-pdf",
          "label": "Minutes PDF",
          "url": "https://pub-palmdesert.escribemeetings.com/FileStream.ashx?DocumentId=41696",
          "localArchivePath": null,
          "localTextPath": "Public-Records/official-documents/palm-desert/text/2026-01-08-city-council-study-session/minutes.txt",
          "archiveStatus": "referenced",
          "textStatus": "extracted",
          "sha256": "sha256:d6728b4075e9807b2e98405f23d9f2e8a0aad40dbc92c8e3d3e9d6635d29c46e",
          "acquisitionError": null,
          "extractionError": null,
          "hasExtractedText": true
        }
      ],
      "missing": [
        "missing-agenda-packet-url",
        "missing-transcript"
      ],
      "previousBundleId": "palm-desert-2026-01-08-city-council-regular",
      "nextBundleId": "palm-desert-2025-12-16-city-council-special",
      "relatedDraftExtractionIds": [],
      "meetingSourceSetUrl": "/source/palm-desert/meetings/2026-01-08-city-council-study-session",
      "meetingSourceSetJsonUrl": "/data/palm-desert/meetings/2026-01-08-city-council-study-session.json"
    },
    {
      "bundleId": "palm-desert-2025-12-16-city-council-special",
      "city": "Palm Desert",
      "citySlug": "palm-desert",
      "meetingDate": "2025-12-16",
      "corpusDates": [
        "2025-12-16"
      ],
      "body": "City Council Special",
      "bodyType": "city-council-special",
      "meetingType": "Special",
      "title": "Palm Desert City Council - Special Meeting",
      "readinessCategory": "needs review",
      "extractionReadiness": "needs-official-inventory",
      "sourceCoverageStatus": "video-only-needs-official-inventory",
      "statusFlags": {
        "hasTranscript": false,
        "hasPolicyBrief": false,
        "hasAgenda": false,
        "hasPacket": false,
        "hasMinutes": false,
        "hasVideo": true,
        "hasOfficialSource": false,
        "hasExtractedOfficialText": false
      },
      "canonicalSourceCompleteness": {
        "readiness": "needs-official-inventory",
        "hasAnyOfficialText": false,
        "gaps": [
          "missing-official-meeting-inventory",
          "missing-agenda-url",
          "missing-agenda-pdf-url",
          "missing-agenda-packet-url",
          "missing-minutes-url",
          "missing-transcript",
          "official-text-needs-checking"
        ]
      },
      "counts": {
        "transcripts": 0,
        "policyBriefs": 0,
        "officialSources": 1,
        "officialTextArtifacts": 4,
        "extractedOfficialTextArtifacts": 0,
        "missing": 7
      },
      "officialSourceUrls": [],
      "agendaPdfUrls": [],
      "packetPdfUrls": [],
      "minutesPdfUrls": [],
      "videoUrls": [
        "https://www.youtube.com/watch?v=CXVsIdDt-3A"
      ],
      "transcriptReferences": [],
      "policyBriefReferences": [],
      "officialTextArtifacts": [
        {
          "sourceType": "agenda-html",
          "label": "agenda-html",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "agenda-pdf",
          "label": "agenda-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "packet-or-attachments",
          "label": "packet-or-attachments",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "minutes-pdf",
          "label": "minutes-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        }
      ],
      "missing": [
        "missing-official-meeting-inventory",
        "missing-agenda-url",
        "missing-agenda-pdf-url",
        "missing-agenda-packet-url",
        "missing-minutes-url",
        "missing-transcript",
        "official-text-needs-checking"
      ],
      "previousBundleId": "palm-desert-2026-01-08-city-council-study-session",
      "nextBundleId": "palm-desert-2025-12-11-city-council-regular",
      "relatedDraftExtractionIds": [],
      "meetingSourceSetUrl": "/source/palm-desert/meetings/2025-12-16-city-council-special",
      "meetingSourceSetJsonUrl": "/data/palm-desert/meetings/2025-12-16-city-council-special.json"
    },
    {
      "bundleId": "palm-desert-2025-12-11-city-council-regular",
      "city": "Palm Desert",
      "citySlug": "palm-desert",
      "meetingDate": "2025-12-11",
      "corpusDates": [
        "2025-12-11"
      ],
      "body": "City Council Regular",
      "bodyType": "city-council-regular",
      "meetingType": "Regular",
      "title": "Palm Desert City Council - Regular Meeting",
      "readinessCategory": "needs review",
      "extractionReadiness": "needs-official-inventory",
      "sourceCoverageStatus": "video-only-needs-official-inventory",
      "statusFlags": {
        "hasTranscript": false,
        "hasPolicyBrief": false,
        "hasAgenda": false,
        "hasPacket": false,
        "hasMinutes": false,
        "hasVideo": true,
        "hasOfficialSource": false,
        "hasExtractedOfficialText": false
      },
      "canonicalSourceCompleteness": {
        "readiness": "needs-official-inventory",
        "hasAnyOfficialText": false,
        "gaps": [
          "missing-official-meeting-inventory",
          "missing-agenda-url",
          "missing-agenda-pdf-url",
          "missing-agenda-packet-url",
          "missing-minutes-url",
          "missing-transcript",
          "official-text-needs-checking"
        ]
      },
      "counts": {
        "transcripts": 0,
        "policyBriefs": 0,
        "officialSources": 1,
        "officialTextArtifacts": 4,
        "extractedOfficialTextArtifacts": 0,
        "missing": 7
      },
      "officialSourceUrls": [],
      "agendaPdfUrls": [],
      "packetPdfUrls": [],
      "minutesPdfUrls": [],
      "videoUrls": [
        "https://www.youtube.com/watch?v=QL1A60XTKj8"
      ],
      "transcriptReferences": [],
      "policyBriefReferences": [],
      "officialTextArtifacts": [
        {
          "sourceType": "agenda-html",
          "label": "agenda-html",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "agenda-pdf",
          "label": "agenda-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "packet-or-attachments",
          "label": "packet-or-attachments",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "minutes-pdf",
          "label": "minutes-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        }
      ],
      "missing": [
        "missing-official-meeting-inventory",
        "missing-agenda-url",
        "missing-agenda-pdf-url",
        "missing-agenda-packet-url",
        "missing-minutes-url",
        "missing-transcript",
        "official-text-needs-checking"
      ],
      "previousBundleId": "palm-desert-2025-12-16-city-council-special",
      "nextBundleId": "palm-desert-2025-12-11-city-council-study-session",
      "relatedDraftExtractionIds": [],
      "meetingSourceSetUrl": "/source/palm-desert/meetings/2025-12-11-city-council-regular",
      "meetingSourceSetJsonUrl": "/data/palm-desert/meetings/2025-12-11-city-council-regular.json"
    },
    {
      "bundleId": "palm-desert-2025-12-11-city-council-study-session",
      "city": "Palm Desert",
      "citySlug": "palm-desert",
      "meetingDate": "2025-12-11",
      "corpusDates": [
        "2025-12-11"
      ],
      "body": "City Council Study Session",
      "bodyType": "city-council-study-session",
      "meetingType": "Study Session",
      "title": "Palm Desert City Council - Study Session",
      "readinessCategory": "needs review",
      "extractionReadiness": "needs-official-inventory",
      "sourceCoverageStatus": "video-only-needs-official-inventory",
      "statusFlags": {
        "hasTranscript": false,
        "hasPolicyBrief": false,
        "hasAgenda": false,
        "hasPacket": false,
        "hasMinutes": false,
        "hasVideo": true,
        "hasOfficialSource": false,
        "hasExtractedOfficialText": false
      },
      "canonicalSourceCompleteness": {
        "readiness": "needs-official-inventory",
        "hasAnyOfficialText": false,
        "gaps": [
          "missing-official-meeting-inventory",
          "missing-agenda-url",
          "missing-agenda-pdf-url",
          "missing-agenda-packet-url",
          "missing-minutes-url",
          "missing-transcript",
          "official-text-needs-checking"
        ]
      },
      "counts": {
        "transcripts": 0,
        "policyBriefs": 0,
        "officialSources": 1,
        "officialTextArtifacts": 4,
        "extractedOfficialTextArtifacts": 0,
        "missing": 7
      },
      "officialSourceUrls": [],
      "agendaPdfUrls": [],
      "packetPdfUrls": [],
      "minutesPdfUrls": [],
      "videoUrls": [
        "https://www.youtube.com/watch?v=vek3vOx2KZY"
      ],
      "transcriptReferences": [],
      "policyBriefReferences": [],
      "officialTextArtifacts": [
        {
          "sourceType": "agenda-html",
          "label": "agenda-html",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "agenda-pdf",
          "label": "agenda-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "packet-or-attachments",
          "label": "packet-or-attachments",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "minutes-pdf",
          "label": "minutes-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        }
      ],
      "missing": [
        "missing-official-meeting-inventory",
        "missing-agenda-url",
        "missing-agenda-pdf-url",
        "missing-agenda-packet-url",
        "missing-minutes-url",
        "missing-transcript",
        "official-text-needs-checking"
      ],
      "previousBundleId": "palm-desert-2025-12-11-city-council-regular",
      "nextBundleId": "palm-desert-2025-11-13-city-council-regular",
      "relatedDraftExtractionIds": [],
      "meetingSourceSetUrl": "/source/palm-desert/meetings/2025-12-11-city-council-study-session",
      "meetingSourceSetJsonUrl": "/data/palm-desert/meetings/2025-12-11-city-council-study-session.json"
    },
    {
      "bundleId": "palm-desert-2025-11-13-city-council-regular",
      "city": "Palm Desert",
      "citySlug": "palm-desert",
      "meetingDate": "2025-11-13",
      "corpusDates": [
        "2025-11-13"
      ],
      "body": "City Council Regular",
      "bodyType": "city-council-regular",
      "meetingType": "Regular",
      "title": "Palm Desert City Council - Regular Meeting",
      "readinessCategory": "needs review",
      "extractionReadiness": "needs-official-inventory",
      "sourceCoverageStatus": "video-only-needs-official-inventory",
      "statusFlags": {
        "hasTranscript": false,
        "hasPolicyBrief": false,
        "hasAgenda": false,
        "hasPacket": false,
        "hasMinutes": false,
        "hasVideo": true,
        "hasOfficialSource": false,
        "hasExtractedOfficialText": false
      },
      "canonicalSourceCompleteness": {
        "readiness": "needs-official-inventory",
        "hasAnyOfficialText": false,
        "gaps": [
          "missing-official-meeting-inventory",
          "missing-agenda-url",
          "missing-agenda-pdf-url",
          "missing-agenda-packet-url",
          "missing-minutes-url",
          "missing-transcript",
          "official-text-needs-checking"
        ]
      },
      "counts": {
        "transcripts": 0,
        "policyBriefs": 0,
        "officialSources": 1,
        "officialTextArtifacts": 4,
        "extractedOfficialTextArtifacts": 0,
        "missing": 7
      },
      "officialSourceUrls": [],
      "agendaPdfUrls": [],
      "packetPdfUrls": [],
      "minutesPdfUrls": [],
      "videoUrls": [
        "https://www.youtube.com/watch?v=MyAzeC6ZaSo"
      ],
      "transcriptReferences": [],
      "policyBriefReferences": [],
      "officialTextArtifacts": [
        {
          "sourceType": "agenda-html",
          "label": "agenda-html",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "agenda-pdf",
          "label": "agenda-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "packet-or-attachments",
          "label": "packet-or-attachments",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "minutes-pdf",
          "label": "minutes-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        }
      ],
      "missing": [
        "missing-official-meeting-inventory",
        "missing-agenda-url",
        "missing-agenda-pdf-url",
        "missing-agenda-packet-url",
        "missing-minutes-url",
        "missing-transcript",
        "official-text-needs-checking"
      ],
      "previousBundleId": "palm-desert-2025-12-11-city-council-study-session",
      "nextBundleId": "palm-desert-2025-11-13-city-council-study-session",
      "relatedDraftExtractionIds": [],
      "meetingSourceSetUrl": "/source/palm-desert/meetings/2025-11-13-city-council-regular",
      "meetingSourceSetJsonUrl": "/data/palm-desert/meetings/2025-11-13-city-council-regular.json"
    },
    {
      "bundleId": "palm-desert-2025-11-13-city-council-study-session",
      "city": "Palm Desert",
      "citySlug": "palm-desert",
      "meetingDate": "2025-11-13",
      "corpusDates": [
        "2025-11-13"
      ],
      "body": "City Council Study Session",
      "bodyType": "city-council-study-session",
      "meetingType": "Study Session",
      "title": "Palm Desert City Council - Study Session",
      "readinessCategory": "needs review",
      "extractionReadiness": "needs-official-inventory",
      "sourceCoverageStatus": "video-only-needs-official-inventory",
      "statusFlags": {
        "hasTranscript": false,
        "hasPolicyBrief": false,
        "hasAgenda": false,
        "hasPacket": false,
        "hasMinutes": false,
        "hasVideo": true,
        "hasOfficialSource": false,
        "hasExtractedOfficialText": false
      },
      "canonicalSourceCompleteness": {
        "readiness": "needs-official-inventory",
        "hasAnyOfficialText": false,
        "gaps": [
          "missing-official-meeting-inventory",
          "missing-agenda-url",
          "missing-agenda-pdf-url",
          "missing-agenda-packet-url",
          "missing-minutes-url",
          "missing-transcript",
          "official-text-needs-checking"
        ]
      },
      "counts": {
        "transcripts": 0,
        "policyBriefs": 0,
        "officialSources": 1,
        "officialTextArtifacts": 4,
        "extractedOfficialTextArtifacts": 0,
        "missing": 7
      },
      "officialSourceUrls": [],
      "agendaPdfUrls": [],
      "packetPdfUrls": [],
      "minutesPdfUrls": [],
      "videoUrls": [
        "https://www.youtube.com/watch?v=uehCtpkOmOQ"
      ],
      "transcriptReferences": [],
      "policyBriefReferences": [],
      "officialTextArtifacts": [
        {
          "sourceType": "agenda-html",
          "label": "agenda-html",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "agenda-pdf",
          "label": "agenda-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "packet-or-attachments",
          "label": "packet-or-attachments",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "minutes-pdf",
          "label": "minutes-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        }
      ],
      "missing": [
        "missing-official-meeting-inventory",
        "missing-agenda-url",
        "missing-agenda-pdf-url",
        "missing-agenda-packet-url",
        "missing-minutes-url",
        "missing-transcript",
        "official-text-needs-checking"
      ],
      "previousBundleId": "palm-desert-2025-11-13-city-council-regular",
      "nextBundleId": "palm-desert-2025-10-23-city-council-regular",
      "relatedDraftExtractionIds": [],
      "meetingSourceSetUrl": "/source/palm-desert/meetings/2025-11-13-city-council-study-session",
      "meetingSourceSetJsonUrl": "/data/palm-desert/meetings/2025-11-13-city-council-study-session.json"
    },
    {
      "bundleId": "palm-desert-2025-10-23-city-council-regular",
      "city": "Palm Desert",
      "citySlug": "palm-desert",
      "meetingDate": "2025-10-23",
      "corpusDates": [
        "2025-10-23"
      ],
      "body": "City Council Regular",
      "bodyType": "city-council-regular",
      "meetingType": "Regular",
      "title": "Palm Desert City Council - Regular Meeting",
      "readinessCategory": "needs review",
      "extractionReadiness": "needs-official-inventory",
      "sourceCoverageStatus": "video-only-needs-official-inventory",
      "statusFlags": {
        "hasTranscript": false,
        "hasPolicyBrief": false,
        "hasAgenda": false,
        "hasPacket": false,
        "hasMinutes": false,
        "hasVideo": true,
        "hasOfficialSource": false,
        "hasExtractedOfficialText": false
      },
      "canonicalSourceCompleteness": {
        "readiness": "needs-official-inventory",
        "hasAnyOfficialText": false,
        "gaps": [
          "missing-official-meeting-inventory",
          "missing-agenda-url",
          "missing-agenda-pdf-url",
          "missing-agenda-packet-url",
          "missing-minutes-url",
          "missing-transcript",
          "official-text-needs-checking"
        ]
      },
      "counts": {
        "transcripts": 0,
        "policyBriefs": 0,
        "officialSources": 1,
        "officialTextArtifacts": 4,
        "extractedOfficialTextArtifacts": 0,
        "missing": 7
      },
      "officialSourceUrls": [],
      "agendaPdfUrls": [],
      "packetPdfUrls": [],
      "minutesPdfUrls": [],
      "videoUrls": [
        "https://www.youtube.com/watch?v=lIITU4ieYWg"
      ],
      "transcriptReferences": [],
      "policyBriefReferences": [],
      "officialTextArtifacts": [
        {
          "sourceType": "agenda-html",
          "label": "agenda-html",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "agenda-pdf",
          "label": "agenda-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "packet-or-attachments",
          "label": "packet-or-attachments",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "minutes-pdf",
          "label": "minutes-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        }
      ],
      "missing": [
        "missing-official-meeting-inventory",
        "missing-agenda-url",
        "missing-agenda-pdf-url",
        "missing-agenda-packet-url",
        "missing-minutes-url",
        "missing-transcript",
        "official-text-needs-checking"
      ],
      "previousBundleId": "palm-desert-2025-11-13-city-council-study-session",
      "nextBundleId": "palm-desert-2025-10-23-city-council-study-session",
      "relatedDraftExtractionIds": [],
      "meetingSourceSetUrl": "/source/palm-desert/meetings/2025-10-23-city-council-regular",
      "meetingSourceSetJsonUrl": "/data/palm-desert/meetings/2025-10-23-city-council-regular.json"
    },
    {
      "bundleId": "palm-desert-2025-10-23-city-council-study-session",
      "city": "Palm Desert",
      "citySlug": "palm-desert",
      "meetingDate": "2025-10-23",
      "corpusDates": [
        "2025-10-23"
      ],
      "body": "City Council Study Session",
      "bodyType": "city-council-study-session",
      "meetingType": "Study Session",
      "title": "Palm Desert City Council - Study Session",
      "readinessCategory": "needs review",
      "extractionReadiness": "needs-official-inventory",
      "sourceCoverageStatus": "video-only-needs-official-inventory",
      "statusFlags": {
        "hasTranscript": false,
        "hasPolicyBrief": false,
        "hasAgenda": false,
        "hasPacket": false,
        "hasMinutes": false,
        "hasVideo": true,
        "hasOfficialSource": false,
        "hasExtractedOfficialText": false
      },
      "canonicalSourceCompleteness": {
        "readiness": "needs-official-inventory",
        "hasAnyOfficialText": false,
        "gaps": [
          "missing-official-meeting-inventory",
          "missing-agenda-url",
          "missing-agenda-pdf-url",
          "missing-agenda-packet-url",
          "missing-minutes-url",
          "missing-transcript",
          "official-text-needs-checking"
        ]
      },
      "counts": {
        "transcripts": 0,
        "policyBriefs": 0,
        "officialSources": 1,
        "officialTextArtifacts": 4,
        "extractedOfficialTextArtifacts": 0,
        "missing": 7
      },
      "officialSourceUrls": [],
      "agendaPdfUrls": [],
      "packetPdfUrls": [],
      "minutesPdfUrls": [],
      "videoUrls": [
        "https://www.youtube.com/watch?v=fzY5zWmzOOc"
      ],
      "transcriptReferences": [],
      "policyBriefReferences": [],
      "officialTextArtifacts": [
        {
          "sourceType": "agenda-html",
          "label": "agenda-html",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "agenda-pdf",
          "label": "agenda-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "packet-or-attachments",
          "label": "packet-or-attachments",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "minutes-pdf",
          "label": "minutes-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        }
      ],
      "missing": [
        "missing-official-meeting-inventory",
        "missing-agenda-url",
        "missing-agenda-pdf-url",
        "missing-agenda-packet-url",
        "missing-minutes-url",
        "missing-transcript",
        "official-text-needs-checking"
      ],
      "previousBundleId": "palm-desert-2025-10-23-city-council-regular",
      "nextBundleId": "palm-desert-2025-09-25-city-council-regular",
      "relatedDraftExtractionIds": [],
      "meetingSourceSetUrl": "/source/palm-desert/meetings/2025-10-23-city-council-study-session",
      "meetingSourceSetJsonUrl": "/data/palm-desert/meetings/2025-10-23-city-council-study-session.json"
    },
    {
      "bundleId": "palm-desert-2025-09-25-city-council-regular",
      "city": "Palm Desert",
      "citySlug": "palm-desert",
      "meetingDate": "2025-09-25",
      "corpusDates": [
        "2025-09-25"
      ],
      "body": "City Council Regular",
      "bodyType": "city-council-regular",
      "meetingType": "Regular",
      "title": "Palm Desert City Council - Regular Meeting",
      "readinessCategory": "needs review",
      "extractionReadiness": "needs-official-inventory",
      "sourceCoverageStatus": "video-only-needs-official-inventory",
      "statusFlags": {
        "hasTranscript": false,
        "hasPolicyBrief": false,
        "hasAgenda": false,
        "hasPacket": false,
        "hasMinutes": false,
        "hasVideo": true,
        "hasOfficialSource": false,
        "hasExtractedOfficialText": false
      },
      "canonicalSourceCompleteness": {
        "readiness": "needs-official-inventory",
        "hasAnyOfficialText": false,
        "gaps": [
          "missing-official-meeting-inventory",
          "missing-agenda-url",
          "missing-agenda-pdf-url",
          "missing-agenda-packet-url",
          "missing-minutes-url",
          "missing-transcript",
          "official-text-needs-checking"
        ]
      },
      "counts": {
        "transcripts": 0,
        "policyBriefs": 0,
        "officialSources": 1,
        "officialTextArtifacts": 4,
        "extractedOfficialTextArtifacts": 0,
        "missing": 7
      },
      "officialSourceUrls": [],
      "agendaPdfUrls": [],
      "packetPdfUrls": [],
      "minutesPdfUrls": [],
      "videoUrls": [
        "https://www.youtube.com/watch?v=b6af-b4Hvs8"
      ],
      "transcriptReferences": [],
      "policyBriefReferences": [],
      "officialTextArtifacts": [
        {
          "sourceType": "agenda-html",
          "label": "agenda-html",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "agenda-pdf",
          "label": "agenda-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "packet-or-attachments",
          "label": "packet-or-attachments",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "minutes-pdf",
          "label": "minutes-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        }
      ],
      "missing": [
        "missing-official-meeting-inventory",
        "missing-agenda-url",
        "missing-agenda-pdf-url",
        "missing-agenda-packet-url",
        "missing-minutes-url",
        "missing-transcript",
        "official-text-needs-checking"
      ],
      "previousBundleId": "palm-desert-2025-10-23-city-council-study-session",
      "nextBundleId": "palm-desert-2025-09-25-city-council-study-session",
      "relatedDraftExtractionIds": [],
      "meetingSourceSetUrl": "/source/palm-desert/meetings/2025-09-25-city-council-regular",
      "meetingSourceSetJsonUrl": "/data/palm-desert/meetings/2025-09-25-city-council-regular.json"
    },
    {
      "bundleId": "palm-desert-2025-09-25-city-council-study-session",
      "city": "Palm Desert",
      "citySlug": "palm-desert",
      "meetingDate": "2025-09-25",
      "corpusDates": [
        "2025-09-25"
      ],
      "body": "City Council Study Session",
      "bodyType": "city-council-study-session",
      "meetingType": "Study Session",
      "title": "Palm Desert City Council - Study Session",
      "readinessCategory": "needs review",
      "extractionReadiness": "needs-official-inventory",
      "sourceCoverageStatus": "video-only-needs-official-inventory",
      "statusFlags": {
        "hasTranscript": false,
        "hasPolicyBrief": false,
        "hasAgenda": false,
        "hasPacket": false,
        "hasMinutes": false,
        "hasVideo": true,
        "hasOfficialSource": false,
        "hasExtractedOfficialText": false
      },
      "canonicalSourceCompleteness": {
        "readiness": "needs-official-inventory",
        "hasAnyOfficialText": false,
        "gaps": [
          "missing-official-meeting-inventory",
          "missing-agenda-url",
          "missing-agenda-pdf-url",
          "missing-agenda-packet-url",
          "missing-minutes-url",
          "missing-transcript",
          "official-text-needs-checking"
        ]
      },
      "counts": {
        "transcripts": 0,
        "policyBriefs": 0,
        "officialSources": 1,
        "officialTextArtifacts": 4,
        "extractedOfficialTextArtifacts": 0,
        "missing": 7
      },
      "officialSourceUrls": [],
      "agendaPdfUrls": [],
      "packetPdfUrls": [],
      "minutesPdfUrls": [],
      "videoUrls": [
        "https://www.youtube.com/watch?v=b0C1eKviPIU"
      ],
      "transcriptReferences": [],
      "policyBriefReferences": [],
      "officialTextArtifacts": [
        {
          "sourceType": "agenda-html",
          "label": "agenda-html",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "agenda-pdf",
          "label": "agenda-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "packet-or-attachments",
          "label": "packet-or-attachments",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "minutes-pdf",
          "label": "minutes-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        }
      ],
      "missing": [
        "missing-official-meeting-inventory",
        "missing-agenda-url",
        "missing-agenda-pdf-url",
        "missing-agenda-packet-url",
        "missing-minutes-url",
        "missing-transcript",
        "official-text-needs-checking"
      ],
      "previousBundleId": "palm-desert-2025-09-25-city-council-regular",
      "nextBundleId": "palm-desert-2025-09-11-city-council-regular",
      "relatedDraftExtractionIds": [],
      "meetingSourceSetUrl": "/source/palm-desert/meetings/2025-09-25-city-council-study-session",
      "meetingSourceSetJsonUrl": "/data/palm-desert/meetings/2025-09-25-city-council-study-session.json"
    },
    {
      "bundleId": "palm-desert-2025-09-11-city-council-regular",
      "city": "Palm Desert",
      "citySlug": "palm-desert",
      "meetingDate": "2025-09-11",
      "corpusDates": [
        "2025-09-11"
      ],
      "body": "City Council Regular",
      "bodyType": "city-council-regular",
      "meetingType": "Regular",
      "title": "Palm Desert City Council - Regular Meeting",
      "readinessCategory": "needs review",
      "extractionReadiness": "needs-official-inventory",
      "sourceCoverageStatus": "video-only-needs-official-inventory",
      "statusFlags": {
        "hasTranscript": false,
        "hasPolicyBrief": false,
        "hasAgenda": false,
        "hasPacket": false,
        "hasMinutes": false,
        "hasVideo": true,
        "hasOfficialSource": false,
        "hasExtractedOfficialText": false
      },
      "canonicalSourceCompleteness": {
        "readiness": "needs-official-inventory",
        "hasAnyOfficialText": false,
        "gaps": [
          "missing-official-meeting-inventory",
          "missing-agenda-url",
          "missing-agenda-pdf-url",
          "missing-agenda-packet-url",
          "missing-minutes-url",
          "missing-transcript",
          "official-text-needs-checking"
        ]
      },
      "counts": {
        "transcripts": 0,
        "policyBriefs": 0,
        "officialSources": 1,
        "officialTextArtifacts": 4,
        "extractedOfficialTextArtifacts": 0,
        "missing": 7
      },
      "officialSourceUrls": [],
      "agendaPdfUrls": [],
      "packetPdfUrls": [],
      "minutesPdfUrls": [],
      "videoUrls": [
        "https://www.youtube.com/watch?v=3LWNgYeNccw"
      ],
      "transcriptReferences": [],
      "policyBriefReferences": [],
      "officialTextArtifacts": [
        {
          "sourceType": "agenda-html",
          "label": "agenda-html",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "agenda-pdf",
          "label": "agenda-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "packet-or-attachments",
          "label": "packet-or-attachments",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "minutes-pdf",
          "label": "minutes-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        }
      ],
      "missing": [
        "missing-official-meeting-inventory",
        "missing-agenda-url",
        "missing-agenda-pdf-url",
        "missing-agenda-packet-url",
        "missing-minutes-url",
        "missing-transcript",
        "official-text-needs-checking"
      ],
      "previousBundleId": "palm-desert-2025-09-25-city-council-study-session",
      "nextBundleId": "palm-desert-2025-09-11-city-council-study-session",
      "relatedDraftExtractionIds": [],
      "meetingSourceSetUrl": "/source/palm-desert/meetings/2025-09-11-city-council-regular",
      "meetingSourceSetJsonUrl": "/data/palm-desert/meetings/2025-09-11-city-council-regular.json"
    },
    {
      "bundleId": "palm-desert-2025-09-11-city-council-study-session",
      "city": "Palm Desert",
      "citySlug": "palm-desert",
      "meetingDate": "2025-09-11",
      "corpusDates": [
        "2025-09-11"
      ],
      "body": "City Council Study Session",
      "bodyType": "city-council-study-session",
      "meetingType": "Study Session",
      "title": "Palm Desert City Council - Study Session",
      "readinessCategory": "needs review",
      "extractionReadiness": "needs-official-inventory",
      "sourceCoverageStatus": "video-only-needs-official-inventory",
      "statusFlags": {
        "hasTranscript": false,
        "hasPolicyBrief": false,
        "hasAgenda": false,
        "hasPacket": false,
        "hasMinutes": false,
        "hasVideo": true,
        "hasOfficialSource": false,
        "hasExtractedOfficialText": false
      },
      "canonicalSourceCompleteness": {
        "readiness": "needs-official-inventory",
        "hasAnyOfficialText": false,
        "gaps": [
          "missing-official-meeting-inventory",
          "missing-agenda-url",
          "missing-agenda-pdf-url",
          "missing-agenda-packet-url",
          "missing-minutes-url",
          "missing-transcript",
          "official-text-needs-checking"
        ]
      },
      "counts": {
        "transcripts": 0,
        "policyBriefs": 0,
        "officialSources": 1,
        "officialTextArtifacts": 4,
        "extractedOfficialTextArtifacts": 0,
        "missing": 7
      },
      "officialSourceUrls": [],
      "agendaPdfUrls": [],
      "packetPdfUrls": [],
      "minutesPdfUrls": [],
      "videoUrls": [
        "https://www.youtube.com/watch?v=WHil6aajtPs"
      ],
      "transcriptReferences": [],
      "policyBriefReferences": [],
      "officialTextArtifacts": [
        {
          "sourceType": "agenda-html",
          "label": "agenda-html",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "agenda-pdf",
          "label": "agenda-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "packet-or-attachments",
          "label": "packet-or-attachments",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "minutes-pdf",
          "label": "minutes-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        }
      ],
      "missing": [
        "missing-official-meeting-inventory",
        "missing-agenda-url",
        "missing-agenda-pdf-url",
        "missing-agenda-packet-url",
        "missing-minutes-url",
        "missing-transcript",
        "official-text-needs-checking"
      ],
      "previousBundleId": "palm-desert-2025-09-11-city-council-regular",
      "nextBundleId": "palm-desert-2025-08-28-city-council-regular",
      "relatedDraftExtractionIds": [],
      "meetingSourceSetUrl": "/source/palm-desert/meetings/2025-09-11-city-council-study-session",
      "meetingSourceSetJsonUrl": "/data/palm-desert/meetings/2025-09-11-city-council-study-session.json"
    },
    {
      "bundleId": "palm-desert-2025-08-28-city-council-regular",
      "city": "Palm Desert",
      "citySlug": "palm-desert",
      "meetingDate": "2025-08-28",
      "corpusDates": [
        "2025-08-28"
      ],
      "body": "City Council Regular",
      "bodyType": "city-council-regular",
      "meetingType": "Regular",
      "title": "Palm Desert City Council - Regular Meeting",
      "readinessCategory": "needs review",
      "extractionReadiness": "needs-official-inventory",
      "sourceCoverageStatus": "video-only-needs-official-inventory",
      "statusFlags": {
        "hasTranscript": false,
        "hasPolicyBrief": false,
        "hasAgenda": false,
        "hasPacket": false,
        "hasMinutes": false,
        "hasVideo": true,
        "hasOfficialSource": false,
        "hasExtractedOfficialText": false
      },
      "canonicalSourceCompleteness": {
        "readiness": "needs-official-inventory",
        "hasAnyOfficialText": false,
        "gaps": [
          "missing-official-meeting-inventory",
          "missing-agenda-url",
          "missing-agenda-pdf-url",
          "missing-agenda-packet-url",
          "missing-minutes-url",
          "missing-transcript",
          "official-text-needs-checking"
        ]
      },
      "counts": {
        "transcripts": 0,
        "policyBriefs": 0,
        "officialSources": 1,
        "officialTextArtifacts": 4,
        "extractedOfficialTextArtifacts": 0,
        "missing": 7
      },
      "officialSourceUrls": [],
      "agendaPdfUrls": [],
      "packetPdfUrls": [],
      "minutesPdfUrls": [],
      "videoUrls": [
        "https://www.youtube.com/watch?v=pEtOyuXqq-0"
      ],
      "transcriptReferences": [],
      "policyBriefReferences": [],
      "officialTextArtifacts": [
        {
          "sourceType": "agenda-html",
          "label": "agenda-html",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "agenda-pdf",
          "label": "agenda-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "packet-or-attachments",
          "label": "packet-or-attachments",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "minutes-pdf",
          "label": "minutes-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        }
      ],
      "missing": [
        "missing-official-meeting-inventory",
        "missing-agenda-url",
        "missing-agenda-pdf-url",
        "missing-agenda-packet-url",
        "missing-minutes-url",
        "missing-transcript",
        "official-text-needs-checking"
      ],
      "previousBundleId": "palm-desert-2025-09-11-city-council-study-session",
      "nextBundleId": "palm-desert-2025-08-28-city-council-study-session",
      "relatedDraftExtractionIds": [],
      "meetingSourceSetUrl": "/source/palm-desert/meetings/2025-08-28-city-council-regular",
      "meetingSourceSetJsonUrl": "/data/palm-desert/meetings/2025-08-28-city-council-regular.json"
    },
    {
      "bundleId": "palm-desert-2025-08-28-city-council-study-session",
      "city": "Palm Desert",
      "citySlug": "palm-desert",
      "meetingDate": "2025-08-28",
      "corpusDates": [
        "2025-08-28"
      ],
      "body": "City Council Study Session",
      "bodyType": "city-council-study-session",
      "meetingType": "Study Session",
      "title": "Palm Desert City Council - Study Session",
      "readinessCategory": "needs review",
      "extractionReadiness": "needs-official-inventory",
      "sourceCoverageStatus": "video-only-needs-official-inventory",
      "statusFlags": {
        "hasTranscript": false,
        "hasPolicyBrief": false,
        "hasAgenda": false,
        "hasPacket": false,
        "hasMinutes": false,
        "hasVideo": true,
        "hasOfficialSource": false,
        "hasExtractedOfficialText": false
      },
      "canonicalSourceCompleteness": {
        "readiness": "needs-official-inventory",
        "hasAnyOfficialText": false,
        "gaps": [
          "missing-official-meeting-inventory",
          "missing-agenda-url",
          "missing-agenda-pdf-url",
          "missing-agenda-packet-url",
          "missing-minutes-url",
          "missing-transcript",
          "official-text-needs-checking"
        ]
      },
      "counts": {
        "transcripts": 0,
        "policyBriefs": 0,
        "officialSources": 1,
        "officialTextArtifacts": 4,
        "extractedOfficialTextArtifacts": 0,
        "missing": 7
      },
      "officialSourceUrls": [],
      "agendaPdfUrls": [],
      "packetPdfUrls": [],
      "minutesPdfUrls": [],
      "videoUrls": [
        "https://www.youtube.com/watch?v=-Gvb6sowYRY"
      ],
      "transcriptReferences": [],
      "policyBriefReferences": [],
      "officialTextArtifacts": [
        {
          "sourceType": "agenda-html",
          "label": "agenda-html",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "agenda-pdf",
          "label": "agenda-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "packet-or-attachments",
          "label": "packet-or-attachments",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "minutes-pdf",
          "label": "minutes-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        }
      ],
      "missing": [
        "missing-official-meeting-inventory",
        "missing-agenda-url",
        "missing-agenda-pdf-url",
        "missing-agenda-packet-url",
        "missing-minutes-url",
        "missing-transcript",
        "official-text-needs-checking"
      ],
      "previousBundleId": "palm-desert-2025-08-28-city-council-regular",
      "nextBundleId": "palm-desert-2025-07-10-city-council-regular",
      "relatedDraftExtractionIds": [],
      "meetingSourceSetUrl": "/source/palm-desert/meetings/2025-08-28-city-council-study-session",
      "meetingSourceSetJsonUrl": "/data/palm-desert/meetings/2025-08-28-city-council-study-session.json"
    },
    {
      "bundleId": "palm-desert-2025-07-10-city-council-regular",
      "city": "Palm Desert",
      "citySlug": "palm-desert",
      "meetingDate": "2025-07-10",
      "corpusDates": [
        "2025-07-10"
      ],
      "body": "City Council Regular",
      "bodyType": "city-council-regular",
      "meetingType": "Regular",
      "title": "Palm Desert City Council - Regular Meeting",
      "readinessCategory": "needs review",
      "extractionReadiness": "needs-official-inventory",
      "sourceCoverageStatus": "video-only-needs-official-inventory",
      "statusFlags": {
        "hasTranscript": false,
        "hasPolicyBrief": false,
        "hasAgenda": false,
        "hasPacket": false,
        "hasMinutes": false,
        "hasVideo": true,
        "hasOfficialSource": false,
        "hasExtractedOfficialText": false
      },
      "canonicalSourceCompleteness": {
        "readiness": "needs-official-inventory",
        "hasAnyOfficialText": false,
        "gaps": [
          "missing-official-meeting-inventory",
          "missing-agenda-url",
          "missing-agenda-pdf-url",
          "missing-agenda-packet-url",
          "missing-minutes-url",
          "missing-transcript",
          "official-text-needs-checking"
        ]
      },
      "counts": {
        "transcripts": 0,
        "policyBriefs": 0,
        "officialSources": 1,
        "officialTextArtifacts": 4,
        "extractedOfficialTextArtifacts": 0,
        "missing": 7
      },
      "officialSourceUrls": [],
      "agendaPdfUrls": [],
      "packetPdfUrls": [],
      "minutesPdfUrls": [],
      "videoUrls": [
        "https://www.youtube.com/watch?v=gm2p21A6Gjk"
      ],
      "transcriptReferences": [],
      "policyBriefReferences": [],
      "officialTextArtifacts": [
        {
          "sourceType": "agenda-html",
          "label": "agenda-html",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "agenda-pdf",
          "label": "agenda-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "packet-or-attachments",
          "label": "packet-or-attachments",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "minutes-pdf",
          "label": "minutes-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        }
      ],
      "missing": [
        "missing-official-meeting-inventory",
        "missing-agenda-url",
        "missing-agenda-pdf-url",
        "missing-agenda-packet-url",
        "missing-minutes-url",
        "missing-transcript",
        "official-text-needs-checking"
      ],
      "previousBundleId": "palm-desert-2025-08-28-city-council-study-session",
      "nextBundleId": "palm-desert-2025-07-10-city-council-study-session",
      "relatedDraftExtractionIds": [],
      "meetingSourceSetUrl": "/source/palm-desert/meetings/2025-07-10-city-council-regular",
      "meetingSourceSetJsonUrl": "/data/palm-desert/meetings/2025-07-10-city-council-regular.json"
    },
    {
      "bundleId": "palm-desert-2025-07-10-city-council-study-session",
      "city": "Palm Desert",
      "citySlug": "palm-desert",
      "meetingDate": "2025-07-10",
      "corpusDates": [
        "2025-07-10"
      ],
      "body": "City Council Study Session",
      "bodyType": "city-council-study-session",
      "meetingType": "Study Session",
      "title": "Palm Desert City Council - Study Session",
      "readinessCategory": "needs review",
      "extractionReadiness": "needs-official-inventory",
      "sourceCoverageStatus": "video-only-needs-official-inventory",
      "statusFlags": {
        "hasTranscript": false,
        "hasPolicyBrief": false,
        "hasAgenda": false,
        "hasPacket": false,
        "hasMinutes": false,
        "hasVideo": true,
        "hasOfficialSource": false,
        "hasExtractedOfficialText": false
      },
      "canonicalSourceCompleteness": {
        "readiness": "needs-official-inventory",
        "hasAnyOfficialText": false,
        "gaps": [
          "missing-official-meeting-inventory",
          "missing-agenda-url",
          "missing-agenda-pdf-url",
          "missing-agenda-packet-url",
          "missing-minutes-url",
          "missing-transcript",
          "official-text-needs-checking"
        ]
      },
      "counts": {
        "transcripts": 0,
        "policyBriefs": 0,
        "officialSources": 1,
        "officialTextArtifacts": 4,
        "extractedOfficialTextArtifacts": 0,
        "missing": 7
      },
      "officialSourceUrls": [],
      "agendaPdfUrls": [],
      "packetPdfUrls": [],
      "minutesPdfUrls": [],
      "videoUrls": [
        "https://www.youtube.com/watch?v=w9H4qShdmB0"
      ],
      "transcriptReferences": [],
      "policyBriefReferences": [],
      "officialTextArtifacts": [
        {
          "sourceType": "agenda-html",
          "label": "agenda-html",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "agenda-pdf",
          "label": "agenda-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "packet-or-attachments",
          "label": "packet-or-attachments",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "minutes-pdf",
          "label": "minutes-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        }
      ],
      "missing": [
        "missing-official-meeting-inventory",
        "missing-agenda-url",
        "missing-agenda-pdf-url",
        "missing-agenda-packet-url",
        "missing-minutes-url",
        "missing-transcript",
        "official-text-needs-checking"
      ],
      "previousBundleId": "palm-desert-2025-07-10-city-council-regular",
      "nextBundleId": "palm-desert-2025-06-26-city-council-regular",
      "relatedDraftExtractionIds": [],
      "meetingSourceSetUrl": "/source/palm-desert/meetings/2025-07-10-city-council-study-session",
      "meetingSourceSetJsonUrl": "/data/palm-desert/meetings/2025-07-10-city-council-study-session.json"
    },
    {
      "bundleId": "palm-desert-2025-06-26-city-council-regular",
      "city": "Palm Desert",
      "citySlug": "palm-desert",
      "meetingDate": "2025-06-26",
      "corpusDates": [
        "2025-06-26"
      ],
      "body": "City Council Regular",
      "bodyType": "city-council-regular",
      "meetingType": "Regular",
      "title": "Palm Desert City Council - Regular Meeting",
      "readinessCategory": "needs review",
      "extractionReadiness": "needs-official-inventory",
      "sourceCoverageStatus": "video-only-needs-official-inventory",
      "statusFlags": {
        "hasTranscript": false,
        "hasPolicyBrief": false,
        "hasAgenda": false,
        "hasPacket": false,
        "hasMinutes": false,
        "hasVideo": true,
        "hasOfficialSource": false,
        "hasExtractedOfficialText": false
      },
      "canonicalSourceCompleteness": {
        "readiness": "needs-official-inventory",
        "hasAnyOfficialText": false,
        "gaps": [
          "missing-official-meeting-inventory",
          "missing-agenda-url",
          "missing-agenda-pdf-url",
          "missing-agenda-packet-url",
          "missing-minutes-url",
          "missing-transcript",
          "official-text-needs-checking"
        ]
      },
      "counts": {
        "transcripts": 0,
        "policyBriefs": 0,
        "officialSources": 1,
        "officialTextArtifacts": 4,
        "extractedOfficialTextArtifacts": 0,
        "missing": 7
      },
      "officialSourceUrls": [],
      "agendaPdfUrls": [],
      "packetPdfUrls": [],
      "minutesPdfUrls": [],
      "videoUrls": [
        "https://www.youtube.com/watch?v=9gQkUAiwQ18"
      ],
      "transcriptReferences": [],
      "policyBriefReferences": [],
      "officialTextArtifacts": [
        {
          "sourceType": "agenda-html",
          "label": "agenda-html",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "agenda-pdf",
          "label": "agenda-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "packet-or-attachments",
          "label": "packet-or-attachments",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "minutes-pdf",
          "label": "minutes-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        }
      ],
      "missing": [
        "missing-official-meeting-inventory",
        "missing-agenda-url",
        "missing-agenda-pdf-url",
        "missing-agenda-packet-url",
        "missing-minutes-url",
        "missing-transcript",
        "official-text-needs-checking"
      ],
      "previousBundleId": "palm-desert-2025-07-10-city-council-study-session",
      "nextBundleId": "palm-desert-2025-06-26-city-council-study-session",
      "relatedDraftExtractionIds": [],
      "meetingSourceSetUrl": "/source/palm-desert/meetings/2025-06-26-city-council-regular",
      "meetingSourceSetJsonUrl": "/data/palm-desert/meetings/2025-06-26-city-council-regular.json"
    },
    {
      "bundleId": "palm-desert-2025-06-26-city-council-study-session",
      "city": "Palm Desert",
      "citySlug": "palm-desert",
      "meetingDate": "2025-06-26",
      "corpusDates": [
        "2025-06-26"
      ],
      "body": "City Council Study Session",
      "bodyType": "city-council-study-session",
      "meetingType": "Study Session",
      "title": "Palm Desert City Council - Study Session",
      "readinessCategory": "needs review",
      "extractionReadiness": "needs-official-inventory",
      "sourceCoverageStatus": "video-only-needs-official-inventory",
      "statusFlags": {
        "hasTranscript": false,
        "hasPolicyBrief": false,
        "hasAgenda": false,
        "hasPacket": false,
        "hasMinutes": false,
        "hasVideo": true,
        "hasOfficialSource": false,
        "hasExtractedOfficialText": false
      },
      "canonicalSourceCompleteness": {
        "readiness": "needs-official-inventory",
        "hasAnyOfficialText": false,
        "gaps": [
          "missing-official-meeting-inventory",
          "missing-agenda-url",
          "missing-agenda-pdf-url",
          "missing-agenda-packet-url",
          "missing-minutes-url",
          "missing-transcript",
          "official-text-needs-checking"
        ]
      },
      "counts": {
        "transcripts": 0,
        "policyBriefs": 0,
        "officialSources": 1,
        "officialTextArtifacts": 4,
        "extractedOfficialTextArtifacts": 0,
        "missing": 7
      },
      "officialSourceUrls": [],
      "agendaPdfUrls": [],
      "packetPdfUrls": [],
      "minutesPdfUrls": [],
      "videoUrls": [
        "https://www.youtube.com/watch?v=vomSUItUUAc"
      ],
      "transcriptReferences": [],
      "policyBriefReferences": [],
      "officialTextArtifacts": [
        {
          "sourceType": "agenda-html",
          "label": "agenda-html",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "agenda-pdf",
          "label": "agenda-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "packet-or-attachments",
          "label": "packet-or-attachments",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "minutes-pdf",
          "label": "minutes-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        }
      ],
      "missing": [
        "missing-official-meeting-inventory",
        "missing-agenda-url",
        "missing-agenda-pdf-url",
        "missing-agenda-packet-url",
        "missing-minutes-url",
        "missing-transcript",
        "official-text-needs-checking"
      ],
      "previousBundleId": "palm-desert-2025-06-26-city-council-regular",
      "nextBundleId": "palm-desert-2025-06-12-city-council-regular",
      "relatedDraftExtractionIds": [],
      "meetingSourceSetUrl": "/source/palm-desert/meetings/2025-06-26-city-council-study-session",
      "meetingSourceSetJsonUrl": "/data/palm-desert/meetings/2025-06-26-city-council-study-session.json"
    },
    {
      "bundleId": "palm-desert-2025-06-12-city-council-regular",
      "city": "Palm Desert",
      "citySlug": "palm-desert",
      "meetingDate": "2025-06-12",
      "corpusDates": [
        "2025-06-12"
      ],
      "body": "City Council Regular",
      "bodyType": "city-council-regular",
      "meetingType": "Regular",
      "title": "Palm Desert City Council - Regular Meeting",
      "readinessCategory": "needs review",
      "extractionReadiness": "needs-official-inventory",
      "sourceCoverageStatus": "video-only-needs-official-inventory",
      "statusFlags": {
        "hasTranscript": false,
        "hasPolicyBrief": false,
        "hasAgenda": false,
        "hasPacket": false,
        "hasMinutes": false,
        "hasVideo": true,
        "hasOfficialSource": false,
        "hasExtractedOfficialText": false
      },
      "canonicalSourceCompleteness": {
        "readiness": "needs-official-inventory",
        "hasAnyOfficialText": false,
        "gaps": [
          "missing-official-meeting-inventory",
          "missing-agenda-url",
          "missing-agenda-pdf-url",
          "missing-agenda-packet-url",
          "missing-minutes-url",
          "missing-transcript",
          "official-text-needs-checking"
        ]
      },
      "counts": {
        "transcripts": 0,
        "policyBriefs": 0,
        "officialSources": 1,
        "officialTextArtifacts": 4,
        "extractedOfficialTextArtifacts": 0,
        "missing": 7
      },
      "officialSourceUrls": [],
      "agendaPdfUrls": [],
      "packetPdfUrls": [],
      "minutesPdfUrls": [],
      "videoUrls": [
        "https://www.youtube.com/watch?v=NJrgNmUvWGs"
      ],
      "transcriptReferences": [],
      "policyBriefReferences": [],
      "officialTextArtifacts": [
        {
          "sourceType": "agenda-html",
          "label": "agenda-html",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "agenda-pdf",
          "label": "agenda-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "packet-or-attachments",
          "label": "packet-or-attachments",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "minutes-pdf",
          "label": "minutes-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        }
      ],
      "missing": [
        "missing-official-meeting-inventory",
        "missing-agenda-url",
        "missing-agenda-pdf-url",
        "missing-agenda-packet-url",
        "missing-minutes-url",
        "missing-transcript",
        "official-text-needs-checking"
      ],
      "previousBundleId": "palm-desert-2025-06-26-city-council-study-session",
      "nextBundleId": "palm-desert-2025-06-12-city-council-study-session",
      "relatedDraftExtractionIds": [],
      "meetingSourceSetUrl": "/source/palm-desert/meetings/2025-06-12-city-council-regular",
      "meetingSourceSetJsonUrl": "/data/palm-desert/meetings/2025-06-12-city-council-regular.json"
    },
    {
      "bundleId": "palm-desert-2025-06-12-city-council-study-session",
      "city": "Palm Desert",
      "citySlug": "palm-desert",
      "meetingDate": "2025-06-12",
      "corpusDates": [
        "2025-06-12"
      ],
      "body": "City Council Study Session",
      "bodyType": "city-council-study-session",
      "meetingType": "Study Session",
      "title": "Palm Desert City Council - Study Session",
      "readinessCategory": "needs review",
      "extractionReadiness": "needs-official-inventory",
      "sourceCoverageStatus": "video-only-needs-official-inventory",
      "statusFlags": {
        "hasTranscript": false,
        "hasPolicyBrief": false,
        "hasAgenda": false,
        "hasPacket": false,
        "hasMinutes": false,
        "hasVideo": true,
        "hasOfficialSource": false,
        "hasExtractedOfficialText": false
      },
      "canonicalSourceCompleteness": {
        "readiness": "needs-official-inventory",
        "hasAnyOfficialText": false,
        "gaps": [
          "missing-official-meeting-inventory",
          "missing-agenda-url",
          "missing-agenda-pdf-url",
          "missing-agenda-packet-url",
          "missing-minutes-url",
          "missing-transcript",
          "official-text-needs-checking"
        ]
      },
      "counts": {
        "transcripts": 0,
        "policyBriefs": 0,
        "officialSources": 1,
        "officialTextArtifacts": 4,
        "extractedOfficialTextArtifacts": 0,
        "missing": 7
      },
      "officialSourceUrls": [],
      "agendaPdfUrls": [],
      "packetPdfUrls": [],
      "minutesPdfUrls": [],
      "videoUrls": [
        "https://www.youtube.com/watch?v=fMk3RtaTQT0"
      ],
      "transcriptReferences": [],
      "policyBriefReferences": [],
      "officialTextArtifacts": [
        {
          "sourceType": "agenda-html",
          "label": "agenda-html",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "agenda-pdf",
          "label": "agenda-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "packet-or-attachments",
          "label": "packet-or-attachments",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "minutes-pdf",
          "label": "minutes-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        }
      ],
      "missing": [
        "missing-official-meeting-inventory",
        "missing-agenda-url",
        "missing-agenda-pdf-url",
        "missing-agenda-packet-url",
        "missing-minutes-url",
        "missing-transcript",
        "official-text-needs-checking"
      ],
      "previousBundleId": "palm-desert-2025-06-12-city-council-regular",
      "nextBundleId": "palm-desert-2025-05-22-city-council-regular",
      "relatedDraftExtractionIds": [],
      "meetingSourceSetUrl": "/source/palm-desert/meetings/2025-06-12-city-council-study-session",
      "meetingSourceSetJsonUrl": "/data/palm-desert/meetings/2025-06-12-city-council-study-session.json"
    },
    {
      "bundleId": "palm-desert-2025-05-22-city-council-regular",
      "city": "Palm Desert",
      "citySlug": "palm-desert",
      "meetingDate": "2025-05-22",
      "corpusDates": [
        "2025-05-22"
      ],
      "body": "City Council Regular",
      "bodyType": "city-council-regular",
      "meetingType": "Regular",
      "title": "Palm Desert City Council - Regular Meeting",
      "readinessCategory": "needs review",
      "extractionReadiness": "needs-official-inventory",
      "sourceCoverageStatus": "video-only-needs-official-inventory",
      "statusFlags": {
        "hasTranscript": false,
        "hasPolicyBrief": false,
        "hasAgenda": false,
        "hasPacket": false,
        "hasMinutes": false,
        "hasVideo": true,
        "hasOfficialSource": false,
        "hasExtractedOfficialText": false
      },
      "canonicalSourceCompleteness": {
        "readiness": "needs-official-inventory",
        "hasAnyOfficialText": false,
        "gaps": [
          "missing-official-meeting-inventory",
          "missing-agenda-url",
          "missing-agenda-pdf-url",
          "missing-agenda-packet-url",
          "missing-minutes-url",
          "missing-transcript",
          "official-text-needs-checking"
        ]
      },
      "counts": {
        "transcripts": 0,
        "policyBriefs": 0,
        "officialSources": 1,
        "officialTextArtifacts": 4,
        "extractedOfficialTextArtifacts": 0,
        "missing": 7
      },
      "officialSourceUrls": [],
      "agendaPdfUrls": [],
      "packetPdfUrls": [],
      "minutesPdfUrls": [],
      "videoUrls": [
        "https://www.youtube.com/watch?v=ZByfXvWyJSU"
      ],
      "transcriptReferences": [],
      "policyBriefReferences": [],
      "officialTextArtifacts": [
        {
          "sourceType": "agenda-html",
          "label": "agenda-html",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "agenda-pdf",
          "label": "agenda-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "packet-or-attachments",
          "label": "packet-or-attachments",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "minutes-pdf",
          "label": "minutes-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        }
      ],
      "missing": [
        "missing-official-meeting-inventory",
        "missing-agenda-url",
        "missing-agenda-pdf-url",
        "missing-agenda-packet-url",
        "missing-minutes-url",
        "missing-transcript",
        "official-text-needs-checking"
      ],
      "previousBundleId": "palm-desert-2025-06-12-city-council-study-session",
      "nextBundleId": "palm-desert-2025-05-22-city-council-study-session",
      "relatedDraftExtractionIds": [],
      "meetingSourceSetUrl": "/source/palm-desert/meetings/2025-05-22-city-council-regular",
      "meetingSourceSetJsonUrl": "/data/palm-desert/meetings/2025-05-22-city-council-regular.json"
    },
    {
      "bundleId": "palm-desert-2025-05-22-city-council-study-session",
      "city": "Palm Desert",
      "citySlug": "palm-desert",
      "meetingDate": "2025-05-22",
      "corpusDates": [
        "2025-05-22"
      ],
      "body": "City Council Study Session",
      "bodyType": "city-council-study-session",
      "meetingType": "Study Session",
      "title": "Palm Desert City Council - Study Session",
      "readinessCategory": "needs review",
      "extractionReadiness": "needs-official-inventory",
      "sourceCoverageStatus": "video-only-needs-official-inventory",
      "statusFlags": {
        "hasTranscript": false,
        "hasPolicyBrief": false,
        "hasAgenda": false,
        "hasPacket": false,
        "hasMinutes": false,
        "hasVideo": true,
        "hasOfficialSource": false,
        "hasExtractedOfficialText": false
      },
      "canonicalSourceCompleteness": {
        "readiness": "needs-official-inventory",
        "hasAnyOfficialText": false,
        "gaps": [
          "missing-official-meeting-inventory",
          "missing-agenda-url",
          "missing-agenda-pdf-url",
          "missing-agenda-packet-url",
          "missing-minutes-url",
          "missing-transcript",
          "official-text-needs-checking"
        ]
      },
      "counts": {
        "transcripts": 0,
        "policyBriefs": 0,
        "officialSources": 1,
        "officialTextArtifacts": 4,
        "extractedOfficialTextArtifacts": 0,
        "missing": 7
      },
      "officialSourceUrls": [],
      "agendaPdfUrls": [],
      "packetPdfUrls": [],
      "minutesPdfUrls": [],
      "videoUrls": [
        "https://www.youtube.com/watch?v=aW-cGlyGvJY"
      ],
      "transcriptReferences": [],
      "policyBriefReferences": [],
      "officialTextArtifacts": [
        {
          "sourceType": "agenda-html",
          "label": "agenda-html",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "agenda-pdf",
          "label": "agenda-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "packet-or-attachments",
          "label": "packet-or-attachments",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "minutes-pdf",
          "label": "minutes-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        }
      ],
      "missing": [
        "missing-official-meeting-inventory",
        "missing-agenda-url",
        "missing-agenda-pdf-url",
        "missing-agenda-packet-url",
        "missing-minutes-url",
        "missing-transcript",
        "official-text-needs-checking"
      ],
      "previousBundleId": "palm-desert-2025-05-22-city-council-regular",
      "nextBundleId": "palm-desert-2025-05-08-city-council-regular",
      "relatedDraftExtractionIds": [],
      "meetingSourceSetUrl": "/source/palm-desert/meetings/2025-05-22-city-council-study-session",
      "meetingSourceSetJsonUrl": "/data/palm-desert/meetings/2025-05-22-city-council-study-session.json"
    },
    {
      "bundleId": "palm-desert-2025-05-08-city-council-regular",
      "city": "Palm Desert",
      "citySlug": "palm-desert",
      "meetingDate": "2025-05-08",
      "corpusDates": [
        "2025-05-08"
      ],
      "body": "City Council Regular",
      "bodyType": "city-council-regular",
      "meetingType": "Regular",
      "title": "Palm Desert City Council - Regular Meeting",
      "readinessCategory": "needs review",
      "extractionReadiness": "needs-official-inventory",
      "sourceCoverageStatus": "video-only-needs-official-inventory",
      "statusFlags": {
        "hasTranscript": false,
        "hasPolicyBrief": false,
        "hasAgenda": false,
        "hasPacket": false,
        "hasMinutes": false,
        "hasVideo": true,
        "hasOfficialSource": false,
        "hasExtractedOfficialText": false
      },
      "canonicalSourceCompleteness": {
        "readiness": "needs-official-inventory",
        "hasAnyOfficialText": false,
        "gaps": [
          "missing-official-meeting-inventory",
          "missing-agenda-url",
          "missing-agenda-pdf-url",
          "missing-agenda-packet-url",
          "missing-minutes-url",
          "missing-transcript",
          "official-text-needs-checking"
        ]
      },
      "counts": {
        "transcripts": 0,
        "policyBriefs": 0,
        "officialSources": 1,
        "officialTextArtifacts": 4,
        "extractedOfficialTextArtifacts": 0,
        "missing": 7
      },
      "officialSourceUrls": [],
      "agendaPdfUrls": [],
      "packetPdfUrls": [],
      "minutesPdfUrls": [],
      "videoUrls": [
        "https://www.youtube.com/watch?v=7mwutAnGp14"
      ],
      "transcriptReferences": [],
      "policyBriefReferences": [],
      "officialTextArtifacts": [
        {
          "sourceType": "agenda-html",
          "label": "agenda-html",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "agenda-pdf",
          "label": "agenda-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "packet-or-attachments",
          "label": "packet-or-attachments",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "minutes-pdf",
          "label": "minutes-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        }
      ],
      "missing": [
        "missing-official-meeting-inventory",
        "missing-agenda-url",
        "missing-agenda-pdf-url",
        "missing-agenda-packet-url",
        "missing-minutes-url",
        "missing-transcript",
        "official-text-needs-checking"
      ],
      "previousBundleId": "palm-desert-2025-05-22-city-council-study-session",
      "nextBundleId": "palm-desert-2025-05-08-city-council-study-session",
      "relatedDraftExtractionIds": [],
      "meetingSourceSetUrl": "/source/palm-desert/meetings/2025-05-08-city-council-regular",
      "meetingSourceSetJsonUrl": "/data/palm-desert/meetings/2025-05-08-city-council-regular.json"
    },
    {
      "bundleId": "palm-desert-2025-05-08-city-council-study-session",
      "city": "Palm Desert",
      "citySlug": "palm-desert",
      "meetingDate": "2025-05-08",
      "corpusDates": [
        "2025-05-08"
      ],
      "body": "City Council Study Session",
      "bodyType": "city-council-study-session",
      "meetingType": "Study Session",
      "title": "Palm Desert City Council - Study Session",
      "readinessCategory": "needs review",
      "extractionReadiness": "needs-official-inventory",
      "sourceCoverageStatus": "video-only-needs-official-inventory",
      "statusFlags": {
        "hasTranscript": false,
        "hasPolicyBrief": false,
        "hasAgenda": false,
        "hasPacket": false,
        "hasMinutes": false,
        "hasVideo": true,
        "hasOfficialSource": false,
        "hasExtractedOfficialText": false
      },
      "canonicalSourceCompleteness": {
        "readiness": "needs-official-inventory",
        "hasAnyOfficialText": false,
        "gaps": [
          "missing-official-meeting-inventory",
          "missing-agenda-url",
          "missing-agenda-pdf-url",
          "missing-agenda-packet-url",
          "missing-minutes-url",
          "missing-transcript",
          "official-text-needs-checking"
        ]
      },
      "counts": {
        "transcripts": 0,
        "policyBriefs": 0,
        "officialSources": 1,
        "officialTextArtifacts": 4,
        "extractedOfficialTextArtifacts": 0,
        "missing": 7
      },
      "officialSourceUrls": [],
      "agendaPdfUrls": [],
      "packetPdfUrls": [],
      "minutesPdfUrls": [],
      "videoUrls": [
        "https://www.youtube.com/watch?v=H6372ZR_fYQ"
      ],
      "transcriptReferences": [],
      "policyBriefReferences": [],
      "officialTextArtifacts": [
        {
          "sourceType": "agenda-html",
          "label": "agenda-html",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "agenda-pdf",
          "label": "agenda-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "packet-or-attachments",
          "label": "packet-or-attachments",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "minutes-pdf",
          "label": "minutes-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        }
      ],
      "missing": [
        "missing-official-meeting-inventory",
        "missing-agenda-url",
        "missing-agenda-pdf-url",
        "missing-agenda-packet-url",
        "missing-minutes-url",
        "missing-transcript",
        "official-text-needs-checking"
      ],
      "previousBundleId": "palm-desert-2025-05-08-city-council-regular",
      "nextBundleId": "palm-desert-2025-04-24-city-council-regular",
      "relatedDraftExtractionIds": [],
      "meetingSourceSetUrl": "/source/palm-desert/meetings/2025-05-08-city-council-study-session",
      "meetingSourceSetJsonUrl": "/data/palm-desert/meetings/2025-05-08-city-council-study-session.json"
    },
    {
      "bundleId": "palm-desert-2025-04-24-city-council-regular",
      "city": "Palm Desert",
      "citySlug": "palm-desert",
      "meetingDate": "2025-04-24",
      "corpusDates": [
        "2025-04-24"
      ],
      "body": "City Council Regular",
      "bodyType": "city-council-regular",
      "meetingType": "Regular",
      "title": "Palm Desert City Council - Regular Meeting",
      "readinessCategory": "needs review",
      "extractionReadiness": "needs-official-inventory",
      "sourceCoverageStatus": "video-only-needs-official-inventory",
      "statusFlags": {
        "hasTranscript": false,
        "hasPolicyBrief": false,
        "hasAgenda": false,
        "hasPacket": false,
        "hasMinutes": false,
        "hasVideo": true,
        "hasOfficialSource": false,
        "hasExtractedOfficialText": false
      },
      "canonicalSourceCompleteness": {
        "readiness": "needs-official-inventory",
        "hasAnyOfficialText": false,
        "gaps": [
          "missing-official-meeting-inventory",
          "missing-agenda-url",
          "missing-agenda-pdf-url",
          "missing-agenda-packet-url",
          "missing-minutes-url",
          "missing-transcript",
          "official-text-needs-checking"
        ]
      },
      "counts": {
        "transcripts": 0,
        "policyBriefs": 0,
        "officialSources": 1,
        "officialTextArtifacts": 4,
        "extractedOfficialTextArtifacts": 0,
        "missing": 7
      },
      "officialSourceUrls": [],
      "agendaPdfUrls": [],
      "packetPdfUrls": [],
      "minutesPdfUrls": [],
      "videoUrls": [
        "https://www.youtube.com/watch?v=AW52Llmff68"
      ],
      "transcriptReferences": [],
      "policyBriefReferences": [],
      "officialTextArtifacts": [
        {
          "sourceType": "agenda-html",
          "label": "agenda-html",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "agenda-pdf",
          "label": "agenda-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "packet-or-attachments",
          "label": "packet-or-attachments",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "minutes-pdf",
          "label": "minutes-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        }
      ],
      "missing": [
        "missing-official-meeting-inventory",
        "missing-agenda-url",
        "missing-agenda-pdf-url",
        "missing-agenda-packet-url",
        "missing-minutes-url",
        "missing-transcript",
        "official-text-needs-checking"
      ],
      "previousBundleId": "palm-desert-2025-05-08-city-council-study-session",
      "nextBundleId": "palm-desert-2025-04-24-city-council-study-session",
      "relatedDraftExtractionIds": [],
      "meetingSourceSetUrl": "/source/palm-desert/meetings/2025-04-24-city-council-regular",
      "meetingSourceSetJsonUrl": "/data/palm-desert/meetings/2025-04-24-city-council-regular.json"
    },
    {
      "bundleId": "palm-desert-2025-04-24-city-council-study-session",
      "city": "Palm Desert",
      "citySlug": "palm-desert",
      "meetingDate": "2025-04-24",
      "corpusDates": [
        "2025-04-24"
      ],
      "body": "City Council Study Session",
      "bodyType": "city-council-study-session",
      "meetingType": "Study Session",
      "title": "Palm Desert City Council - Study Session",
      "readinessCategory": "needs review",
      "extractionReadiness": "needs-official-inventory",
      "sourceCoverageStatus": "video-only-needs-official-inventory",
      "statusFlags": {
        "hasTranscript": false,
        "hasPolicyBrief": false,
        "hasAgenda": false,
        "hasPacket": false,
        "hasMinutes": false,
        "hasVideo": true,
        "hasOfficialSource": false,
        "hasExtractedOfficialText": false
      },
      "canonicalSourceCompleteness": {
        "readiness": "needs-official-inventory",
        "hasAnyOfficialText": false,
        "gaps": [
          "missing-official-meeting-inventory",
          "missing-agenda-url",
          "missing-agenda-pdf-url",
          "missing-agenda-packet-url",
          "missing-minutes-url",
          "missing-transcript",
          "official-text-needs-checking"
        ]
      },
      "counts": {
        "transcripts": 0,
        "policyBriefs": 0,
        "officialSources": 1,
        "officialTextArtifacts": 4,
        "extractedOfficialTextArtifacts": 0,
        "missing": 7
      },
      "officialSourceUrls": [],
      "agendaPdfUrls": [],
      "packetPdfUrls": [],
      "minutesPdfUrls": [],
      "videoUrls": [
        "https://www.youtube.com/watch?v=AQk-kfsCaEk"
      ],
      "transcriptReferences": [],
      "policyBriefReferences": [],
      "officialTextArtifacts": [
        {
          "sourceType": "agenda-html",
          "label": "agenda-html",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "agenda-pdf",
          "label": "agenda-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "packet-or-attachments",
          "label": "packet-or-attachments",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "minutes-pdf",
          "label": "minutes-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        }
      ],
      "missing": [
        "missing-official-meeting-inventory",
        "missing-agenda-url",
        "missing-agenda-pdf-url",
        "missing-agenda-packet-url",
        "missing-minutes-url",
        "missing-transcript",
        "official-text-needs-checking"
      ],
      "previousBundleId": "palm-desert-2025-04-24-city-council-regular",
      "nextBundleId": "palm-desert-2025-04-10-city-council-regular",
      "relatedDraftExtractionIds": [],
      "meetingSourceSetUrl": "/source/palm-desert/meetings/2025-04-24-city-council-study-session",
      "meetingSourceSetJsonUrl": "/data/palm-desert/meetings/2025-04-24-city-council-study-session.json"
    },
    {
      "bundleId": "palm-desert-2025-04-10-city-council-regular",
      "city": "Palm Desert",
      "citySlug": "palm-desert",
      "meetingDate": "2025-04-10",
      "corpusDates": [
        "2025-04-10"
      ],
      "body": "City Council Regular",
      "bodyType": "city-council-regular",
      "meetingType": "Regular",
      "title": "Palm Desert City Council - Regular Meeting",
      "readinessCategory": "needs review",
      "extractionReadiness": "needs-official-inventory",
      "sourceCoverageStatus": "video-only-needs-official-inventory",
      "statusFlags": {
        "hasTranscript": false,
        "hasPolicyBrief": false,
        "hasAgenda": false,
        "hasPacket": false,
        "hasMinutes": false,
        "hasVideo": true,
        "hasOfficialSource": false,
        "hasExtractedOfficialText": false
      },
      "canonicalSourceCompleteness": {
        "readiness": "needs-official-inventory",
        "hasAnyOfficialText": false,
        "gaps": [
          "missing-official-meeting-inventory",
          "missing-agenda-url",
          "missing-agenda-pdf-url",
          "missing-agenda-packet-url",
          "missing-minutes-url",
          "missing-transcript",
          "official-text-needs-checking"
        ]
      },
      "counts": {
        "transcripts": 0,
        "policyBriefs": 0,
        "officialSources": 1,
        "officialTextArtifacts": 4,
        "extractedOfficialTextArtifacts": 0,
        "missing": 7
      },
      "officialSourceUrls": [],
      "agendaPdfUrls": [],
      "packetPdfUrls": [],
      "minutesPdfUrls": [],
      "videoUrls": [
        "https://www.youtube.com/watch?v=jZSJ--c_2w8"
      ],
      "transcriptReferences": [],
      "policyBriefReferences": [],
      "officialTextArtifacts": [
        {
          "sourceType": "agenda-html",
          "label": "agenda-html",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "agenda-pdf",
          "label": "agenda-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "packet-or-attachments",
          "label": "packet-or-attachments",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "minutes-pdf",
          "label": "minutes-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        }
      ],
      "missing": [
        "missing-official-meeting-inventory",
        "missing-agenda-url",
        "missing-agenda-pdf-url",
        "missing-agenda-packet-url",
        "missing-minutes-url",
        "missing-transcript",
        "official-text-needs-checking"
      ],
      "previousBundleId": "palm-desert-2025-04-24-city-council-study-session",
      "nextBundleId": "palm-desert-2025-04-10-city-council-study-session",
      "relatedDraftExtractionIds": [],
      "meetingSourceSetUrl": "/source/palm-desert/meetings/2025-04-10-city-council-regular",
      "meetingSourceSetJsonUrl": "/data/palm-desert/meetings/2025-04-10-city-council-regular.json"
    },
    {
      "bundleId": "palm-desert-2025-04-10-city-council-study-session",
      "city": "Palm Desert",
      "citySlug": "palm-desert",
      "meetingDate": "2025-04-10",
      "corpusDates": [
        "2025-04-10"
      ],
      "body": "City Council Study Session",
      "bodyType": "city-council-study-session",
      "meetingType": "Study Session",
      "title": "Palm Desert City Council - Study Session",
      "readinessCategory": "needs review",
      "extractionReadiness": "needs-official-inventory",
      "sourceCoverageStatus": "video-only-needs-official-inventory",
      "statusFlags": {
        "hasTranscript": false,
        "hasPolicyBrief": false,
        "hasAgenda": false,
        "hasPacket": false,
        "hasMinutes": false,
        "hasVideo": true,
        "hasOfficialSource": false,
        "hasExtractedOfficialText": false
      },
      "canonicalSourceCompleteness": {
        "readiness": "needs-official-inventory",
        "hasAnyOfficialText": false,
        "gaps": [
          "missing-official-meeting-inventory",
          "missing-agenda-url",
          "missing-agenda-pdf-url",
          "missing-agenda-packet-url",
          "missing-minutes-url",
          "missing-transcript",
          "official-text-needs-checking"
        ]
      },
      "counts": {
        "transcripts": 0,
        "policyBriefs": 0,
        "officialSources": 1,
        "officialTextArtifacts": 4,
        "extractedOfficialTextArtifacts": 0,
        "missing": 7
      },
      "officialSourceUrls": [],
      "agendaPdfUrls": [],
      "packetPdfUrls": [],
      "minutesPdfUrls": [],
      "videoUrls": [
        "https://www.youtube.com/watch?v=MqVM8HtVZmI"
      ],
      "transcriptReferences": [],
      "policyBriefReferences": [],
      "officialTextArtifacts": [
        {
          "sourceType": "agenda-html",
          "label": "agenda-html",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "agenda-pdf",
          "label": "agenda-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "packet-or-attachments",
          "label": "packet-or-attachments",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "minutes-pdf",
          "label": "minutes-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        }
      ],
      "missing": [
        "missing-official-meeting-inventory",
        "missing-agenda-url",
        "missing-agenda-pdf-url",
        "missing-agenda-packet-url",
        "missing-minutes-url",
        "missing-transcript",
        "official-text-needs-checking"
      ],
      "previousBundleId": "palm-desert-2025-04-10-city-council-regular",
      "nextBundleId": "palm-desert-2025-03-27-city-council-regular",
      "relatedDraftExtractionIds": [],
      "meetingSourceSetUrl": "/source/palm-desert/meetings/2025-04-10-city-council-study-session",
      "meetingSourceSetJsonUrl": "/data/palm-desert/meetings/2025-04-10-city-council-study-session.json"
    },
    {
      "bundleId": "palm-desert-2025-03-27-city-council-regular",
      "city": "Palm Desert",
      "citySlug": "palm-desert",
      "meetingDate": "2025-03-27",
      "corpusDates": [
        "2025-03-27"
      ],
      "body": "City Council Regular",
      "bodyType": "city-council-regular",
      "meetingType": "Regular",
      "title": "Palm Desert City Council - Regular Meeting",
      "readinessCategory": "needs review",
      "extractionReadiness": "needs-official-inventory",
      "sourceCoverageStatus": "video-only-needs-official-inventory",
      "statusFlags": {
        "hasTranscript": false,
        "hasPolicyBrief": false,
        "hasAgenda": false,
        "hasPacket": false,
        "hasMinutes": false,
        "hasVideo": true,
        "hasOfficialSource": false,
        "hasExtractedOfficialText": false
      },
      "canonicalSourceCompleteness": {
        "readiness": "needs-official-inventory",
        "hasAnyOfficialText": false,
        "gaps": [
          "missing-official-meeting-inventory",
          "missing-agenda-url",
          "missing-agenda-pdf-url",
          "missing-agenda-packet-url",
          "missing-minutes-url",
          "missing-transcript",
          "official-text-needs-checking"
        ]
      },
      "counts": {
        "transcripts": 0,
        "policyBriefs": 0,
        "officialSources": 1,
        "officialTextArtifacts": 4,
        "extractedOfficialTextArtifacts": 0,
        "missing": 7
      },
      "officialSourceUrls": [],
      "agendaPdfUrls": [],
      "packetPdfUrls": [],
      "minutesPdfUrls": [],
      "videoUrls": [
        "https://www.youtube.com/watch?v=028jmF4Hb7w"
      ],
      "transcriptReferences": [],
      "policyBriefReferences": [],
      "officialTextArtifacts": [
        {
          "sourceType": "agenda-html",
          "label": "agenda-html",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "agenda-pdf",
          "label": "agenda-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "packet-or-attachments",
          "label": "packet-or-attachments",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "minutes-pdf",
          "label": "minutes-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        }
      ],
      "missing": [
        "missing-official-meeting-inventory",
        "missing-agenda-url",
        "missing-agenda-pdf-url",
        "missing-agenda-packet-url",
        "missing-minutes-url",
        "missing-transcript",
        "official-text-needs-checking"
      ],
      "previousBundleId": "palm-desert-2025-04-10-city-council-study-session",
      "nextBundleId": "palm-desert-2025-03-27-city-council-study-session",
      "relatedDraftExtractionIds": [],
      "meetingSourceSetUrl": "/source/palm-desert/meetings/2025-03-27-city-council-regular",
      "meetingSourceSetJsonUrl": "/data/palm-desert/meetings/2025-03-27-city-council-regular.json"
    },
    {
      "bundleId": "palm-desert-2025-03-27-city-council-study-session",
      "city": "Palm Desert",
      "citySlug": "palm-desert",
      "meetingDate": "2025-03-27",
      "corpusDates": [
        "2025-03-27"
      ],
      "body": "City Council Study Session",
      "bodyType": "city-council-study-session",
      "meetingType": "Study Session",
      "title": "Palm Desert City Council - Study Session",
      "readinessCategory": "needs review",
      "extractionReadiness": "needs-official-inventory",
      "sourceCoverageStatus": "video-only-needs-official-inventory",
      "statusFlags": {
        "hasTranscript": false,
        "hasPolicyBrief": false,
        "hasAgenda": false,
        "hasPacket": false,
        "hasMinutes": false,
        "hasVideo": true,
        "hasOfficialSource": false,
        "hasExtractedOfficialText": false
      },
      "canonicalSourceCompleteness": {
        "readiness": "needs-official-inventory",
        "hasAnyOfficialText": false,
        "gaps": [
          "missing-official-meeting-inventory",
          "missing-agenda-url",
          "missing-agenda-pdf-url",
          "missing-agenda-packet-url",
          "missing-minutes-url",
          "missing-transcript",
          "official-text-needs-checking"
        ]
      },
      "counts": {
        "transcripts": 0,
        "policyBriefs": 0,
        "officialSources": 1,
        "officialTextArtifacts": 4,
        "extractedOfficialTextArtifacts": 0,
        "missing": 7
      },
      "officialSourceUrls": [],
      "agendaPdfUrls": [],
      "packetPdfUrls": [],
      "minutesPdfUrls": [],
      "videoUrls": [
        "https://www.youtube.com/watch?v=6xxu8NbhRek"
      ],
      "transcriptReferences": [],
      "policyBriefReferences": [],
      "officialTextArtifacts": [
        {
          "sourceType": "agenda-html",
          "label": "agenda-html",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "agenda-pdf",
          "label": "agenda-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "packet-or-attachments",
          "label": "packet-or-attachments",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "minutes-pdf",
          "label": "minutes-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        }
      ],
      "missing": [
        "missing-official-meeting-inventory",
        "missing-agenda-url",
        "missing-agenda-pdf-url",
        "missing-agenda-packet-url",
        "missing-minutes-url",
        "missing-transcript",
        "official-text-needs-checking"
      ],
      "previousBundleId": "palm-desert-2025-03-27-city-council-regular",
      "nextBundleId": "palm-desert-2025-03-13-city-council-regular",
      "relatedDraftExtractionIds": [],
      "meetingSourceSetUrl": "/source/palm-desert/meetings/2025-03-27-city-council-study-session",
      "meetingSourceSetJsonUrl": "/data/palm-desert/meetings/2025-03-27-city-council-study-session.json"
    },
    {
      "bundleId": "palm-desert-2025-03-13-city-council-regular",
      "city": "Palm Desert",
      "citySlug": "palm-desert",
      "meetingDate": "2025-03-13",
      "corpusDates": [
        "2025-03-13"
      ],
      "body": "City Council Regular",
      "bodyType": "city-council-regular",
      "meetingType": "Regular",
      "title": "Palm Desert City Council - Regular Meeting",
      "readinessCategory": "needs review",
      "extractionReadiness": "needs-official-inventory",
      "sourceCoverageStatus": "video-only-needs-official-inventory",
      "statusFlags": {
        "hasTranscript": false,
        "hasPolicyBrief": false,
        "hasAgenda": false,
        "hasPacket": false,
        "hasMinutes": false,
        "hasVideo": true,
        "hasOfficialSource": false,
        "hasExtractedOfficialText": false
      },
      "canonicalSourceCompleteness": {
        "readiness": "needs-official-inventory",
        "hasAnyOfficialText": false,
        "gaps": [
          "missing-official-meeting-inventory",
          "missing-agenda-url",
          "missing-agenda-pdf-url",
          "missing-agenda-packet-url",
          "missing-minutes-url",
          "missing-transcript",
          "official-text-needs-checking"
        ]
      },
      "counts": {
        "transcripts": 0,
        "policyBriefs": 0,
        "officialSources": 1,
        "officialTextArtifacts": 4,
        "extractedOfficialTextArtifacts": 0,
        "missing": 7
      },
      "officialSourceUrls": [],
      "agendaPdfUrls": [],
      "packetPdfUrls": [],
      "minutesPdfUrls": [],
      "videoUrls": [
        "https://www.youtube.com/watch?v=MRV9uTc0R9M"
      ],
      "transcriptReferences": [],
      "policyBriefReferences": [],
      "officialTextArtifacts": [
        {
          "sourceType": "agenda-html",
          "label": "agenda-html",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "agenda-pdf",
          "label": "agenda-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "packet-or-attachments",
          "label": "packet-or-attachments",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "minutes-pdf",
          "label": "minutes-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        }
      ],
      "missing": [
        "missing-official-meeting-inventory",
        "missing-agenda-url",
        "missing-agenda-pdf-url",
        "missing-agenda-packet-url",
        "missing-minutes-url",
        "missing-transcript",
        "official-text-needs-checking"
      ],
      "previousBundleId": "palm-desert-2025-03-27-city-council-study-session",
      "nextBundleId": "palm-desert-2025-03-13-city-council-study-session",
      "relatedDraftExtractionIds": [],
      "meetingSourceSetUrl": "/source/palm-desert/meetings/2025-03-13-city-council-regular",
      "meetingSourceSetJsonUrl": "/data/palm-desert/meetings/2025-03-13-city-council-regular.json"
    },
    {
      "bundleId": "palm-desert-2025-03-13-city-council-study-session",
      "city": "Palm Desert",
      "citySlug": "palm-desert",
      "meetingDate": "2025-03-13",
      "corpusDates": [
        "2025-03-13"
      ],
      "body": "City Council Study Session",
      "bodyType": "city-council-study-session",
      "meetingType": "Study Session",
      "title": "Palm Desert City Council - Study Session",
      "readinessCategory": "needs review",
      "extractionReadiness": "needs-official-inventory",
      "sourceCoverageStatus": "video-only-needs-official-inventory",
      "statusFlags": {
        "hasTranscript": false,
        "hasPolicyBrief": false,
        "hasAgenda": false,
        "hasPacket": false,
        "hasMinutes": false,
        "hasVideo": true,
        "hasOfficialSource": false,
        "hasExtractedOfficialText": false
      },
      "canonicalSourceCompleteness": {
        "readiness": "needs-official-inventory",
        "hasAnyOfficialText": false,
        "gaps": [
          "missing-official-meeting-inventory",
          "missing-agenda-url",
          "missing-agenda-pdf-url",
          "missing-agenda-packet-url",
          "missing-minutes-url",
          "missing-transcript",
          "official-text-needs-checking"
        ]
      },
      "counts": {
        "transcripts": 0,
        "policyBriefs": 0,
        "officialSources": 1,
        "officialTextArtifacts": 4,
        "extractedOfficialTextArtifacts": 0,
        "missing": 7
      },
      "officialSourceUrls": [],
      "agendaPdfUrls": [],
      "packetPdfUrls": [],
      "minutesPdfUrls": [],
      "videoUrls": [
        "https://www.youtube.com/watch?v=WcTwNEoV8YE"
      ],
      "transcriptReferences": [],
      "policyBriefReferences": [],
      "officialTextArtifacts": [
        {
          "sourceType": "agenda-html",
          "label": "agenda-html",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "agenda-pdf",
          "label": "agenda-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "packet-or-attachments",
          "label": "packet-or-attachments",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "minutes-pdf",
          "label": "minutes-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        }
      ],
      "missing": [
        "missing-official-meeting-inventory",
        "missing-agenda-url",
        "missing-agenda-pdf-url",
        "missing-agenda-packet-url",
        "missing-minutes-url",
        "missing-transcript",
        "official-text-needs-checking"
      ],
      "previousBundleId": "palm-desert-2025-03-13-city-council-regular",
      "nextBundleId": "palm-desert-2025-02-27-city-council-regular",
      "relatedDraftExtractionIds": [],
      "meetingSourceSetUrl": "/source/palm-desert/meetings/2025-03-13-city-council-study-session",
      "meetingSourceSetJsonUrl": "/data/palm-desert/meetings/2025-03-13-city-council-study-session.json"
    },
    {
      "bundleId": "palm-desert-2025-02-27-city-council-regular",
      "city": "Palm Desert",
      "citySlug": "palm-desert",
      "meetingDate": "2025-02-27",
      "corpusDates": [
        "2025-02-27"
      ],
      "body": "City Council Regular",
      "bodyType": "city-council-regular",
      "meetingType": "Regular",
      "title": "Palm Desert City Council - Regular Meeting",
      "readinessCategory": "needs review",
      "extractionReadiness": "needs-official-inventory",
      "sourceCoverageStatus": "video-only-needs-official-inventory",
      "statusFlags": {
        "hasTranscript": false,
        "hasPolicyBrief": false,
        "hasAgenda": false,
        "hasPacket": false,
        "hasMinutes": false,
        "hasVideo": true,
        "hasOfficialSource": false,
        "hasExtractedOfficialText": false
      },
      "canonicalSourceCompleteness": {
        "readiness": "needs-official-inventory",
        "hasAnyOfficialText": false,
        "gaps": [
          "missing-official-meeting-inventory",
          "missing-agenda-url",
          "missing-agenda-pdf-url",
          "missing-agenda-packet-url",
          "missing-minutes-url",
          "missing-transcript",
          "official-text-needs-checking"
        ]
      },
      "counts": {
        "transcripts": 0,
        "policyBriefs": 0,
        "officialSources": 1,
        "officialTextArtifacts": 4,
        "extractedOfficialTextArtifacts": 0,
        "missing": 7
      },
      "officialSourceUrls": [],
      "agendaPdfUrls": [],
      "packetPdfUrls": [],
      "minutesPdfUrls": [],
      "videoUrls": [
        "https://www.youtube.com/watch?v=UQICTML31T0"
      ],
      "transcriptReferences": [],
      "policyBriefReferences": [],
      "officialTextArtifacts": [
        {
          "sourceType": "agenda-html",
          "label": "agenda-html",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "agenda-pdf",
          "label": "agenda-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "packet-or-attachments",
          "label": "packet-or-attachments",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "minutes-pdf",
          "label": "minutes-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        }
      ],
      "missing": [
        "missing-official-meeting-inventory",
        "missing-agenda-url",
        "missing-agenda-pdf-url",
        "missing-agenda-packet-url",
        "missing-minutes-url",
        "missing-transcript",
        "official-text-needs-checking"
      ],
      "previousBundleId": "palm-desert-2025-03-13-city-council-study-session",
      "nextBundleId": "palm-desert-2025-02-27-city-council-study-session",
      "relatedDraftExtractionIds": [],
      "meetingSourceSetUrl": "/source/palm-desert/meetings/2025-02-27-city-council-regular",
      "meetingSourceSetJsonUrl": "/data/palm-desert/meetings/2025-02-27-city-council-regular.json"
    },
    {
      "bundleId": "palm-desert-2025-02-27-city-council-study-session",
      "city": "Palm Desert",
      "citySlug": "palm-desert",
      "meetingDate": "2025-02-27",
      "corpusDates": [
        "2025-02-27"
      ],
      "body": "City Council Study Session",
      "bodyType": "city-council-study-session",
      "meetingType": "Study Session",
      "title": "Palm Desert City Council - Study Session",
      "readinessCategory": "needs review",
      "extractionReadiness": "needs-official-inventory",
      "sourceCoverageStatus": "video-only-needs-official-inventory",
      "statusFlags": {
        "hasTranscript": false,
        "hasPolicyBrief": false,
        "hasAgenda": false,
        "hasPacket": false,
        "hasMinutes": false,
        "hasVideo": true,
        "hasOfficialSource": false,
        "hasExtractedOfficialText": false
      },
      "canonicalSourceCompleteness": {
        "readiness": "needs-official-inventory",
        "hasAnyOfficialText": false,
        "gaps": [
          "missing-official-meeting-inventory",
          "missing-agenda-url",
          "missing-agenda-pdf-url",
          "missing-agenda-packet-url",
          "missing-minutes-url",
          "missing-transcript",
          "official-text-needs-checking"
        ]
      },
      "counts": {
        "transcripts": 0,
        "policyBriefs": 0,
        "officialSources": 1,
        "officialTextArtifacts": 4,
        "extractedOfficialTextArtifacts": 0,
        "missing": 7
      },
      "officialSourceUrls": [],
      "agendaPdfUrls": [],
      "packetPdfUrls": [],
      "minutesPdfUrls": [],
      "videoUrls": [
        "https://www.youtube.com/watch?v=7KQ6f6Yw_To"
      ],
      "transcriptReferences": [],
      "policyBriefReferences": [],
      "officialTextArtifacts": [
        {
          "sourceType": "agenda-html",
          "label": "agenda-html",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "agenda-pdf",
          "label": "agenda-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "packet-or-attachments",
          "label": "packet-or-attachments",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "minutes-pdf",
          "label": "minutes-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        }
      ],
      "missing": [
        "missing-official-meeting-inventory",
        "missing-agenda-url",
        "missing-agenda-pdf-url",
        "missing-agenda-packet-url",
        "missing-minutes-url",
        "missing-transcript",
        "official-text-needs-checking"
      ],
      "previousBundleId": "palm-desert-2025-02-27-city-council-regular",
      "nextBundleId": "palm-desert-2025-02-13-city-council-regular",
      "relatedDraftExtractionIds": [],
      "meetingSourceSetUrl": "/source/palm-desert/meetings/2025-02-27-city-council-study-session",
      "meetingSourceSetJsonUrl": "/data/palm-desert/meetings/2025-02-27-city-council-study-session.json"
    },
    {
      "bundleId": "palm-desert-2025-02-13-city-council-regular",
      "city": "Palm Desert",
      "citySlug": "palm-desert",
      "meetingDate": "2025-02-13",
      "corpusDates": [
        "2025-02-13"
      ],
      "body": "City Council Regular",
      "bodyType": "city-council-regular",
      "meetingType": "Regular",
      "title": "Palm Desert City Council - Regular Meeting",
      "readinessCategory": "needs review",
      "extractionReadiness": "needs-official-inventory",
      "sourceCoverageStatus": "video-only-needs-official-inventory",
      "statusFlags": {
        "hasTranscript": false,
        "hasPolicyBrief": false,
        "hasAgenda": false,
        "hasPacket": false,
        "hasMinutes": false,
        "hasVideo": true,
        "hasOfficialSource": false,
        "hasExtractedOfficialText": false
      },
      "canonicalSourceCompleteness": {
        "readiness": "needs-official-inventory",
        "hasAnyOfficialText": false,
        "gaps": [
          "missing-official-meeting-inventory",
          "missing-agenda-url",
          "missing-agenda-pdf-url",
          "missing-agenda-packet-url",
          "missing-minutes-url",
          "missing-transcript",
          "official-text-needs-checking"
        ]
      },
      "counts": {
        "transcripts": 0,
        "policyBriefs": 0,
        "officialSources": 1,
        "officialTextArtifacts": 4,
        "extractedOfficialTextArtifacts": 0,
        "missing": 7
      },
      "officialSourceUrls": [],
      "agendaPdfUrls": [],
      "packetPdfUrls": [],
      "minutesPdfUrls": [],
      "videoUrls": [
        "https://www.youtube.com/watch?v=cER6tJhhUmI"
      ],
      "transcriptReferences": [],
      "policyBriefReferences": [],
      "officialTextArtifacts": [
        {
          "sourceType": "agenda-html",
          "label": "agenda-html",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "agenda-pdf",
          "label": "agenda-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "packet-or-attachments",
          "label": "packet-or-attachments",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "minutes-pdf",
          "label": "minutes-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        }
      ],
      "missing": [
        "missing-official-meeting-inventory",
        "missing-agenda-url",
        "missing-agenda-pdf-url",
        "missing-agenda-packet-url",
        "missing-minutes-url",
        "missing-transcript",
        "official-text-needs-checking"
      ],
      "previousBundleId": "palm-desert-2025-02-27-city-council-study-session",
      "nextBundleId": "palm-desert-2025-02-13-city-council-study-session",
      "relatedDraftExtractionIds": [],
      "meetingSourceSetUrl": "/source/palm-desert/meetings/2025-02-13-city-council-regular",
      "meetingSourceSetJsonUrl": "/data/palm-desert/meetings/2025-02-13-city-council-regular.json"
    },
    {
      "bundleId": "palm-desert-2025-02-13-city-council-study-session",
      "city": "Palm Desert",
      "citySlug": "palm-desert",
      "meetingDate": "2025-02-13",
      "corpusDates": [
        "2025-02-13"
      ],
      "body": "City Council Study Session",
      "bodyType": "city-council-study-session",
      "meetingType": "Study Session",
      "title": "Palm Desert City Council - Study Session",
      "readinessCategory": "needs review",
      "extractionReadiness": "needs-official-inventory",
      "sourceCoverageStatus": "video-only-needs-official-inventory",
      "statusFlags": {
        "hasTranscript": false,
        "hasPolicyBrief": false,
        "hasAgenda": false,
        "hasPacket": false,
        "hasMinutes": false,
        "hasVideo": true,
        "hasOfficialSource": false,
        "hasExtractedOfficialText": false
      },
      "canonicalSourceCompleteness": {
        "readiness": "needs-official-inventory",
        "hasAnyOfficialText": false,
        "gaps": [
          "missing-official-meeting-inventory",
          "missing-agenda-url",
          "missing-agenda-pdf-url",
          "missing-agenda-packet-url",
          "missing-minutes-url",
          "missing-transcript",
          "official-text-needs-checking"
        ]
      },
      "counts": {
        "transcripts": 0,
        "policyBriefs": 0,
        "officialSources": 1,
        "officialTextArtifacts": 4,
        "extractedOfficialTextArtifacts": 0,
        "missing": 7
      },
      "officialSourceUrls": [],
      "agendaPdfUrls": [],
      "packetPdfUrls": [],
      "minutesPdfUrls": [],
      "videoUrls": [
        "https://www.youtube.com/watch?v=FiUvUnA2lNA"
      ],
      "transcriptReferences": [],
      "policyBriefReferences": [],
      "officialTextArtifacts": [
        {
          "sourceType": "agenda-html",
          "label": "agenda-html",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "agenda-pdf",
          "label": "agenda-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "packet-or-attachments",
          "label": "packet-or-attachments",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "minutes-pdf",
          "label": "minutes-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        }
      ],
      "missing": [
        "missing-official-meeting-inventory",
        "missing-agenda-url",
        "missing-agenda-pdf-url",
        "missing-agenda-packet-url",
        "missing-minutes-url",
        "missing-transcript",
        "official-text-needs-checking"
      ],
      "previousBundleId": "palm-desert-2025-02-13-city-council-regular",
      "nextBundleId": "palm-desert-2025-01-09-city-council-regular",
      "relatedDraftExtractionIds": [],
      "meetingSourceSetUrl": "/source/palm-desert/meetings/2025-02-13-city-council-study-session",
      "meetingSourceSetJsonUrl": "/data/palm-desert/meetings/2025-02-13-city-council-study-session.json"
    },
    {
      "bundleId": "palm-desert-2025-01-09-city-council-regular",
      "city": "Palm Desert",
      "citySlug": "palm-desert",
      "meetingDate": "2025-01-09",
      "corpusDates": [
        "2025-01-09"
      ],
      "body": "City Council Regular",
      "bodyType": "city-council-regular",
      "meetingType": "Regular",
      "title": "Palm Desert City Council - Regular Meeting",
      "readinessCategory": "needs review",
      "extractionReadiness": "needs-official-inventory",
      "sourceCoverageStatus": "video-only-needs-official-inventory",
      "statusFlags": {
        "hasTranscript": false,
        "hasPolicyBrief": false,
        "hasAgenda": false,
        "hasPacket": false,
        "hasMinutes": false,
        "hasVideo": true,
        "hasOfficialSource": false,
        "hasExtractedOfficialText": false
      },
      "canonicalSourceCompleteness": {
        "readiness": "needs-official-inventory",
        "hasAnyOfficialText": false,
        "gaps": [
          "missing-official-meeting-inventory",
          "missing-agenda-url",
          "missing-agenda-pdf-url",
          "missing-agenda-packet-url",
          "missing-minutes-url",
          "missing-transcript",
          "official-text-needs-checking"
        ]
      },
      "counts": {
        "transcripts": 0,
        "policyBriefs": 0,
        "officialSources": 1,
        "officialTextArtifacts": 4,
        "extractedOfficialTextArtifacts": 0,
        "missing": 7
      },
      "officialSourceUrls": [],
      "agendaPdfUrls": [],
      "packetPdfUrls": [],
      "minutesPdfUrls": [],
      "videoUrls": [
        "https://www.youtube.com/watch?v=el1I6m7GyJ8"
      ],
      "transcriptReferences": [],
      "policyBriefReferences": [],
      "officialTextArtifacts": [
        {
          "sourceType": "agenda-html",
          "label": "agenda-html",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "agenda-pdf",
          "label": "agenda-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "packet-or-attachments",
          "label": "packet-or-attachments",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "minutes-pdf",
          "label": "minutes-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        }
      ],
      "missing": [
        "missing-official-meeting-inventory",
        "missing-agenda-url",
        "missing-agenda-pdf-url",
        "missing-agenda-packet-url",
        "missing-minutes-url",
        "missing-transcript",
        "official-text-needs-checking"
      ],
      "previousBundleId": "palm-desert-2025-02-13-city-council-study-session",
      "nextBundleId": "palm-desert-2025-01-09-city-council-study-session",
      "relatedDraftExtractionIds": [],
      "meetingSourceSetUrl": "/source/palm-desert/meetings/2025-01-09-city-council-regular",
      "meetingSourceSetJsonUrl": "/data/palm-desert/meetings/2025-01-09-city-council-regular.json"
    },
    {
      "bundleId": "palm-desert-2025-01-09-city-council-study-session",
      "city": "Palm Desert",
      "citySlug": "palm-desert",
      "meetingDate": "2025-01-09",
      "corpusDates": [
        "2025-01-09"
      ],
      "body": "City Council Study Session",
      "bodyType": "city-council-study-session",
      "meetingType": "Study Session",
      "title": "Palm Desert City Council - Study Session",
      "readinessCategory": "needs review",
      "extractionReadiness": "needs-official-inventory",
      "sourceCoverageStatus": "video-only-needs-official-inventory",
      "statusFlags": {
        "hasTranscript": false,
        "hasPolicyBrief": false,
        "hasAgenda": false,
        "hasPacket": false,
        "hasMinutes": false,
        "hasVideo": true,
        "hasOfficialSource": false,
        "hasExtractedOfficialText": false
      },
      "canonicalSourceCompleteness": {
        "readiness": "needs-official-inventory",
        "hasAnyOfficialText": false,
        "gaps": [
          "missing-official-meeting-inventory",
          "missing-agenda-url",
          "missing-agenda-pdf-url",
          "missing-agenda-packet-url",
          "missing-minutes-url",
          "missing-transcript",
          "official-text-needs-checking"
        ]
      },
      "counts": {
        "transcripts": 0,
        "policyBriefs": 0,
        "officialSources": 1,
        "officialTextArtifacts": 4,
        "extractedOfficialTextArtifacts": 0,
        "missing": 7
      },
      "officialSourceUrls": [],
      "agendaPdfUrls": [],
      "packetPdfUrls": [],
      "minutesPdfUrls": [],
      "videoUrls": [
        "https://www.youtube.com/watch?v=M77KeM5ZPa4"
      ],
      "transcriptReferences": [],
      "policyBriefReferences": [],
      "officialTextArtifacts": [
        {
          "sourceType": "agenda-html",
          "label": "agenda-html",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "agenda-pdf",
          "label": "agenda-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "packet-or-attachments",
          "label": "packet-or-attachments",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        },
        {
          "sourceType": "minutes-pdf",
          "label": "minutes-pdf",
          "url": null,
          "localArchivePath": null,
          "localTextPath": null,
          "archiveStatus": "missing",
          "textStatus": "missing",
          "sha256": null,
          "acquisitionError": null,
          "extractionError": "official source URL not attached",
          "hasExtractedText": false
        }
      ],
      "missing": [
        "missing-official-meeting-inventory",
        "missing-agenda-url",
        "missing-agenda-pdf-url",
        "missing-agenda-packet-url",
        "missing-minutes-url",
        "missing-transcript",
        "official-text-needs-checking"
      ],
      "previousBundleId": "palm-desert-2025-01-09-city-council-regular",
      "nextBundleId": null,
      "relatedDraftExtractionIds": [],
      "meetingSourceSetUrl": "/source/palm-desert/meetings/2025-01-09-city-council-study-session",
      "meetingSourceSetJsonUrl": "/data/palm-desert/meetings/2025-01-09-city-council-study-session.json"
    }
  ]
}