An empty assistant `stop` that exhausts the retry cap always reported the
context/`/shake images` hint, even when the provider billed output tokens
for the turn. Billed output on a zero-block stop means content was generated
and then dropped downstream (a filter/refusal flattened to
`finish_reason: "stop"` by a proxy, or a lossy API translation), so the
images/context advice is actively misleading there.
Branch the capped `finalError` in `#handleEmptyAssistantStop` on
`assistantMessage.usage.output`: keep the context hint when nothing was
generated, and otherwise name the billed output-token count and point at a
provider-side filter/translation. Also log `outputTokens` alongside the
existing warning fields.
Fixes#8511