Distinguish authorized-empty and forbidden phases; skip caching day buckets with zero messages; bind window cache keys to user id. Co-authored-by: Cursor <cursoragent@cursor.com>
Distinguish authorized-empty and forbidden phases; skip caching day buckets with zero messages; bind window cache keys to user id. Co-authored-by: Cursor <cursoragent@cursor.com>