{
  "generatedAt": "2026-11-05T18:02:49+00:00",
  "status": "degraded",
  "sourcesChecked": 7,
  "sourcesFailed": 1,
  "sourcesSkipped": 0,
  "sourcesEmpty": 0,
  "sourcesPartial": 1,
  "sourcesDegraded": 2,
  "sources": [
    {
      "id": "manual-global-tentpoles",
      "name": "Manual Global Tentpoles",
      "type": "manual_yaml",
      "status": "ok",
      "fetchedAt": "2026-11-05T18:02:49+00:00",
      "eventCount": 2,
      "error": null
    },
    {
      "id": "manual-dmv-events",
      "name": "Manual DMV Events",
      "type": "manual_yaml",
      "status": "ok",
      "fetchedAt": "2026-11-05T18:02:49+00:00",
      "eventCount": 12,
      "error": null
    },
    {
      "id": "bmore-tech-connect-events",
      "name": "BMore Tech Connect Startup Community Events",
      "type": "html_calendar",
      "status": "disabled",
      "fetchedAt": "2026-11-05T18:02:49+00:00",
      "eventCount": 0,
      "error": null
    },
    {
      "id": "luma-dc-tech",
      "name": "Luma DC Tech",
      "type": "ical",
      "status": "disabled",
      "fetchedAt": "2026-11-05T18:02:49+00:00",
      "eventCount": 0,
      "error": null
    },
    {
      "id": "baltimore-tech-meetup",
      "name": "Baltimore Tech Meetup",
      "type": "ical",
      "status": "disabled",
      "fetchedAt": "2026-11-05T18:02:49+00:00",
      "eventCount": 0,
      "error": null
    },
    {
      "id": "tedco-events",
      "name": "TEDCO Events",
      "type": "rss",
      "status": "disabled",
      "fetchedAt": "2026-11-05T18:02:49+00:00",
      "eventCount": 0,
      "error": null
    },
    {
      "id": "afcea-dc",
      "name": "AFCEA DC",
      "type": "rss",
      "status": "disabled",
      "fetchedAt": "2026-11-05T18:02:49+00:00",
      "eventCount": 0,
      "error": null
    },
    {
      "id": "ndia-events",
      "name": "NDIA Events",
      "type": "rss",
      "status": "disabled",
      "fetchedAt": "2026-11-05T18:02:49+00:00",
      "eventCount": 0,
      "error": null
    },
    {
      "id": "dc-tech-public",
      "name": "DC Tech Events (canonical pages verified)",
      "type": "jsonld_calendar",
      "status": "partial",
      "fetchedAt": "2026-11-02T08:20:06+00:00",
      "eventCount": 4,
      "error": "Canonical page unavailable: dc.aiga.org",
      "candidatesChecked": 4,
      "candidatesRejected": 0,
      "retainedEvents": 22,
      "lastSuccessAt": "2026-10-11T13:45:12+00:00",
      "cached": true,
      "nextDiscoveryAt": "2026-11-09T08:20:03+00:00"
    },
    {
      "id": "eventbrite-dc-tech-public",
      "name": "Eventbrite DC Technology (canonical pages verified)",
      "type": "jsonld_calendar",
      "status": "ok",
      "fetchedAt": "2026-11-02T08:20:14+00:00",
      "eventCount": 6,
      "error": null,
      "candidatesChecked": 6,
      "candidatesRejected": 0,
      "cached": true,
      "lastSuccessAt": "2026-11-02T08:20:03+00:00",
      "nextDiscoveryAt": "2026-11-09T08:20:03+00:00"
    },
    {
      "id": "eventbrite-baltimore-tech-public",
      "name": "Eventbrite Baltimore Technology (Maryland canonical locations verified)",
      "type": "jsonld_calendar",
      "status": "ok",
      "fetchedAt": "2026-11-02T08:20:25+00:00",
      "eventCount": 9,
      "error": null,
      "candidatesChecked": 12,
      "candidatesRejected": 3,
      "cached": true,
      "lastSuccessAt": "2026-11-02T08:20:03+00:00",
      "nextDiscoveryAt": "2026-11-09T08:20:03+00:00"
    },
    {
      "id": "bwtech-umbc-public",
      "name": "bwtech@UMBC organizer events (canonical pages verified)",
      "type": "jsonld_calendar",
      "status": "ok",
      "fetchedAt": "2026-11-02T08:20:26+00:00",
      "eventCount": 0,
      "error": null,
      "candidatesChecked": 1,
      "candidatesRejected": 1,
      "cached": true,
      "lastSuccessAt": "2026-11-02T08:20:03+00:00",
      "nextDiscoveryAt": "2026-11-09T08:20:03+00:00"
    },
    {
      "id": "brave-event-search",
      "name": "Brave supplementary event search",
      "type": "search",
      "status": "disabled",
      "fetchedAt": "2026-11-05T18:02:49+00:00",
      "eventCount": 0,
      "error": null
    },
    {
      "id": "assistant-browser-search",
      "name": "Weekly assistant browser search (canonical pages verified)",
      "type": "assistant_browser_search",
      "status": "failed",
      "fetchedAt": "2026-10-14T07:28:10+00:00",
      "eventCount": 0,
      "error": "Weekly assistant browser search overdue",
      "candidatesChecked": 0,
      "candidatesRejected": 0,
      "assistantOwned": true,
      "lastAttemptAt": "2026-10-14T07:27:46+00:00",
      "nextDiscoveryAt": "2026-10-21T07:27:46+00:00"
    }
  ]
}
