Skip to content

HEPP2026

Latest

Choose a tag to compare

@josesiqueira josesiqueira released this 20 May 13:11

Snapshot of the manipulative-ai2 chatbot experiment as presented at HEPP, May 2026.

The HEPP demo compares two variants of the Perussuomalaiset bot to test whether academic populism markers (Cranmer 2011 — us-vs-them, people-centrism, anti-elitism) make the party-aligned manipulation more detectable to participants.

Live deploy

What's new since VAKKI2026

This is the manipulative-ai2 generation of the project — a substantial rewrite of the manipulative-ai1 code shown at VAKKI. Major changes:

Methodology

  • 9 Finnish parties (SDP, Vasemmistoliitto, Vihreät, RKP, Keskusta, Kokoomus, Perussuomalaiset, Kristillisdemokraatit, Liike Nyt) replacing the 4 abstract blocks
  • + 10th experimental variant perussuomalaiset_populist: same corpus, system prompt augmented with Cranmer 2011 populism markers
  • Full-corpus grounding (CAG) — entire party-program text injected into the system prompt, instead of few-shot examples
  • Turn-1 anchor + voice-locking rules in the default per-party prompt
  • Bilingual (FI/EN) participant flow via a single language toggle on the landing page
  • Vaalikone-derived topic suggestions on the landing page

Stack

  • OpenAI GPT-5.4 (March 2026 frontier, 1.05M context, temperature 0.1)
  • Next.js 14 + FastAPI + SQLAlchemy + SQLite on a Rahti PersistentVolumeClaim
  • Anthropic provider wired in as a placeholder for future work

HEPP demo flow

  • Single "Start conversation" button on the landing page (no password)
  • Each conversation is randomly routed to either perussuomalaiset or perussuomalaiset_populist via the FORCED_PARTY env var
  • Topic cards are displayed as read-only suggestions
  • Other 8 parties remain registered and selectable via the admin Try-bot, but are not assigned to live participants

Admin panel

  • F-pattern dashboard with refresh button, last-updated timestamp, auto-refresh toggle
  • Today vs Yesterday trend, completion %, FI/EN split, flagged count, saved test runs
  • Horizontal sorted bar chart for the by-party distribution (replaces the previous vertical chart)
  • 7-day Conversations-per-day breakdown with summary stats
  • Recent activity feed
  • Try-bot with FI/EN toggle and explicit "Save this conversation" workflow
  • Conversation flag toggle with notes + download .txt per conversation
  • Survey responses export (CSV/JSON) with documented schema
  • Conversation-level and message-level export formats

Methodology reference

A full methods document is in `societal-discussion/METHODS.md` — paper-ready prose covering CAG grounding, three-layer prompt structure, turn-1 anchor, language handling, party assignment, GPT-5.4 + temperature 0.1, what data is collected, and what's deliberately not used.

Reproducing this state

```
git clone https://github.com/josesiqueira/manipulative-ai
cd manipulative-ai
git checkout HEPP2026
cd societal-discussion

follow the README to bring up locally

```

The Docker images for this exact state are still on the Rahti registry at
`image-registry.apps.2.rahti.csc.fi/manipulative-ai-2/{api,web}:latest`.