Attempt to read the first H1 and first prose paragraph from the first
existing artefact under EDITORIAL_ARTEFACT_CANDIDATES. Returns
null when no candidate artefact exists.
Parameters
runDir: string
Absolute run directory path
articleType: string
Article type slug (used by isGenericHeading)
date: string
ISO run date (used by isGenericHeading)
Returns {headline:string;summary:string}|null
{headline, summary} where either field may be empty
Attempt to read the first H1 and first prose paragraph from the first existing artefact under EDITORIAL_ARTEFACT_CANDIDATES. Returns
nullwhen no candidate artefact exists.