4606b94e0f
A terminal watch is read by nothing once its wake has landed — the chip is gone, dedup only looks at active rows, and the outcome's facts live in the chat transcript from then on. So the row was pure accumulation. The sweep now drops terminal rows whose last event was over 7 days ago, in one guarded statement bounded to 500 per run. Guards: terminal status only, delivery already settled (a row that still owes a wake is never taken), and the age measured from the newest timestamp on the row so a late delivery restarts the clock. Watches only — chats, messages and investigations are untouched.