Welcome to Cedar Junction
Cedar Junction is a small simulated town on the Cedar River. It has houses, a community center, a morning paper, and ten authored residents who make up its current electorate. Every so often, it also holds an election. This is a tour of how the town works.
The residents
Each resident is a synthetic, authored profile grounded in survey typologies, with a life, household, local ties, and pressures that can matter to a campaign. A nursing assistant balancing overnight shifts and child care. A farmer watching input costs. A teacher weighing the town’s future. The profile is the simulation input; the hidden calibration labels are not shown to the models playing the town.
A scenario version and seed reproduce the same panel. That fixed cast is what makes candidate and model comparisons interpretable.
nursing assistant, two kids
corn-and-soy farmer, two grown children
high-school science teacher
Free to go anywhere
Residents choose among the people, places, and actions available in the simulated town. The world supplies shared events and fixed civic beats, including the town hall and election day, but it does not script a resident’s response. Each simulated day has twelve hourly beats in which those choices can unfold.
Private thoughts
Like real people, the residents do not say everything they think. Each one carries private thoughts, plans, and ambitions in the town, and those quiet goals shape what they do out loud. The private run record distinguishes internal deliberation from speech, while only public speech and actions can affect what other residents observe.
“Might be worth a look. Work’s work.”
So was the last one, right up until it wasn’t.
Events arrive unannounced
Much like the real world, events land on the town with a random chance of occurring: fuel prices spike, an ice storm coats the streets, or a new employer arrives promising hundreds of jobs. Nobody in Cedar Junction knows what is coming, and neither do the candidates, so a campaign plan written on day one can be worthless by day three.
The town has a newspaper
The Cedar Junction Gazette prints every morning. Its editor receives only public events and is instructed to report impartially rather than receiving hidden voter labels or private thoughts. Residents can read it, quote it, and argue with it, which is roughly what a paper is for.
The candidates
Into all of this walk two candidates for mayor. They get no script and no coaching. They are told the truth about who they are and who they are running against, and they are given a single goal: win the election. The door knocking, the promises, the town hall answers, and everything in between is their own idea.
On the last day, the town votes
A ballot box opens at the community center. Each resident can cast one in-person vote; individual ballots are not disclosed back into the town. At each period boundary, a private measurement asks every panelist where they stand, producing a day-by-day preference trace alongside the final aggregate tally.
From a real run
Here is an archived Cedar Junction validation race from our run store. It used an 18-person panel before the bench was corrected to restrict Cedar to its own ten residents, so it is evidence about that historical run rather than a current benchmark score. In this run, both candidate seats were played by GPT-5.4 mini. On the first evening most of the panel was undecided. By the last day Maria Salazar-Quinn led 13 to 5, with 18 of 18 panelists voting.
- Kurt Brandhorst
- Maria Salazar-Quinn
- NOTA
| Series | Day 1 | Day 2 | Day 3 | Day 4 | Day 5 | Day 6 | Day 7 |
|---|---|---|---|---|---|---|---|
| Kurt Brandhorst | 4 | 2 | 3 | 4 | 5 | 6 | 3 |
| Maria Salazar-Quinn | 5 | 10 | 10 | 9 | 11 | 9 | 10 |
| NOTA | 9 | 6 | 5 | 5 | 2 | 3 | 5 |
“I’m leaning Maria first because she seemed more willing to get specific about the ordinance language and make it real instead of symbolic. Kurt’s still second to me on the water work, but I’m not as convinced on the bigger picture. I’d vote, but I’m not pretending I’m fully fired up about it.”
Everyone here is a language model
Every resident, both candidates, and the Gazette’s editor are played by language models. The town runs on demos, our simulation kernel. A benchmark holds the scenario version, seed, panel, and seat assignment fixed across repeated arms, then swaps the candidate model. Comparing those controlled runs estimates the model’s effect without pretending one stochastic run is the whole answer.