by Chris Hunter
Share

TL;DR
- All 375 tests passed, and the commitment ledger was still merging two different promises into one.
- Replaying 157 real commitments caught it. Without the fix, 8 would have disappeared without anyone noticing.
- Friday (my chief of staff) now sends me a Monday brief and a daily one on its own, and it tells me when a source is missing.
This one covers September 7 through 13. Two builds, and the first one humbled me.
375 tests passed, and the code was still wrong
Most small businesses track meeting promises in somebody’s head, or in a notes doc nobody opens again. I wanted a list that keeps itself.
So Friday, my chief-of-staff agent, keeps a commitment ledger. It reads our meeting transcripts, pulls out what people said they’d do, and carries each one forward week over week until it shows up done.
The test suite was green. All 375 tests. By every check I’d written, the ledger worked.
Then I ran it against real commitments from past meetings, and it was quietly eating some of them.
The bug was simple once I saw it. When two different commitments ended with the same phrase, the ledger decided they were the same commitment and merged them. One survived. The other was gone. No error, no warning. It just wasn’t on the list anymore.
Think about what that does in a business. Somebody says in a meeting they’ll handle something. Your system says it’s tracked. A week later nobody remembers it, and the list doesn’t either, because the list threw it out.
We replayed 157 real commitments through the ledger. Before the fix it had folded 14 of them into other ones. After the fix, 6 merges were left, and all 4 of the false ones had been split back apart. That’s 8 commitments that would have disappeared without anybody noticing.
The fix took three new tests. 375 became 378.
The replay caught it. The suite never would have. I didn’t write a test for two different promises that happen to end the same way, because it never crossed my mind. Last month’s actual meetings had that case sitting in them.
Green tests tell you the code does what you thought to check. They don’t tell you it works. From here on, anything an AI builds for me runs against last month’s real data before I trust it, because real data has the cases I’d never think to write down.
My chief of staff now briefs me before I’m up
Until this week, Friday waited for me to ask. If I wanted to know where things stood, I opened a session and typed the question. That meant starting the week by digging through last week’s meetings myself.
That changed. A weekly brief is now scheduled to run on its own at 6:30 every Monday morning, with the first one due the 14th. A daily brief covers Tuesday through Friday. Both draft a report and send me a notification. Neither one commits anything or changes anything on its own. They read and draft, then tap me on the shoulder. That’s the whole job. Two dry runs proved it before I armed them.
The test run caught one real problem. The daily brief read a status edit in our CRM as “a deal closed yesterday.” Nothing had closed. A field had changed. That’s exactly the kind of line you repeat in a meeting before anybody checks it.
So the brief only counts events that carry a timestamp. It never infers a sale. A guessed sale in a brief is worse than a blank, because it’s the line people remember.
The part I like most: when a source is missing, it tells me. One run came back “partial, 9 of 11 sources” instead of announcing the brief was ready. I’ll take an honest partial over a complete-looking report with holes in it every time.
The brief work took Friday’s test count from 390 to 443.
Need help building something like this?
Everything I write about here runs in my own business first. If the AI job landed on your plate, start with an assessment: where AI will make or save you the most money, and what it'd take to run it right.
Oct 1–8 build log: a local AI video editor that finished three podcast episodes, overnight builds from my AI agent, and two quiet sites.
A hard stop that keeps my AI agents from messaging people, moving money or deleting anything without me, plus a site move finished in one evening.
Build log, Sept 21–27: an AI that checked which leads were real (495 of 495 tag changes, 0 errors) and an early-warning brief that went dark for a week.
Claude Code now reads AGENTS.md, the cross-tool standard behind Codex and Cursor. Why one portable instruction file matters, and what I'm doing about it.
