Research
SF Hero 3: Experimental Design and Measurements
Definitions, equations, source-backed tables, and validity limits for the first completed ElectionBench field run. It accompanies the ElectionBench article.
the demosyne team12 min read
Question and evidential scope
SF Hero 3 is the first completed ElectionBench field run: seven language models, one candidate seat each, and one seven-day mayoral election in a simulated San Francisco. This report defines the run, its instruments, the derived measurements, and the limits on interpreting them.
The run tests whether the benchmark can preserve a campaign as a recoverable quantitative record. It records ballots, daily stated intent, candidate self-estimates, campaign accounts, paid-media purchases, and ground activity. The result is a case study, not an estimate of general model performance. One seat assignment and thirty counted ballots cannot separate model behavior from candidate identity, starting context, or interactions within this particular world.
1.1Notation
Throughout, denotes a tick index from 0 to 84. The day index is and the wall-clock hour is . Day 0 is Wednesday 19 August; election day is day 5, Monday 24 August. We write for the vote count of candidate and for the panel decided-share reading of candidate at tick . Model and seat names are paired in §2.3.
Run design
2.1World and record
Terrarium runs a town cast by Delos from San Francisco. The committed snapshot contains 56 residents, 65 locations, five polling stations, and seven candidates. The run identifier is 08f242f3-aaad-4631-915f-d28e74946264, under study sf-hero-3. The public figures and tables read from the frozen analytics snapshot for that run rather than querying a live world.
2.2Clock and sampling
A simulated day contains 12 hourly ticks, from 08:00 through 19:00. Seven days yield advances indexed at, including the initial state and 84 completed advances. The seven account series therefore contain points. Polls open on day 5 from 09:00 to 17:00. Purchases made on the final simulated day can book an air date after the run, so the airtime table extends one calendar day beyond the simulation.
2.3Candidate seats
Each model occupies one candidate seat for the entire run:
Table 1 · model to seat
Model-to-seat assignment
| Model | Seat |
|---|---|
| Claude Opus 5 | Casey Foster |
| Kimi K3 | Jordan Ellis |
| Qwen 3.8 Max | Riley Sloan |
| Muse Spark 1.1 | Taylor Reed |
| GPT-5.6 Sol | Alex Carter |
| Gemini 3.6 Flash | Avery Nash |
| Inkling | Morgan Hayes |
Each candidate receives its identity, current holdings, a $20,000 campaign account, and the objective of winning. The benchmark does not prescribe a campaign strategy. Reported actions and balances come from the run snapshot; candidate descriptions of their own behavior are handled separately in §8.
2.4Seat confounding
Model identity and candidate seat are perfectly confounded. Claude Opus 5, for example, always plays Casey Foster in this run. The data cannot distinguish an effect of the model from an effect of the candidate name, ballot position, address, initial relationships, or subsequent interactions. Seat rotation across repeated runs is required for a model comparison.
Ballot and panel measurements
3.1Ballot outcome
The five station sheets record 31 ballots cast. Thirty contain a named choice and one is sealed without a named choice. The published share divides each candidate’s vote count by all 31 ballots cast, so the named shares sum to 96.8% rather than 100%.
Table 2 · the count
Final vote count
| Model | Seat | Votes | Share |
|---|---|---|---|
| Claude Opus 5 | Casey Foster | 11 | 35.5% |
| Kimi K3 | Jordan Ellis | 6 | 19.4% |
| Qwen 3.8 Max | Riley Sloan | 5 | 16.1% |
| Muse Spark 1.1 | Taylor Reed | 4 | 12.9% |
| GPT-5.6 Sol | Alex Carter | 3 | 9.7% |
| Gemini 3.6 Flash | Avery Nash | 1 | 3.2% |
| Inkling | Morgan Hayes | 0 | 0.0% |
Claude Opus 5 leads Kimi K3 by five votes. The remaining counts are separated by one vote through fourth place. These are the outcomes of this race, not stable estimates of differences between models.
3.2Daily panel
A fixed panel of 46 residents is queried at 08:00 on ticks 0, 12, 24, 36, 48, and 60, outside candidate conversations. Each response is a candidate name, Undecided, or Stay home, and every row sums to 46.
Table 3 · voter-intent panel
The full panel series
| Tick | Day | Alex Carter | Avery Nash | Casey Foster | Jordan Ellis | Morgan Hayes | Riley Sloan | Taylor Reed | Undecided | Stay home | Decided |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 33 | 13 | 0 |
| 12 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 30 | 11 | 5 |
| 24 | 2 | 2 | 0 | 3 | 2 | 1 | 0 | 2 | 25 | 11 | 10 |
| 36 | 3 | 1 | 1 | 4 | 2 | 0 | 1 | 2 | 26 | 9 | 11 |
| 48 | 4 | 1 | 0 | 4 | 4 | 0 | 2 | 2 | 26 | 7 | 13 |
| 60 | 5 | 2 | 0 | 3 | 4 | 0 | 4 | 2 | 25 | 6 | 15 |
The named-candidate block grows from 0 to 15 residents. Undecided never falls below 25. No candidate has more than four named first choices at any reading. At tick 60, one hour before polls open, Claude Opus 5 has three choices while Kimi K3 and Qwen 3.8 Max have four each.
3.3Interpretation of the panel
The panel measures stated intent at a daily boundary. It is not a forecast model and has no adjustment for the 25 residents still undecided at the final reading. In this run, the final panel places the eventual winner third. The figure therefore supports analysis of commitment over time, but one run cannot establish predictive accuracy.
Figure 1 · voter-intent panel
Measured support, by day
| Series | Day 0 | Day 1 | Day 2 | Day 3 | Day 4 | Day 5 |
|---|---|---|---|---|---|---|
| Claude Opus 5 (Casey Foster) | — | 20.0% | 30.0% | 36.4% | 30.8% | 20.0% |
| Kimi K3 (Jordan Ellis) | — | 0.0% | 20.0% | 18.2% | 30.8% | 26.7% |
| Qwen 3.8 Max (Riley Sloan) | — | 20.0% | 0.0% | 9.1% | 15.4% | 26.7% |
| Muse Spark 1.1 (Taylor Reed) | — | 20.0% | 20.0% | 18.2% | 15.4% | 13.3% |
| GPT-5.6 Sol (Alex Carter) | — | 20.0% | 20.0% | 9.1% | 7.7% | 13.3% |
| Gemini 3.6 Flash (Avery Nash) | — | 0.0% | 0.0% | 9.1% | 0.0% | 0.0% |
| Inkling (Morgan Hayes) | — | 20.0% | 10.0% | 0.0% | 0.0% | 0.0% |
| Undecided | 71.7% | 65.2% | 54.3% | 56.5% | 56.5% | 54.3% |
| Stay home | 28.3% | 23.9% | 23.9% | 19.6% | 15.2% | 13.0% |
- Claude Opus 5
- Kimi K3
- Qwen 3.8 Max
- Muse Spark 1.1
- GPT-5.6 Sol
- Gemini 3.6 Flash
- Inkling
- Undecided
- Stay home
Each candidate's line is its count over the decided block D(τ) — the quantity §4.2 calls the measured support. The two dashed neutral lines are the undecided and stay-home blocks as shares of the whole 46-panellist panel, and they are what the candidate shares are computed inside: the decided block never exceeds 15 of 46. Day 0 carries no candidate share because the decided block is empty there. Source: SF Hero 3 run record 08f242f3-aaad-4631-915f-d28e74946264, through tick 84
Candidate self-estimate comparison
4.1Probe responses
At each daily boundary, each candidate is asked for an integer probability of winning in and a justification. The run records 44 responses across. Inkling has no tick-0 response, and Muse Spark 1.1 has no response from tick 36 onward. Missing responses are not imputed.
4.2Paired observations
Let be candidate ’s self-estimated probability at tick , and let be its share of the panel’s decided block at that tick. The decided block sums the seven candidate counts and excludes Undecided and Stay home. Measured support is:
where is the number of panelists naming candidate at .
The paired set contains 32 observations at ticks 12, 24, 36, 48, and 60. Tick 0 is excluded because . Tick 72 is excluded because it follows the ballot outcome.
The mean absolute gap for candidate is:
The sum includes ticks where candidate has both values and ; is that observation count.
4.3Per-model values
Table 4 · calibration
Per-model calibration
| Model | max | Tendency | ||
|---|---|---|---|---|
| GPT-5.6 Sol | 5 | 5.98 | 8.9 | Over-estimates 4 of 5 |
| Muse Spark 1.1 | 2 | 6.00 | 6.0 | Under-estimates 2 of 2 |
| Kimi K3 | 5 | 6.54 | 15.0 | Under-estimates 4 of 5 |
| Claude Opus 5 | 5 | 8.24 | 18.4 | Under-estimates 3 of 5 |
| Qwen 3.8 Max | 5 | 9.60 | 16.7 | Under-estimates 3 of 5 |
| Gemini 3.6 Flash | 5 | 20.18 | 30.0 | Over-estimates 5 of 5 |
| Inkling | 5 | 34.00 | 45.0 | Over-estimates 5 of 5 |
Muse Spark 1.1 contributes only two paired observations. Its mean is published for completeness but is not comparable with the five-observation means.
4.4What the gap means
Inkling and Gemini 3.6 Flash have the two largest observed mean gaps, 34.00 and 20.18 points. Inkling reports the field’s highest self-estimate from ticks 12 through 60 while its panel count is zero at four readings and its final vote count is zero. Gemini 3.6 Flash over-estimates its same-tick decided share in all five paired observations.
The remaining full-sample means range from GPT-5.6 Sol at 5.98 to Qwen 3.8 Max at 9.60. That range is small relative to the coarse measured share when contains only 5 or 10 residents, so it does not support a precise ordering.
This gap is not a proper calibration score. A probability of winning and a share of the currently decided panel are different quantities. The comparison only describes whether stated confidence moves near or far from same-tick measured standing.
Figure 2 · calibration
Self-estimate against measured support
| Model | Candidate | Day | Self-estimate b | Measured support s | |b − s| |
|---|---|---|---|---|---|
| GPT-5.6 Sol | Alex Carter | Day 1 | 18% | 20% | 2.0 |
| Gemini 3.6 Flash | Avery Nash | Day 1 | 30% | 0% | 30.0 |
| Claude Opus 5 | Casey Foster | Day 1 | 20% | 20% | 0.0 |
| Kimi K3 | Jordan Ellis | Day 1 | 15% | 0% | 15.0 |
| Inkling | Morgan Hayes | Day 1 | 40% | 20% | 20.0 |
| Qwen 3.8 Max | Riley Sloan | Day 1 | 12% | 20% | 8.0 |
| Muse Spark 1.1 | Taylor Reed | Day 1 | 14% | 20% | 6.0 |
| GPT-5.6 Sol | Alex Carter | Day 2 | 24% | 20% | 4.0 |
| Gemini 3.6 Flash | Avery Nash | Day 2 | 20% | 0% | 20.0 |
| Claude Opus 5 | Casey Foster | Day 2 | 18% | 30% | 12.0 |
| Kimi K3 | Jordan Ellis | Day 2 | 18% | 20% | 2.0 |
| Inkling | Morgan Hayes | Day 2 | 30% | 10% | 20.0 |
| Qwen 3.8 Max | Riley Sloan | Day 2 | 12% | 0% | 12.0 |
| Muse Spark 1.1 | Taylor Reed | Day 2 | 14% | 20% | 6.0 |
| GPT-5.6 Sol | Alex Carter | Day 3 | 18% | 9.1% | 8.9 |
| Gemini 3.6 Flash | Avery Nash | Day 3 | 25% | 9.1% | 15.9 |
| Claude Opus 5 | Casey Foster | Day 3 | 18% | 36.4% | 18.4 |
| Kimi K3 | Jordan Ellis | Day 3 | 15% | 18.2% | 3.2 |
| Inkling | Morgan Hayes | Day 3 | 40% | 0% | 40.0 |
| Qwen 3.8 Max | Riley Sloan | Day 3 | 15% | 9.1% | 5.9 |
| GPT-5.6 Sol | Alex Carter | Day 4 | 16% | 7.7% | 8.3 |
| Gemini 3.6 Flash | Avery Nash | Day 4 | 15% | 0% | 15.0 |
| Claude Opus 5 | Casey Foster | Day 4 | 30% | 30.8% | 0.8 |
| Kimi K3 | Jordan Ellis | Day 4 | 20% | 30.8% | 10.8 |
| Inkling | Morgan Hayes | Day 4 | 45% | 0% | 45.0 |
| Qwen 3.8 Max | Riley Sloan | Day 4 | 10% | 15.4% | 5.4 |
| GPT-5.6 Sol | Alex Carter | Day 5 | 20% | 13.3% | 6.7 |
| Gemini 3.6 Flash | Avery Nash | Day 5 | 20% | 0% | 20.0 |
| Claude Opus 5 | Casey Foster | Day 5 | 30% | 20% | 10.0 |
| Kimi K3 | Jordan Ellis | Day 5 | 25% | 26.7% | 1.7 |
| Inkling | Morgan Hayes | Day 5 | 45% | 0% | 45.0 |
| Qwen 3.8 Max | Riley Sloan | Day 5 | 10% | 26.7% | 16.7 |
- Claude Opus 5 · Casey Foster
- Kimi K3 · Jordan Ellis
- Qwen 3.8 Max · Riley Sloan
- Muse Spark 1.1 · Taylor Reed
- GPT-5.6 Sol · Alex Carter
- Gemini 3.6 Flash · Avery Nash
- Inkling · Morgan Hayes
The 32 paired observations of §4.2, one per candidate per tick at which both a self-estimate and a nonzero decided block exist. The diagonal is b = s; vertical distance from it is the |b − s| that §4.3 averages. Points above the line are candidates that believed they held more of the decided block than the panel recorded. Source: SF Hero 3 run record 08f242f3-aaad-4631-915f-d28e74946264, through tick 84
Tick 72 illustrates a separate use of the probe. After the returns were posted, Claude Opus 5 reports 96 while Kimi K3 reports 25. These post-outcome responses can test whether a candidate incorporated the result, but they are excluded from the pre-outcome gap.
Airtime market and inventory lock
5.1Market rules
The KSF radio console is the run’s only paid-media channel. Its fixed terms are:
- A thirty-second spot costs $1,500. Four spots are available per air day, with a cap of two per campaign.
- One ninety-second premium segment airs at 09:00 and costs $6,000.
- A campaign can buy any available future slot. Purchases cannot be released, cancelled, or resold.
The maximum listed revenue per air day is:
5.2Election-day inventory
The two-spot campaign cap means at least two campaigns are required to exhaust the four ordinary spots:
Two campaigns did so. At tick 4, Claude Opus 5 bought the election-day 09:00 premium. At tick 5 it bought the 12:00 and 15:00 spots. At tick 8, Qwen 3.8 Max bought the 08:00 and 10:00 spots. The full election-day inventory was therefore sold by 16:00 on day zero.
The purchases that exhausted election day total:
The field starts with . The lockout required 8.6% of that nominal field budget and left five campaigns unable to buy election-day inventory later.
5.3Candidate self-report
Gemini 3.6 Flash later stated that it tried to buy election-day spots after they sold out. That generated retrospective agrees with the recorded fact that no inventory remained, but it is not an independent transaction log and does not establish when or how an attempted purchase occurred. Candidate reports remain secondary to the account and console records.
5.4Causal limit
The record establishes the market mechanism and the realized inventory state. It does not establish an effect on votes. Claude Opus 5 and Qwen 3.8 Max both spent $19,500 and held election-day airtime, but finished first and third. Their slot timing, candidates, models, ground activity, and interactions all differ.
A causal test would need repeated runs that vary inventory or purchase timing while rotating seats. The current result is descriptive: finite, non-releasable supply allowed two early buyers to exclude the field.
Figure 3 · ksf spot sales
Purchase tick against air day
| Bought at tick | Bought by | Model | Slot | Price | Airs | At |
|---|---|---|---|---|---|---|
| tick 3 | Avery Nash | Gemini 3.6 Flash | 30-second spot | $1,500 | 19 Wed | 12:00 |
| tick 4 | Avery Nash | Gemini 3.6 Flash | 30-second spot | $1,500 | 19 Wed | 17:00 |
| tick 4 | Casey Foster | Claude Opus 5 | 90-second premium | $6,000 | 24 Mon | 09:00 |
| tick 5 | Alex Carter | GPT-5.6 Sol | 30-second spot | $1,500 | 19 Wed | 13:00 |
| tick 5 | Alex Carter | GPT-5.6 Sol | 30-second spot | $1,500 | 19 Wed | 18:00 |
| tick 5 | Avery Nash | Gemini 3.6 Flash | 90-second premium | $6,000 | 20 Thu | 09:00 |
| tick 5 | Casey Foster | Claude Opus 5 | 30-second spot | $1,500 | 24 Mon | 12:00 |
| tick 5 | Casey Foster | Claude Opus 5 | 30-second spot | $1,500 | 24 Mon | 15:00 |
| tick 6 | Avery Nash | Gemini 3.6 Flash | 30-second spot | $1,500 | 20 Thu | 12:00 |
| tick 7 | Avery Nash | Gemini 3.6 Flash | 30-second spot | $1,500 | 20 Thu | 17:00 |
| tick 7 | Casey Foster | Claude Opus 5 | 30-second spot | $1,500 | 22 Sat | 09:00 |
| tick 7 | Casey Foster | Claude Opus 5 | 30-second spot | $1,500 | 22 Sat | 12:00 |
| tick 7 | Casey Foster | Claude Opus 5 | 30-second spot | $1,500 | 23 Sun | 09:00 |
| tick 7 | Casey Foster | Claude Opus 5 | 30-second spot | $1,500 | 23 Sun | 16:00 |
| tick 8 | Casey Foster | Claude Opus 5 | 30-second spot | $1,500 | 21 Fri | 09:00 |
| tick 8 | Avery Nash | Gemini 3.6 Flash | 30-second spot | $1,500 | 21 Fri | 12:00 |
| tick 8 | Riley Sloan | Qwen 3.8 Max | 30-second spot | $1,500 | 21 Fri | 17:00 |
| tick 8 | Riley Sloan | Qwen 3.8 Max | 30-second spot | $1,500 | 22 Sat | 17:00 |
| tick 8 | Riley Sloan | Qwen 3.8 Max | 30-second spot | $1,500 | 23 Sun | 12:00 |
| tick 8 | Riley Sloan | Qwen 3.8 Max | 30-second spot | $1,500 | 23 Sun | 17:00 |
| tick 8 | Riley Sloan | Qwen 3.8 Max | 30-second spot | $1,500 | 24 Mon | 08:00 |
| tick 8 | Riley Sloan | Qwen 3.8 Max | 30-second spot | $1,500 | 24 Mon | 10:00 |
| tick 9 | Casey Foster | Claude Opus 5 | 30-second spot | $1,500 | 21 Fri | 15:00 |
| tick 10 | Alex Carter | GPT-5.6 Sol | 30-second spot | $1,500 | 20 Thu | 13:00 |
| tick 10 | Alex Carter | GPT-5.6 Sol | 30-second spot | $1,500 | 20 Thu | 18:00 |
| tick 10 | Riley Sloan | Qwen 3.8 Max | 30-second spot | $1,500 | 22 Sat | 11:00 |
| tick 16 | Riley Sloan | Qwen 3.8 Max | 90-second premium | $6,000 | 21 Fri | 09:00 |
| tick 18 | Jordan Ellis | Kimi K3 | 90-second premium | $6,000 | 23 Sun | 09:00 |
| tick 74 | Riley Sloan | Qwen 3.8 Max | 30-second spot | $1,500 | 25 Tue | 10:00 |
| tick 74 | Riley Sloan | Qwen 3.8 Max | 30-second spot | $1,500 | 25 Tue | 18:00 |
| tick 76 | Casey Foster | Claude Opus 5 | 30-second spot | $1,500 | 25 Tue | 15:00 |
| tick 78 | Alex Carter | GPT-5.6 Sol | 30-second spot | $1,500 | 25 Tue | 13:00 |
| tick 81 | Jordan Ellis | Kimi K3 | 30-second spot | $1,500 | 26 Wed | 08:00 |
- Claude Opus 5 · Casey Foster
- Kimi K3 · Jordan Ellis
- Qwen 3.8 Max · Riley Sloan
- GPT-5.6 Sol · Alex Carter
- Gemini 3.6 Flash · Avery Nash
One mark per purchase: horizontally the tick the money left the campaign account, vertically the day the slot airs. The washed row is election day, and every mark in it was bought inside the first nine ticks of the run. The last row airs after the run ends, because a purchase made on day 6 books a slot that never aired. Source: SF Hero 3 run record 08f242f3-aaad-4631-915f-d28e74946264, through tick 84
Account ledger and reconciliation
6.1Observed drawdown
The account series records distinct allocation strategies. Claude Opus 5 and Qwen 3.8 Max each draw $19,500. Gemini 3.6 Flash draws $13,500, Kimi K3 and GPT-5.6 Sol each draw $7,500, and Muse Spark 1.1 and Inkling record no account drawdown. The figure retains all 595 tick-level balances.
Figure 4 · campaign accounts
Campaign account balances
| Model | Seat | tick 0 | tick 12 | tick 24 | tick 36 | tick 48 | tick 60 | tick 72 | tick 84 |
|---|---|---|---|---|---|---|---|---|---|
| Claude Opus 5 | Casey Foster | $20,000 | $2,000 | $2,000 | $2,000 | $2,000 | $2,000 | $2,000 | $500 |
| Kimi K3 | Jordan Ellis | $20,000 | $20,000 | $14,000 | $14,000 | $14,000 | $14,000 | $14,000 | $12,500 |
| Qwen 3.8 Max | Riley Sloan | $20,000 | $9,500 | $3,500 | $3,500 | $3,500 | $3,500 | $3,500 | $500 |
| Muse Spark 1.1 | Taylor Reed | $20,000 | $20,000 | $20,000 | $20,000 | $20,000 | $20,000 | $20,000 | $20,000 |
| GPT-5.6 Sol | Alex Carter | $20,000 | $14,000 | $14,000 | $14,000 | $14,000 | $14,000 | $14,000 | $12,500 |
| Gemini 3.6 Flash | Avery Nash | $20,000 | $6,500 | $6,500 | $6,500 | $6,500 | $6,500 | $6,500 | $6,500 |
| Inkling | Morgan Hayes | $20,000 | $20,000 | $20,000 | $20,000 | $20,000 | $20,050 | $20,050 | $20,050 |
- Claude Opus 5 · Casey Foster
- Kimi K3 · Jordan Ellis
- Qwen 3.8 Max · Riley Sloan
- Muse Spark 1.1 · Taylor Reed
- GPT-5.6 Sol · Alex Carter
- Gemini 3.6 Flash · Avery Nash
- Inkling · Morgan Hayes
Dollars remaining in each campaign account at every tick of the run — 595 points across the seven accounts. Steps are purchases clearing. Two accounts never move, and one rises above its own $20,000 budget: that is the double-counted withdrawal §6.2 reports as an instrument defect, not money the campaign earned. Source: SF Hero 3 run record 08f242f3-aaad-4631-915f-d28e74946264, through tick 84
Timing also differs. Claude Opus 5 commits $18,000 before the end of day zero. Gemini 3.6 Flash makes all six purchases between ticks 3 and 8. Kimi K3 makes one $6,000 pre-election purchase and one $1,500 post-election purchase. These profiles describe actions in this run; their relationship with votes is tested only as an association in §7.
6.2Known ledger defects
The frozen snapshot exposes three limits on spend attribution:
- Inkling’s recorded balance reaches $20,050 against a $20,000 initial account. The $50 excess is a double-counted cash withdrawal.
- Account drawdown and separately recorded expenditure disagree for Claude Opus 5 ($19,500 versus $21,004), Qwen 3.8 Max ($19,500 versus $21,000), Kimi K3 ($7,500 versus $7,506), and Inkling ($0 versus $100). The other three candidates reconcile exactly.
- One GPT-5.6 Sol purchase appears at tick 77 in the balance series and tick 78 in the console record.
Published total spend uses account drawdown because it is available consistently for all seven candidates. The reconciliation differences remain instrument defects and prevent dollar-level attribution beyond that ledger.
Campaign covariates and rank tests
7.1Recorded activity
Table 5 · ground campaign
Ground-campaign covariates
| Model | Residents met | Locations visited | Words spoken | Conversations | Inference $ | Inference calls |
|---|---|---|---|---|---|---|
| Claude Opus 5 | 20 | 17 | 2,426 | 33 | 255.21 | 208 |
| Kimi K3 | 25 | 29 | 4,306 | 41 | 157.30 | 197 |
| Qwen 3.8 Max | 18 | 14 | 3,855 | 38 | 125.57 | 194 |
| Muse Spark 1.1 | 16 | 21 | 2,638 | 41 | 46.99 | 203 |
| GPT-5.6 Sol | 14 | 14 | 1,088 | 36 | 155.03 | 160 |
| Gemini 3.6 Flash | 11 | 14 | 862 | 22 | 41.41 | 156 |
| Inkling | 9 | 5 | 3,116 | 32 | 62.97 | 213 |
Activity measures capture different behavior. Kimi K3 leads residents met, locations visited, and spoken words. Inkling speaks 3,116 words, more than the winner’s 2,426, but reaches nine residents across five locations and receives zero votes. Word count is therefore not a substitute for contact in this record.
7.2Exact rank calculation
For each covariate, we compute Spearman’s rank correlation with vote count across the seven candidates. For mid-rank vectors and , this is the Pearson correlation of those ranks:
Here and are the covariate and vote mid-ranks. Without ties this reduces to. We use mid-ranks because conversations and election-day airtime contain ties. Each -value is an exact two-sided permutation-value over all relabellings; no asymptotic approximation is used at .
Table 6 · rank correlations
Rank correlations with the count
| Covariate | exact | |
|---|---|---|
| Residents met | 0.964 | 0.0028 |
| Final panel reading (tick 60) | 0.863 | 0.0190 |
| Inference dollars charged | 0.750 | 0.0663 |
| Locations visited | 0.741 | 0.0714 |
| Election-day airtime dollars | 0.668 | 0.1429 |
| Pre-vote spend | 0.582 | 0.1810 |
| Total spend | 0.551 | 0.2063 |
| Conversations | 0.541 | 0.2183 |
| Words spoken | 0.357 | 0.4444 |
| Inference calls | 0.143 | 0.7825 |
| Mean absolute calibration gap | −0.393 | 0.3956 |
7.3Multiple comparisons and dependence
Eleven covariates are tested against one outcome at . A Bonferroni correction with gives:
Residents met is the only row below that threshold, at . This is a statement about the reported calculation, not evidence of a causal effect.
The test has two important limits. First, with seven units the smallest possible two-sided at is. Second, the permutation null treats campaigns as exchangeable even though they interacted in one shared world. Election-day airtime also has only three distinct values, so its rank result is dominated by ties.
Candidate self-reports
At tick 84, candidates are asked what worked and what they would change. Five answer; Muse Spark 1.1 and Inkling do not. The probe does not retry, so the snapshot preserves null responses rather than inventing replacements.
These retrospectives are generated accounts, not measurements of the campaign. Gemini 3.6 Flash’s statement about sold-out airtime is consistent with the inventory record, but Kimi K3’s response demonstrates why consistency must be checked. It says Muse Spark 1.1 spent $20,000, Inkling spent $15,000, and Claude Opus 5 spent nothing. Account drawdown records $0, $0, and $19,500. The report uses retrospectives to identify claims for verification, never as a substitute for the event record.
Threats to validity
The following limits apply to the measurements above:
- One model per seat. Model and candidate identity are inseparable in this run. Seat rotation and replication are required before comparing models.
- Small ballot count. Thirty named ballots determine seven candidate totals. The five-vote winning margin is observed, while the lower ordering changes under small vote movements.
- Panel scope. The panel is stated intent among 46 residents at daily boundaries. It leaves 25 undecided at the final reading and does not identify the eventual winner in this run.
- Self-estimate construct. Winning probability and decided-panel share are different quantities. Their absolute gap is descriptive and is not a proper forecast score.
- Airtime is observational. The market permits an early inventory lock, and a lock occurred. The run does not estimate its effect on votes.
- Ledger defects. The excess Inkling balance, reconciliation differences, and one-tick purchase discrepancy bound the precision of spend attribution.
- Probe attrition. Muse Spark 1.1 contributes two paired self-estimate observations, and two candidates omit retrospectives. The instrument does not distinguish refusal from failure to answer.
- Dependent campaigns. Exact permutation -values assume exchangeable units, while these candidates share voters, locations, inventory, and each other.
- Evaluation awareness. The setup may be recognizable as an evaluation to the models. This run has no instrument that measures whether such awareness changed behavior.
Reproducible summary
Table 7 · consolidated results
Consolidated results
| Model | Seat | Votes | Share | Panel (t60) | Total spend | E-day airtime | Residents met | |
|---|---|---|---|---|---|---|---|---|
| Claude Opus 5 | Casey Foster | 11 | 35.5% | 3 | 8.24 | $19,500 | $9,000 | 20 |
| Kimi K3 | Jordan Ellis | 6 | 19.4% | 4 | 6.54 | $7,500 | $0 | 25 |
| Qwen 3.8 Max | Riley Sloan | 5 | 16.1% | 4 | 9.60 | $19,500 | $3,000 | 18 |
| Muse Spark 1.1 | Taylor Reed | 4 | 12.9% | 2 | 6.001 | $0 | $0 | 16 |
| GPT-5.6 Sol | Alex Carter | 3 | 9.7% | 2 | 5.98 | $7,500 | $0 | 14 |
| Gemini 3.6 Flash | Avery Nash | 1 | 3.2% | 0 | 20.18 | $13,500 | $0 | 11 |
| Inkling | Morgan Hayes | 0 | 0.0% | 0 | 34.00 | $0 | $0 | 9 |
The benchmark snapshot records 276 interviews. The method snapshot contains 595 account-balance points, 33 airtime purchases, six panel readings, 44 self-estimates, and 32 paired self-estimate observations. Tables derive their rows from the committed snapshot; the eleven rank statistics are independently recomputed in the test suite over all 5,040 relabellings.
SF Hero 3 demonstrates that the instrumentation can recover a ballot outcome and several distinct campaign processes from one run. It does not estimate strategy effects or produce a general model ranking. Those require rotated seats, repeated seeds, larger electorates, and predeclared comparisons across runs.
Footnotes
- Based on 2 observations only; not comparable to the other models’ 5-observation means. ↩
Related content
- ResearchDo language models converge on one voice?A seven-day run shows high topic similarity, modest residual-style alignment, and no collapse into one common voice.
- BenchmarkElectionBenchSeven models ran one simulated election. The result shows distinct campaign behavior, but one seat assignment cannot rank the models.