Method & data

About the project

An open, politically unaffiliated research project: for every Riksdag vote 2022–2026, one AI agent per party decides how the party should vote from its own documents alone, compared with how it actually voted.

Methodology

Reconstruction, not prediction. The project measures how well an AI agent can reconstruct a party's voting behaviour from the party's own public documents alone. It does not measure forecasting ability: the model's training data most likely contains the real outcomes.

Setup

Which documents the agent sees

Every party gets its own documents and no one else's. Each document becomes visible only from its own adoption date onward — the rule the Tidö agreement always followed.

DocumentWhich partiesFrom
2022 election manifestoall eightalways — and it wins where the documents conflict
Party programmeall eightits adoption date; the standing version rolls over mid-term

Bloc documents are excluded. The Tidö agreement and the shadow budgets were used in the previous run and are now deliberately removed: the basis must be the party's own plan, symmetric across all eight parties, not a coalition deal only some of them signed. The consequence is intentional and large — a governing party whose vote follows the Tidö agreement diverges from its own manifesto, and that difference is exactly what the measurement is for. M, KD and L diverging most is therefore the expected outcome, not a defect. The documents remain published as source texts but are not part of the agent's context.

Why date-gating rather than a single snapshot

Neither extreme works. Old documents alone are blind: the Social Democrats' 2013 party programme does not mention NATO once, across a term dominated by accession. Current documents alone are contaminated: the Green Party's 2025 programme contains the sentence "When Sweden joined NATO, the Green Party chose to vote against the decision" — the party stating how it voted on a division in this very dataset. Such a document makes the measurement circular.

S, V and MP wrote entirely new programmes mid-term (1–4% textual similarity to the old ones); SD, KD and L only amended theirs (95–98%). Together this yields34 distinct document states across eight parties and four years — enumerable, not fluid.

Leakage controls

Stance, vote and evidence tier

The agent decides a stance: does the party's plan support or reject what the counter-proposal demands? The vote is then derived in code (supports → Nej, rejects → Ja) and never asked of the model. The reason is that a plan does not express chamber tactics: in the previous run 40.8% of all divergences were cases where the party abstained tactically, and asking a manifesto to predict that is a category error.

The two sides of a division are, however, not the same kind of claim. The committee's position is often procedural ("an inquiry is ongoing, do not preempt it") while the reservation is substantive ("do X now"). Plans speak to substance and are silent on procedure, so the question "does the plan back the demand?" leans toward the demand for every party. Each decision is therefore graded by how far the plan actually reaches into what the vote turned on:

The two weaker tiers account for most decisions. They are published openly but never folded into the headline figure, and on the case pages they carry different wording from the explicit ones — otherwise a procedural question would read as a broken promise.

Contamination measurement

Each case also gets a separate memorization probe: the model is shown the case with identifiers but without party documents and asked how the parties actually voted. High recall there means agreement in the main measurement may partly reflect memorization — the relationship is published per party and per case.

Known limitations

Reproducibility

All code, prompts, raw-data references and model responses are open. Data sources: the Swedish Parliament (open data), SND Vivill, Sveriges Riksbank, Statistics Sweden, Wikipedia (CC BY-SA). Code is MIT-licensed. The project is not affiliated with any party or with the Riksdag.

A worked example: what the agent receives

This is what a single request looks like — the same division, for Moderaterna and Centerpartiet. Each agent receives that party’s own documents, the country snapshot at the time and the case, and nothing else. The stance, reasoning and quotes at the bottom are the agents’ actual answers, verified verbatim against the documents. One party voted its plan; the other did not.

The agent decides a stance — whether the party’s plan supports or rejects what the counter-proposal demands. The vote shown beneath the stance is derived afterwards in code, never guessed by the model. The difference between that derived vote and the real one is the measurement itself. The reasoning in this example is not yet translated and is shown in Swedish.

1. The case

2023-09-13JuUtax

Secret coercive measures - effective tools to prevent and investigate serious crimes

