By the numbers
- 2,410commits since Mar 26, 2026
- 162 to 90lines of rules, five files merged into one manual on Oct 5
- 15 of 17fixes that still hold by their own check, Oct 14
- 11.6 a daycorrections I still catch, against a target of 3
Counted from the repo, the fix verifier and the corrections script. None of them is a launch outcome.
Discover
Overview
This is the agent I use to run my days. It sorts, sequences, starts things and catches drift, the jobs I can't count on my own head to do. I talk to it through Claude Code, and it reads and writes my task database, my calendar, my email and my money.
Claude Code does the building and the measuring while I direct it. The design work is not the chat. It is the points where the agent has to stop: two gates for anything that leaves my hands, one selector for what is next, and a receipt on every reply that gets checked against what the agent actually did.
Define
Problem
Notion, GTD, PARA and Kanban all assume you can look at a list and pick something. I needed something that comes to me and says here is your one thing.
Once I had that, the next problem was trust. A day-start check-in used to take 2 hours 15 minutes because I had to pull every thread myself. An agent that does the pulling can also send the wrong email, spend money, or say something is done when it isn't.
Between Sep 9 and Oct 9 I logged 199 corrections, and every one was read and labeled by hand. 101 were the agent saying something was true or done without checking the source. 59 were it using its own words or plan in place of mine. 26 were it calling something finished without looking at it.
Define
Persona
The user is me. Nobody else uses it, so the persona is one person's words, not a composite.
"i need you to everyday when i say lets start the day to check all areas automatically so i don't have to ask you - that is what takes so long."
Two things I told it later shaped the design. On Oct 5: "i want you to be more proactive not more scared and timid." On Oct 9: "i don't want you to think what would work - be certain what would work."
Discover
Research
No interviews, because there is one user. What I did instead was read my own data and other people's evidence.
- Sep 27, we measured why the agent was failing, then read the last 45 corrections. Nearly every one ended with "should have checked" a file that already existed. The information was there and not read.
- Sep 9 to Oct 9, all 199 logged corrections were read and labeled, one cause each: the 101, 59 and 26 above, plus 6 about answer length and shape and 7 where the agent broke its own system.
- Oct 9, Claude Code researched what others have published on stopping agents from claiming things they didn't check. The sources agree that a rule in the prompt is advice and a hook is enforced, and that a model needs outside evidence to catch its own mistakes. My own month matched: the rule "verify before asserting" sat in CLAUDE.md the whole month and was broken 101 times.
Not done: no testing with anyone but me, and no comparison against another assistant.
Design
Key decisions
Gates where the action happens, not rules in a file
I had tried rules. Each correction had added a guard, and the Sep 27 audit counted 36 hooks, 409 scripts and 1,124 context files, while corrections climbed. Instead of one more rule, each recurring failure becomes a gate, a tool or a task.
Cost: a gate is a pattern match on my words and can miss a phrasing.
Deny, don't ask
In auto mode, an ask is approved silently, which was proven on Sep 7. So the sending gate and the money gate deny the action until my last chat message says send or buy, and the denial tells the agent what to show me first: recipient and full text, or item, total, card and date.
Cost: speed on every send and every order. Amazon checkout runs through browser clicks no hook can see, so that one is still a rule I enforce by hand.
Only two things stop and ask
On Oct 5 at 9:50 in the morning I cut the rule down to sending and money leaving. Everything else, including drafts and deletions, the agent does and then shows me, and a bulk change writes its before-state to an undo file first. That night I told it I wanted it proactive, not scared and timid.
Cost: review time. Mistakes now reach me first and I catch them after.
Subtract before adding
Auto-injected context went from 77 KB to 33 KB on Sep 24. Five rule files became one manual on Oct 5. One file per topic is enforced at commit, after finding 302 files that claimed to be the authority.
Cost: a stale-source problem. The agent read archived files as current, which needed its own gate.
One selector for what is next
Five scripts each had their own answer, and they disagreed daily. Now it is goal, then project order, then task order, in one function, and every screen reads it. A due date never promotes a task, because only the calendar chooses dates.
Cost: if my order in the database is wrong, every screen is wrong together.
Design
Accessibility as a requirement
This is a terminal tool with one user, so there was no WCAG audit and I won't claim one. The access work is in how it behaves, and each rule is in the manual:
- One recommendation with its reason, at most two alternatives, one question per turn.
- The single next step first, with its first physical action.
- It never asks me to rate my energy, and never offers to stop. I decide when to stop.
- A check that fails prints COULD NOT CHECK, never nothing, because silence reads as all clear.
This page is built to the floor I would hold any page to: semantic headings, alt text on every image, a text alternative for the video, visible focus, reduced motion respected.
Design
Flow
One request goes through a prior-work check, a route to one owner, the work, and a reply that ends with receipts. Two hooks sit on the work, one on sending and one on money.
When something still goes wrong it becomes one fix, registered with a pattern that would catch the mistake recurring, and verified at the end of every session.

