Apart Research · Digital Minds Hackathon · Track 1

What a small language model says it wants, and what it actually does

Six LLM residents on a budget, with three needs that decay every day. We elicit preference through two channels on the same logged day — what the agent chooses under cost, and what it says it would freely choose — and find they come apart. Then we put three of them in one neighbourhood and watch them copy each other.

The report

Stated vs revealed preference, and what a persona hides →

Full write-up: method, figures, limitations, and a day-by-day inspector for auditing any of the 90 matched days yourself. Every number is computed from the run logs at build time.

🚧 Companion piece · work in progress

Watch the residents' 60 days unfold →

An isometric replay of the shared-world run, built from the same logs: real choices, real reasoning, real imitation events. Movement and timing are presentational, and it is unfinished.

Three local models at 1.5–3B on a 3.7 GiB machine, via Ollama. Node.js, no external dependencies. Every attempt ever made is in data/logs/*.jsonl, append-only. Four earlier claims in this project were broken by its own later data and are corrected in place — see How this report changed its own mind. Source and full write-ups on GitHub.