📊 63 Structured Intelligence Templates for AI-Driven Political Analysis
🎯 14 master-catalog templates (incl. 6 reusable framework templates) + 25 per-artifact templates + 12 extended deep-intelligence templates + 2 Stage-A triage templates + 2 degraded-mode variant templates (new v3.4) — covering every unique .md file produced under analysis/daily/
📋 Document Owner: CEO | 📄 Version: 3.4 | 📅 Last Updated: 2026-05-14 (UTC) 🔄 Review Cycle: Quarterly | ⏰ Next Review: 2026-07-31 🏢 Owner: Hack23 AB (Org.nr 5595347807) | 🏷️ Classification: Public
| Document | Focus | Description | Documentation Link |
|---|---|---|---|
| Architecture | 🏛️ Architecture | C4 model showing current system structure | View Source |
| Security Architecture | 🛡️ Security | Security controls and compliance mapping | View Source |
| Workflows | ⚙️ DevOps | CI/CD pipeline documentation | View Source |
| Analysis Directory | 🔬 Analysis | Analysis directory overview and structure | View Source |
| AI Analysis Guide | 🤖 Methodology | 10-step analysis protocol — the authoritative guide every workflow follows | View Source |
| Artifact Catalog | 🗂️ Methodology | Master map of every analysis artifact → methodology + template + depth floor + Mermaid type | View Source |
| Per-Artifact Methodologies | 🧩 Methodology | One section per artifact type with construction rules, required sections, and quality signals | View Source |
| Threat Framework | 🎭 Methodology | Political Threat Landscape (6 dimensions) | View Source |
| Risk Methodology | Likelihood × Impact scoring for EP events | View Source | |
| SWOT Framework | 💼 Methodology | Evidence-based political SWOT quadrants | View Source |
| Classification Guide | 🏷️ Methodology | 7-dimension EP event classification | View Source |
| Style Guide | ✍️ Methodology | Editorial and analytical style standards | View Source |
| OSINT Tradecraft Standards | 🕵️ Methodology | ICD 203 · Admiralty source grades · Kent/WEP probability bands · SAT catalog · OSINT ethics | View Source |
| Source Triangulation | 🔍 Methodology | NEW 4-step fallback ladder (EP MCP → cross-source → historical analogy → KB integration) with confidence-label rules per step | View Source |
| Confidence Calibration | 🎯 Methodology | NEW Unified 🟢/🟡/🔴 marker + WEP band + Admiralty grade + Tier-1/2/3 data-tier canonical table | View Source |
| Voter Segmentation Methodology | 🗳️ Methodology | NEW Eurobarometer integration, structural-segmentation fallback (Rung 1–3), citation requirements, confidence rules | View Source |
All templates in this library implement professional intelligence-community discipline. The normative contract is osint-tradecraft-standards.md. The style contract is political-style-guide.md §Estimative Language & Source Grading.
| Discipline | Standard | Where Applied in Templates |
|---|---|---|
| Estimative Language (WEP) | Kent / ICD 203 probability bands (Almost Certain → Almost No Chance) + explicit time horizon | synthesis-summary.md Top Findings, deep-analysis.md Executive Summary, methodology-reflection.md §12 |
| Source Grading (Admiralty) | A–F reliability × 1–6 credibility (e.g. A1 = EP plenary record, C3 = press) |
synthesis-summary.md Top Findings, all probabilistic artifacts |
| Confidence Separation | Confidence-in-evidence (HIGH / MEDIUM / LOW) tracked separately from WEP probability — see confidence-calibration.md |
All 🟢/🟡/🔴 confidence markers across templates |
| Source Triangulation Fallback | 4-step ladder: EP MCP → cross-source → historical analogy → KB integration — see source-triangulation.md |
All degraded-mode claims; mcp-reliability-audit.md logs step reached |
| Structured Analytic Techniques | ≥10 SATs applied per run (e.g. ACH, Key Assumptions Check, Pre-Mortem, Scenario Analysis, Red-Team, Indicators); each artifact has a **Mandatory SATs.** line — see per-artifact-methodologies.md |
methodology-reflection.md §12, every artifact's **Mandatory SATs.** declaration |
| ICD 203 BLUF | Executive Summary opens with BLUF + WEP band + confidence + rationale | deep-analysis.md Executive Summary |
| Voter Segmentation | Eurobarometer primary; Rung-1/2/3 structural fallback with explicit disclosure — see voter-segmentation-methodology.md |
extended/voter-segmentation.md |
These analysis templates implement structured intelligence production mandated by Hack23 AB's ISMS framework:
| ISMS Policy | Template Implementation |
|---|---|
| 🛠️ Secure Development Policy | Structured templates enforce consistent analytical output; anti-pattern warnings prevent quality degradation |
| 📝 Change Management | Template versioning, quarterly review cycle, document metadata tracking |
| 🔐 Information Security Policy | Classification levels (PUBLIC/SENSITIVE/RESTRICTED) in every analysis output |
| 🔓 Open Source Policy | SPDX license headers, REUSE compliance, transparent methodology documentation |
| 🤝 Third Party Management | All data sourced from official European Parliament MCP Server; evidence citations required |
| 🔍 Vulnerability Management | Threat analysis template identifies political risks; risk assessment quantifies exposure |
| Framework | Version | Relevant Controls | Template Implementation |
|---|---|---|---|
| ISO 27001 | 2022 | A.5.10, A.8.3 | Information classification via political-classification template |
| NIST CSF | 2.0 | ID.RA, ID.RM | Risk identification and management via risk-assessment template |
| CIS Controls | v8.1 | 17.1 | Threat intelligence production via threat-analysis template |
| EU CRA | 2024 | Art. 10, Art. 11 | Transparency and vulnerability disclosure via stakeholder-impact template |
This directory contains 63 analysis templates that AI agents fill when analysing European Parliament data — split into 14 master-catalog templates (the article-generating workflow set: 6 reusable framework templates that compose inside per-file analysis + 8 supporting workflow templates including voting-patterns, workflow-audit, cross-session-intelligence, deep-analysis, session-baseline, methodology-reflection, executive-brief, synthesis-summary), 25 per-artifact templates (one for every mandatory analysis/daily/<run>/… artifact under intelligence/, classification/, risk-scoring/, threat-assessment/, plus the run-root executive-brief.md), 8 long-horizon & electoral templates (forward-projection, legislative-pipeline-forecast, parliamentary-calendar-projection, term-arc, seat-projection, mandate-fulfilment-scorecard, presidency-trio-context, commission-wp-alignment), 12 optional extended/ templates for long-form review, crisis, and breaking-deep runs, 2 Stage-A triage templates (data-availability-assessment.md — mandatory for every run — and intelligence/procedures-proxy.md — triggered by get_procedures_feed STALENESS_WARNING), and 2 degraded-mode variant templates (intelligence/voting-patterns.degraded.md for degraded-voting dataMode and intelligence/economic-context.fallback.md for degraded-imf dataMode). Each template enforces a specific analytical framework, requires evidence citations from EP MCP data, and produces structured intelligence that feeds into downstream article generation.
Templates are not standalone outputs. They form a composable intelligence pipeline — individual templates feed into the daily synthesis, which aggregates into weekly and monthly intelligence reports. The per-file analysis template is the most frequently used: every downloaded EP MCP data file receives a comprehensive analysis using this template.
Critical mandates:
- 🔍 AI agents must READ actual EP data and produce original analysis — never scripted boilerplate
- 📎 Every claim requires an evidence citation (EP procedure ID, adopted text reference, or MCP data file path)
- 📊 All outputs require structured tables + colour-coded Mermaid diagrams — plain prose alone is rejected
- 🎯 Every analysis must pass a minimum 7.0/10 quality gate before consumption by article generators
Critical Rule: AI agents MUST follow these templates. Templates define structure and required sections — the AI fills them with genuine, evidence-based analysis. Templates must NEVER be copied verbatim with placeholder text.
🛂 Stage-C Enforcement (since v3.2): Template usage is now machine-validated. Run
npm run validate-analysis -- analysis/daily/<date>/<runDir>before opening the article PR — the script checks per-artifact line floors, mandatory Mermaid diagrams, Admiralty/WEP/SAT/BLUF tradecraft signals, required H2 sections, and placeholder leakage. RED ⇒ Pass-3 the offending artifacts; never ship an article without a green gate. Seescripts/validate-analysis-completeness.jsand.github/prompts/03-analysis-completeness-gate.md.
🌍 EU multi‑national extension over Riksdagsmonitor. Where Riksdagsmonitor templates (
Article-Generation.md,templates/README.md) are sized for one parliament, EUPM templates carry mandatory EU‑27 member‑state cluster tags ({Northern, Western, Southern, Central‑Eastern}), explicit citizen‑segment translation blocks, and dual‑Mermaid pipelines (one institutional, one cross‑cluster). v2.0 templates (impact-matrix,forces-analysis,actor-mapping) demonstrate the pattern.
🎨 Mermaid is rendered same‑origin. All diagrams ship via the vendored bundle
js/vendor/mermaid/mermaid.esm.min.mjs(copied bynpm run copy-vendor, deployed to S3/CloudFront astext/javascript). No external CDN —script-src 'self'is the contract. If your template uses a quadrant chart, use the dedicated quadrant init block (political-style-guide.md §Standard Mermaid init blocks); for every other diagram type use the universal init block.
🧩 v3.4 sync (2026-05-03) — canonical front-matter + AI-instructions blocks. Every template under
analysis/templates/now carries two machine-readable HTML-comment blocks immediately after the SPDX headers: anANALYSIS-TEMPLATE-FRONTMATTER:v1block (artifact ID, methodology link, catalog link, depth-floor forbreaking, mandatory Mermaid type, partials directory) and anAI-INSTRUCTIONS:v1block (Pass-1/Pass-2 contract, evidence rules, no-placeholder rule, estimative-language contract). Runnpm run sync:templatesto regenerate after changing the methodology library (script:scripts/templates/sync-template-frontmatter.js; CI mode:npm run sync:templates:check; drift-guard:test/unit/template-structure.test.js). Shared chunks live in_partials/—ai-instructions.md,quality-checklist.md,citation-pattern.md,evidence-table.md,imf-callout.md. Templates link to partials by relative path; there is no inlining build step.
Every diagram across the 59 templates inherits the canonical ISMS palette
defined in political-style-guide.md §Standard universal init block. The
two only init blocks allowed are:
- Universal init block — required for
graph,flowchart,mindmap,sequenceDiagram,gantt,pie,stateDiagram,classDiagram,erDiagram,gitGraph,timeline,journey,xychart-beta,C4Context,block-beta,sankey-beta. SetsprimaryColor,pie1–pie12,git0–git3,cScale0–cScale7, and thexyChart.plotColorPaletteso every diagram type inherits the same heat-map. - Quadrant init block — required only for
quadrantChart. Setsquadrant1Fill–quadrant4Fillplus quadrant-specific font sizes.
Mixing the two snippets is rejected by the style guide. Bootstrap-era one-off
overrides (#0d6efd / #28a745 / #dc3545) remain valid only as
per-node style … directives layered on top of the canonical init block.
| Token | Hex | Use |
|---|---|---|
🔵 pie1 / git0 / cScale0 |
#1565C0 |
Primary institution / Council / Manage Closely |
🟢 pie2 / git1 / cScale1 |
#2E7D32 |
Stable / Pro-integration opportunity / Low risk |
🟠 pie3 / git2 / cScale2 |
#FF9800 |
Monitor / Stagnation / Medium risk |
🔴 pie4 / git3 / cScale3 |
#D32F2F |
Critical risk / Sovereignist risk / Failed |
🟡 pie5 / cScale4 |
#FFC107 |
Warning / Caution / Recess |
🟣 pie6 / cScale5 |
#7B1FA2 |
Crystallisation / SAT / Diamond Capability |
⚪ pie7 / cScale6 |
#9E9E9E |
Confidence ledger / Method note |
🔷 pie8 / cScale7 |
#0288D1 |
Secondary institution / Supporting actor |
🟩 pie9 |
#388E3C |
Delivered / Stable adopt |
🟧 pie10 |
#F57C00 |
Medium-orange / In-progress |
🩸 pie11 |
#C62828 |
Hard-fail / RED gate |
🟨 pie12 |
#FBC02D |
Mid-yellow / Slippage |
| Mermaid type | When to choose | Example template |
|---|---|---|
flowchart / graph |
Procedural chains, decision trees, fan-outs | political-threat-landscape.md, commission-wp-alignment.md, consequence-trees.md |
quadrantChart |
Power × Interest, Likelihood × Impact, Cohesion × Cohesion-trend | actor-mapping.md, forces-analysis.md, stakeholder-map.md |
timeline |
Term arc, trio rotation, electoral cycle | term-arc.md, presidency-trio-context.md, deep-analysis.md |
gantt |
Calendar projection, plenary/committee weeks, trilogue windows | parliamentary-calendar-projection.md, session-baseline.md |
xychart-beta |
Time-series, cohesion trajectory, seat projection | seat-projection.md, term-arc.md, deep-analysis.md |
pie |
Coalition arithmetic, group share, vote breakdown | voting-patterns.md, coalition-mathematics.md |
gitGraph |
Scenario branch divergence, regime-change tripwires | forward-projection.md, scenario-forecast.md |
sankey-beta |
Pipeline flow, stage occupancy | legislative-pipeline-forecast.md |
mindmap |
Six-dimension fan-out, PESTLE, OSINT discipline view | pestle-analysis.md, political-threat-landscape.md |
sequenceDiagram |
Workflow audit, agent-to-tool interaction | workflow-audit.md, README §Template Usage Flow |
| Template | Diagram type(s) | Init block | Notes |
|---|---|---|---|
actor-mapping.md |
quadrantChart + flowchart | quadrant + universal | Power × Interest |
actor-threat-profiles.md |
flowchart | universal | Diamond Model + ICO |
analysis-index.md |
flowchart | universal | Provenance map |
coalition-dynamics.md |
flowchart + xychart | universal | Cohesion trajectory |
coalition-mathematics.md |
pie + flowchart | universal | Bloc arithmetic |
commission-wp-alignment.md |
flowchart LR (new v3.3) | universal | CWP → rapporteur → adoption |
comparative-international.md |
flowchart | universal | Cross-jurisdiction |
consequence-trees.md |
flowchart TD | universal (added v3.3) | Cascade tree |
cross-reference-map.md |
flowchart | universal | Provenance |
cross-run-diff.md |
flowchart | universal | Drift detection |
cross-session-intelligence.md |
timeline | universal | Inter-session arc |
data-download-manifest.md |
flowchart LR (new v3.3) | universal | MCP → checksum |
deep-analysis.md |
flowchart + timeline + xychart (3 new v3.3) | universal | Long-form trio |
devils-advocate-analysis.md |
flowchart | universal | Counter-thesis |
economic-context.md |
flowchart + xychart | universal | IMF macro |
executive-brief.md |
graph LR | universal (added v3.3) | Risk snapshot |
forces-analysis.md |
quadrantChart + flowchart | quadrant + universal | Driver vs blocker |
forward-indicators.md |
flowchart | universal | Indicator dashboard |
forward-projection.md |
gitGraph | universal (added v3.3) | Scenario branches |
historical-baseline.md |
xychart + flowchart | universal | Historical anchor |
historical-parallels.md |
flowchart | universal | Comparative case |
imf-vintage-audit.md |
flowchart LR (new v3.3) | universal | SDMX vintage chain |
impact-matrix.md |
flowchart + xychart | universal | Multi-axis impact |
implementation-feasibility.md |
flowchart | universal | Implementation chain |
intelligence-assessment.md |
graph LR | universal | Key judgments |
legislative-disruption.md |
flowchart | universal | Disruption chain |
legislative-pipeline-forecast.md |
sankey-beta | universal (added v3.3) | Stage flow |
legislative-velocity-risk.md |
flowchart LR | universal (added v3.3) | Bottleneck path |
mandate-fulfilment-scorecard.md |
flowchart LR | universal (added v3.3) | Defection flow |
mcp-reliability-audit.md |
flowchart | universal | Reliability map |
media-framing-analysis.md |
graph LR (outlet × frame) + xychart-beta (lifecycle) | universal | Narrative frames · Influence-ops · DISARM · CIB · RRPA (v2.0) |
methodology-reflection.md |
flowchart | universal | Pipeline self-audit |
parliamentary-calendar-projection.md |
gantt (new v3.3) | universal | Walk-forward calendar |
per-file-political-intelligence.md |
flowchart + quadrant + others | both | Per-document |
pestle-analysis.md |
flowchart | universal | PESTLE 6-axis |
political-capital-risk.md |
flowchart | universal | 5×5 heat-map |
political-classification.md |
flowchart LR | universal | 7-dimension fan-out |
political-threat-landscape.md |
graph TD + flowchart LR (new v3.3) | universal | 6D + severity fan-out |
presidency-trio-context.md |
timeline + flowchart (2 new v3.3) | universal | Trio rotation |
quantitative-swot.md |
flowchart | universal | Quantified SWOT |
reference-analysis-quality.md |
flowchart | universal | Quality lens |
risk-assessment.md |
quadrantChart + flowchart | quadrant + universal | 5×5 L×I |
risk-matrix.md |
quadrantChart | quadrant | Heat-map matrix |
scenario-forecast.md |
gitGraph + xychart | universal | Scenario tree |
seat-projection.md |
xychart-beta | universal (added v3.3) | Seat trajectory |
session-baseline.md |
gantt | universal | Plenary calendar |
significance-classification.md |
flowchart | universal | 7-dimension cls |
significance-scoring.md |
flowchart + pie | universal | Score → publish/hold |
stakeholder-impact.md |
flowchart | universal | 7-lens cascade |
stakeholder-map.md |
quadrantChart | quadrant | Power × Interest |
swot-analysis.md |
quadrantChart + TOWS flowchart | quadrant + universal | SWOT/TOWS |
synthesis-summary.md |
graph TD + graph LR + flowchart | universal | Dashboard |
term-arc.md |
timeline + xychart | universal (added v3.3) | EP term progress |
threat-analysis.md |
flowchart | universal | 5-framework integrated |
threat-model.md |
flowchart | universal | Software/political |
voter-segmentation.md |
flowchart + pie | universal | Segment map |
voting-patterns.md |
flowchart | universal | Coalition arithmetic |
wildcards-blackswans.md |
flowchart | universal | Black-swan map |
workflow-audit.md |
flowchart + sequenceDiagram | universal | 6-phase audit |
data-availability-assessment.md (Stage A — new v3.4) |
flowchart LR | universal | Source availability triage |
intelligence/voting-patterns.degraded.md (degraded-voting variant — new v3.4) |
graph LR | universal | Seat-share proxy coalition analysis |
intelligence/economic-context.fallback.md (degraded-imf variant — new v3.4) |
xyChart + flowchart | universal | IMF KB-estimate economic context |
intelligence/procedures-proxy.md (staleness companion — new v3.4) |
flowchart LR | universal | Procedures-feed mitigation record |
Drift-guard (v3.3): if a future contributor adds a new
analysis/templates/*.mdtemplate, the Stage-C validator continues to require ≥1 mermaid block for any artifact path underintelligence/,classification/,risk-scoring/, orthreat-assessment/. Runnpm test -- test/unit/analysis-templates-referenced.test.jsto confirm the new template is referenced from.github/prompts/or.github/agents/.
%%{init: {"theme":"dark","themeVariables":{"primaryColor":"#1565C0","primaryTextColor":"#ffffff","primaryBorderColor":"#0A3F7F","lineColor":"#90CAF9","secondaryColor":"#2E7D32","secondaryTextColor":"#ffffff","secondaryBorderColor":"#0F3F00","tertiaryColor":"#FF9800","tertiaryTextColor":"#000000","tertiaryBorderColor":"#7F4F00","mainBkg":"#1565C0","secondBkg":"#2E7D32","tertiaryBkg":"#FF9800","noteBkgColor":"#FFC107","noteTextColor":"#000000","noteBorderColor":"#7F6000","errorBkgColor":"#D32F2F","errorTextColor":"#ffffff","fontFamily":"Inter, Helvetica, Arial, sans-serif","pie1":"#1565C0","pie2":"#2E7D32","pie3":"#FF9800","pie4":"#D32F2F","pie5":"#FFC107","pie6":"#7B1FA2","pie7":"#9E9E9E","pie8":"#0288D1","pie9":"#388E3C","pie10":"#F57C00","pie11":"#C62828","pie12":"#FBC02D","pieTitleTextSize":"18px","pieSectionTextSize":"14px","pieLegendTextSize":"13px","pieStrokeColor":"#1e1e1e","pieOuterStrokeColor":"#1e1e1e","git0":"#1565C0","git1":"#2E7D32","git2":"#FF9800","git3":"#D32F2F","gitBranchLabel0":"#ffffff","gitBranchLabel1":"#ffffff","gitBranchLabel2":"#000000","gitBranchLabel3":"#ffffff","cScale0":"#1565C0","cScale1":"#2E7D32","cScale2":"#FF9800","cScale3":"#D32F2F","cScale4":"#FFC107","cScale5":"#7B1FA2","cScale6":"#9E9E9E","cScale7":"#0288D1","xyChart":{"backgroundColor":"#1e1e1e","plotColorPalette":"#1565C0,#2E7D32,#FF9800,#D32F2F,#FFC107,#7B1FA2,#9E9E9E"}}}}%%
graph TB
subgraph "📥 Input Layer"
RAW["📄 Raw EP Parliamentary<br/>Documents"]
META["📊 Document<br/>Metadata"]
end
subgraph "🔬 Per-Document Analysis"
T1["🔍 Per-File Political<br/>Intelligence Template"]
end
subgraph "🧪 Analytical Dimension Templates"
T2["🏷️ Political<br/>Classification"]
T3["⚠️ Risk<br/>Assessment"]
T4["💼 SWOT<br/>Analysis"]
T5["🎭 Threat<br/>Analysis"]
T6["📈 Significance<br/>Scoring"]
T7["👥 Stakeholder<br/>Impact"]
end
subgraph "📰 Synthesis Layer"
T8["🧩 Synthesis<br/>Summary"]
end
RAW --> T1
META --> T1
T1 --> T2 & T3 & T4 & T5 & T6 & T7
T2 & T3 & T4 & T5 & T6 & T7 --> T8
style RAW fill:#6c757d,color:#fff,stroke:#495057,stroke-width:2px
style META fill:#6c757d,color:#fff,stroke:#495057,stroke-width:2px
style T1 fill:#0d6efd,color:#fff,stroke:#0a58ca,stroke-width:3px
style T2 fill:#198754,color:#fff,stroke:#146c43,stroke-width:2px
style T3 fill:#dc3545,color:#fff,stroke:#b02a37,stroke-width:2px
style T4 fill:#fd7e14,color:#fff,stroke:#ca6510,stroke-width:2px
style T5 fill:#d63384,color:#fff,stroke:#ab296a,stroke-width:2px
style T6 fill:#6f42c1,color:#fff,stroke:#59359a,stroke-width:2px
style T7 fill:#0dcaf0,color:#000,stroke:#0aa2c0,stroke-width:2px
style T8 fill:#ffc107,color:#000,stroke:#cc9a06,stroke-width:3px
The following diagram shows the end-to-end pipeline from EP MCP data download through template-driven analysis to final publication:
%%{init: {"theme":"dark","themeVariables":{"primaryColor":"#1565C0","primaryTextColor":"#ffffff","primaryBorderColor":"#0A3F7F","lineColor":"#90CAF9","secondaryColor":"#2E7D32","secondaryTextColor":"#ffffff","secondaryBorderColor":"#0F3F00","tertiaryColor":"#FF9800","tertiaryTextColor":"#000000","tertiaryBorderColor":"#7F4F00","mainBkg":"#1565C0","secondBkg":"#2E7D32","tertiaryBkg":"#FF9800","noteBkgColor":"#FFC107","noteTextColor":"#000000","noteBorderColor":"#7F6000","errorBkgColor":"#D32F2F","errorTextColor":"#ffffff","fontFamily":"Inter, Helvetica, Arial, sans-serif","pie1":"#1565C0","pie2":"#2E7D32","pie3":"#FF9800","pie4":"#D32F2F","pie5":"#FFC107","pie6":"#7B1FA2","pie7":"#9E9E9E","pie8":"#0288D1","pie9":"#388E3C","pie10":"#F57C00","pie11":"#C62828","pie12":"#FBC02D","pieTitleTextSize":"18px","pieSectionTextSize":"14px","pieLegendTextSize":"13px","pieStrokeColor":"#1e1e1e","pieOuterStrokeColor":"#1e1e1e","git0":"#1565C0","git1":"#2E7D32","git2":"#FF9800","git3":"#D32F2F","gitBranchLabel0":"#ffffff","gitBranchLabel1":"#ffffff","gitBranchLabel2":"#000000","gitBranchLabel3":"#ffffff","cScale0":"#1565C0","cScale1":"#2E7D32","cScale2":"#FF9800","cScale3":"#D32F2F","cScale4":"#FFC107","cScale5":"#7B1FA2","cScale6":"#9E9E9E","cScale7":"#0288D1","xyChart":{"backgroundColor":"#1e1e1e","plotColorPalette":"#1565C0,#2E7D32,#FF9800,#D32F2F,#FFC107,#7B1FA2,#9E9E9E"}}}}%%
flowchart TD
A["📥 EP MCP Server<br/>Data Download"] --> B["📂 Store in<br/>analysis/YYYY-MM-DD/data/"]
B --> C{"📖 AI Agent Reads<br/>Methodology Library<br/>(14 docs)"}
C --> D["🔍 Per-File Analysis<br/>(per-file-political-intelligence.md)"]
D --> E["🏷️ Classification<br/>(political-classification.md)"]
D --> F["⚠️ Risk Assessment<br/>(risk-assessment.md)"]
D --> G["🎭 Threat Analysis<br/>(threat-analysis.md)"]
D --> H["💼 SWOT Analysis<br/>(swot-analysis.md)"]
D --> I["👥 Stakeholder Impact<br/>(stakeholder-impact.md)"]
D --> J["📈 Significance Scoring<br/>(significance-scoring.md)"]
E & F & G & H & I & J --> K["🧩 Daily Synthesis<br/>(synthesis-summary.md)"]
K --> L{"✅ Quality Gate<br/>≥ 7.0/10?"}
L -->|Pass| META["📝 AI Generates<br/>Title & Description"]
META --> M["📰 Article Generation<br/>(--title, --description flags)"]
L -->|Fail| N["🔄 Revise Analysis"]
N --> D
M --> O["🌐 Publish to<br/>GitHub Pages"]
style A fill:#0d6efd,color:#fff,stroke:#0a58ca
style C fill:#6f42c1,color:#fff,stroke:#59359a
style D fill:#28a745,color:#fff,stroke:#1e7e34
style K fill:#fd7e14,color:#fff,stroke:#c96009
style L fill:#ffc107,color:#000,stroke:#d39e00
style M fill:#003399,color:#fff,stroke:#002266
style O fill:#20c997,color:#fff,stroke:#199d76
style N fill:#dc3545,color:#fff,stroke:#bd2130
%%{init: {"theme":"dark","themeVariables":{"primaryColor":"#1565C0","primaryTextColor":"#ffffff","primaryBorderColor":"#0A3F7F","lineColor":"#90CAF9","secondaryColor":"#2E7D32","secondaryTextColor":"#ffffff","secondaryBorderColor":"#0F3F00","tertiaryColor":"#FF9800","tertiaryTextColor":"#000000","tertiaryBorderColor":"#7F4F00","mainBkg":"#1565C0","secondBkg":"#2E7D32","tertiaryBkg":"#FF9800","noteBkgColor":"#FFC107","noteTextColor":"#000000","noteBorderColor":"#7F6000","errorBkgColor":"#D32F2F","errorTextColor":"#ffffff","fontFamily":"Inter, Helvetica, Arial, sans-serif","pie1":"#1565C0","pie2":"#2E7D32","pie3":"#FF9800","pie4":"#D32F2F","pie5":"#FFC107","pie6":"#7B1FA2","pie7":"#9E9E9E","pie8":"#0288D1","pie9":"#388E3C","pie10":"#F57C00","pie11":"#C62828","pie12":"#FBC02D","pieTitleTextSize":"18px","pieSectionTextSize":"14px","pieLegendTextSize":"13px","pieStrokeColor":"#1e1e1e","pieOuterStrokeColor":"#1e1e1e","git0":"#1565C0","git1":"#2E7D32","git2":"#FF9800","git3":"#D32F2F","gitBranchLabel0":"#ffffff","gitBranchLabel1":"#ffffff","gitBranchLabel2":"#000000","gitBranchLabel3":"#ffffff","cScale0":"#1565C0","cScale1":"#2E7D32","cScale2":"#FF9800","cScale3":"#D32F2F","cScale4":"#FFC107","cScale5":"#7B1FA2","cScale6":"#9E9E9E","cScale7":"#0288D1","xyChart":{"backgroundColor":"#1e1e1e","plotColorPalette":"#1565C0,#2E7D32,#FF9800,#D32F2F,#FFC107,#7B1FA2,#9E9E9E"}}}}%%
sequenceDiagram
participant WF as 🔄 Workflow
participant PRE as 📥 Pre-Analysis Script
participant AI as 🤖 AI Agent
participant QG as ✅ Quality Gate
WF->>PRE: Trigger analysis
PRE->>PRE: Download data + non-analytical validation/housekeeping
PRE->>AI: Prepared documents + stub files (no analytical content)
Note over AI: AI reads methodology +<br/>template + prompt
AI->>AI: Apply per-file-political-intelligence.md
AI->>AI: Apply political-classification.md
AI->>AI: Apply risk-assessment.md
AI->>AI: Apply swot-analysis.md
AI->>AI: Apply threat-analysis.md
AI->>AI: Apply significance-scoring.md
AI->>AI: Apply stakeholder-impact.md
AI->>AI: Apply synthesis-summary.md
AI->>QG: Completed analysis files
QG->>QG: Check 1: Evidence tables present?
QG->>QG: Check 2: Mermaid diagrams present?
QG->>QG: Check 3: Confidence labels present?
QG->>QG: Check 4: EP procedure citations present?
QG->>QG: Check 5: Template structure compliant?
QG->>QG: Check 6: No stub content remaining?
alt All checks pass
QG->>WF: ✅ Analysis approved
else Any check fails
QG->>AI: ❌ Revision required
end
The framework and workflow-specific templates form an integrated intelligence network. The per-file analysis template consumes outputs from the specialist templates, and the synthesis template aggregates all per-file analyses:
%%{init: {"theme":"dark","themeVariables":{"primaryColor":"#1565C0","primaryTextColor":"#ffffff","primaryBorderColor":"#0A3F7F","lineColor":"#90CAF9","secondaryColor":"#2E7D32","secondaryTextColor":"#ffffff","secondaryBorderColor":"#0F3F00","tertiaryColor":"#FF9800","tertiaryTextColor":"#000000","tertiaryBorderColor":"#7F4F00","mainBkg":"#1565C0","secondBkg":"#2E7D32","tertiaryBkg":"#FF9800","noteBkgColor":"#FFC107","noteTextColor":"#000000","noteBorderColor":"#7F6000","errorBkgColor":"#D32F2F","errorTextColor":"#ffffff","fontFamily":"Inter, Helvetica, Arial, sans-serif","pie1":"#1565C0","pie2":"#2E7D32","pie3":"#FF9800","pie4":"#D32F2F","pie5":"#FFC107","pie6":"#7B1FA2","pie7":"#9E9E9E","pie8":"#0288D1","pie9":"#388E3C","pie10":"#F57C00","pie11":"#C62828","pie12":"#FBC02D","pieTitleTextSize":"18px","pieSectionTextSize":"14px","pieLegendTextSize":"13px","pieStrokeColor":"#1e1e1e","pieOuterStrokeColor":"#1e1e1e","git0":"#1565C0","git1":"#2E7D32","git2":"#FF9800","git3":"#D32F2F","gitBranchLabel0":"#ffffff","gitBranchLabel1":"#ffffff","gitBranchLabel2":"#000000","gitBranchLabel3":"#ffffff","cScale0":"#1565C0","cScale1":"#2E7D32","cScale2":"#FF9800","cScale3":"#D32F2F","cScale4":"#FFC107","cScale5":"#7B1FA2","cScale6":"#9E9E9E","cScale7":"#0288D1","xyChart":{"backgroundColor":"#1e1e1e","plotColorPalette":"#1565C0,#2E7D32,#FF9800,#D32F2F,#FFC107,#7B1FA2,#9E9E9E"}}}}%%
graph LR
subgraph "📋 Specialist Templates"
CLS["🏷️ Political<br/>Classification"]
RSK["⚠️ Risk<br/>Assessment"]
THR["🎭 Threat<br/>Analysis"]
SWT["💼 SWOT<br/>Analysis"]
STK["👥 Stakeholder<br/>Impact"]
SIG["📈 Significance<br/>Scoring"]
end
subgraph "📦 Integrating Templates"
PFI["🔍 Per-File<br/>Intelligence"]
SYN["🧩 Daily<br/>Synthesis"]
end
CLS -->|"sensitivity + domain"| PFI
RSK -->|"L×I scores"| PFI
THR -->|"6-dimension threats"| PFI
SWT -->|"quadrant findings"| PFI
STK -->|"impact assessments"| PFI
SIG -->|"composite score"| PFI
PFI -->|"per-document analysis"| SYN
SYN -->|"editorial direction"| ART["📰 Article<br/>Generator"]
style CLS fill:#6f42c1,color:#fff,stroke:#59359a
style RSK fill:#dc3545,color:#fff,stroke:#bd2130
style THR fill:#343a40,color:#fff,stroke:#23272b
style SWT fill:#0d6efd,color:#fff,stroke:#0a58ca
style STK fill:#20c997,color:#fff,stroke:#199d76
style SIG fill:#ffc107,color:#000,stroke:#d39e00
style PFI fill:#28a745,color:#fff,stroke:#1e7e34
style SYN fill:#fd7e14,color:#fff,stroke:#c96009
style ART fill:#003399,color:#fff,stroke:#002266
| # | Template | Purpose | Key Sections | MCP Data Sources | Output Format | Priority |
|---|---|---|---|---|---|---|
| 1 | 🏷️ Political Classification | 7-dimension EP event classification (sensitivity, domain, urgency, scope, actor, impact, temporal) | Sensitivity Level, Policy Domain, Urgency Level, Geographic Scope, Actor Mapping, Impact Vector, Temporal Window | get_plenary_sessions, get_procedures, get_adopted_texts, get_events |
Metadata table + checkbox dimensions + colour-coded Mermaid radar | 🔴 HIGH |
| 2 | Quantified political risk using 5×5 Likelihood × Impact matrix across 6 risk categories | Risk Context, Risk Register (6 categories), Heat Map, Mitigation Strategies, Monitoring Indicators | get_voting_records, track_legislation, analyze_coalition_dynamics, detect_voting_anomalies |
Risk register table + L×I heat map Mermaid + trend arrows | 🔴 HIGH | |
| 3 | 🎭 Threat Analysis | Multi-framework political threat assessment: Political Threat Landscape (6D) + Diamond Model + Attack Trees + PESTLE + Scenario Planning + Kill Chain | 6 Threat Dimensions, Diamond Model Profiles, Attack Tree Decomposition, PESTLE Matrix, Scenario Projections, Kill Chain Stages | analyze_coalition_dynamics, detect_voting_anomalies, compare_political_groups, get_mep_declarations |
Dimension tables + severity ratings + trend indicators + Mermaid threat landscape | 🔴 HIGH |
| 4 | 💼 SWOT Analysis | Evidence-based political SWOT quadrant assessment for EU democratic landscape | SWOT Context, Strengths, Weaknesses, Opportunities, Threats, Strategic Implications, Cross-Quadrant Analysis | get_adopted_texts, get_voting_records, get_procedures, compare_political_groups |
4-quadrant tables with evidence columns + Mermaid quadrant chart | 🟡 MEDIUM |
| 5 | 👥 Stakeholder Impact | 7-lens stakeholder impact assessment across EU institutional actors and civil society | Assessment Context, 7 Stakeholder Groups (Council, Commission, EP Groups, National Parliaments, Civil Society, Industry, Citizens), Cross-Impact Matrix | get_meps, get_committee_info, analyze_country_delegation, assess_mep_influence |
Stakeholder tables with impact direction + confidence labels + Mermaid impact diagram | 🟡 MEDIUM |
| 6 | 📈 Significance Scoring | 5-dimension composite score (0–10) for publication prioritisation decisions | Event Context, 5 Scoring Dimensions (Parliamentary Significance, Policy Impact, Institutional Relevance, Public Interest, Temporal Urgency), Composite Score, Publish Decision | get_adopted_texts, get_plenary_sessions, get_procedures, get_events |
Scoring table (5 dimensions) + weighted composite + publish/hold/skip decision | 🔴 HIGH |
| 7 | 🧩 Synthesis Summary | Daily intelligence synthesis aggregating all per-file analyses into editorial direction | Synthesis Context, Headline Intelligence, SWOT Summary, Risk Overview, Threat Dashboard, Stakeholder Map, Forward Indicators, Editorial Recommendations | All MCP tools (aggregated from per-file outputs) | Dashboard tables + Mermaid intelligence overview + 3 editorial decision points | 🔴 HIGH |
| 8 | 🔍 Per-File Intelligence | Deep per-document AI analysis — the most used template (every downloaded EP data file receives this) | Document Identity, Executive Summary, Political Classification, SWOT (Grand Coalition + Opposition), Risk Matrix, Threat Landscape, Stakeholder Assessment, Significance Score, Forward Indicators | Depends on document type (see Document-Type Matrix) | Comprehensive .analysis.md file stored alongside data file |
🔴 CRITICAL |
| 9 | 🗳️ Voting Patterns | Group-by-group coalition arithmetic for the period — cohesion per group, observed coalitions, bloc win-rate, outlier votes, forward-vote forecasts | Group Size Arithmetic, Observed Coalitions, Per-Group Behaviour (≥7 groups), Bloc Win Rate, Outlier Votes, Forward Implications, Confidence Ledger | get_voting_records, analyze_voting_patterns, analyze_coalition_dynamics, compare_political_groups, track_mep_attendance |
Group roster + coalition table + per-group narratives + Mermaid agreement network | 🔴 HIGH |
| 10 | ⚙️ Workflow Audit | End-of-run self-audit of workflow execution — phases completed, MCP tools called, Core Principles compliance, time budget, issues and recommendations | YAML metadata, 6-Phase Execution, MCP Tool Call Log, 11 Core Principles Scorecard, Artifact Production, Time Budget, Issues & Deviations, Next-Run Recommendations | None (reads workflow log and filesystem) | 6-phase Mermaid flowchart + compliance scorecard + MCP call table | 🟡 MEDIUM |
| 11 | 🔄 Cross-Session Intelligence | Session-over-session narrative across plenary sessions within a period — themes, crystallisation moment, momentum indicators, next-session outlook | Session Overview, Progression Timeline, Session-by-Session Progression (≥200 words each), Cross-Session Themes (≥4), Crystallisation Moment (≥250 words), Momentum Indicators, Next-Session Outlook | get_plenary_sessions, get_meeting_decisions, get_meeting_activities, get_adopted_texts, get_voting_records |
Mermaid timeline + session narratives + momentum table | 🔴 HIGH |
| 12 | 📜 Deep Analysis | Long-form (4 000–10 000 word) Economist-style political intelligence prose — the 30-minute read complement to synthesis-summary | Executive Summary, Structural Thesis, Crystallisation Moment, Coalition Dynamics, Policy Dimensions (≥4 sub-sections), Institutional Dynamics, Geopolitical Context, Forward Trajectory, Confidence & Method | Consumes run's session-baseline, voting-patterns, cross-session-intelligence, coalition-dynamics, stakeholder-map |
≥3 diagrams + named text / RCV citations inline + ≥15 named procedures | 🔴 HIGH |
| 13 | 📆 Session Baseline | Structured calendar + adopted-texts roster for every plenary session in scope — the data-dense reference other artifacts cite | Run Context, Plenary Session Calendar (per session), Session Calendar Diagram, Period Totals, Adopted Texts Roster, Committee Activity Map, Procedure-Code Distribution, Historical Anchor, Data-Source Ledger | get_plenary_sessions, get_adopted_texts, get_procedures, get_committee_info, track_mep_attendance |
Gantt calendar + adopted-texts tables + committee activity map | 🟡 MEDIUM |
| 14 | 🪞 Methodology Reflection | Continuous-improvement retrospective — pipeline, data provenance, SATs applied, AI-FIRST iteration log, strengths, limitations, lessons, biases, update plan. Final artifact of every run. | Pipeline Diagram, Data Sources & Provenance, SATs Applied (≥10), AI-FIRST Iteration Log (Pass 1 / 2 / optional 3), Strengths (≥5), Limitations (≥5), Lessons (≥5), Biases & Mitigations (≥6), Peer Review, Update Plan, References | None directly (reads completed run + workflow-audit + MCP log) | Colour-coded graph TD pipeline + data-provenance table + SATs table + biases table |
🔴 HIGH |
Every mandatory artifact under analysis/daily/*/ has a 1:1 template in analysis/templates/. These compact fill-in skeletons (60–200 lines each) mirror their section in per-artifact-methodologies.md. The 12 optional templates in extended/ are listed in the row below them — they are produced only after every mandatory artifact has passed Stage-C and are gated only when present in the run's manifest.files.extended[].
These six templates codify the reusable EP-domain methodologies — every downloaded MCP data file receives one or more of them (especially per-file-political-intelligence.md), and the other templates compose their fragments.
| # | Template | Role |
|---|---|---|
| F1 | 🏷️ political-classification | 7-dimension event classification (sensitivity, domain, urgency, scope, actors, impact, temporal) — the foundation every other template cites. |
| F2 | 5×5 Likelihood × Impact matrix across 6 risk categories; produces the risk-scoring/ artifacts. |
|
| F3 | 🎭 threat-analysis | Multi-framework threat assessment (Political Threat Landscape 6D + Diamond + Attack Trees + PESTLE + Scenarios + Kill Chain); produces the threat-assessment/ artifacts. |
| F4 | 💼 swot-analysis | Evidence-based political SWOT with TOWS cross-quadrant strategies; reusable inside deep-analysis, synthesis-summary, quantitative-swot. |
| F5 | 👥 stakeholder-impact | 7-lens institutional-actor + civil-society impact lens; reusable inside stakeholder-map, deep-analysis, article stakeholder sections. |
| F6 | 🔍 per-file-political-intelligence | The most-used template: every downloaded EP data file receives a per-file .analysis.md applying classification + SWOT + risk + threat + significance in one pass. |
Artifact catalogue:
../methodologies/artifact-catalog.mdmaps everyanalysis/daily/<run>/…path to one of these six framework templates or one of the 25 per-artifact templates below or one of the 14 agentic-workflow templates listed in the master catalogue above. The README +analysis-index.mdare the only two.mdfiles in this directory not subject to the drift-guard testtest/unit/analysis-templates-referenced.test.js, which enforces that every other template is referenced by basename under.github/prompts/or.github/agents/.
This table maps every template basename to the canonical aggregator section in
which the corresponding artifact is rendered (see src/aggregator/artifact-order.ts and the matching
table in Article-Generation.md §Templates and Artifact-to-Article Mapping). The aggregator never
renders templates directly — it renders the artifacts produced from them — so
the order below is the order in which the corresponding artifact appears in the
final article.
Note: templates that map to a section gated by article-type (
forward-projection,electoral-arc,extended-intel) are silently skipped if the corresponding artifact is not produced for that run — the aggregator never errors on missing artifacts. The artifact horizon requirements live insrc/config/article-horizons.ts.
Produces: A structured 7-dimension classification of an EP political event, determining sensitivity, policy domain, urgency, geographic scope, key actors, impact vectors, and temporal relevance.
When to use: As the first step in any analysis — classification determines which subsequent templates are required and at what depth. Every significant EP event must be classified before risk, threat, or SWOT analysis proceeds.
| Section | Content | Required? |
|---|---|---|
| Document Metadata | Classification ID, event date, EP reference, classifier workflow | ✅ |
| Sensitivity Level | PUBLIC / SENSITIVE / RESTRICTED with rationale | ✅ |
| Policy Domain | Primary + secondary EP committee codes (ECON, LIBE, ENVI, etc.) | ✅ |
| Urgency Level | ROUTINE / ELEVATED / URGENT / CRITICAL | ✅ |
| Geographic Scope | EU-wide / Regional / National / Bilateral | ✅ |
| Actor Mapping | Key MEPs, political groups, committees involved | ✅ |
| Impact Vector | Legislative / Regulatory / Political / Economic | ✅ |
| Temporal Window | Short-term / Medium-term / Long-term horizon | ✅ |
%%{init: {"theme":"dark","themeVariables":{"primaryColor":"#1565C0","primaryTextColor":"#ffffff","primaryBorderColor":"#0A3F7F","lineColor":"#90CAF9","secondaryColor":"#2E7D32","secondaryTextColor":"#ffffff","secondaryBorderColor":"#0F3F00","tertiaryColor":"#FF9800","tertiaryTextColor":"#000000","tertiaryBorderColor":"#7F4F00","mainBkg":"#1565C0","secondBkg":"#2E7D32","tertiaryBkg":"#FF9800","noteBkgColor":"#FFC107","noteTextColor":"#000000","noteBorderColor":"#7F6000","errorBkgColor":"#D32F2F","errorTextColor":"#ffffff","fontFamily":"Inter, Helvetica, Arial, sans-serif","pie1":"#1565C0","pie2":"#2E7D32","pie3":"#FF9800","pie4":"#D32F2F","pie5":"#FFC107","pie6":"#7B1FA2","pie7":"#9E9E9E","pie8":"#0288D1","pie9":"#388E3C","pie10":"#F57C00","pie11":"#C62828","pie12":"#FBC02D","pieTitleTextSize":"18px","pieSectionTextSize":"14px","pieLegendTextSize":"13px","pieStrokeColor":"#1e1e1e","pieOuterStrokeColor":"#1e1e1e","git0":"#1565C0","git1":"#2E7D32","git2":"#FF9800","git3":"#D32F2F","gitBranchLabel0":"#ffffff","gitBranchLabel1":"#ffffff","gitBranchLabel2":"#000000","gitBranchLabel3":"#ffffff","cScale0":"#1565C0","cScale1":"#2E7D32","cScale2":"#FF9800","cScale3":"#D32F2F","cScale4":"#FFC107","cScale5":"#7B1FA2","cScale6":"#9E9E9E","cScale7":"#0288D1","xyChart":{"backgroundColor":"#1e1e1e","plotColorPalette":"#1565C0,#2E7D32,#FF9800,#D32F2F,#FFC107,#7B1FA2,#9E9E9E"}}}}%%
flowchart LR
EP["📥 EP MCP Data"] --> CLS["🏷️ Classification<br/>7 Dimensions"]
CLS --> S["Sensitivity"]
CLS --> D["Domain"]
CLS --> U["Urgency"]
CLS --> G["Scope"]
CLS --> A["Actors"]
CLS --> I["Impact"]
CLS --> T["Temporal"]
S & D & U --> ROUTE{"Route to<br/>Templates"}
style EP fill:#0d6efd,color:#fff,stroke:#0a58ca
style CLS fill:#6f42c1,color:#fff,stroke:#59359a
style ROUTE fill:#ffc107,color:#000,stroke:#d39e00
Methodology: political-classification-guide.md
Produces: A quantified risk register using a 5×5 Likelihood × Impact matrix across six political risk categories: Coalition Risk, Legislative Risk, Institutional Risk, Reputational Risk, Economic Risk, and Democratic Risk.
When to use: For events classified as ELEVATED urgency or above, or when legislative procedures enter critical stages (committee vote, plenary vote, trilogue). Also triggered by voting anomalies or coalition shift signals.
| Section | Content | Required? |
|---|---|---|
| Risk Context | Analysis period, political context, overall risk level | ✅ |
| Risk Register | 6 categories with L×I scores (1–5 each) | ✅ |
| Heat Map | Colour-coded 5×5 Mermaid matrix | ✅ |
| Mitigation Strategies | Recommended monitoring and response actions | ✅ |
| Monitoring Indicators | Leading indicators to track risk trajectory | ✅ |
%%{init: {"theme":"dark","themeVariables":{"primaryColor":"#1565C0","primaryTextColor":"#ffffff","primaryBorderColor":"#0A3F7F","lineColor":"#90CAF9","secondaryColor":"#2E7D32","secondaryTextColor":"#ffffff","secondaryBorderColor":"#0F3F00","tertiaryColor":"#FF9800","tertiaryTextColor":"#000000","tertiaryBorderColor":"#7F4F00","mainBkg":"#1565C0","secondBkg":"#2E7D32","tertiaryBkg":"#FF9800","noteBkgColor":"#FFC107","noteTextColor":"#000000","noteBorderColor":"#7F6000","errorBkgColor":"#D32F2F","errorTextColor":"#ffffff","fontFamily":"Inter, Helvetica, Arial, sans-serif","pie1":"#1565C0","pie2":"#2E7D32","pie3":"#FF9800","pie4":"#D32F2F","pie5":"#FFC107","pie6":"#7B1FA2","pie7":"#9E9E9E","pie8":"#0288D1","pie9":"#388E3C","pie10":"#F57C00","pie11":"#C62828","pie12":"#FBC02D","pieTitleTextSize":"18px","pieSectionTextSize":"14px","pieLegendTextSize":"13px","pieStrokeColor":"#1e1e1e","pieOuterStrokeColor":"#1e1e1e","git0":"#1565C0","git1":"#2E7D32","git2":"#FF9800","git3":"#D32F2F","gitBranchLabel0":"#ffffff","gitBranchLabel1":"#ffffff","gitBranchLabel2":"#000000","gitBranchLabel3":"#ffffff","cScale0":"#1565C0","cScale1":"#2E7D32","cScale2":"#FF9800","cScale3":"#D32F2F","cScale4":"#FFC107","cScale5":"#7B1FA2","cScale6":"#9E9E9E","cScale7":"#0288D1","xyChart":{"backgroundColor":"#1e1e1e","plotColorPalette":"#1565C0,#2E7D32,#FF9800,#D32F2F,#FFC107,#7B1FA2,#9E9E9E"}}}}%%
flowchart LR
DATA["📥 Voting Records<br/>Coalition Dynamics"] --> RISK["⚠️ Risk Assessment"]
RISK --> L["Likelihood<br/>(1–5)"]
RISK --> I["Impact<br/>(1–5)"]
L & I --> SCORE["L×I Score"]
SCORE --> HEAT["🟥🟧🟨🟩<br/>Heat Map"]
style DATA fill:#0d6efd,color:#fff,stroke:#0a58ca
style RISK fill:#dc3545,color:#fff,stroke:#bd2130
style SCORE fill:#ffc107,color:#000,stroke:#d39e00
style HEAT fill:#fd7e14,color:#fff,stroke:#c96009
Methodology: political-risk-methodology.md
Produces: A multi-framework political threat assessment using the Political Threat Landscape as the primary model — a purpose-built 6-dimension framework for EU democratic threats. Additional frameworks (Diamond Model, Attack Trees, PESTLE, Scenario Planning, Kill Chain) layer on for threats rated MODERATE or above.
⚠️ Important: This template uses Political Threat Landscape analysis — NOT STRIDE, DREAD, or PASTA. Those frameworks are designed for software security, not political intelligence. The 6 dimensions are purpose-built for EU parliamentary democracy.
When to use: For all periodic analysis cycles (daily, weekly, monthly) and for events that trigger coalition shifts, transparency concerns, or democratic erosion signals.
The 6 Political Threat Landscape Dimensions:
| # | Dimension | Focus Area | Severity Scale |
|---|---|---|---|
| 1 | 🔄 Coalition Shifts | Voting pattern changes, alliance realignments, political group defections | 1–5 |
| 2 | 🔍 Transparency Deficit | Disclosure gaps, declaration irregularities, committee opacity | 1–5 |
| 3 | ↩️ Policy Reversal | Adopted position reversals, legislative rollbacks, commitment abandonment | 1–5 |
| 4 | 🏛️ Institutional Pressure | Inter-institutional tensions, competence disputes, procedural manipulation | 1–5 |
| 5 | 🚧 Legislative Obstruction | Procedure delays, amendment flooding, committee bottlenecks | 1–5 |
| 6 | 🗳️ Democratic Erosion | Participation decline, mandate violations, electoral integrity concerns | 1–5 |
%%{init: {"theme":"dark","themeVariables":{"primaryColor":"#1565C0","primaryTextColor":"#ffffff","primaryBorderColor":"#0A3F7F","lineColor":"#90CAF9","secondaryColor":"#2E7D32","secondaryTextColor":"#ffffff","secondaryBorderColor":"#0F3F00","tertiaryColor":"#FF9800","tertiaryTextColor":"#000000","tertiaryBorderColor":"#7F4F00","mainBkg":"#1565C0","secondBkg":"#2E7D32","tertiaryBkg":"#FF9800","noteBkgColor":"#FFC107","noteTextColor":"#000000","noteBorderColor":"#7F6000","errorBkgColor":"#D32F2F","errorTextColor":"#ffffff","fontFamily":"Inter, Helvetica, Arial, sans-serif","pie1":"#1565C0","pie2":"#2E7D32","pie3":"#FF9800","pie4":"#D32F2F","pie5":"#FFC107","pie6":"#7B1FA2","pie7":"#9E9E9E","pie8":"#0288D1","pie9":"#388E3C","pie10":"#F57C00","pie11":"#C62828","pie12":"#FBC02D","pieTitleTextSize":"18px","pieSectionTextSize":"14px","pieLegendTextSize":"13px","pieStrokeColor":"#1e1e1e","pieOuterStrokeColor":"#1e1e1e","git0":"#1565C0","git1":"#2E7D32","git2":"#FF9800","git3":"#D32F2F","gitBranchLabel0":"#ffffff","gitBranchLabel1":"#ffffff","gitBranchLabel2":"#000000","gitBranchLabel3":"#ffffff","cScale0":"#1565C0","cScale1":"#2E7D32","cScale2":"#FF9800","cScale3":"#D32F2F","cScale4":"#FFC107","cScale5":"#7B1FA2","cScale6":"#9E9E9E","cScale7":"#0288D1","xyChart":{"backgroundColor":"#1e1e1e","plotColorPalette":"#1565C0,#2E7D32,#FF9800,#D32F2F,#FFC107,#7B1FA2,#9E9E9E"}}}}%%
flowchart TD
DATA["📥 Coalition + Voting<br/>+ Declaration Data"] --> TL["🎭 Political Threat<br/>Landscape (6D)"]
TL --> CS["🔄 Coalition Shifts"]
TL --> TD["🔍 Transparency Deficit"]
TL --> PR["↩️ Policy Reversal"]
TL --> IP["🏛️ Institutional Pressure"]
TL --> LO["🚧 Legislative Obstruction"]
TL --> DE["🗳️ Democratic Erosion"]
CS & TD & PR & IP & LO & DE --> SEV{"Severity<br/>≥ MODERATE?"}
SEV -->|Yes| DEEP["Layer: Diamond Model<br/>+ Attack Trees + PESTLE<br/>+ Scenario Planning<br/>+ Kill Chain"]
SEV -->|No| LOG["Log finding<br/>+ monitor"]
style DATA fill:#0d6efd,color:#fff,stroke:#0a58ca
style TL fill:#343a40,color:#fff,stroke:#23272b
style SEV fill:#ffc107,color:#000,stroke:#d39e00
style DEEP fill:#dc3545,color:#fff,stroke:#bd2130
style LOG fill:#6c757d,color:#fff,stroke:#545b62
Methodology: political-threat-framework.md
Produces: An evidence-based political SWOT assessment for the EU democratic landscape, with separate quadrants for Grand Coalition and Opposition dynamics. Every entry requires an EP document reference — opinion-only entries are prohibited.
When to use: For strategic landscape assessment during periodic analysis cycles, and for events with cross-party implications or institutional significance.
| Section | Content | Required? |
|---|---|---|
| SWOT Context | Analysis period, political context, scope | ✅ |
| Strengths | Positive factors with EP evidence citations | ✅ |
| Weaknesses | Negative internal factors with evidence | ✅ |
| Opportunities | External positive developments with evidence | ✅ |
| Threats | External negative developments with evidence | ✅ |
| Strategic Implications | Cross-quadrant analysis and recommendations | ✅ |
%%{init: {"theme":"dark","themeVariables":{"primaryColor":"#1565C0","primaryTextColor":"#ffffff","primaryBorderColor":"#0A3F7F","lineColor":"#90CAF9","secondaryColor":"#2E7D32","secondaryTextColor":"#ffffff","secondaryBorderColor":"#0F3F00","tertiaryColor":"#FF9800","tertiaryTextColor":"#000000","tertiaryBorderColor":"#7F4F00","mainBkg":"#1565C0","secondBkg":"#2E7D32","tertiaryBkg":"#FF9800","noteBkgColor":"#FFC107","noteTextColor":"#000000","noteBorderColor":"#7F6000","errorBkgColor":"#D32F2F","errorTextColor":"#ffffff","fontFamily":"Inter, Helvetica, Arial, sans-serif","pie1":"#1565C0","pie2":"#2E7D32","pie3":"#FF9800","pie4":"#D32F2F","pie5":"#FFC107","pie6":"#7B1FA2","pie7":"#9E9E9E","pie8":"#0288D1","pie9":"#388E3C","pie10":"#F57C00","pie11":"#C62828","pie12":"#FBC02D","pieTitleTextSize":"18px","pieSectionTextSize":"14px","pieLegendTextSize":"13px","pieStrokeColor":"#1e1e1e","pieOuterStrokeColor":"#1e1e1e","git0":"#1565C0","git1":"#2E7D32","git2":"#FF9800","git3":"#D32F2F","gitBranchLabel0":"#ffffff","gitBranchLabel1":"#ffffff","gitBranchLabel2":"#000000","gitBranchLabel3":"#ffffff","cScale0":"#1565C0","cScale1":"#2E7D32","cScale2":"#FF9800","cScale3":"#D32F2F","cScale4":"#FFC107","cScale5":"#7B1FA2","cScale6":"#9E9E9E","cScale7":"#0288D1","xyChart":{"backgroundColor":"#1e1e1e","plotColorPalette":"#1565C0,#2E7D32,#FF9800,#D32F2F,#FFC107,#7B1FA2,#9E9E9E"}}}}%%
flowchart LR
DATA["📥 Adopted Texts<br/>+ Procedures<br/>+ Voting Records"] --> SWOT["💼 SWOT<br/>Analysis"]
SWOT --> S["💪 Strengths"]
SWOT --> W["⚡ Weaknesses"]
SWOT --> O["🌟 Opportunities"]
SWOT --> T["⚠️ Threats"]
style DATA fill:#0d6efd,color:#fff,stroke:#0a58ca
style SWOT fill:#0d6efd,color:#fff,stroke:#0a58ca
style S fill:#28a745,color:#fff,stroke:#1e7e34
style W fill:#dc3545,color:#fff,stroke:#bd2130
style O fill:#0d6efd,color:#fff,stroke:#0a58ca
style T fill:#ffc107,color:#000,stroke:#d39e00
Methodology: political-swot-framework.md
Produces: A 7-lens stakeholder impact assessment covering all major EU institutional actors and civil society groups. Each stakeholder receives an impact rating (HIGH/MEDIUM/LOW/NONE), direction (positive/negative/neutral), and confidence level.
When to use: For legislative events affecting multiple EU actors, committee decisions with cross-institutional implications, and adopted texts with broad societal impact.
| Section | Content | Required? |
|---|---|---|
| Assessment Context | Event reference, scope, analysis date | ✅ |
| European Council / Council of the EU | Impact, direction, evidence | ✅ |
| European Commission | Impact, direction, evidence | ✅ |
| EP Political Groups | Per-group impact assessment | ✅ |
| National Parliaments | Subsidiarity and transposition impact | ✅ |
| Civil Society / NGOs | Democratic participation impact | ✅ |
| Industry / Business | Regulatory and economic impact | ✅ |
| Citizens / Public | Direct citizen impact assessment | ✅ |
%%{init: {"theme":"dark","themeVariables":{"primaryColor":"#1565C0","primaryTextColor":"#ffffff","primaryBorderColor":"#0A3F7F","lineColor":"#90CAF9","secondaryColor":"#2E7D32","secondaryTextColor":"#ffffff","secondaryBorderColor":"#0F3F00","tertiaryColor":"#FF9800","tertiaryTextColor":"#000000","tertiaryBorderColor":"#7F4F00","mainBkg":"#1565C0","secondBkg":"#2E7D32","tertiaryBkg":"#FF9800","noteBkgColor":"#FFC107","noteTextColor":"#000000","noteBorderColor":"#7F6000","errorBkgColor":"#D32F2F","errorTextColor":"#ffffff","fontFamily":"Inter, Helvetica, Arial, sans-serif","pie1":"#1565C0","pie2":"#2E7D32","pie3":"#FF9800","pie4":"#D32F2F","pie5":"#FFC107","pie6":"#7B1FA2","pie7":"#9E9E9E","pie8":"#0288D1","pie9":"#388E3C","pie10":"#F57C00","pie11":"#C62828","pie12":"#FBC02D","pieTitleTextSize":"18px","pieSectionTextSize":"14px","pieLegendTextSize":"13px","pieStrokeColor":"#1e1e1e","pieOuterStrokeColor":"#1e1e1e","git0":"#1565C0","git1":"#2E7D32","git2":"#FF9800","git3":"#D32F2F","gitBranchLabel0":"#ffffff","gitBranchLabel1":"#ffffff","gitBranchLabel2":"#000000","gitBranchLabel3":"#ffffff","cScale0":"#1565C0","cScale1":"#2E7D32","cScale2":"#FF9800","cScale3":"#D32F2F","cScale4":"#FFC107","cScale5":"#7B1FA2","cScale6":"#9E9E9E","cScale7":"#0288D1","xyChart":{"backgroundColor":"#1e1e1e","plotColorPalette":"#1565C0,#2E7D32,#FF9800,#D32F2F,#FFC107,#7B1FA2,#9E9E9E"}}}}%%
flowchart LR
DATA["📥 MEP Data<br/>+ Committee Info<br/>+ Country Delegation"] --> STK["👥 Stakeholder<br/>Impact"]
STK --> INST["🏛️ EU Institutions"]
STK --> POL["🗳️ Political Groups"]
STK --> CIV["👤 Civil Society"]
STK --> PUB["🌍 Citizens"]
style DATA fill:#0d6efd,color:#fff,stroke:#0a58ca
style STK fill:#20c997,color:#fff,stroke:#199d76
style INST fill:#6f42c1,color:#fff,stroke:#59359a
style POL fill:#fd7e14,color:#fff,stroke:#c96009
style CIV fill:#28a745,color:#fff,stroke:#1e7e34
style PUB fill:#003399,color:#fff,stroke:#002266
Methodology: Template is self-contained; cross-reference ai-driven-analysis-guide.md for quality standards.
Produces: A 5-dimension composite score (0–10) that determines publication priority. Scores drive the editorial decision: PUBLISH (≥7.0), HOLD (5.0–6.9), or SKIP (<5.0).
When to use: For every event under consideration for article generation. Significance scoring is the gatekeeper between analysis and publication — no article should be generated for events scoring below 7.0.
| Section | Content | Required? |
|---|---|---|
| Event Context | Score ID, event name, EP reference, classification ID | ✅ |
| Parliamentary Significance (0–10) | Legislative weight, procedural importance | ✅ |
| Policy Impact (0–10) | Regulatory and policy change magnitude | ✅ |
| Institutional Relevance (0–10) | Cross-institutional importance | ✅ |
| Public Interest (0–10) | Citizen engagement and media attention potential | ✅ |
| Temporal Urgency (0–10) | Time sensitivity and news cycle alignment | ✅ |
| Composite Score | Weighted average with publish/hold/skip decision | ✅ |
%%{init: {"theme":"dark","themeVariables":{"primaryColor":"#1565C0","primaryTextColor":"#ffffff","primaryBorderColor":"#0A3F7F","lineColor":"#90CAF9","secondaryColor":"#2E7D32","secondaryTextColor":"#ffffff","secondaryBorderColor":"#0F3F00","tertiaryColor":"#FF9800","tertiaryTextColor":"#000000","tertiaryBorderColor":"#7F4F00","mainBkg":"#1565C0","secondBkg":"#2E7D32","tertiaryBkg":"#FF9800","noteBkgColor":"#FFC107","noteTextColor":"#000000","noteBorderColor":"#7F6000","errorBkgColor":"#D32F2F","errorTextColor":"#ffffff","fontFamily":"Inter, Helvetica, Arial, sans-serif","pie1":"#1565C0","pie2":"#2E7D32","pie3":"#FF9800","pie4":"#D32F2F","pie5":"#FFC107","pie6":"#7B1FA2","pie7":"#9E9E9E","pie8":"#0288D1","pie9":"#388E3C","pie10":"#F57C00","pie11":"#C62828","pie12":"#FBC02D","pieTitleTextSize":"18px","pieSectionTextSize":"14px","pieLegendTextSize":"13px","pieStrokeColor":"#1e1e1e","pieOuterStrokeColor":"#1e1e1e","git0":"#1565C0","git1":"#2E7D32","git2":"#FF9800","git3":"#D32F2F","gitBranchLabel0":"#ffffff","gitBranchLabel1":"#ffffff","gitBranchLabel2":"#000000","gitBranchLabel3":"#ffffff","cScale0":"#1565C0","cScale1":"#2E7D32","cScale2":"#FF9800","cScale3":"#D32F2F","cScale4":"#FFC107","cScale5":"#7B1FA2","cScale6":"#9E9E9E","cScale7":"#0288D1","xyChart":{"backgroundColor":"#1e1e1e","plotColorPalette":"#1565C0,#2E7D32,#FF9800,#D32F2F,#FFC107,#7B1FA2,#9E9E9E"}}}}%%
flowchart LR
DATA["📥 EP Events<br/>+ Sessions<br/>+ Adopted Texts"] --> SIG["📈 Significance<br/>Scoring"]
SIG --> PS["Parliamentary<br/>Significance"]
SIG --> PI["Policy<br/>Impact"]
SIG --> IR["Institutional<br/>Relevance"]
SIG --> PU["Public<br/>Interest"]
SIG --> TU["Temporal<br/>Urgency"]
PS & PI & IR & PU & TU --> C["📊 Composite<br/>(0–10)"]
C -->|"≥ 7.0"| PUB["✅ PUBLISH"]
C -->|"5.0–6.9"| HOLD["⏸️ HOLD"]
C -->|"< 5.0"| SKIP["⏭️ SKIP"]
style DATA fill:#0d6efd,color:#fff,stroke:#0a58ca
style SIG fill:#ffc107,color:#000,stroke:#d39e00
style C fill:#fd7e14,color:#fff,stroke:#c96009
style PUB fill:#28a745,color:#fff,stroke:#1e7e34
style HOLD fill:#6c757d,color:#fff,stroke:#545b62
style SKIP fill:#dc3545,color:#fff,stroke:#bd2130
Methodology: Scoring dimensions defined in ai-driven-analysis-guide.md.
Produces: A daily intelligence synthesis that aggregates all per-file analyses into a single editorial briefing. This is the template consumed directly by article generators to determine narrative direction, headline selection, and publication priority across all 14 languages.
When to use: Once per analysis cycle (daily, weekly, or monthly) after all per-file analyses are complete. The synthesis serves as the single source of truth for downstream article generation.
| Section | Content | Required? |
|---|---|---|
| Synthesis Context | Synthesis ID, analysis date, document count, data sources | ✅ |
| Headline Intelligence | Top 3–5 findings ranked by significance score | ✅ |
| Aggregated SWOT Summary | Cross-document strength/weakness/opportunity/threat counts | ✅ |
| Risk Overview | Risk category ranges with trend arrows | ✅ |
| Threat Dashboard | Multi-framework summary across all documents | ✅ |
| Stakeholder Map | Aggregated stakeholder impacts with direction indicators | ✅ |
| Forward Indicators | 3 editorial decision points for the next analysis cycle | ✅ |
| Editorial Recommendations | Narrative direction and article type suggestions | ✅ |
%%{init: {"theme":"dark","themeVariables":{"primaryColor":"#1565C0","primaryTextColor":"#ffffff","primaryBorderColor":"#0A3F7F","lineColor":"#90CAF9","secondaryColor":"#2E7D32","secondaryTextColor":"#ffffff","secondaryBorderColor":"#0F3F00","tertiaryColor":"#FF9800","tertiaryTextColor":"#000000","tertiaryBorderColor":"#7F4F00","mainBkg":"#1565C0","secondBkg":"#2E7D32","tertiaryBkg":"#FF9800","noteBkgColor":"#FFC107","noteTextColor":"#000000","noteBorderColor":"#7F6000","errorBkgColor":"#D32F2F","errorTextColor":"#ffffff","fontFamily":"Inter, Helvetica, Arial, sans-serif","pie1":"#1565C0","pie2":"#2E7D32","pie3":"#FF9800","pie4":"#D32F2F","pie5":"#FFC107","pie6":"#7B1FA2","pie7":"#9E9E9E","pie8":"#0288D1","pie9":"#388E3C","pie10":"#F57C00","pie11":"#C62828","pie12":"#FBC02D","pieTitleTextSize":"18px","pieSectionTextSize":"14px","pieLegendTextSize":"13px","pieStrokeColor":"#1e1e1e","pieOuterStrokeColor":"#1e1e1e","git0":"#1565C0","git1":"#2E7D32","git2":"#FF9800","git3":"#D32F2F","gitBranchLabel0":"#ffffff","gitBranchLabel1":"#ffffff","gitBranchLabel2":"#000000","gitBranchLabel3":"#ffffff","cScale0":"#1565C0","cScale1":"#2E7D32","cScale2":"#FF9800","cScale3":"#D32F2F","cScale4":"#FFC107","cScale5":"#7B1FA2","cScale6":"#9E9E9E","cScale7":"#0288D1","xyChart":{"backgroundColor":"#1e1e1e","plotColorPalette":"#1565C0,#2E7D32,#FF9800,#D32F2F,#FFC107,#7B1FA2,#9E9E9E"}}}}%%
flowchart TD
PF1["🔍 Per-File #1"] --> SYN["🧩 Daily Synthesis"]
PF2["🔍 Per-File #2"] --> SYN
PF3["🔍 Per-File #3"] --> SYN
PFN["🔍 Per-File #N"] --> SYN
SYN --> HL["📰 Headlines"]
SYN --> RS["📊 Risk Summary"]
SYN --> ED["✍️ Editorial<br/>Recommendations"]
ED --> ART["📰 Article<br/>Generation<br/>(14 languages)"]
style PF1 fill:#28a745,color:#fff,stroke:#1e7e34
style PF2 fill:#28a745,color:#fff,stroke:#1e7e34
style PF3 fill:#28a745,color:#fff,stroke:#1e7e34
style PFN fill:#28a745,color:#fff,stroke:#1e7e34
style SYN fill:#fd7e14,color:#fff,stroke:#c96009
style ED fill:#6f42c1,color:#fff,stroke:#59359a
style ART fill:#003399,color:#fff,stroke:#002266
Methodology: Aggregation rules defined in ai-driven-analysis-guide.md.
Produces: A comprehensive per-document analysis covering all six specialist frameworks in a single integrated output. This is the most used template — every downloaded EP MCP data file receives a .analysis.md file generated from this template, stored alongside the data file.
When to use: For every EP MCP data file downloaded during an analysis cycle. The per-file template is mandatory: no data file should exist without a corresponding analysis.
| Section | Content | Required? |
|---|---|---|
| Document Identity | EP doc ref, type, date, committee, MCP tool source | ✅ |
| Executive Summary | 3–5 sentence intelligence summary with confidence labels | ✅ |
| Political Classification | Inline 7-dimension classification (from classification template) | ✅ |
| SWOT Assessment | Grand Coalition + Opposition quadrant analysis | ✅ |
| Risk Matrix | Likelihood × Impact scores for applicable risk categories | ✅ |
| Threat Landscape | Applicable dimensions from 6D Political Threat Landscape | ✅ |
| Stakeholder Assessment | 7-lens impact assessment for affected stakeholder groups | ✅ |
| Significance Score | 5-dimension composite with publish decision | ✅ |
| Forward Indicators | Timeline-based monitoring metrics | ✅ |
%%{init: {"theme":"dark","themeVariables":{"primaryColor":"#1565C0","primaryTextColor":"#ffffff","primaryBorderColor":"#0A3F7F","lineColor":"#90CAF9","secondaryColor":"#2E7D32","secondaryTextColor":"#ffffff","secondaryBorderColor":"#0F3F00","tertiaryColor":"#FF9800","tertiaryTextColor":"#000000","tertiaryBorderColor":"#7F4F00","mainBkg":"#1565C0","secondBkg":"#2E7D32","tertiaryBkg":"#FF9800","noteBkgColor":"#FFC107","noteTextColor":"#000000","noteBorderColor":"#7F6000","errorBkgColor":"#D32F2F","errorTextColor":"#ffffff","fontFamily":"Inter, Helvetica, Arial, sans-serif","pie1":"#1565C0","pie2":"#2E7D32","pie3":"#FF9800","pie4":"#D32F2F","pie5":"#FFC107","pie6":"#7B1FA2","pie7":"#9E9E9E","pie8":"#0288D1","pie9":"#388E3C","pie10":"#F57C00","pie11":"#C62828","pie12":"#FBC02D","pieTitleTextSize":"18px","pieSectionTextSize":"14px","pieLegendTextSize":"13px","pieStrokeColor":"#1e1e1e","pieOuterStrokeColor":"#1e1e1e","git0":"#1565C0","git1":"#2E7D32","git2":"#FF9800","git3":"#D32F2F","gitBranchLabel0":"#ffffff","gitBranchLabel1":"#ffffff","gitBranchLabel2":"#000000","gitBranchLabel3":"#ffffff","cScale0":"#1565C0","cScale1":"#2E7D32","cScale2":"#FF9800","cScale3":"#D32F2F","cScale4":"#FFC107","cScale5":"#7B1FA2","cScale6":"#9E9E9E","cScale7":"#0288D1","xyChart":{"backgroundColor":"#1e1e1e","plotColorPalette":"#1565C0,#2E7D32,#FF9800,#D32F2F,#FFC107,#7B1FA2,#9E9E9E"}}}}%%
flowchart TD
MCP["📥 Single EP<br/>MCP Data File"] --> PFI["🔍 Per-File<br/>Intelligence"]
PFI --> CLS["🏷️ Classify"]
PFI --> SWT["💼 SWOT"]
PFI --> RSK["⚠️ Risk"]
PFI --> THR["🎭 Threat"]
PFI --> STK["👥 Stakeholder"]
PFI --> SIG["📈 Score"]
CLS & SWT & RSK & THR & STK & SIG --> OUT[".analysis.md<br/>saved alongside<br/>data file"]
OUT --> SYN["🧩 Feed into<br/>Daily Synthesis"]
style MCP fill:#0d6efd,color:#fff,stroke:#0a58ca
style PFI fill:#28a745,color:#fff,stroke:#1e7e34
style OUT fill:#fd7e14,color:#fff,stroke:#c96009
style SYN fill:#fd7e14,color:#fff,stroke:#c96009
style CLS fill:#6f42c1,color:#fff,stroke:#59359a
style RSK fill:#dc3545,color:#fff,stroke:#bd2130
style THR fill:#343a40,color:#fff,stroke:#23272b
Methodology: Full per-file protocol defined in ai-driven-analysis-guide.md.
Use this matrix to determine which templates apply to each EP data category. Per-File Intelligence always applies — additional specialist templates are triggered by the data type:
| MCP Data Category | Directory | Per-File | Classification | Risk | Threat | SWOT | Stakeholder | Significance |
|---|---|---|---|---|---|---|---|---|
| Adopted texts (legislative resolutions) | adopted-texts/ |
✅ | ✅ | ✅ | ⬜ | ⬜ | ⬜ | ✅ |
| Committee documents (reports, opinions) | committee-documents/ |
✅ | ⬜ | ✅ | ⬜ | ⬜ | ✅ | ⬜ |
| Legislative procedures | procedures/ |
✅ | ⬜ | ✅ | ⬜ | ✅ | ⬜ | ⬜ |
| Plenary votes (roll-call) | votes/ |
✅ | ✅ | ⬜ | ✅ | ✅ | ⬜ | ⬜ |
| Speeches (plenary debates) | speeches/ |
✅ | ⬜ | ⬜ | ⬜ | ⬜ | ✅ | ✅ |
| Parliamentary questions | questions/ |
✅ | ✅ | ⬜ | ⬜ | ⬜ | ⬜ | ✅ |
| Events (hearings, conferences) | events/ |
✅ | ⬜ | ✅ | ⬜ | ⬜ | ⬜ | ✅ |
| MEP profiles | meps/ |
✅ | ✅ | ⬜ | ⬜ | ⬜ | ✅ | ⬜ |
| MEP declarations | declarations/ |
✅ | ⬜ | ✅ | ✅ | ⬜ | ⬜ | ⬜ |
| Plenary documents | plenary-documents/ |
✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| External documents (Commission, Council) | external-documents/ |
✅ | ⬜ | ✅ | ⬜ | ✅ | ⬜ | ⬜ |
| IMF data (primary economic) | imf/ |
✅ | ⬜ | ✅ | ⬜ | ✅ | ⬜ | ⬜ |
| World Bank data (non-economic) | world-bank/ |
✅ | ⬜ | ✅ | ⬜ | ✅ | ⬜ | ⬜ |
Legend: ✅ = Primary template for this data type | ⬜ = Optional / use if relevant
Analysis templates compose into a temporal aggregation pipeline. Per-file analyses feed daily synthesis, which aggregates into weekly intelligence, then monthly strategic reports:
%%{init: {"theme":"dark","themeVariables":{"primaryColor":"#1565C0","primaryTextColor":"#ffffff","primaryBorderColor":"#0A3F7F","lineColor":"#90CAF9","secondaryColor":"#2E7D32","secondaryTextColor":"#ffffff","secondaryBorderColor":"#0F3F00","tertiaryColor":"#FF9800","tertiaryTextColor":"#000000","tertiaryBorderColor":"#7F4F00","mainBkg":"#1565C0","secondBkg":"#2E7D32","tertiaryBkg":"#FF9800","noteBkgColor":"#FFC107","noteTextColor":"#000000","noteBorderColor":"#7F6000","errorBkgColor":"#D32F2F","errorTextColor":"#ffffff","fontFamily":"Inter, Helvetica, Arial, sans-serif","pie1":"#1565C0","pie2":"#2E7D32","pie3":"#FF9800","pie4":"#D32F2F","pie5":"#FFC107","pie6":"#7B1FA2","pie7":"#9E9E9E","pie8":"#0288D1","pie9":"#388E3C","pie10":"#F57C00","pie11":"#C62828","pie12":"#FBC02D","pieTitleTextSize":"18px","pieSectionTextSize":"14px","pieLegendTextSize":"13px","pieStrokeColor":"#1e1e1e","pieOuterStrokeColor":"#1e1e1e","git0":"#1565C0","git1":"#2E7D32","git2":"#FF9800","git3":"#D32F2F","gitBranchLabel0":"#ffffff","gitBranchLabel1":"#ffffff","gitBranchLabel2":"#000000","gitBranchLabel3":"#ffffff","cScale0":"#1565C0","cScale1":"#2E7D32","cScale2":"#FF9800","cScale3":"#D32F2F","cScale4":"#FFC107","cScale5":"#7B1FA2","cScale6":"#9E9E9E","cScale7":"#0288D1","xyChart":{"backgroundColor":"#1e1e1e","plotColorPalette":"#1565C0,#2E7D32,#FF9800,#D32F2F,#FFC107,#7B1FA2,#9E9E9E"}}}}%%
flowchart LR
subgraph "Per-File Layer"
F1["🔍 file-1.analysis.md"]
F2["🔍 file-2.analysis.md"]
FN["🔍 file-N.analysis.md"]
end
subgraph "Daily Layer"
DS["🧩 Daily Synthesis<br/>synthesis-summary.md"]
end
subgraph "Weekly Layer"
WS["📅 Weekly<br/>Intelligence Brief"]
end
subgraph "Monthly Layer"
MS["📊 Monthly<br/>Strategic Report"]
end
F1 & F2 & FN --> DS
DS --> WS
WS --> MS
MS --> PUB["📰 Published<br/>Articles<br/>(14 languages)"]
style F1 fill:#28a745,color:#fff,stroke:#1e7e34
style F2 fill:#28a745,color:#fff,stroke:#1e7e34
style FN fill:#28a745,color:#fff,stroke:#1e7e34
style DS fill:#fd7e14,color:#fff,stroke:#c96009
style WS fill:#6f42c1,color:#fff,stroke:#59359a
style MS fill:#003399,color:#fff,stroke:#002266
style PUB fill:#20c997,color:#fff,stroke:#199d76
| Pipeline Stage | Input | Output | Frequency | Storage Location |
|---|---|---|---|---|
| Per-File Analysis | Single EP MCP data file | {id}.analysis.md alongside data |
Per file download | analysis/YYYY-MM-DD/{slug}/data/ |
| Daily Synthesis | All per-file analyses from one day | synthesis-summary.md |
Daily | analysis/YYYY-MM-DD/{slug}/ |
| Weekly Brief | 5–7 daily syntheses | Weekly intelligence report | Weekly | analysis/daily/ |
| Monthly Report | 4–5 weekly briefs | Monthly strategic report | Monthly | analysis/monthly/ |
All template outputs must meet the quality gate defined in the AI-Driven Analysis Guide:
| Requirement | Threshold | Enforcement |
|---|---|---|
| Overall Quality Score | ≥ 7.0 / 10 | Self-assessed by AI agent; failed analyses must be revised |
| Evidence Citations | 100% of claims | Every factual assertion cites an EP document, MCP data file, or named source |
| Structured Output | Tables + Mermaid diagrams | Plain prose without structure is rejected |
| Confidence Labels | All assertions | HIGH / MEDIUM / LOW confidence on every finding |
| Mermaid Diagrams | Colour-coded with style directives |
Unlabelled or unstyled diagrams are rejected |
| Anti-Boilerplate | Zero tolerance | Generic statements without data-specific analysis trigger revision |
| Metadata Completeness | All [REQUIRED] fields filled |
Placeholder text in output is automatically rejected |
| Template Compliance | Exact section structure preserved | Sections must not be added, removed, or reordered |
The 7.0/10 quality gate is assessed across five dimensions:
- Analytical Depth (weight: 30%) — Does the analysis go beyond surface-level observations?
- Evidence Quality (weight: 25%) — Are citations specific (EP doc IDs, MCP data refs) rather than vague?
- Structural Compliance (weight: 20%) — Does the output follow the template exactly?
- Insight Originality (weight: 15%) — Does the analysis produce novel intelligence, not regurgitate input data?
- Presentation Quality (weight: 10%) — Are Mermaid diagrams colour-coded and tables properly formatted?
Templates enforce strict anti-patterns to prevent low-quality intelligence production:
| ❌ Anti-Pattern | Why It Fails | ✅ Correct Approach |
|---|---|---|
| Generic scripted prose ("Coalition stability appears maintained") | Indicates the AI has NOT read the actual data | Cite specific voting records, coalition dynamics data, or anomaly detection outputs |
| Using STRIDE, DREAD, or PASTA for threat analysis | These are software security frameworks, not political intelligence models | Use Political Threat Landscape (6 dimensions: Coalition Shifts, Transparency Deficit, Policy Reversal, Institutional Pressure, Legislative Obstruction, Democratic Erosion) |
Placeholder text in output ([REQUIRED], [TBD], [TODO]) |
Indicates incomplete analysis | Fill every required field with actual data-driven content |
| Unstyled Mermaid diagrams | Missing colour coding makes diagrams unreadable and non-compliant | Add style directives with hex colours to every Mermaid node |
| Opinion without evidence ("The EU faces challenges") | Unsubstantiated claims violate evidence-based methodology | Every claim must cite: EP procedure ID, adopted text ref, or MCP data path |
| Scores without dimension breakdowns (e.g., "Risk: Medium") | Undimensioned scores are unverifiable and unreproducible | Provide full breakdown: L×I for risk, 5-dimension for significance, 6D for threat |
| Copy-paste from previous analyses | Recycled content misses document-specific intelligence | Analyse each data file independently; cross-reference prior work but never copy |
| Missing confidence labels | Without confidence tags, consumers cannot assess reliability | Tag every assertion: [HIGH confidence], [MEDIUM confidence], or [LOW confidence] |
%%{init: {"theme":"dark","themeVariables":{"primaryColor":"#1565C0","primaryTextColor":"#ffffff","primaryBorderColor":"#0A3F7F","lineColor":"#90CAF9","secondaryColor":"#2E7D32","secondaryTextColor":"#ffffff","secondaryBorderColor":"#0F3F00","tertiaryColor":"#FF9800","tertiaryTextColor":"#000000","tertiaryBorderColor":"#7F4F00","mainBkg":"#1565C0","secondBkg":"#2E7D32","tertiaryBkg":"#FF9800","noteBkgColor":"#FFC107","noteTextColor":"#000000","noteBorderColor":"#7F6000","errorBkgColor":"#D32F2F","errorTextColor":"#ffffff","fontFamily":"Inter, Helvetica, Arial, sans-serif","pie1":"#1565C0","pie2":"#2E7D32","pie3":"#FF9800","pie4":"#D32F2F","pie5":"#FFC107","pie6":"#7B1FA2","pie7":"#9E9E9E","pie8":"#0288D1","pie9":"#388E3C","pie10":"#F57C00","pie11":"#C62828","pie12":"#FBC02D","pieTitleTextSize":"18px","pieSectionTextSize":"14px","pieLegendTextSize":"13px","pieStrokeColor":"#1e1e1e","pieOuterStrokeColor":"#1e1e1e","git0":"#1565C0","git1":"#2E7D32","git2":"#FF9800","git3":"#D32F2F","gitBranchLabel0":"#ffffff","gitBranchLabel1":"#ffffff","gitBranchLabel2":"#000000","gitBranchLabel3":"#ffffff","cScale0":"#1565C0","cScale1":"#2E7D32","cScale2":"#FF9800","cScale3":"#D32F2F","cScale4":"#FFC107","cScale5":"#7B1FA2","cScale6":"#9E9E9E","cScale7":"#0288D1","xyChart":{"backgroundColor":"#1e1e1e","plotColorPalette":"#1565C0,#2E7D32,#FF9800,#D32F2F,#FFC107,#7B1FA2,#9E9E9E"}}}}%%
graph TD
subgraph "🚫 WRONG Approach"
STRIDE["STRIDE Categories<br/>(cybersecurity)"]
STRIDE_OUT["❌ Superficial<br/>categorisation"]
STRIDE --> STRIDE_OUT
end
subgraph "✅ CORRECT Approach"
MULTI["Multi-Framework<br/>Integration"]
PTL["🎯 Political Threat<br/>Landscape (6D)"]
AT["🌳 Attack Trees"]
DM["💎 Diamond Model"]
KC["⚔️ Kill Chain"]
MULTI --> PTL & AT & DM & KC
PTL & AT & DM & KC --> DEEP["✅ Actionable<br/>intelligence"]
end
style STRIDE fill:#dc3545,color:#fff,stroke:#b02a37
style STRIDE_OUT fill:#dc3545,color:#fff,stroke:#b02a37
style MULTI fill:#198754,color:#fff,stroke:#146c43,stroke-width:2px
style PTL fill:#0d6efd,color:#fff,stroke:#0a58ca
style AT fill:#fd7e14,color:#fff,stroke:#ca6510
style DM fill:#6f42c1,color:#fff,stroke:#59359a
style KC fill:#d63384,color:#fff,stroke:#ab296a
style DEEP fill:#198754,color:#fff,stroke:#146c43
Each agentic workflow uses a tailored subset of templates. This ensures every article type produces analytics unique to its focus area:
%%{init: {"theme":"dark","themeVariables":{"primaryColor":"#1565C0","primaryTextColor":"#ffffff","primaryBorderColor":"#0A3F7F","lineColor":"#90CAF9","secondaryColor":"#2E7D32","secondaryTextColor":"#ffffff","secondaryBorderColor":"#0F3F00","tertiaryColor":"#FF9800","tertiaryTextColor":"#000000","tertiaryBorderColor":"#7F4F00","mainBkg":"#1565C0","secondBkg":"#2E7D32","tertiaryBkg":"#FF9800","noteBkgColor":"#FFC107","noteTextColor":"#000000","noteBorderColor":"#7F6000","errorBkgColor":"#D32F2F","errorTextColor":"#ffffff","fontFamily":"Inter, Helvetica, Arial, sans-serif","pie1":"#1565C0","pie2":"#2E7D32","pie3":"#FF9800","pie4":"#D32F2F","pie5":"#FFC107","pie6":"#7B1FA2","pie7":"#9E9E9E","pie8":"#0288D1","pie9":"#388E3C","pie10":"#F57C00","pie11":"#C62828","pie12":"#FBC02D","pieTitleTextSize":"18px","pieSectionTextSize":"14px","pieLegendTextSize":"13px","pieStrokeColor":"#1e1e1e","pieOuterStrokeColor":"#1e1e1e","git0":"#1565C0","git1":"#2E7D32","git2":"#FF9800","git3":"#D32F2F","gitBranchLabel0":"#ffffff","gitBranchLabel1":"#ffffff","gitBranchLabel2":"#000000","gitBranchLabel3":"#ffffff","cScale0":"#1565C0","cScale1":"#2E7D32","cScale2":"#FF9800","cScale3":"#D32F2F","cScale4":"#FFC107","cScale5":"#7B1FA2","cScale6":"#9E9E9E","cScale7":"#0288D1","xyChart":{"backgroundColor":"#1e1e1e","plotColorPalette":"#1565C0,#2E7D32,#FF9800,#D32F2F,#FFC107,#7B1FA2,#9E9E9E"}}}}%%
flowchart TD
subgraph "📋 8 Templates"
T1["🏷️ Classification"]
T2["⚠️ Risk Assessment"]
T3["🎭 Threat Analysis"]
T4["💼 SWOT"]
T5["👥 Stakeholder Impact"]
T6["📈 Significance"]
T7["🧩 Synthesis"]
T8["🔍 Per-File Intel"]
end
subgraph "📰 Workflows"
BK["🔴 Breaking"]
MO["📋 Motions"]
PR["📜 Propositions"]
CR["🏛️ Committee"]
WA["📅 Week Ahead"]
WR["📊 Weekly Review"]
MA["📆 Month Ahead"]
MR["📈 Monthly Review"]
end
T1 --> BK & MO & WR
T2 --> BK & CR & PR & MR
T3 --> MO & MA & MR
T4 --> PR & WA & WR & MA & MR
T5 --> CR & MO & MA
T6 --> BK & WA & WR
T7 --> WR & MR
T8 --> BK & MO & PR & CR & WA & WR & MA & MR
style BK fill:#dc3545,stroke:#b02a37,color:#fff
style MO fill:#fd7e14,stroke:#ca6510,color:#fff
style PR fill:#ffc107,stroke:#cc9a06,color:#000
style CR fill:#198754,stroke:#146c43,color:#fff
style WA fill:#0d6efd,stroke:#0a58ca,color:#fff
style WR fill:#6f42c1,stroke:#59359a,color:#fff
style MA fill:#d63384,stroke:#ab296a,color:#fff
style MR fill:#0dcaf0,stroke:#0aa2c0,color:#000
style T8 fill:#20c997,stroke:#1aa179,color:#fff
| Workflow | Primary Templates | Unique Analytics Produced |
|---|---|---|
| Breaking News | Classification + Risk + Significance + Per-File | ⚡ Real-time urgency rating; today-only significance scoring; breaking alert classification |
| Motions | Classification + Threat + Stakeholder + Per-File | 🗳️ Per-resolution threat dimension mapping; political group impact analysis; defection tracking |
| Propositions | Risk + SWOT + Per-File | 📜 Legislative pipeline risk scoring; opportunity analysis for upcoming procedures |
| Committee Reports | Risk + Classification + Stakeholder + Per-File | 🏛️ Committee-level stakeholder mapping; document classification by committee domain |
| Week Ahead | SWOT + Risk + Significance + Per-File | 📅 Forward-looking SWOT for upcoming agenda; vote risk pre-assessment |
| Weekly Review | Classification + SWOT + Significance + Synthesis + Per-File | 📊 Outcome classification; week-level SWOT synthesis; performance metrics |
| Month Ahead | SWOT + Threat + Stakeholder + Per-File | 📆 Strategic SWOT outlook; emerging threat landscape; institutional stakeholder analysis |
| Monthly Review | ALL templates | 📈 Comprehensive analysis applying every template in the catalog; inter-temporal trend synthesis |
Per-File Intelligence (
per-file-political-intelligence.md) is applied to every workflow because every downloaded MCP data file receives individual deep analysis.
While every template in the catalog applies to every document, certain templates produce richer, more unique output depending on the document type. The AI agent should allocate proportionally more depth to the highlighted templates:
%%{init: {"theme":"dark","themeVariables":{"primaryColor":"#1565C0","primaryTextColor":"#ffffff","primaryBorderColor":"#0A3F7F","lineColor":"#90CAF9","secondaryColor":"#2E7D32","secondaryTextColor":"#ffffff","secondaryBorderColor":"#0F3F00","tertiaryColor":"#FF9800","tertiaryTextColor":"#000000","tertiaryBorderColor":"#7F4F00","mainBkg":"#1565C0","secondBkg":"#2E7D32","tertiaryBkg":"#FF9800","noteBkgColor":"#FFC107","noteTextColor":"#000000","noteBorderColor":"#7F6000","errorBkgColor":"#D32F2F","errorTextColor":"#ffffff","fontFamily":"Inter, Helvetica, Arial, sans-serif","pie1":"#1565C0","pie2":"#2E7D32","pie3":"#FF9800","pie4":"#D32F2F","pie5":"#FFC107","pie6":"#7B1FA2","pie7":"#9E9E9E","pie8":"#0288D1","pie9":"#388E3C","pie10":"#F57C00","pie11":"#C62828","pie12":"#FBC02D","pieTitleTextSize":"18px","pieSectionTextSize":"14px","pieLegendTextSize":"13px","pieStrokeColor":"#1e1e1e","pieOuterStrokeColor":"#1e1e1e","git0":"#1565C0","git1":"#2E7D32","git2":"#FF9800","git3":"#D32F2F","gitBranchLabel0":"#ffffff","gitBranchLabel1":"#ffffff","gitBranchLabel2":"#000000","gitBranchLabel3":"#ffffff","cScale0":"#1565C0","cScale1":"#2E7D32","cScale2":"#FF9800","cScale3":"#D32F2F","cScale4":"#FFC107","cScale5":"#7B1FA2","cScale6":"#9E9E9E","cScale7":"#0288D1","xyChart":{"backgroundColor":"#1e1e1e","plotColorPalette":"#1565C0,#2E7D32,#FF9800,#D32F2F,#FFC107,#7B1FA2,#9E9E9E"}}}}%%
graph TB
subgraph "🔴 Breaking News"
BK_T1["🔍 Per-File Intel<br/><b>Focus: urgency assessment</b>"]
BK_T2["📈 Significance<br/><b>Focus: real-time scoring</b>"]
BK_T3["⚠️ Risk<br/><b>Focus: impact severity</b>"]
end
subgraph "📋 Motions"
MO_T1["🔍 Per-File Intel<br/><b>Focus: vote breakdown</b>"]
MO_T2["🎭 Threat<br/><b>Focus: defection patterns</b>"]
MO_T3["👥 Stakeholder<br/><b>Focus: group alignment</b>"]
end
subgraph "📜 Propositions"
PR_T1["🔍 Per-File Intel<br/><b>Focus: legislative pipeline</b>"]
PR_T2["⚠️ Risk<br/><b>Focus: procedure risk</b>"]
PR_T3["👥 Stakeholder<br/><b>Focus: rapporteur influence</b>"]
end
subgraph "🏛️ Committee Reports"
CR_T1["🔍 Per-File Intel<br/><b>Focus: committee output</b>"]
CR_T2["⚠️ Risk<br/><b>Focus: committee risk</b>"]
CR_T3["👥 Stakeholder<br/><b>Focus: committee dynamics</b>"]
end
style BK_T1 fill:#dc3545,color:#fff,stroke:#b02a37
style BK_T2 fill:#dc3545,color:#fff,stroke:#b02a37
style BK_T3 fill:#dc3545,color:#fff,stroke:#b02a37
style MO_T1 fill:#fd7e14,color:#fff,stroke:#ca6510
style MO_T2 fill:#fd7e14,color:#fff,stroke:#ca6510
style MO_T3 fill:#fd7e14,color:#fff,stroke:#ca6510
style PR_T1 fill:#0d6efd,color:#fff,stroke:#0a58ca
style PR_T2 fill:#0d6efd,color:#fff,stroke:#0a58ca
style PR_T3 fill:#0d6efd,color:#fff,stroke:#0a58ca
style CR_T1 fill:#198754,color:#fff,stroke:#146c43
style CR_T2 fill:#198754,color:#fff,stroke:#146c43
style CR_T3 fill:#198754,color:#fff,stroke:#146c43
Each article type should produce unique analytical sections in its synthesis that no other workflow can produce:
| Article Type | Template | Unique Section Name | What Makes It Unique |
|---|---|---|---|
| Breaking News | Significance | Breaking Urgency Rating | Real-time significance assessment with 6-hour refresh — only breaking workflow has this cadence |
| Breaking News | Risk | Political Temperature Spike | Immediate impact assessment for events published today — no other workflow operates at this tempo |
| Motions | Threat | Defection Pattern Dashboard | Political group voting discipline per-resolution — only motion workflow analyses individual vote breakdowns |
| Motions | Stakeholder | Cross-Group Alignment Map | Which groups vote together on this resolution — unique cross-party cooperation/opposition analysis |
| Propositions | Risk | Legislative Pipeline Risk | Where the procedure sits (committee → plenary → trilogue → adoption) and risk of delay/amendment |
| Propositions | Stakeholder | Rapporteur Influence Scorecard | Rapporteur and shadow rapporteur influence mapping, amendment success rate — unique to procedure analysis |
| Committee Reports | Per-File Intel | Committee Productivity Matrix | Per-committee output volume, meeting frequency, document production rate |
| Committee Reports | Stakeholder | Cross-Committee Comparison | Relative workload and output comparison across EP committees — only committee workflow has this breadth |
| Week Ahead | SWOT | Pre-Plenary Intelligence Brief | Forward-looking SWOT for upcoming plenary agenda — only week-ahead can provide this prospective view |
| Week Ahead | Risk | Scheduled Vote Risk Pre-Assessment | Vote-by-vote risk prediction for upcoming plenary — unique forward-looking risk assessment |
| Weekly Review | SWOT | Week-over-Week Trend Delta | How did this week's political temperature differ from last week? Only weekly scope enables this |
| Weekly Review | Synthesis | Weekly Parliamentary Pulse | Aggregated activity index combining all document types into a single weekly metric |
| Month Ahead | Risk | Strategic Calendar Risk Map | Forward-looking risk landscape tied to specific scheduled events (budget debates, EU summits) |
| Monthly Review | Synthesis | Grand Coalition Scorecard | Monthly assessment of Grand Coalition legislative effectiveness, cohesion, and political group performance rankings |
| Document | Relationship |
|---|---|
| 📖 Analysis Directory README | Parent directory overview; describes full analysis directory structure |
| 🤖 AI-Driven Analysis Guide | Master guide for per-file analysis protocol, quality gates, and anti-patterns |
| 🏷️ Classification Guide | Full methodology for 7-dimension political event classification |
| Full methodology for 5×5 Likelihood × Impact political risk scoring | |
| 🎭 Threat Framework | Full methodology for 6-dimension Political Threat Landscape + layered frameworks |
| 💼 SWOT Framework | Full methodology for evidence-based political SWOT quadrant analysis |
| ✍️ Style Guide | Editorial and analytical writing standards for EP intelligence |
| 📐 Architecture | System architecture context for the analysis pipeline |
| 🔄 Workflows | CI/CD workflows that trigger and consume analysis template outputs |
| 🛡️ Security Architecture | Security controls governing analysis data handling |
| Field | Value |
|---|---|
| Document ID | TMPL-README-001 |
| Title | Analysis Templates — Directory Documentation |
| Owner | CEO |
| Version | 3.3 |
| Classification | Public |
| Created | 2026-03-30 |
| Last Updated | 2026-05-02 |
| Review Cycle | Quarterly |
| Next Review | 2026-07-31 |
| Organisation | Hack23 AB (Org.nr 5595347807) |
| Approved By | CEO |
| Version | Date | Changes |
|---|---|---|
| 3.3 | 2026-05-02 | Mermaid normalisation sweep across all 59 templates. Added the canonical universal init block (with pie1–pie12, git0–git3, cScale0–cScale7, and the xyChart palette) to the 9 mermaid blocks that previously used theme:default or no init at all (consequence-trees.md, executive-brief.md, forward-projection.md, legislative-pipeline-forecast.md, legislative-velocity-risk.md, mandate-fulfilment-scorecard.md, seat-projection.md, term-arc.md ×2). Added new color-coded mermaid diagrams to the 6 templates that previously had none — deep-analysis.md (3 diagrams to satisfy Stage-C floor), commission-wp-alignment.md, parliamentary-calendar-projection.md, presidency-trio-context.md (2 diagrams), imf-vintage-audit.md, data-download-manifest.md. Added a severity-coded 6-dimension fan-out diagram to political-threat-landscape.md. Added a new 🎨 Mermaid Authoring Standard section linking to the canonical init blocks in political-style-guide.md. Added a Template ↔ Article Section cross-reference table mirroring the order in src/aggregator/artifact-order.ts and Article-Generation.md §"Templates and Artifact-to-Article Mapping". No line-floors changed; no template was renamed. |
| 3.2 | 2026-04-25 | Coherent v3.2 release across analysis/methodologies/ + analysis/templates/. Headline corrected from “39 templates” to “51 templates” (8 split-family + 31 per-artifact + 12 extended). Cross-references between every template and its controlling ### section in per-artifact-methodologies.md verified bidirectional. Stage-C validator status corrected — npm run validate-analysis (scripts/validate-analysis-completeness.js) is the active completeness gate; only the duplicate src/utils/validate-analysis-completeness.ts was purged. Badge dates and Next-Review aligned with methodology release. No template line-floor was lowered. |
| 3.1 | 2026-04-06 | Cross-session intelligence & quality gate enhancements across all 8 templates — see details below |
| 3.0 | 2026-03-31 | Initial master README consolidating all 8 templates with ISMS alignment |
| Template | Version | Enhancement |
|---|---|---|
per-file-political-intelligence.md |
1.0→1.1 | Added EP MCP Tool Mapping per section; added Cross-Session Delta Tracking section |
significance-scoring.md |
2.0→2.1 | Added Publication Decision Tree (Mermaid flowchart with HOLD/SKIP); added EP Calendar Awareness with recess scoring adjustments |
synthesis-summary.md |
1.0→1.1 | Added Temporal Aggregation Rollup Guidance (daily→weekly→monthly hierarchy); added Cross-Session Intra-Day Aggregation rules |
stakeholder-impact.md |
2.0→2.1 | Added EU Institutional Hierarchy Awareness (Mermaid cascade diagram); added Cross-Committee Stakeholder Mapping |
threat-analysis.md |
2.0→2.1 | Added Cross-Session Bayesian Update section (prior/posterior severity tracking per dimension) |
risk-assessment.md |
2.0→2.1 | Added Risk Register Continuity section (carry-forward, trajectory visualization, lifecycle rules) |
swot-analysis.md |
2.0→2.1 | Expanded TOWS Strategic Matrix with Mermaid diagram, detailed options table, and Strategic Priority Ranking |
political-classification.md |
2.0→2.1 | Added Recess-Period Classification Rules (recess detection, urgency overrides, calendar context) |
📋 EU Parliament Monitor Analysis Templates — Structured Intelligence for Democratic Transparency
© 2024-2026 Hack23 AB — hack23.com