Gallery, prompt v2

Espresso boiler thermostat

One frozen prompt and every model that has run it, newest first.

Saturated since 2026-09-21

It is off the board. What the checks could not see was the size of boiler each model assumed. DeepSeek chose 5000 J/K on its first run and 3000 and 2500 on the next two, while Astra stayed between 2000 and 2500. A task whose checks all pass while the interesting number moves is a reason to change the question.

The prompt, v2, frozen

Model an espresso machine's boiler in ngspice as an electrical analogue (heater, thermal mass, heat loss) with a thermostat that holds it between 92 and 96 °C, and simulate the first 20 minutes from cold. In a .control block, save the boiler temperature with wrdata to a .txt file so it can be plotted.

Every model, its first three runs.

One square a check, in this order:

  1. Complete analogue
  2. Real hysteresis
  3. Starts cold
  4. Holds 92–96 °C
  5. Writes the .txt

passed, failed, undecided.

Astra
DeepSeek 4.1 Flash

How it is checked

The netlist itself: re-run in ngspice offline, and the temperature it writes out read back. A thermostat with a dead band is a stateful thing, so a bare comparator on one threshold is wrong however plausible the plot looks.

Complete analoguemeasuredThe node the temperature is written from has a capacitor on it, a resistor to a node a DC source holds fixed, and a third element feeding it. The resistor times the capacitor has to be under a day, so a leak nobody meant does not count as the loss.
Real hysteresismeasuredRe-run, once in band the heater switches on low and off high, at least 1 °C apart and at least 2 s per cycle, and the netlist has a switch that remembers: a SW model with a hysteresis voltage, or a source that reads its own output. A single-threshold switch sits at the set point with a swing near zero.
Starts coldmeasuredInitial condition at ambient, and the transient run with uic so it is honoured.
Holds 92–96 °CmeasuredThe written temperature re-read: once in band it never leaves it.
Writes the .txtmeasuredA wrdata line in .control, and the file actually appears.

What replaces it: Add a 30 s espresso draw at ten minutes and hold the band through the refill.

The rules behind all of thisThis task's prompt, checks and any checker, on GitHub

Earlier results ran under an older prompt, so they are at the bottom, next to the question they were asked.

Older prompts

Prompt v1, retired 2026-09-20

Model an espresso machine's boiler in ngspice as an electrical analogue — heater, thermal mass, heat loss — with a thermostat that holds it between 92 and 96 °C, and simulate the first 20 minutes from cold. In a .control block, save the boiler temperature with wrdata to a .txt file so it can be plotted.

The same style pass as the café table, on the same day: two dashes became brackets. It asks for the same thing, and unlike the café table nothing about the sentence got firmer. It is recorded anyway, because the test of a frozen prompt is whether small changes get written down, whether or not they mattered.