Sort of. goread tracks a global unread date. Anything newer than that is unread. Any item you have read since then is added to a big list that is used to filter returned items. When you've read everything, it moves up the unread date and clears the list.