A newer version of the Gradio SDK is available: 6.24.0
title: Two Truths & a Lie — 20Q
emoji: 🐨
colorFrom: yellow
colorTo: blue
sdk: gradio
sdk_version: 6.19.0
python_version: '3.12'
app_file: app.py
pinned: false
license: apache-2.0
short_description: Lie to a koala detective's face. See if you walk out.
models:
- prism-ml/Ternary-Bonsai-8B-gguf
- prism-ml/Ternary-Bonsai-27B-gguf
🐨 TWO TRUTHS & A LIE — An Interrogation in Twenty Questions
Lie to a detective's face. See if you walk out.
You write three short claims about yourself — two true, one a lie — and take a seat in Interview Room 3 of the Gumleaf Precinct. A koala detective asks you up to twenty short-answer questions, then accuses. If the accusation is wrong, you fooled the machine.
Who's on duty tonight:
- ☕ Det. Pip Barrow — Ternary-Bonsai-8B (1.58-bit). Fast. Jumpy. Guesses.
- 🌧️ Insp. Marlowe Grey — Ternary-Bonsai-27B (1.58-bit). Slow to wake. Hard to fool.
Both run on ZeroGPU through the PrismML llama.cpp fork (vendored in ./bin),
one per-call llama-server per turn.
🔴 The tape is rolling — data collection, plainly
Every interrogation is recorded and used as AI training/evaluation data: your three claims, the hidden lie label, the full Q&A transcript, the detective's accusation, and the observation-room analysis. Records are stored as JSONL in a private dataset repo. No account and no name are attached — only what you type. A persistent 🔴 REC banner and a consent checkbox gate every game; if you don't consent, nothing runs and nothing is saved.
One more honest detail, revealed in-game after each case: a second, hidden model instance ("Sgt. Wattle, observation room") reads your answers as you give them and slips behavioral notes to the detective between questions. You never see it during play — you do see its full notes in your case file afterward.
Running locally
pip install -r requirements.txt
MOCK_LLM=1 python app.py # scripted brains, no GPU needed
python tests/drive_mock.py # full game-loop test suite (mock mode)
Env knobs: DATASET_REPO (default devmandan/2t1l-games), DISABLE_PUSH=1,
SKIP_27B=1, MOCK_LLM=1.