artifact-catalog.md

May 3, 2026 Β· View on GitHub

Hack23 Logo

πŸ—‚οΈ Analysis Artifact Catalog β€” Riksdagsmonitor

πŸ“Š Single Source of Truth for Every Markdown Artifact Produced by an Agentic News Workflow
🎯 One row per artifact · Methodology + Template + Depth Floor + Mermaid Type + MCP Data Sources

Owner Version Effective Date Classification

πŸ“‹ Document Owner: CEO | πŸ“„ Version: 1.3 | πŸ“… Last Updated: 2026-05-01 (UTC) πŸ”„ Review Cycle: Quarterly | ⏰ Next Review: 2026-07-31 🏒 Owner: Hack23 AB (Org.nr 5595347807) | 🏷️ Classification: Public


🎯 AI-FIRST Methodology Card

🚦 Read this card before writing a single paragraph. It names the artifact this methodology owns, the gate check it satisfies, the evidence-density target it must hit, and the Pass-1 / Pass-2 discipline required by .github/copilot-instructions.md §5 (AI-FIRST Quality Principle).

FieldValue
PurposeAuthoritative row-per-artifact catalog β€” every markdown artifact an agentic workflow can produce, with its family, methodology, template, depth floor, Mermaid type, and MCP data sources.
Inputsreference-quality-thresholds.json; every Family methodology file; analysis/templates/; .github/prompts/04-analysis-pipeline.md
Outputs(reference catalog β€” no daily artifact)
Owning artifact(s)(documents all 23 always-on + Family E + supplementary)
Owning gate checkCheck 1 (artifact existence) and Check 11 (supplementary) in 05-analysis-gate.md
Citation density targetEvery catalog row cites the methodology + template file path (no narrative density target)
Banned phrasesEnforced via political-style-guide.md Β§Machine-readable banned-phrase list
Threshold sourcereference-quality-thresholds.json β†’ thresholds[articleType][artifact] (fallback defaults.coreArtifactFloor)

βœ… Pass-1 checklist (creation β€” minimal viable artifact)

  • Confirm every artifact filename in the catalog exists in analysis/templates/ (or is documented as agent-generated)
  • Confirm every depth floor matches reference-quality-thresholds.json
  • Produce every required sub-section listed in the owning template
  • Add β‰₯ 1 evidence anchor (dok_id, vote id, named MP, or primary-source URL) per analytical claim
  • Apply the correct WEP confidence band for the run's horizon (72h / week / month / quarter / year / cycle)
  • Include β‰₯ 1 themed Mermaid diagram with style … or themeVariables config (where structurally meaningful)
  • Cross-link the relevant template under analysis/templates/ and the gate check it satisfies

πŸ” Pass-2 checklist (read-back & improve β€” AI-FIRST mandatory)

  • Cross-walk: every catalog row β†’ existing methodology section β†’ existing template file β†’ gate-check coverage
  • Reject any row where methodology, template, or threshold is missing or stale
  • Re-read the file end-to-end; flag every claim that lacks an evidence anchor and add one
  • Replace every banned phrase listed in political-style-guide.md Β§Machine-readable banned-phrase list with an evidence-anchored alternative
  • Tighten WEP language: never above likely without β‰₯ 3 cycle-aged sources for year/cycle horizons
  • Strengthen Mermaid (color-coded style … directives, themeVariables, β‰₯ 5 nodes where the structure admits it)
  • Add β‰₯ 1 second-order effect, cui-bono note, or counterfactual where the artifact admits one
  • Verify citation density meets the per-file target below and the gate's evidence-density rules

🟒 Exemplar (good β€” pattern-match this)

(catalog row) synthesis-summary.md | Family A core | synthesis-methodology.md Β§3 | analysis/templates/intelligence-assessment.md | floor=205 (breaking) | Mermaid: flowchart | MCP: riksdag-regering, scb

πŸ”΄ Anti-exemplar (failure mode β€” never ship this)

(failure mode) synthesis | core | uses several methodologies | varies β€” no filename, no methodology link, no threshold reference, no Mermaid type, no MCP source.


🎯 Purpose

