Back to the blog
2 min readDavid Hunter

We Shipped Our Agent System to Production. It Still Can't Message a Single Resident, On Purpose.

This week we pushed our whole agent system to production. Live on the server, running for real. And it cannot send one message to a resident or an owner. That is not a bug. That is how I built it.

Here is the thinking. An agent that can reach real people is one wrong line of code away from a bad day. So the system ships fail-closed. Every path that could contact a person is off at the switch. The code is live, it is watching, it even drafts what it would say, but the actual sending is physically gated behind me flipping it on, one channel at a time, only after I have watched it run in shadow next to what we already do by hand.

I proved it to myself before I believed it. Hit the health check, the system is up. Try to fire a resident message through the live route, it comes back locked. The thing runs and still cannot talk. That is the version I trust.

Now the honest part, because building in public means the misses too. While I was testing, my own build agents dropped a few fake "your repair is scheduled" approvals into our live queue. Nothing ever went out (they were inert test artifacts), but I looked at one, thought it was real, and flagged it to my team like a resident had actually been contacted. It was nothing. I owned it, cleared them, and put a hard rule in place: test runs never touch the live queue, use fixtures.

The lesson I keep relearning is that the scary failure here is not the crash. It is the confident-looking message to a real person that should never have gone out. I would rather ship something that starts by doing nothing and earn every step up from there.

That is the pace we build at inside the Agentic PM. Real systems and real doors, safety first.

Get the next one

Want more like this?

New essays on building agents for property management, straight to your inbox.