Every email gets one label.
One model call sorts each email into one of 12 labels. Job-related email continues into the Job Apps pipeline.
12 labels · 1 per email7 job-app sublabels1 LLM call per email0 replies sent by machine
01The sorter
02Job Apps pipeline
langgraph · opus · fired by dispatchDispatch → Notion
5 stagesDispatchBEARER POST FROM TRIAGER
ClassifyONE OF 7 SUBLABELS
SublabelAPPLIED IN GMAIL
MatchCASCADE → NOTION ROW
Status ↑NEVER BACKWARD
OfferInterview SchedulingAssessmentRecruiter OutreachStatus UpdateApplication ConfirmationRejectionThe match cascade
never guessesno match ↓
still ambiguous ↓
03The one-way line
status is monotonic · terminal stations are read-onlyNothing here sends email.
The pipeline labels and matches. Every reply is written by hand.