This catalog is the authoritative index into every markdown artifact an agentic news workflow produces under analysis/daily/$ARTICLE_DATE/$SUBFOLDER/. For every artifact it names:

  • the family (A / B / C / D / E) and whether it is a core always-on artifact or an operational supplementary enrichment,
  • the methodology the AI agent applies when writing it,
  • the template that defines output shape,
  • the minimum line floor from reference-quality-thresholds.json,
  • the mandatory color-coded Mermaid diagram type,
  • the riksdag-regering MCP tools feeding it, and
  • the gate check from .github/prompts/05-analysis-gate.md that enforces it.

Agents MUST read this catalog once at the start of every run, before opening any other methodology or template. It is referenced from ai-driven-analysis-guide.md, .github/prompts/04-analysis-pipeline.md and .github/prompts/05-analysis-gate.md.


πŸ—ΊοΈ Artifact Group Overview

%%{init: {"theme":"dark","themeVariables":{"primaryColor":"#1565C0","primaryTextColor":"#ffffff","primaryBorderColor":"#0A3F7F","lineColor":"#90CAF9","secondaryColor":"#2E7D32","secondaryTextColor":"#ffffff","tertiaryColor":"#FF9800","tertiaryTextColor":"#000000","mainBkg":"#1565C0","secondBkg":"#2E7D32","tertiaryBkg":"#FF9800","noteBkgColor":"#FFC107","noteTextColor":"#000000","errorBkgColor":"#D32F2F","fontFamily":"Inter, Helvetica, Arial, sans-serif"}}}%%
flowchart LR
    subgraph INPUT["πŸ“₯ Run Root"]
        R["analysis/daily/$ARTICLE_DATE/$SUBFOLDER/"]
    end
    subgraph CORE["🧠 Core Always-On β€” 24 artifacts"]
        A["Family A β€” Synthesis (9)"]
        B["Family B β€” Structural (2)"]
        C["Family C β€” Strategic (6)"]
        D["Family D β€” Electoral/Domain (7)"]
    end
    subgraph E["πŸ“‘ Family E β€” Per-document (N)"]
        E1["documents/{dok_id}-analysis.md"]
    end
    subgraph SUPP["πŸ›°οΈ Operational Supplementary"]
        S1["analysis-index.md"]
        S2["reference-analysis-quality.md"]
        S3["mcp-reliability-audit.md"]
        S4["workflow-audit.md"]
        S5["cross-run-diff.md"]
        S6["cross-session-intelligence.md"]
        S7["session-baseline.md"]
        S8["horizon-pir-rollforward.md"]
    end
    R --> CORE
    R --> E
    R --> SUPP
    CORE --> GATE["🚦 05-analysis-gate.md"]
    SUPP -. enrichment .-> GATE

    style CORE fill:#1565C0,color:#ffffff
    style E fill:#2E7D32,color:#ffffff
    style SUPP fill:#FF9800,color:#000000
    style GATE fill:#D32F2F,color:#ffffff
  • Core always-on (24) β€” every run produces all 24, depth varies by tier (L1 / L2 / L2+ / L3) per the DIW Output Matrix. Missing any core artifact fails the gate.
  • Family E β€” one per dok_id in the manifest; count is N = |manifest|. Low-weight items may be clustered.
  • Operational supplementary (8) β€” enrichment artifacts that strengthen the AI-FIRST loop. They are recommended for deep and mandatory for comprehensive (Tier-C aggregation). They are not counted in the 24-artifact mandatory set but feed the self-correction, cross-run memory, and MCP health audit.

πŸ“˜ Family A β€” Core Synthesis (9 artifacts Β· F3EAD: EXPLOIT β†’ ANALYZE)

