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 same applies in the other direction: abstentions sit outside the comparison. The stance is derived to Yes or No and has no "abstain" in its range at all — abstaining is a floor tactic only the real party performs. The ladder on each party page shows both narrowings: from every division, to the ones the party took a side in, to the ones its plan addresses, to the ones it addresses outright. The last row is what the headline is computed on, and that it is a minority is expected — a party programme is not a voting manual.

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

The risk is that the model recalls the outcome from its training data instead of reading the documents. The defence is structural: the model is never told whichvote it is looking at. Document ids, committee report designations, the division id and exact dates are stripped from the prompt — the time context is coarse ("November 2023") — and the outcome never appears. This is enforced mechanically by forbidden-pattern checks in prompt generation and by golden tests that always run against the live prompt version.

Two observations point the same way. All 77,642 citations are checked as verbatim substrings of the specific documents the agent was actually shown — no citations to documents outside its context. 120 failed the check and are blanked and flagged, with the agent's own words kept beside them; six were realigned to the exact source span and flagged as corrected. A further 515 were rewritten when the source documents were re-extracted from their PDFs — hyphenation and spacing only, no word changed, with the original kept beside each one. And memorization would shrink the gap, since the model would bend its stance toward the outcome it remembers; the measured gap is instead large and almost entirely one-directional (1,686 cases where the plan pointed to Nej but the party voted Ja, against 14 the other way).

Residual risk: for a handful of genuinely high-profile votes, the substance alone may be enough to recognise the case. That effect would push toward a smaller gap, making the headline figure conservative rather than inflated.

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.

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

The plan states that gangs should be regarded as Sweden's homegrown terrorists and that legislation must be adapted accordingly, and explicitly makes gang membership a legal basis for both punishment and deportation. The counter-proposal's objection that gang membership is too imprecise a basis for preventive measures therefore stands in direct conflict with the plan. Expanding secret coercive measures for preventive purposes is in line with the plan's demand that more be stopped before committing further crimes.

  • adapt legislation against gangs
    »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 “Gangs are Sweden's homegrown terrorists – and legislation must be adapted accordingly so that more are held accountable and disappear from the street.”
  • gang membership as legal basis
    »Göra det straffbart att vara med i ett kriminellt gäng« source “Make it a crime to be part of a criminal gang”
  • preventive measures against gang members
    »Utvisa gängmedlemmar, som inte är svenska medborgare, oavsett om de dömts för brott« source “Deport gang members who are not Swedish citizens, regardless of whether they have been convicted of a crime”
  • stronger Security Police
    »Stärka Säkerhetspolisen för att öka deras förmåga att skydda den liberala demokratin och landets alla medborgare« source “Strengthen the Security Police to increase their ability to protect liberal democracy and the country's all citizens”

Actual vote: Yes ✓ matches

C — Centerpartietsupports counter-proposal →No

confidence: high · explicit commitment

The election manifesto explicitly says no to preventive surveillance, as part of defending the rule of law and the individual's rights against the state. The counter-proposal's objection to widening secret coercive measures in a preventive purpose on such an imprecise ground as gang membership lies directly in line with this. The party programme's requirement for proportionality between integrity restriction and the law's purpose reinforces the conclusion, despite the party's simultaneous requirement for strong action against gangs.

  • no to preventive surveillance
    »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 “The rule of law and the individual's rights against the state must be defended. We therefore say no to stop-and-search zones, collective punishment, reverse burden of proof, anonymous witnesses, preventive surveillance and restrictions on freedom of religion.”
  • proportionality against integrity intrusion
    »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 “All legislation should be tested against its impact on people's personal integrity. There must be proportionality between the legislation's restriction of citizens' integrity and the law's purpose.”
  • integrity as democratic cornerstone
    »Respekten för den enskildes personliga integritet är en grundsten i varje demokrati.« source “Respect for the individual's personal integrity is a cornerstone of every democracy.”
  • control of state coercive power
    »Staten är den enda enheten i samhället som får utöva tvång och våld.« source “The state is the only entity in society that may exercise coercion and violence.”

Actual vote: Yes ✗ differs

Source documents

All 40 source texts are listed on the parties page, grouped by the party that wrote them. Quotes on the case pages link straight into each one.

Data & code

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

Sources