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 →

An AI built this blog (but not this post)

This entire blog system (domain models, database, services, UI, auth, etc.) was built by DevNitro on its own in 95 minutes. I recorded every second.

    We respect your privacy. Unsubscribe at any time.