#Canonical filenameMethodology Β§linkTemplateLine floor (breaking)MermaidPrimary MCP tool
1README.mdsynthesis-methodology.mdtemplates/README.md Β§ Folder README40β€”run-internal
2executive-brief.mdsynthesis-methodology.mdexecutive-brief.md90flowchartsearch_dokument + all
3synthesis-summary.mdsynthesis-methodology.mdsynthesis-summary.md205mindmapsearch_dokument + all
4significance-scoring.mdsynthesis-methodology.mdsignificance-scoring.md150flowchart ranksearch_dokument, search_anforanden
5classification-results.mdpolitical-classification-guide.mdpolitical-classification.md140flowchartget_dokument
6swot-analysis.mdpolitical-swot-framework.mdswot-analysis.md160quadrantChartget_voteringar, search_anforanden
7risk-assessment.mdpolitical-risk-methodology.mdrisk-assessment.md180flowchart LΓ—Isearch_dokument, get_betankanden
8threat-analysis.mdpolitical-threat-framework.mdthreat-analysis.md180attack-treesearch_anforanden, get_voteringar
9stakeholder-perspectives.mdsynthesis-methodology.mdstakeholder-impact.md220graph TBsearch_ledamoter, get_ledamot

Filename variant β€” canonical stakeholder-perspectives.md ← template stakeholder-impact.md; canonical classification-results.md ← template political-classification.md.


πŸ“— Family B β€” Structural Metadata (2 artifacts)

#Canonical filenameMethodology Β§linkTemplateLine floorMermaidPrimary source
10data-download-manifest.mdstructural-metadata-methodology.mddata-download-manifest.md60pie / barscripts in 03-data-download.md
11cross-reference-map.mdstructural-metadata-methodology.mdcross-reference-map.md110graph LRsibling folders under $ARTICLE_DATE

Family B is scaffolded by scripts (no analytical prose) β€” agents only annotate confidence and data-depth tags.


πŸ“™ Family C β€” Strategic Extensions (6 artifacts Β· F3EAD: ANALYZE continued)

#Canonical filenameMethodology Β§linkTemplateLine floorMermaidPrimary MCP tool
12scenario-analysis.mdstrategic-extensions-methodology.mdscenario-analysis.md180flowchart + probsearch_voteringar, search_dokument. Horizon-stratified branches required when horizonDays >= 90
13comparative-international.mdstrategic-extensions-methodology.mdcomparative-international.md150graph LR Nordic/EUworld-bank, scb, IMF
14devils-advocate.mdstrategic-extensions-methodology.mddevils-advocate.md160matrix (ACH)cross-MCP
15intelligence-assessment.mdstrategic-extensions-methodology.mdintelligence-assessment.md160flowchart KJssynthesis layer
16 ⭐methodology-reflection.mdosint-tradecraft-standards.mdmethodology-reflection.md200flowchart auditrun-internal
17parliamentary-season.mdper-artifact-methodologies.md#parliamentary-seasonparliamentary-season.md160gantt calendarget_calendar_events, get_propositioner. Quarter-ahead + year-ahead + election-cycle only

⭐ methodology-reflection.md is the self-audit gate: evidence sufficiency, confidence distribution, source diversity, party-neutrality arithmetic, ICD 203 compliance, β‰₯ 3 concrete improvements for next run.


πŸ“• Family D β€” Electoral & Domain Lenses (7 artifacts + 1 cycle-only)

#Canonical filenameMethodology Β§linkTemplateLine floorMermaidPrimary MCP tool
18election-2026-analysis.mdelectoral-domain-methodology.mdelection-2026-analysis.md150bar + coalitionsearch_voteringar, SCB polls
19voter-segmentation.mdelectoral-domain-methodology.mdvoter-segmentation.md140graph TB segmentsSCB demographics
20coalition-mathematics.mdelectoral-domain-methodology.mdcoalition-mathematics.md135flowchart seatssearch_voteringar
21historical-parallels.mdelectoral-domain-methodology.mdhistorical-parallels.md130timelinehistorical archive
22media-framing-analysis.mdelectoral-domain-methodology.mdmedia-framing-analysis.md200frame graph + laundering chain + lifecycle xychart + Outlet Bias Audit (5-axis) + Global Audience Orientationexternal press (OSINT) + Outlet Bias Audit (Nordicom / Reuters Institute / FΓΆrvaltningsstiftelsen / PO-PON / EUvsDisinfo / DISARM TTPs) + international quality press + state-affiliated amplification monitoring
23implementation-feasibility.mdelectoral-domain-methodology.mdimplementation-feasibility.md140flowchart risksearch_dokument (myndigheter)
24forward-indicators.mdelectoral-domain-methodology.mdforward-indicators.md150gantt 4-horizonmixed. Horizon-band column required when horizonDays >= 90
25 πŸ—³οΈcycle-trajectory.mdper-artifact-methodologies.md#cycle-trajectorycycle-trajectory.md180bar + timelineSCB, IMF, search_voteringar. election-cycle only; blocking for cycle workflows

