LOOP14 AUG 2026
The overnight pass, the queue and the undo window
A cron pass reads everything unread in your Microsoft 365 or Gmail inbox that arrived after the last message it recorded, classifies each one, and writes a single drafted reply per conversation into a morning queue.
The pass resumes from a watermark rather than polling, and it advances that watermark only once a message has actually been written down — so a pass that dies halfway re-reads instead of stepping over what it never reached.
Approving a reply does not send it. It stages the reply, and the dispatcher refuses to pick a row up before its undo window has elapsed. Taking a send back inside the window means the customer never saw it.
LEDGER14 AUG 2026
Receipts you can actually check
Every read, classification, draft, handoff, approval, edit, kill, send and cancellation now writes a row to the ledger, with the evidence the agent acted on attached.
The evidence is not a paraphrase. Quotes are verbatim spans of the customer's own message, and a quote the message does not literally contain is dropped before it is ever shown — an invented quote on an evidence line is worse than no evidence at all, because the whole point of the line is that you can trust it without opening the original.
The receipt is written before the mail rail is touched, so a send that could not be logged does not go out.
GATES14 AUG 2026
Both caps, and the categories it refuses
Two caps bound the whole loop. A thread past its agent-reply budget goes to a human and stays there — a thread the agent has already answered that many times is, by definition, not one it is solving. And past the daily send cap the queue simply stops draining until tomorrow; nothing is lost, and the direction of failure is always "too quiet".
Three categories are never drafted at all: complaints, legal threats and cancellations. That is a branch in the code rather than a confidence threshold, so it cannot be tuned away by a model having a good day.
A draft that commits to a refund, a credit, a discount, a guarantee or a date the thread never mentioned is thrown away outright.
INTEGRATIONS14 AUG 2026
Microsoft 365 and Gmail on one rail
Everything above the mail layer — the overnight pass, the morning queue, the dispatcher — talks to a shared inbox through four members and knows nothing about Microsoft Graph or the Gmail API. That is what makes two systems of record one loop rather than two products.
The grants are the narrowest the loop can run on. Microsoft asks for Mail.ReadWrite and Mail.Send, because an approved reply goes out through createReply and threads natively inside the customer's own conversation. Google asks for one scope, gmail.modify, which covers reading, sending and marking read and cannot permanently delete a thread.