Concrete data payload type returned by fetchData
OptionalshouldOptional guard that lets a strategy opt out of generation when the
fetched data contains only placeholder / fallback values (e.g. MCP
unavailable). When true is returned the orchestrator skips writing
all language variants and logs a notice rather than publishing empty
placeholder articles.
Strategies that do not implement this method are treated as always
wanting to generate (i.e. the default is false).
Data payload returned by fetchData
true when all fetched data is placeholder and generation should be skipped
Fetch all domain data needed to render this article type.
Connected MCP client, or null when MCP is unavailable
ISO 8601 publication date (YYYY-MM-DD)
Populated article data payload
Build the article HTML body for the given language.
Data payload returned by fetchData
Target language code
Article body HTML string
Return title, subtitle, keywords, and sources for the given language.
Data payload returned by fetchData
Target language code
Article metadata
Strategy interface for article generation.
Each concrete implementation handles one ArticleCategory: