Cross-site keyword catalogue and noise-token filter used
by buildSeoKeywords in resolve-helpers.ts.
Two responsibilities:
Always-on cross-site keywords (CROSS_SITE_KEYWORDS)
are prepended to every article's <meta name="keywords"> list
regardless of language, so search-engine discovery of the
Hack23 civic-tech portfolio (EU Parliament Monitor +
Riksdagsmonitor + CIA) is consistent across all 14 localized
surfaces. The user explicitly requested
riksdagsmonitor, political intelligence, riksdag, regeringen
(the sister Swedish-Parliament project) plus EP analogues.
Noise-token rejection (isNoiseKeywordToken) drops
the UUID-fragment tokens (77fc920c, 3a76, 9db5, …) and
synthetic run-id slugs (propositions-run261-1779431162) that
the previous keyword extractor leaked into <head> when a
brief mentioned its own run id editorially (e.g.
Analysis run 77fc920c-3a76-4813-9db5-43a7e9acc25e returned 0 classified actors).
Description
Cross-site keyword catalogue and noise-token filter used by buildSeoKeywords in
resolve-helpers.ts.Two responsibilities:
Always-on cross-site keywords (CROSS_SITE_KEYWORDS) are prepended to every article's
<meta name="keywords">list regardless of language, so search-engine discovery of the Hack23 civic-tech portfolio (EU Parliament Monitor + Riksdagsmonitor + CIA) is consistent across all 14 localized surfaces. The user explicitly requestedriksdagsmonitor, political intelligence, riksdag, regeringen(the sister Swedish-Parliament project) plus EP analogues.Noise-token rejection (isNoiseKeywordToken) drops the UUID-fragment tokens (
77fc920c,3a76,9db5, …) and synthetic run-id slugs (propositions-run261-1779431162) that the previous keyword extractor leaked into<head>when a brief mentioned its own run id editorially (e.g.Analysis run 77fc920c-3a76-4813-9db5-43a7e9acc25e returned 0 classified actors).Pure leaf module — no imports.