An hourly AI agent that reads a client-services inbox, drafts what it would reply — grounded in a curated knowledge base — and posts every draft to Slack for human review. It never sends anything. The team's emoji reactions teach it.
● Pattern in production since June 2026The agent lives in its own walled macOS account on an always-on Mac mini. Files reach it only through an admin-controlled path from the owner's machine — no shared folders, no repo it pulls.
A LaunchDaemon wakes every hour — reboot-proof, nobody logged in. A small deterministic script pulls new mail from the agent's own mailbox over IMAP. Zero AI cost.
Answers are grounded in a sectioned knowledge facility — specs, precedents, an answer protocol with hard anti-hallucination rules. The agent reads a snapshot; the canonical copy stays with the owner.
Claude (headless CLI) classifies each email — real inquiry, ticket, automated alert, admin — and decides: a cited draft reply, a housekeeping action, or a routing note. A quiet hour costs zero tokens. It never sends.
Every verdict lands in a private review channel as its own message — deliberately one-by-one, so each can be emoji-reacted and thread-replied individually.
The same hourly tick collects reactions and comments, acknowledges in the thread, proposes numbered standing rules, and re-drafts escalated items that hour. Only the owner's 👍 makes a rule permanent.
queue/ fetched mail → pending / judgedoutbox/ → posted/ verdicts & acks, before/after Slackfeedback/ every reaction & comment, verbatim, with provenanceRULINGS.md standing rules — read every tick; adoption is owner-gatedledger.jsonl an append-only audit trail of everythingfacility/ the knowledge-base snapshot the drafts cite