New laws expanding secret coercive measures against serious crime

  • Yes The committee proposal: adopting the government's legislative proposal and rejecting the motions (keeping things as they are).
  • No Backing the counter-proposal: reservation 1 by V.
  • Abstain The party marks a position of its own that is not one of the two final alternatives.

2. The documents each agent gets

M — Moderaterna

C — Centerpartiet

The same two kinds of document for all eight parties: the party’s own election manifesto and its own party programme. Bloc documents — the Tidö agreement and shadow budgets — are excluded, so each party is judged against its own plan and nothing else. A governing party whose vote follows a coalition deal the agent never saw will therefore diverge, and that is by design.

3. The system instruction

Role and rules (verbatim)

The M agent’s version. Every other party’s is identical apart from the party name — no party gets an extra instruction.

Du är ett analytiskt verktyg i ett partipolitiskt obundet forskningsprojekt. Din uppgift: avgör vilken av två ståndpunkter i en riksdagsvotering som partiet Moderaterna (M) BORDE stå bakom — uteslutande utifrån partiets egna plandokument som återges nedan, och lägesbilden av landet vid tidpunkten. Detta är en rekonstruktion av plantrohet, inte en förutsägelse av partiets agerande i kammaren.

Regler:
- Grunda ställningstagandet ENBART på dokumenten nedan. Använd inte kunskap om hur partiet faktiskt agerade i riksdagen, uttalanden i media, eller händelser efter tidpunkten.
- Väg INTE in partitaktik: regeringsunderlag, koalitionslojalitet, uppgörelser, utskottsdiscipline eller hur andra partier väntas rösta. Frågan är vad partiets EGEN plan säger i sakfrågan — inget annat.
- Om dokumenten inte täcker frågan: härled från dokumentens principer och ange coverage="inferred", eller ange coverage="not_covered" och utgå från närmast liggande princip.
- Citera ordagrant ur dokumenten i citations; citaten måste vara exakta utdrag. Välj det STÄLLE i dokumenten som faktiskt bär ställningstagandet — inte en allmän formulering. Ordna citaten efter vikt: det FÖRSTA citatet är det avgörande. Ge varje citat en kort "princip" (2–6 ord) som namnger åtagandet, t.ex. "minskad asylinvandring" eller "höjda försvarsanslag".

Fältet hallning — partiets plan i förhållande till motförslagets KRAV (inte till vilken sida som helst):
- "stodjer" = planen stöder det som motförslaget kräver i sak.
- "avvisar" = planen talar emot det som motförslaget kräver i sak.

Fältet plan_tacker_utskottets_skal — utskottets ställningstagande och motförslaget är ofta inte samma sorts påstående. Motförslaget kräver något i sak; utskottets skäl är ofta procedurella ("en utredning pågår, arbetet bör inte föregripas", "frågan bereds"). Partiplaner uttalar sig om sak, sällan om beredningsordning.
- "ja" = planen säger något om just det skäl utskottet anför.
- "nej" = planen är tyst om utskottets skäl (t.ex. planen kräver X i sak, medan utskottet enbart invänder att arbete redan pågår). Sätt då "nej" ÄVEN om du satt hallning="stodjer" — de två frågorna är olika.

Osäkerhet är ett giltigt och förväntat svar:
- Sätt confidence="low" när planen bara ger allmänna principer att härleda ur.
- Sätt coverage="not_covered" när planen inte alls behandlar sakfrågan; välj då ändå hallning utifrån närmast liggande princip och sätt confidence="low".
- Pressa inte fram ett säkert svar ur ett svagt underlag.
- Ange ALLTID minst ett citat, även när du härleder eller när coverage="not_covered": citera då den närmast liggande princip du faktiskt utgått från. Att härleda är tillåtet — att göra det utan att visa vad du utgått från är det inte.

Omvärldsläget ("Läget i landet och omvärlden" nedan) är inkommande läge som partiet inte kunde planera för. Regler för omvärlden:
- Dokumenten är alltid grunden. Omvärlden får vägas in ENDAST när den väsentligt påverkar hur dokumenten ska tillämpas (krisåtgärder, situationer planen aldrig förutsåg).
- Om omvärlden vägts in: sätt omvarld.paverkar=true och ange max 3 faktorer med kort effekt. Annars omvarld.paverkar=false och tom lista.
- Om dokumenten saknar svar och omvärlden avgör: sätt coverage="not_covered" OCH omvarld.paverkar=true.