Filename variants β€” historical-parallels.md ↔ historical-baseline.md; comparative-international.md ↔ international-comparative.md; election-2026-analysis.md ↔ election-2026-implications.md. All map to a single template + methodology section per ai-driven-analysis-guide.md Β§Filename variants. Artifact filenames are the canonical identifiers; ordinal numbers in this catalog are catalog-local only and must not be hardcoded in template or prose text. Refer to cycle-trajectory.md by filename rather than by phrases such as "24th artifact." cycle-trajectory.md is produced only by election-cycle workflows.


πŸ“’ Family E β€” Per-Document (N artifacts)

One file per dok_id in data-download-manifest.md, written under documents/{dok_id}-analysis.md using per-file-political-intelligence.md at the depth tier matching the document's DIW score (L1 Surface / L2 Strategic / L2+ Priority / L3 Intelligence-grade).

  • Cluster files β€” {cluster}-cluster-analysis.md collapse related low-weight items (e.g. 12 procedural committee notices β†’ one cluster analysis).
  • Methodology: per-document-methodology.md.
  • Per-file floor is adaptive: max(DIW tier floor, --min-lines). See reference-quality-thresholds.json Β§defaults.perDocumentFloorByTier.

πŸ›°οΈ Operational Supplementary Artifacts (8)

These artifacts are not counted in the 24-artifact mandatory set but strengthen quality, cross-run memory, MCP health and workflow-self-audit. They are:

  • Recommended for every deep run.
  • Mandatory for every comprehensive (Tier-C aggregation) run.
  • Enforced by 05-analysis-gate.md Β§Supplementary checks when present; for non-Tier-C runs, absence generally does not fail the gate.
  • Exception: S5 / cross-run-diff.md becomes gate-required whenever ANALYSIS_RUN_COUNT >= 2 (same article type), including standard and deep runs β€” the gate treats multi-run comparison as a required supplementary check independent of tier.
#Canonical filenameMethodology Β§linkTemplateLine floorPurpose
S1analysis-index.mdper-artifact-methodologies.md#analysis-indexanalysis-index.md120Read-me-first index naming every artifact in the run + recommended reading order
S2reference-analysis-quality.mdper-artifact-methodologies.md#reference-analysis-qualityreference-analysis-quality.md120Per-run self-score vs reference benchmark; Pass-2 action list
S3mcp-reliability-audit.mdper-artifact-methodologies.md#mcp-reliability-auditmcp-reliability-audit.md150Endpoint-by-endpoint riksdag-regering / scb / world-bank / IMF health record
S4workflow-audit.mdper-artifact-methodologies.md#workflow-auditworkflow-audit.md120Prompt-module-by-module self-audit: which phases ran, where rules slipped
S5cross-run-diff.mdper-artifact-methodologies.md#cross-run-diffcross-run-diff.md130Bayesian delta vs previous run of same article type
S6cross-session-intelligence.mdper-artifact-methodologies.md#cross-session-intelligencecross-session-intelligence.md140Session-over-session progression (week / month / quarter aggregation)
S7session-baseline.mdper-artifact-methodologies.md#session-baselinesession-baseline.md140Calendar + adopted-texts + votering roster for the period
S8horizon-pir-rollforward.mdper-artifact-methodologies.md#horizon-pir-rollforwardhorizon-pir-rollforward.md100PIR genealogy across long-horizon runs. Never blocking; recommended when predecessor exists

πŸ”­ Analytical Supplementary Artifacts (4)

Optional deep-dive templates mapped to analytical frameworks explicitly listed in the intelligence-operative agent's Core Expertise but previously untemplated. Never replace a core artifact and never blocking in 05-analysis-gate.md. Full production rules: analytical-supplementary-methodology.md.

