Built it. Then read your actual Gmail with it. Aug 11.
Your email is not messy. It is lossy. Things fall out of it and nobody notices.
So this does not tidy your inbox. It keeps a list of what you owe people, with a clock on each one, and puts labels in Gmail so you can see it.
It reads mail. It never writes, sends, deletes or replies to anything.
Found in your real inbox, 21 hours old
You told CBC's owner you would send something, and then didn't.
I searched your sent mail for anything to Brandon after that. Nothing. The only hits are Robin's own emails and a dashboard link you sent before the promise.
Follow Up · Robin Bahl
You promised to send it. 21h, nothing sent.
Meso Ph update ? Please · Glenn
Direct question, unanswered.
ProInn 3D · two invoices, $100 each
Still unsent. Your own system has said so twice.
CBC July receipt NRP-CBC-0002-R
Ready to forward to the client. Not forwarded.
SmartSource invoice NRP-SSC-0003
Same nag sent to you twice. Collapsed to one line.
Last night I said it was ready and only needed a Google login. That was wrong. Real mail broke it in four ways within one screen. The fake test data I built it on was all your own outbound drafts, so it had never seen a robot email.
Ten of your own billing robots were labelled “a partner is waiting on you.” Glenn is glenn@nextrev.io. Your billing worker is noreply@nextrev.io. Same domain, opposite meaning. It picked the wrong one.
It wanted you to reply to machines. A robot saying “send this to the client” is a real job, but you don't do it by emailing noreply@.
Your invoicing system emails you as you. From joseph@paperst.ai to joseph@paperst.ai. So “ProInn invoice still unsent” was filed as if the client owed you.
Gmail had already hidden the duplicates. Two alerts were each sent to you twice and Gmail stacked them into one thread, so my duplicate-catcher found zero while your mailbox visibly had them.
One thing, about 30 seconds
Right now I can read your mail through the connector, which is how I found the Robin thing. To actually put the labels in Gmail it needs its own Google login.
node ~/paperst-os/programs/mailroom/bin/mailroom.mjs unlock
One thing to be honest about
Google has no “read and label only” permission. The one that lets it label also technically allows sending. The code physically cannot send (11 tests prove every send route is blocked), but that is my code stopping it, not Google.
If you'd rather Google itself made it impossible, add --readonly. Cost: it can then show you the list but never file anything.