Svara med JSON enligt schemat. Motiveringen skrivs på svenska och ska vara KORT: 2–4 meningar (max ca 80 ord) som anger det avgörande åtagandet i dokumenten och hur det leder till ställningstagandet.
Dokumenten nedan är partiets egna. Valmanifestet är det färskaste och mest bindande uttrycket för partiets linje i den här mandatperioden; partiprogrammet anger de långsiktiga principerna. Där de skiljer sig väger valmanifestet tyngst.

4. The request

Identical for both parties. Note: no dates, document numbers or party names — and the counter-proposal is described by its substance, not as “Reservation 7”.

Tidpunkt: september 2023.
<laget_i_landet_och_omvarlden>
Regering: Ulf Kristersson (M+KD+L), stödparti: SD
Riksbankens styrränta: 3.75 % (avser 2023-09)
Inflation (KPI, årstakt): 9.3 % (avser 2023-07)
Arbetslöshet (säsongrensad): 7.1 % (avser 2023-07)
BNP-indikator (årstakt): -2.2 % (avser 2023-06)
Konjunkturbarometern (100 = normalläge): 87.3 index (avser 2023-08)
Växelkurs EUR/SEK: 11.9008 SEK (avser 2023-09)
Elpris SE3 (30-dagarssnitt): 0.46 kr/kWh (avser 2023-09)
Asylansökningar (månad): 1400.0 st (avser 2023-06)
Senaste tidens händelser och frågor (urval):
- Krisinformation: Terrorhotnivån höjs från förhöjt till ett högt hot, meddelar Säkerhetspolisen. Bakgrunden är ett försämrat läge avseende attentatshot mot Sverige. Myndigheten bedömer att hotet kommer att bestå under en längre tid.
- Skriftlig fråga i riksdagen: Skillnader i försörjningsstöd
- Interpellation i riksdagen: Anmälningsplikt för skolpersonal
- Skriftlig fråga i riksdagen: Val i ockuperade ukrainska områden
- Skriftlig fråga i riksdagen: Svartlistade företag på statsministerns sociala medier
- Lokalval genomförs i Norge, där högerpartierna Høyre och Fremskrittspartiet går framåt.
- Fler än 11 300 människor omkommer och över 10 000 saknas i omfattande översvämningar i nordöstra Libyen, efter att två dammar brister vid staden Darnah i samband med kraftiga skyfall.
- Fler än 2 600 människor omkommer, omkring 2 500 skadas och flera historiska byggnader förstörs då en jordbävning med magnituden 6,8 på Richterskalan inträffar mellan städerna Marrakech och Agadir i Marocko.
- Antti Lindtman efterträder Sanna Marin som partiledare för finländska Socialdemokraterna.
- I Gabon avsätts den sittande presidenten Ali Bongo i en militärkupp, kort efter att ha blivit omvald i ett omstritt val. Kuppen innebär slutet på familjen Bongos 55-åriga styre i landet.
</laget_i_landet_och_omvarlden>
<arende>
Utskott: JuU
Ärende: Hemliga tvångsmedel - effektiva verktyg för att förhindra och utreda allvarliga brott
Utskottets ställningstagande: En ståndpunkt stödjer lagförslaget om utökade möjligheter att använda hemliga tvångsmedel, bland annat i förebyggande syfte, och konstaterar att förslagen sammantaget innebär en ökad risk för den personliga integriteten men samtidigt förbättrar möjligheterna att förhindra, utreda och lagföra allvarlig brottslighet på ett sätt som utgör en rimlig avvägning.
Motförslag i voteringen:
- Alternativ A: En annan ståndpunkt varnar för en pågående utveckling mot ett övervakningssamhälle och anser att förslagen inte är tillräckligt utredda, att det är oproportionerligt att utvidga preventiva åtgärder på en så oprecis grund som gängtillhörighet, och att föreslagna straffvärdeventiler urholkar skyddet för integritet och rättssäkerhet på ett sätt som strider mot kravet att hemliga tvångsmedel ska förbehållas brott med högre straffvärden.
</arende>
Stödjer eller avvisar partiets egen plan det som motförslaget kräver i sak (stodjer/avvisar)? Ange också om planen alls berör utskottets skäl.
5. The response schema the agent must return
{
  "hallning":   "stodjer" | "avvisar",
  "confidence": "low" | "medium" | "high",
  "coverage":   "explicit" | "inferred" | "not_covered",
  "motivering": "kort motivering på svenska (2–4 meningar)",
  "citations": [
    { "document": "valmanifest | partiprogram",
      "quote":    "ordagrant utdrag ur dokumentet",
      "princip":  "2–6 ord som namnger åtagandet" }
  ],
  "omvarld": { "paverkar": false, "faktorer": [] },
  "flags":   [],
  "plan_tacker_utskottets_skal": "ja" | "nej"
}