Design
Hi-fi screens
The product is a command line, so these are faithful mockups with fictional data, built from the real hooks, scripts and messages. The prototype is clickable and runs the real send and buy patterns.
Text alternative for the video
39 seconds, no sound. The morning sweep runs and prints a trust check, with one source marked COULD NOT CHECK, then three ranked tasks. In the sending gate, the agent tries to send an email and is denied. The reply "looks good" is held. The reply "send it" is allowed. The money gate does the same for an order and lets "buy it" through. In receipts, a reply that names a file it never opened is sent back, then passes once the file is opened. All data is sample data.

Morning screen
The trust check comes first and says COULD NOT CHECK out loud. A failed check that prints nothing reads as all clear, and that was my most repeated trust break.

Sending gate
The denial doesn't ask. It tells the agent to show me the recipient and the whole text. Only a message that says send lets it through.

Money gate
The denial names the four things I need before saying yes: item, total, card and date. Nothing is charged until I say buy.

Receipts
The gate doesn't judge the wording. It looks for each named key in this turn's real tool calls, so a claim with no work behind it goes back.
Reflect
Results
No launch metrics, because this isn't a launch. What I can show is what I measured, including the target I missed.
- The target was 3 corrections a day by Oct 8. On Oct 16 the 7-day average is 11.6. I missed it.
- Corrections by month: 22 in May, 12 in Jun, 53 in Jul, 70 in Aug, 143 in Sep, 213 so far in Oct. I can't yet say how much of that is more mistakes and how much is more work going through the agent and more of it logged. Logged entries undercount: on Oct 9 a detector found 2 to 3 times more in my own words.
- Of the 17 fixes the verifier checked on Oct 14, 15 passed their own check. Two failed because the mistake they target happened again after the fix, both in the reel pipeline.
- The receipts gate logged 1,734 decisions between Oct 9 and Oct 15: 1,097 passed, 462 were sent back, and 175 still failed on the second try and went through, because the gate sends a reply back only once a turn.
- One gate, replayed over 601 turns of real transcripts, found 3 replies claiming an Instagram message was sent. 2 were wrong and were caught.
- The day-start check-in took 2 hours 15 minutes before the sweep script. I haven't timed it since, so I'm not claiming a new number.

Reflect
Learnings
A rule I wrote down didn't hold, and a hook did. I would start with the hook.
I would measure before building any fix. On Sep 28, three of four fixes I had planned changed shape once I tested the cause: the agent hadn't forgotten to look for prior work, 15 of 28 misses were files that existed and ranked too low to be found.
More fixes isn't the outcome. By Sep 27 every correction had spawned a guard, and the guards were the tax. So now each fix has to be registered with a pattern that would show it did not hold.
Progress is one number, corrections a day, and it is still not where I said it would be.
Reflect
Next
- Two fixes fail their own check. Measure why before changing either one.
- Get corrections under 3 a day. That is still the target.