History rows now carry the (filter, start, end) they were loaded for. Only a reload for that same range keeps the rows on screen (an SSE refresh); a filter or range change always goes through loading, and a failed load shows the error state instead of the previous filter's rows. Replaces the causeless silentNext flag (review finding NQ-210-1). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>