#Canonical filenameMethodology Β§linkTemplateLine floor (standard / deep / comp)Trigger
AS1pestle-analysis.mdanalytical-supplementary-methodology.md#pestlepestle-analysis.md100 / 150 / 220event crosses β‰₯ 2 PESTLE dimensions
AS2political-stride-assessment.mdanalytical-supplementary-methodology.md#stride-politicalpolitical-stride-assessment.md110 / 160 / 240election-adjacent Β· integrity incident Β· disinfo spike Β· critical-infra vote
AS3wildcards-blackswans.mdanalytical-supplementary-methodology.md#wildcards--black-swanswildcards-blackswans.md110 / 160 / 240long-horizon forecasting (monthly-review, election-year aggregation)
AS4quantitative-swot.mdanalytical-supplementary-methodology.md#quantitative-swotquantitative-swot.md110 / 160 / 240decision memo requiring scored ranking

🧠 MCP Data Source Inventory

ServerTransportKey toolsFeeds artifacts
riksdag-regeringHTTPsearch_ledamoter, get_ledamot, search_dokument, get_dokument, search_anforanden, search_voteringar, get_voteringar, get_calendar_events, get_betankanden, get_propositioner, get_motioner, get_fragor, get_interpellationer1–11, 14, 17–25, E-files
scblocal PxWeb v2table-search + query13, 18–20, 23, 25, S7
world-banklocalget-social/health/education/environment13, 23, S7
Statskontoret (web_fetch)public webagency-capacity reports, public-management evaluations, administrative burden evidence7, 9, 13, 22, S1/S3/S7
IMF (tsx scripts/imf-fetch.ts)CLIWEO + SDMX 3.0 passthrough13, 18, 23, 25, S7
githubHTTP Insidersfull toolsetPR creation (module 07)
filesystem / memory / sequential-thinking / playwrightlocalhelperscross-cutting

See .github/copilot-mcp.json for the canonical definition and 02-mcp-access.md for access rules.


🚦 Gate-Check Mapping (conceptual β€” see 05-analysis-gate.md for canonical numbering)

Note: The table below is a conceptual mapping of gate concerns to artifact scope. The authoritative check numbering and semantics live in .github/prompts/05-analysis-gate.md; the numbers here are illustrative groupings, not 1:1 references to the script's # Check N labels.

Gate concernArtifacts audited
Artifact presence1–24 (+ 25 for election-cycle)
Family-E per-dok_id coverageE files
No-stub / depth floor per tier1–24 (+ 25 for election-cycle) + E (via reference-quality-thresholds.json)
Evidence citations (dok_id, vote counts, named actors, Admiralty grade)All prose
Mermaid diagram presence (color-coded)1–24 (+ 25 for election-cycle) where row specifies Mermaid
Pass-2 evidence (mtime / diff)Core prose files
Family C structure12–16 (KJ count, comparator rows, etc.)
Family D structure18–25 where applicable
PIR status sidecarpir-status.json
Supplementary (Tier-C only)S1–S8
Long-horizon additive (quarter/year/cycle)LH checks per ext/long-horizon-forecasting.md

πŸ”„ Maintenance

πŸ“œ Changelog

  • v1.3 (2026-05-01) β€” Added cycle-trajectory.md (Family D #25, election-cycle only, blocking), parliamentary-season.md (Family C #17, quarter/year/cycle), horizon-pir-rollforward.md (S8, never blocking). Appended horizon-band notes to forward-indicators.md and scenario-analysis.md rows. Renumbered Family D artifacts 17β†’18 through 23β†’24. Updated core count 23β†’24 (25 for cycle workflows).
  • v1.1 (2026-04-23) β€” Added Analytical Supplementary Artifacts (4): pestle-analysis.md, political-stride-assessment.md, wildcards-blackswans.md, quantitative-swot.md. Linked to new analytical-supplementary-methodology.md. Non-blocking.
  • v1.0 (2026-04-23) β€” Initial Riksdagsmonitor catalog extracted and adapted from EU Parliament Monitor artifact-catalog.md v1.0. 23 core artifacts + 7 supplementary + N per-document; aligned with ai-driven-analysis-guide.md v4.2.