Pre-sanitized HTML for proposals list section
Structured pipeline data from MCP (null when unavailable);
pipelineData.procRowsHtml must be pre-sanitized HTML
Pre-sanitized HTML for tracked procedure status section (may be empty)
Localized string set for the target language
Full article HTML content string
Build propositions article HTML content with localized strings.
Security contract:
proposalsHtml,procedureHtml, andpipelineData.procRowsHtmlMUST be pre-sanitized HTML — all external (MCP-sourced) values must have been passed throughescapeHTML()before being interpolated into these strings. The fetch helpers (fetchProposalsFromMCP,fetchPipelineFromMCP,fetchProcedureStatusFromMCP) fulfil this contract; callers must do the same if they construct these arguments independently.