Riksdagsmonitor Intelligence Platform โ€” API Documentation - v1.0.30
    Preparing search index...

    Output contract โ€” three independent optional fields. The caller (the article-merge.ts merger) overlays whichever fields are non-null over the per-type agent's article.<lang>.md front-matter title / description / keywords.

    interface LocalizedBriefSeo {
    ย ย ย ย title: string;
    ย ย ย ย description: string;
    ย ย ย ย keywords: readonly string[];
    }
    Index
    title: string

    Localized <title> candidate, post-cleanArticleTitle. null when the brief is missing, its H1 is template boilerplate, contains a banned phrase, or shrinks to <20 chars after cleanup.

    description: string

    Localized <meta description> candidate, post-truncateToSentenceBoundary. Composed via composeRichDescription which combines the BLUF lede with the top headline-section bullets (bill IDs + topics) when the localized brief has a ## 60-Second Read / native equivalent. null when the brief is missing or has no usable BLUF/first paragraph.

    keywords: readonly string[]

    Story-specific keyword tokens mined from the localized brief โ€” universal-Swedish identifiers (bill IDs HD03267, committee codes JuU, party codes M/SD) plus locale-script named entities. These are pre-flattened and ready to seed the keyword builder via ArticleSeoMetadataInput.briefEntities. Empty array (not null) when the brief is missing โ€” keeps the consumer-side spread [...localizedSeo.keywords] safe.