ColdCacheReason = Literal['idle', 'identity_changed', 'age_unknown']Why a turn is treated as facing a cold prompt cache.
idle means the last request is older than the policy's retention window.
identity_changed means the model or its cache-affecting params differ from
the last successful turn, so the cached prefix cannot be reused regardless of
age. age_unknown means there is no usable record of when this thread last
reached the model -- a checkpoint written before cold-cache tracking existed,
or one whose timestamp could not be parsed -- so the cache cannot be assumed
warm. Each maps to distinct modal copy; they are not interchangeable, and in
particular age_unknown must not be reported as identity_changed, which
would claim a model change that never happened.