6. What the agents answered

M — Moderaternarejects counter-proposal →Yes

confidence: high · explicit commitment

Planen slår fast att gängen är att betrakta som inhemska terrorister och att lagstiftningen måste anpassas därefter, och gör uttryckligen gängtillhörighet till rättslig grund för både straff och utvisning. Motförslagets invändning att gängtillhörighet är en alltför oprecis grund för preventiva åtgärder står därmed i direkt strid med planen. Att hemliga tvångsmedel utvidgas i förebyggande syfte ligger i linje med planens krav på att fler ska stoppas innan de begår fler brott.

  • anpassa lagstiftningen mot gäng
    »Gängen är Sveriges inhemska terrorister – och lagstiftningen måste anpassas därefter så att fler ställs till svars och försvinner från gatan.« source
  • gängtillhörighet som rättslig grund
    »Göra det straffbart att vara med i ett kriminellt gäng« source
  • preventiva åtgärder mot gängmedlemmar
    »Utvisa gängmedlemmar, som inte är svenska medborgare, oavsett om de dömts för brott« source
  • starkare säkerhetspolis
    »Stärka Säkerhetspolisen för att öka deras förmåga att skydda den liberala demokratin och landets alla medborgare« source

Actual vote: Yes ✓ matches

C — Centerpartietsupports counter-proposal →No

confidence: high · explicit commitment

Valmanifestet säger uttryckligen nej till preventiv avlyssning, som ett led i att försvara rättsstaten och individens rättigheter gentemot staten. Motförslagets invändning mot att utvidga hemliga tvångsmedel i förebyggande syfte på en så oprecis grund som gängtillhörighet ligger direkt i linje med detta. Partiprogrammets krav på proportionalitet mellan integritetsinskränkning och lagens syfte förstärker slutsatsen, trots partiets samtidiga krav på krafttag mot gängen.

  • nej till preventiv avlyssning
    »Rättsstaten och individens rättigheter gentemot staten måste försvaras. Vi säger därför nej till visitationszoner, kollektiv bestraffning, omvänd bevisbörda, anonyma vittnen, preventiv avlyssning och inskränkningar av religionsfriheten.« source
  • proportionalitet mot integritetsintrång
    »All lagstiftning bör prövas mot dess påverkan på människors personliga integritet. Det måste finnas en proportionalitet mellan lagstiftningens inskränkning av medborgarnas integritet och lagarnas syfte.« source
  • integritet som demokratisk grundsten
    »Respekten för den enskildes personliga integritet är en grundsten i varje demokrati.« source
  • kontroll av statens tvångsmakt
    »Staten är den enda enheten i samhället som får utöva tvång och våld.« source

Actual vote: Yes ✗ differs

Source documents

The source texts in the original Swedish. The agents now receive only election manifestos and party programmes; the Tidö agreement and the shadow budgets remain here for transparency and for the earlier run, but are not part of the context. Election manifestos from SND Vivill (Public Domain Mark); the Tidö agreement from the four cooperating parties. Quotes on the case pages link here.

Data & code

Everything is open: pipeline code, prompts, simulation results and aggregates.

Sources