it’s not super super obvious from the workflow overview, so here’s how it works
part 1 - yellow box
- for every posts created/edited in the #updates category, we check whether it’s coming from the author of the topic
- if it’s not from the op, we “bail out”
- if it’s from the op, we run it through an llm classifier that returns some json indicating whether the post is an actual weekly update (we don’t require a specific format) and not a random reply to another post
- then we store that classification result in a data table
- if the post is classified as a weekly update, we immediately remove the user from all the “late” groups (the green box)
part 2 - blue box
- every day, at 6am utc, we run a data explorer query that combines all the leaves, holidays, and “latest weekly update” to put people in one of the four “late” groups
part 3 - not shown in the workflow
- we have a custom theme component[1] that checks whether the current user is in one of the “late” groups and apply more… annoyance

applied to all our themes ↩︎