A note about this build log entry: I published this after the week it covers. DevNitro reconstructed a draft from work-related entries in my journal, Git commit history, and time tracking. I reviewed, edited, and approved the final post. The story reflects what I knew and built at the time.
From the Backlog to the Build Log
Week of February 6 - February 12, 2026
What I Worked On
The feature I am proudest of this week is a lie detector. Language models sometimes claim they ran a tool and then invent the result: a file they never read, a command they never ran, output that never existed. If you trust that, the agent quietly builds on fiction it fabricated. So I built a streaming detector that watches the model's output as it arrives and catches a hallucinated tool call before it poisons the rest of the run.
Alongside that, I moved to native tool calling where the provider supports it, added provider-specific tool-calling instructions, and tightened the agentic loop's control flow. Anthropic shipped Opus 4.6 this week, so a lot of the work was making the harness behave with a new model and getting parallel agents to cooperate without stepping on each other.
The largest time block, though, was team billing: email invites with pending-invite management, seat management, workstream pack purchases through the normal Stripe payment flow, billing-org isolation between users, and a new-subscriber onboarding path. I also kept refactoring, moving business logic out of controllers into services so the controllers stay thin.
What the AI Did Well
Native tool calling and the hallucination detector are both fiddly, provider-specific work, and the agent held up. I also had it stand up end-to-end Stripe billing tests, which matter more than almost anything else here, because billing bugs cost real money and real trust.
Git worktree support landed for sessions too, so the agent can work on an isolated branch without disturbing the main checkout.
What Needed Correction
Parallelism cuts both ways. With the new model and a tweaked system prompt, the agents started doing a lot in parallel, maybe too much, and I had to rein it in. Coordinating several agents is a different problem than running one well.
I tried to set the default theme to dark and it broke the styling for both light and dark, bringing back a purple I have fought before. I reverted it. And the remote-execution path still does not work after all the refactoring, so that carries forward.
A note on the week: a good chunk of my time went to things that are not in these numbers, taxes and an insurance claim after a deer ran into my car. It was a lighter build week than most.
What Shipped
DevNitro detects and handles hallucinated tool results, uses native tool calling where available, and drives the agentic loop more reliably across providers, including Opus 4.6. Team billing has invites, seat management, and workstream pack purchases through the real payment flow, with billing-org isolation. Controllers are thin, business logic lives in services, and sessions can run in git worktrees. End-to-end Stripe billing tests are in.
The Numbers
| Category | Hours |
|---|---|
| Product / Features | 38h 56m |
| Content | 3h 51m |
| Community | 1h 2m |
| Total | 43h 48m |
Forty-four tracked hours, with team subscriptions taking almost half and the agent-loop work taking most of the rest. The unposted hours this week went to life admin, not the build.
An AI that hallucinates tool calls is not a bug you can prompt away. It is a property of the model, so you build for it. Catching the fabricated result is the difference between an agent you have to supervise and one you can actually trust. I imagine this may become a whack-a-mole problem, but for now, the detector is working well.
Curious how this site was built?
Watch the 5-minute walkthrough at devnitro.com →
0 Comments
No comments yet. Be the first to share your thoughts!
Leave a comment