The new fan control plumbing referenced log.CarState.GearShifter.park,
but CarState is defined in car.capnp and only DeviceState/PandaState
live in log.capnp. Thermald crashed immediately on first carState tick,
which meant deviceState stopped publishing entirely. The UI then read
stale/default values — freeSpacePercent=0 → "100% full" → "Out of Storage"
alert despite 65 GB actually free. The fan also stopped updating.
from cereal import car, log (was just log)
car.CarState.GearShifter.park (was log.CarState...)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>