Analysis is the primary product. Articles are derived from analysis. Never write an article before analysis is complete.
Every artifact you produce in this module is authored in English prose. Swedish proper nouns, source titles, party/agency names and direct quotes from Riksdagen/Regeringen documents are preserved verbatim with attribution — but headings, body paragraphs, table cells, bullet text, Mermaid node labels and analytical commentary are written in English. There is no per-language analysis. The single localized output channel is executive-brief_<lang>.md, produced by the separate news-translate workflow and consumed at render-time by the existing localized-brief cascade — see 00-base-contract.md §Output language — English only.
Authoritative methodology & templates:
- Read-me-first →
analysis/methodologies/artifact-catalog.md(single source of truth for every artifact — family, template, depth floor, Mermaid type, MCP data source, gate check) andanalysis/methodologies/per-artifact-methodologies.md(Inputs / Analytic-moves / Evidence-rules / Anti-patterns per artifact). Open these before any framework-specific methodology. - Methodology →
analysis/methodologies/ai-driven-analysis-guide.md(DIW weighting, tier depths, Pass 1/Pass 2 rules, F3EAD mapping) - Indicator maps →
imf-indicator-mapping.md(economic context — macro, fiscal, monetary, external-sector, trade, commodity, FX, interest rates — with vintage-tagged WEO+FM projections) +worldbank-indicator-mapping.md(governance WGI, environment, social / education participation, defence historicals, crime / justice). Statskontoret is the preferred Swedish public-sector governance / agency-capacity overlay for implementation feasibility and administrative-burden claims. - Depth floors →
reference-quality-thresholds.json(per-article-type × per-artifact line floors + tradecraft signals consumed by Pass-2 self-audit) - Supporting frameworks →
political-classification-guide.md,political-swot-framework.md,political-risk-methodology.md,political-threat-framework.md,synthesis-methodology.md,strategic-extensions-methodology.md,electoral-domain-methodology.md,structural-metadata-methodology.md,per-document-methodology.md,political-style-guide.md,osint-tradecraft-standards.md— tradecraft canon: ICD 203 + Admiralty + WEP + SAT catalog + OSINT ethics + DIW alignment + PIR handoff - Templates →
analysis/templates/*.md(one file per artifact — 23 always-on + per-document + 7 operational supplementary)
Operational supplementary artifacts — 7 enrichment templates that strengthen the AI-FIRST quality loop, cross-run memory, and MCP health auditability. Recommended for every deep run; mandatory for every comprehensive / Tier-C aggregation run; enforced by 05-analysis-gate.md §Supplementary checks:
| Template | When to produce | Feeds |
|---|---|---|
analysis-index.md |
always for deep/comprehensive |
downstream reviewers |
reference-analysis-quality.md |
comprehensive; operationalises AI-FIRST |
Pass-2 self-audit |
mcp-reliability-audit.md |
comprehensive or any MCP degradation |
incident follow-up |
workflow-audit.md |
comprehensive |
11-principle compliance |
cross-run-diff.md |
any article type with ≥ 2 runs | Bayesian update |
cross-session-intelligence.md |
weekly-review, monthly-review, quarterly |
session narrative |
session-baseline.md |
any aggregation workflow | calendar + roster fact layer |
These are not counted in the 23 mandatory artifacts — the 23-artifact contract is unchanged.
Analytical supplementary artifacts — 4 optional deep-dive templates mapped to frameworks explicitly listed in the intelligence-operative agent's "Core Expertise" that previously had no template. Never blocking in 05-analysis-gate.md and never replace a core artifact. Produce when the trigger condition applies; otherwise skip. See analytical-supplementary-methodology.md for composition rules and per-template analytic moves.
| Template | Produce when | Pairs with |
|---|---|---|
pestle-analysis.md |
event crosses ≥ 2 PESTLE dimensions | swot-analysis.md, risk-assessment.md, scenario-analysis.md |
political-stride-assessment.md |
election-adjacent / integrity incident / disinfo / critical-infra vote | threat-analysis.md, risk-assessment.md Institutional/Corruption |
wildcards-blackswans.md |
long-horizon forecasting (monthly-review, election year) |
scenario-analysis.md, forward-indicators.md |
quantitative-swot.md |
decision memo needing scored ranking | swot-analysis.md, significance-scoring.md, executive-brief.md |
These are not counted in the 23 mandatory artifacts and not counted in the 7 operational supplementary — the contract is unchanged. Agents ignoring them still produce valid output.
| Scripts do | AI does |
|---|---|
| Download data, catalogue documents, create file scaffolds | Every analytical judgement: SWOT, risks, threats, stakeholder mapping, significance weighting, classification, cross-references, scenarios, coalition math, historical parallels, media framing, forward indicators, methodology reflection |
Scripts never generate analysis prose. Any AI_MUST_REPLACE marker left in a committed file fails the gate.
Produced in analysis/daily/$ARTICLE_DATE/$SUBFOLDER/. The output set is stable — morning, evening, realtime, weekly, monthly and aggregation workflows all produce the same 23 files; only per-item depth adapts (see §Depth calibration). This matches ai-driven-analysis-guide.md §Step 4 / §Step 5 / §Output Matrix.
| # | File | Source template | Minimum body |
|---|---|---|---|
| 1 | README.md |
templates/README.md § Folder README |
Per-folder index linking every other file, generation date, run mode |
| 2 | executive-brief.md |
executive-brief.md |
BLUF (2–4 sentences), ≥ 3 decisions supported, 60-second read bullets, top forward trigger, confidence label, ≥ 1 Mermaid |
| 3 | synthesis-summary.md |
synthesis-summary.md |
Lead-story decision, DIW-weighted ranking, integrated intelligence picture, ≥ 1 Mermaid |
| 4 | significance-scoring.md |
significance-scoring.md |
DIW scores per document, sensitivity analysis, Mermaid rank diagram |
| 5 | classification-results.md |
political-classification.md |
7-dimension classification per document, priority tiers, retention, access |
| 6 | swot-analysis.md |
swot-analysis.md |
S/W/O/T with evidence rows citing dok_id + TOWS matrix + cross-SWOT |
| 7 | risk-assessment.md |
risk-assessment.md |
5-dimension register, L × I scores, cascading chains, posterior probabilities |
| 8 | threat-analysis.md |
threat-analysis.md |
Political Threat Taxonomy, attack tree, kill chain, MITRE-style TTP mapping |
| 9 | stakeholder-perspectives.md |
stakeholder-impact.md |
6-lens stakeholder matrix, named actors, influence network |
| # | File | Source template | Minimum body |
|---|---|---|---|
| 10 | data-download-manifest.md |
data-download-manifest.md |
Every dok_id with source URL, retrieval time, data-depth tag (produced in module 03) |
| 11 | cross-reference-map.md |
cross-reference-map.md |
Policy clusters, legislative chains, coordinated-activity patterns, sibling-folder citations (Tier-C) |
| # | File | Source template | Minimum body |
|---|---|---|---|
| 12 | scenario-analysis.md |
scenario-analysis.md |
≥ 3 distinct scenarios + probabilities summing 100%, leading indicator per scenario |
| 13 | comparative-international.md |
comparative-international.md |
≥ 2 comparator jurisdictions (Nordic + EU minimum) with Outside-In analysis |
| 14 | devils-advocate.md |
devils-advocate.md |
≥ 3 competing hypotheses via ACH matrix, Red-Team challenge, rejected alternatives logged |
| 15 | intelligence-assessment.md |
intelligence-assessment.md |
3–7 Key Judgments with confidence labels, PIRs for next cycle, Key Assumptions Check |
| 16 ⭐ | methodology-reflection.md |
methodology-reflection.md |
VITAL run-audit gate. Must include all 9 required sections: ICD 203 full audit grid; Devil's-Advocate KJ-coverage matrix (100%); confidence distribution with explicit posterior per KJ; Lagrådet/Statskontoret/SKR tracking; sibling-folder ingestion record; unified re-run log schema (run_id,attempt,new dok_ids,artifacts extended,flags closed,vintage refresh); banned-phrase zero-count grid; Pass 1→Pass 2 delta table; improvement opportunities linked to PIR roll-forward |
| # | File | Source template | Minimum body |
|---|---|---|---|
| 17 | election-2026-analysis.md |
election-2026-analysis.md |
Seat-projection deltas, coalition viability (converts to post-2026 context file after the election) |
| 18 | voter-segmentation.md |
voter-segmentation.md |
Demographic / regional / ideological segment impact, baseline positions on procedural days |
| 19 | coalition-mathematics.md |
coalition-mathematics.md |
Current seat map, pivotal-vote table, Sainte-Laguë scenarios |
| 20 | historical-parallels.md |
historical-parallels.md |
Named precedent(s) ≤ 40 years with similarity score (or "no-precedent" finding with reasoning) |
| 21 | media-framing-analysis.md |
media-framing-analysis.md |
v2.1 (no-neutral-media doctrine). ≥ 3 frame packages with Entman 4-function decomposition; cognitive-vulnerability map (Cialdini / Kahneman / Roozenbeek-van der Linden); DISARM TTP map (verbatim T####) or explicit no-signal finding; narrative-laundering chain (fringe → alt → politician → mainstream → international); Outlet Bias Audit (no outlet is neutral) — every cited outlet declared with ownership group · funding mix percentages · board-appointment authority · documented editorial lean · Reuters Institute Trust score · PO/PON complaints · foreign-actor link, sourced from Nordicom / Reuters Institute / Förvaltningsstiftelsen / EUvsDisinfo / EU-EEAS; CIB ABCDE block (Camille François 2020); algorithmic-asymmetry rows naming each platform's optimisation target (engagement / watch-time / retention / ad-yield) with academic / transparency-report citations; ≥ 2 comparative-international frame cognates; strategic-doctrine detection table (firehose / doppelganger / gish gallop / reflexive control / active-measures spillover / interest-group capture / MAGA cognate); frame lifecycle + half-life + zombie-probability table; RRPA impact (Reach × Resonance × Persistence × Action) with dated action indicator; L1–L5 counter-resilience ladder per frame (procedural neutrality only — platform reports the ladder, never executes counter-framing); longitudinal frame-record entry. Frame C labelled "establishment / centrist-consensus" and Frame D labelled "public-broadcaster proceduralist" — never "neutral / impartial / balanced". Frame E (foreign overlay) only when state-affiliated or coordinated foreign amplification is observed. |
| 22 | implementation-feasibility.md |
implementation-feasibility.md |
Delivery-risk view (budget / IT / regulatory / workforce); backlog audit on no-bill days |
| 23 | forward-indicators.md |
forward-indicators.md |
≥ 10 dated indicators across 4 horizons (72 h / week / month / election) |
documents/{dok_id}-analysis.md — one per dok_id in data-download-manifest.md, using per-file-political-intelligence.md at the depth tier matching the document's DIW (L1 Surface / L2 Strategic / L2+ Priority / L3 Intelligence-grade). Cluster files ({cluster}-cluster-analysis.md) collapse related low-weight items.
Filename variants — canonical
stakeholder-perspectives.md← templatestakeholder-impact.md; canonicalclassification-results.md← templatepolitical-classification.md;comparative-international.md↔international-comparative.md;historical-parallels.md↔historical-baseline.md;election-2026-analysis.md↔election-cycle-analysis.md↔election-2026-implications.md(all three map to the same cycle-parameterised template);cycle-trajectory.mdandparliamentary-season.mdare separate Family-D supplementary long-horizon tracking artifacts;horizon-pir-rollforward.md(supplementary — PIR carry-forward across horizon bands). For the general filename-variant rules, seeai-driven-analysis-guide.md§Filename variants; this prompt additionally acceptselection-cycle-analysis.mdas a local alias for the same election-cycle artifact.
🛠 All 23 artifacts on this page use the
edittool — Pass 1 creates, Pass 2 read-back-and-improves, improvement-mode extensions,pass1/snapshot copies (cpis fine),documents/{dok_id}-analysis.md, and## Re-run deltaappends inmethodology-reflection.md. Tier-2 fallback (cat <<'EOF_RAW' > file) is acceptable only whenedithas failed for non-content-shape reasons and the content is pure ASCII without code fences / Mermaid /$/ backticks /EOFmarkers. Mermaid blocks,ö ä å, RTL/CJK characters, and non-trivial YAML/JSON sidecars ⇒editonly. Banned for file writes:python3,node -e,sed -i,echo … > file,tee file, unquoted heredocs (<<EOF). Sole exception: the env-var-only pre-flight scaffold in03-data-download.mdthat creates the initialdata-download-manifest.mdmarker when missing — this uses an unquoted heredoc with only env-var references and short literals, never agent-generated content. See01-bash-and-shell-safety.md§File creation & overwrite strategy for the full hierarchy.
Improvement-mode path (when
IMPROVEMENT_MODE=truefrom03-data-download.md §Pre-flight): extend the existing 23 artifacts; do not regenerate from scratch and do not no-op. Replace step 3 (Pass 1 — Create) with step 3′ below; steps 1, 2, 4, 5 run normally. Module 06 aggregate+render is always executed —article.mdandnews/*.htmlare regenerated every run.3′ — Improvement Pass (replaces Pass 1 — Create):
- Read every existing artifact in full (one tool call per file, including
documents/*-analysis.md).- Re-run download/discovery to identify new
dok_ids, fresherget_voteringarresults, new committee schedule entries, updated regering.se / SCB / IMF / Statskontoret context. Capture only — at this stage no artifact writes, nodata-download-manifest.mdupdates, no newdocuments/{dok_id}-analysis.mdfiles.- Prepare the extension plan (no writes yet): which artifacts need changes, which new evidence rows, which time-sensitive sections to refresh (forward indicators, scenario probabilities, coalition mathematics, election-2026 deltas), which
[unconfirmed]flags can close with ≥ 3 sources, which Key Judgments to sharpen, what## Re-run deltanotes to append.- Correct prior content in place when factually wrong; preserve and note the correction. Deletion is reserved for factual errors only.
- After step 4 below snapshots the baseline into
pass1/, apply the plan: append new entries todata-download-manifest.mdunder a## Re-run YYYY-MM-DD HH:MM UTCheading, createdocuments/{dok_id}-analysis.mdfor each new document, extend each existing artifact, append a## Re-run deltasubsection tomethodology-reflection.mddocumenting what changed and why.- Floor: ≥ 8 min real extend work on
standard, 12 min ondeep, 15 min oncomprehensive. Zero-change improvement runs are a quality failure — newer voting outcomes, new dok_ids, sharper uncertainty disclosure, fresher economic vintage, new media frames are always available.Pass 2 (step 5 below) runs in improvement-mode too — read every artifact including unchanged ones and decide whether last run's improvement still holds.
- Read all relevant methodologies first (the primary methodology guide plus every supporting framework listed above, including
osint-tradecraft-standards.md; one tool call per file; skipping fails the gate viamethodology-reflection.md §evidenceaudit). - Read all 23 templates first — at minimum open each Family A/B/C/D template before writing its artifact.
- Pass 1 — Create all 23 always-on artifacts + every per-document file. Minimum 20 minutes of real work. (Improvement-mode replaces this with step 3′ above.)
- Snapshot Pass-1 — copy every Pass-1 file into
$ANALYSIS_DIR/pass1/before starting Pass 2:mkdir -p "$ANALYSIS_DIR/pass1" && cp "$ANALYSIS_DIR"/*.md "$ANALYSIS_DIR/pass1/". Thepass1/directory is the fallback evidence the gate uses when mtime windows are too tight. Excludepass1/from the PR (see07-commit-and-pr.md). (Improvement-mode: take this snapshot before any write/extend changes from step 3′. Until the snapshot exists, step 3′ stays read/download/planning-only. The broadened router (03-data-download.md §Pre-flight) may enter improvement-mode from a minimal carry-forward such as onlysynthesis-summary.md, somkdir -pkeeps the command valid in both cases. The snapshot overwrites earlier baselines — the gate only needs the most recent pre-improvement copy for Pass-2 delta checks.) - Pass 2 — Improve: read every Pass-1 file back in full and strengthen evidence, diagrams, cross-references, stakeholder coverage, uncertainty disclosure, Admiralty annotations, WEP language, PIR/EEI tags. Minimum 10 minutes.
- Pass-2 declaration (mandatory, fail-loud contract) — append/update
methodology-reflection.mdwith a single canonical status line before running the gate:Pass-2 status: executed in full. If Pass 2 cannot be completed in full by the minute-42 PR window, do not proceed as a normal success path; treat it as an explicit gate failure and document the failure in the same file (no silent "not executed in full" acceptance).
⏱ Time-budget self-check at every step transition. Before starting steps 3, 5 and 6 (and again before the aggregate+render in
06-article-generation.md), run theagent_minutehelper from01-bash-and-shell-safety.md §Time-budget self-monitoringand compare against the phase budget in00-base-contract.md §Session timing → Phase budget. If a phase is running past its budget, adapt (drop to depth floor, trim Pass 2 polish, render fewer languages last) rather than skipping; ifagent_minute ≥ 42, follow07-commit-and-pr.md §Emergency deadline order of operations.
Pass 2 is mandatory. Completing earlier is a quality failure. methodology-reflection.md is the self-audit of Pass 2 — skipping it breaks the self-correction loop.
To reduce budget exhaustion, parallelise independent work where possible:
- Batch-read templates/methodologies in parallel tool calls before writing.
- In Pass 1, draft Families A/B/C/D as independent workstreams after
data-download-manifest.mdis stable. - In Pass 2, run parallel read-back/improvement sweeps by family, then do one final coherence sweep (
synthesis-summary.md+cross-reference-map.md+methodology-reflection.md).
Never parallelise steps with direct dependencies (pass1/ snapshot → Pass 2 writes → gate).
Depth adapts per item by DIW tier (L1 Surface / L2 Strategic / L2+ Priority / L3 Intelligence-grade per §Output Matrix) — all 23 files are produced regardless. What changes is word-count and framework richness per item.
analysis_depth input |
Pass 1 floor | Pass 2 floor | Use |
|---|---|---|---|
standard |
15 min | 7 min | Light day, single-type workflow, most items at L1–L2 |
deep (default) |
20 min | 10 min | Standard news day, L2–L2+ items present |
comprehensive |
25 min | 12 min | Tier-C aggregation, deep-inspection, L3 items likely |
Aggregation (Tier-C) workflows apply the period-scope multiplier from ext/tier-c-aggregation.md on top of these floors.
Workflows at quarter / year / election-cycle horizons apply horizon stratification — WEP confidence degrades as horizon lengthens, scenario trees branch deeper, and IMF projection-year stamps (T+1 … T+5) become first-class metadata. Full rules in ext/long-horizon-forecasting.md. The 23-artifact contract is the base always-on analysis set; long-horizon rules are additive per type and may make supplementary artifacts mandatory for specific article types, increasing the blocking requirement beyond 23 when those horizon-specific artifacts apply.
Cycle-rollover (file rename + PIR archival when the election anchor flips) is defined in ext/cycle-rollover.md and activates within ± 30 days of the next Swedish election date.
Every analytical claim must cite at least one of: a real dok_id (e.g. H901FiU1) resolvable via get_dokument; a named MP / minister / party with role; vote counts from get_voteringar; or a primary-source URL (riksdagen.se, regeringen.se, scb.se, statskontoret.se, worldbank.org, api.imf.org, data.imf.org, www.imf.org). Annotate each evidence row with an Admiralty Code [A–F][1–6]. Apply the Source Diversity Rule — P0/P1 claims require ≥ 3 independent sources; single-source claims must be flagged [unconfirmed] (Pass-2 improvement target). Generic phrasing without evidence is rejected at the gate (05-analysis-gate.md check 4 and its Family-C/D extensions).
All economic / fiscal / monetary / external-sector / trade / COFOG / commodity / exchange-rate context is IMF-first. IMF pre-warm is mandatory for every article type — including accountability docs (interpellations, frågor) and committee reports. Even when the immediate document is procedural, fiscal/agency context anchors implementation-feasibility.md, risk-assessment.md (Economic dimension), comparative-international.md and historical-parallels.md. Skipping IMF on the assumption "this article is not economic" is a recurring methodology gap and is flagged in methodology-reflection.md §Content Metrics.
When the article type touches these topics:
- Discover — look up the committee's required IMF indicators in
analysis/imf/indicators-inventory.json → committeeMatrixor callfindImfIndicatorsForCommittee(code)fromscripts/imf-context.ts. - Pre-warm status — read
data/imf-context.jsonwritten by.github/actions/news-prewarmbefore analysis.status: degradedmeans WEO/FM are usable but SDMX-only claims need cached evidence;status: unavailable(ordata/imf-unavailable.flag) means inject the standard IMF-unavailable warning and use cached IMF / SCB fallback only. Do not use World Bank GDP/GNI/inflation/unemployment/debt as an economic substitute. - Fetch — prefer
compare(batched, 1 call per indicator across Nordic peers) over parallelweo. Always pass--persist.sleep 1between invocations. Target ≤ 10 IMF calls per article. Usescripts/imf-fetch.ts; do not issue raw Datamapper fetches because the client carries the required IMF-safe User-Agent. - Vintage-stamp every projection —
(WEO Apr-2026, GGXWDG_NGDP)is mandatory; un-stamped projection quotes fail the audit. - Write
economic-data.jsonv2.0 per the Economic Data Contract v3.0+.source.imf[]MUST be non-empty;source.scb[]carries Swedish-specific ground truth;source.worldBank[]carries governance, environment, social, defence-historical, and crime/justice codes when those are cited. - Reference WB for the non-economic context — WGI governance (
source=75), environment (EN.*,EG.*,AG.LND.FRST.ZS), education participation (SE.PRM.ENRR), defence historicals (MS.MIL.XPND.GD.ZS), crime (VC.IHR.PSRC.P5). Useanalysis/worldbank/indicators-inventory.jsonfor the catalogue.
Cite IMF for every economic claim — use the canonical IMF dataflow + indicator: WEO:NGDP_RPCH (real GDP growth), WEO:NGDPD (nominal GDP), WEO:NGDPDPC (GDP per capita), WEO:PCPIPCH (annual CPI inflation), IFS:PCPI_IX (monthly CPI), WEO:LUR (unemployment, with SCB AKU as Swedish-specific ground truth), WEO:GGXWDG_NGDP / FM:GGXWDG_NGDP (gross debt), WEO:GGXCNL_NGDP / FM:GGXCNLB_NGDP (fiscal balance), WEO:GGR_NGDP (revenue/GDP), WEO:GGX_NGDP (expenditure/GDP), WEO:BCA_NGDPD (current account), WEO:TX_RPCH / WEO:TM_RPCH (export/import volume growth), DOTS:TXG_FOB_USD / DOTS:TMG_CIF_USD (bilateral trade flows), MFS_IR:FPOLM_PA (Riksbank policy rate), ER:ENDA_XDC_USD_RATE / ER:ENDE_XDC_EUR_RATE (exchange rates), PCPS:POILAPSP / PCPS:PALLFNF (commodity prices). INDICATOR_IDS (scripts/world-bank-client.ts) catalogues the non-economic indicators handled by World Bank.
Chart.js specs live in the Economic Data Contract — follow it exactly. Produce at least one economic chart data file (economic-data.json) per article that has an economic-context section.
Statskontoret is the Swedish public-management source for agency capacity, administrative burden, governance effectiveness, inter-agency coordination, implementation backlogs and public-sector efficiency. When a document assigns work to an authority or depends on administrative delivery, integrate Statskontoret evidence into implementation-feasibility.md, stakeholder-perspectives.md, risk-assessment.md, comparative-international.md and methodology-reflection.md. Record source URL, report/page title, publication date, retrieval time and Admiralty grade in data-download-manifest.md; cite it as a public URL in analysis rows.
When the source JSON for a document or speaker has an empty or missing parti field (a recurring data-quality issue with the Riksdag MCP for fresh motions and per-author dokument metadata), do not silently infer party from committee routing or thematic content alone. Apply this procedure:
- Verify — issue a second MCP call (
search_ledamoterkeyed by author name + committee, orget_ledamotbyintressent_idfrom the document JSON) to confirm the party. Record the verification call indata-download-manifest.md. - If verification confirms — use the confirmed party in analysis prose; no flag required.
- If verification fails or is ambiguous — every party-specific claim derived from that document MUST be tagged
[unconfirmed]in artifact prose (e.g. "proposed by an SD-aligned author[unconfirmed]"). Count the[unconfirmed]tags inmethodology-reflection.md §Content Metrics.
Single-source thematic inference of party is not acceptable evidence for P0 / P1 claims; it must be flagged [unconfirmed] and is a Pass-2 closure target.
When the next general election is ≤ 6 months away (Sweden's general election falls on the second Sunday of September of an election year — for 2026 the cutoff is 2026-03-13 through 2026-09-13), apply a 1.5× multiplier to the Detectability × Impact × Willingness DIW score for opposition motions and government propositions in contested policy areas (migration, defence, taxation, climate, criminal justice). Aggregate opposition motion bursts (≥ 5 motions filed the same day) receive an additional aggregation weight per synthesis-methodology.md. Record the multiplier explicitly in significance-scoring.md (e.g. DIW = 4.2 × 1.5 (election ≤ 6 months) = 6.3) and in methodology-reflection.md §Content Metrics.
ICD 203 Standard 9 keeps its established repository meaning (per osint-tradecraft-standards.md and existing methodology-reflection.md §ICD 203 Audit checklists — see analysis/templates/methodology-reflection.md) and is evidenced through the artifacts already mapped to it. Because riksdagsmonitor news workflows run as a single AI agent, they additionally require a separate single-agent review substitute internal control to compensate for the absence of live peer collaboration. This control has three concrete components, all of which MUST be evidenced in methodology-reflection.md §Content Metrics (row "Single-agent review substitute"):
- Pass 2 read-back — every artifact (except
data-download-manifest.md) is read back in full and improved (file mtime gate;pass1/snapshot in$ANALYSIS_DIR/pass1/). - Devil's Advocate / ACH —
devils-advocate.mdcarries ≥ 3 competing hypotheses, with at least one rejecting the synthesis-summary lede. - Cross-folder peer citation — for aggregation workflows (Tier-C), at least one sibling-folder artifact is cited per
cross-reference-map.mdrow; for single-type workflows, at least one prior-cycle artifact (same-subfolder previous run viacross-run-diff.md) is cited.
When all three components are evidenced, the substitute control is complete. When any is missing, record the control as incomplete and surface the gap as the top item in methodology-reflection.md §What to Improve. This control is not a renumbered ICD standard — assess each ICD 203 standard separately under its established repository terminology.
Full IMF integration reference: analysis/imf/README.md · analysis/imf/agentic-integration.md (7-step playbook) · analysis/imf/data-dictionary.md.
For each article with charts, produce accompanying JSON under analysis/daily/$ARTICLE_DATE/$SUBFOLDER/ (e.g. vote-distribution.json, swot-summary.json, risk-heatmap.json, coalition-math.json, forward-indicators.json) using the shapes defined in the templates. Scripts render the HTML containers; the AI writes the commentary paragraph adjoining each chart.
Proceed to 05-analysis-gate.md. Do not start article generation until the gate passes against all 23 artifacts.
- gh-aw runtime (v0.74.3): abridged · complete · agentic-workflows blog · source
- Methodology entry point:
analysis/methodologies/ai-driven-analysis-guide.md - Artifact ↔ gate-check mapping:
analysis/templates/README.md§"Artifact → workflow → gate check mapping"