{
  "market": "good-morning-brighton",
  "generatedAt": "2026-06-17T05:22:25.304Z",
  "file": "raw-2026-06-17.json",
  "date": "2026-06-17",
  "sourcesChecked": 28,
  "successfulSources": 23,
  "totalCandidates": 282,
  "failures": [
    {
      "sourceId": "brighton-buses-service-updates",
      "source": "Brighton & Hove Buses service updates",
      "category": "Travel",
      "priority": "core",
      "url": "https://www.buses.co.uk/service-updates",
      "statusCode": 403,
      "error": null,
      "checkedAt": "2026-06-17T05:22:00.545Z"
    },
    {
      "sourceId": "brighton-hove-consultations",
      "source": "Brighton & Hove consultations",
      "category": "Government and records",
      "priority": "core",
      "url": "https://consultations.brighton-hove.gov.uk/",
      "statusCode": null,
      "error": "fetch failed",
      "checkedAt": "2026-06-17T05:22:00.949Z"
    },
    {
      "sourceId": "brighton-hove-democracy",
      "source": "Brighton & Hove council meetings and decisions",
      "category": "Government and records",
      "priority": "core",
      "url": "https://democracy.brighton-hove.gov.uk/",
      "statusCode": null,
      "error": "timeout",
      "checkedAt": "2026-06-17T05:22:01.423Z"
    },
    {
      "sourceId": "sussex-police-news",
      "source": "Sussex Police news",
      "category": "Safety",
      "priority": "core",
      "url": "https://www.sussex.police.uk/news/",
      "statusCode": 403,
      "error": null,
      "checkedAt": "2026-06-17T05:22:17.561Z"
    },
    {
      "sourceId": "nhs-sussex-news",
      "source": "NHS Sussex news",
      "category": "Health",
      "priority": "high",
      "url": "https://www.sussex.ics.nhs.uk/news/",
      "statusCode": 503,
      "error": null,
      "checkedAt": "2026-06-17T05:22:21.715Z"
    }
  ],
  "coreFailures": [
    {
      "sourceId": "brighton-buses-service-updates",
      "source": "Brighton & Hove Buses service updates",
      "category": "Travel",
      "url": "https://www.buses.co.uk/service-updates",
      "statusCode": 403,
      "error": null
    },
    {
      "sourceId": "brighton-hove-consultations",
      "source": "Brighton & Hove consultations",
      "category": "Government and records",
      "url": "https://consultations.brighton-hove.gov.uk/",
      "statusCode": null,
      "error": "fetch failed"
    },
    {
      "sourceId": "brighton-hove-democracy",
      "source": "Brighton & Hove council meetings and decisions",
      "category": "Government and records",
      "url": "https://democracy.brighton-hove.gov.uk/",
      "statusCode": null,
      "error": "timeout"
    },
    {
      "sourceId": "sussex-police-news",
      "source": "Sussex Police news",
      "category": "Safety",
      "url": "https://www.sussex.police.uk/news/",
      "statusCode": 403,
      "error": null
    }
  ],
  "weakCandidateSources": [
    {
      "sourceId": "brighton-hove-council",
      "source": "Brighton & Hove City Council",
      "category": "Government and records",
      "priority": "core",
      "url": "https://www.brighton-hove.gov.uk/news",
      "weakCount": 7,
      "candidateCount": 12,
      "sampleTitles": [
        "Go to the home page",
        "Benefits and financial advice",
        "Births, deaths, marriages, civil partnership and citizenship",
        "Business and Trade",
        "Care and support for adults"
      ]
    },
    {
      "sourceId": "brighton-hove-roads-highways",
      "source": "Brighton & Hove roads and highways",
      "category": "Travel",
      "priority": "core",
      "url": "https://www.brighton-hove.gov.uk/travel-and-road-safety/roads-and-highways",
      "weakCount": 7,
      "candidateCount": 12,
      "sampleTitles": [
        "Go to the home page",
        "Benefits and financial advice",
        "Births, deaths, marriages, civil partnership and citizenship",
        "Business and Trade",
        "Care and support for adults"
      ]
    },
    {
      "sourceId": "brighton-hove-licensing",
      "source": "Brighton & Hove licensing",
      "category": "Government and records",
      "priority": "high",
      "url": "https://www.brighton-hove.gov.uk/business-and-trade/licensing-and-gambling",
      "weakCount": 7,
      "candidateCount": 12,
      "sampleTitles": [
        "Go to the home page",
        "Benefits and financial advice",
        "Births, deaths, marriages, civil partnership and citizenship",
        "Business and Trade",
        "Care and support for adults"
      ]
    },
    {
      "sourceId": "brighton-hove-school-term-dates",
      "source": "Brighton & Hove school term and holiday dates",
      "category": "Education and research",
      "priority": "high",
      "url": "https://www.brighton-hove.gov.uk/schools-and-learning/school-information-and-support/school-term-and-holiday-dates",
      "weakCount": 7,
      "candidateCount": 12,
      "sampleTitles": [
        "Go to the home page",
        "Benefits and financial advice",
        "Births, deaths, marriages, civil partnership and citizenship",
        "Business and Trade",
        "Care and support for adults"
      ]
    },
    {
      "sourceId": "brighton-hove-waste-streets",
      "source": "Brighton & Hove rubbish, recycling and streets",
      "category": "Daily services",
      "priority": "high",
      "url": "https://www.brighton-hove.gov.uk/rubbish-recycling-and-streets",
      "weakCount": 7,
      "candidateCount": 12,
      "sampleTitles": [
        "Go to the home page",
        "Benefits and financial advice",
        "Births, deaths, marriages, civil partnership and citizenship",
        "Business and Trade",
        "Care and support for adults"
      ]
    }
  ],
  "operatorRules": [
    "Treat failed core sources as manual-verification blockers for related claims.",
    "Treat navigation-heavy candidates as discovery only; promote only date-specific or record-specific items.",
    "Use original public records for civic, planning, travel and safety claims before a live send."
  ]
}
