From the Backlog to the Build Log

Week of July 10 - July 16, 2026

What I Worked On

This was a tightening week. Lobast exists and ships. This week was about making the DevNitro and Lobast integration airtight, with one obsession: secret custody. Locking that down is Intelligent Engineering at work since you do not ask the AI to be careful with secrets, you build a system where it cannot touch the private information.

On the Lobast side, I converged everything to a single lobast binary per platform with a tag-driven release pipeline, so distribution is one artifact and one version number. I added a shared config-home resolver, which fixed a real bug where credentials could get scattered because the tool defaulted to the current directory instead of a stable home. Entitlement got serious: seat-gated tokens that mint, validate, rotate, and self-heal, a lobast login command with a secure key store, and interactive provider unlock, including 1Password without needing a long-lived service-account token. And the broker manages its own lifecycle now, launching exactly once behind a file lock and respawning if it dies, so the tools that depend on it stay reliable.

On the DevNitro side, I hardened the tools that talk to the broker. Onboarding now enforces a manual-login gate and forbids the agent from searching for secrets, and login detection gained four-state logic so it knows the difference between "already logged in," "needs login," "no credential," and "cannot tell."

The other security win was cross-project dependency redaction. If an issue in one project is blocked by an issue in another project you are not allowed to see, the old behavior could leak the blocking issue's information. I built a server-side redaction chokepoint, enforced same-project parent and child relationships, and wrote security tests to prove that a blocked-by relationship cannot leak across a project boundary if a user does not have access to both projects.

What the AI Did Well

The entitlement and distribution work is fiddly, stateful, and easy to get subtly wrong, and the agent worked it as a phased plan with tests: artifact contracts, token intake resolution, the config-home resolver, and round-trip tests that confirm config survives version bumps. The cross-project redaction was built in clean stages too, a redaction-aware data contract, then the server chokepoint, then the consumers, then the security tests. Staged and verified is how sensitive work should go.

What Needed Correction

Running multiple listeners bit me: I had enough of them going that the system spun up two containers, and my real-time connections started misbehaving because SignalR was not sticky across replicas. The short-term fix was to base autoscaling on CPU and memory and cap replicas, but the real lesson is that scaling real-time connections means bringing in a managed SignalR layer, which is now on the list.

I also refined the fabricated-tool-result detection to cut false positives. Catching a model that invents a tool result is essential, but a detector that cries wolf on legitimate results is its own problem, so this was about precision, not just recall. And I fixed the framework so validation errors surface to client apps through a unified 400-error envelope, because an error that does not reach the caller is worse than no error at all.

What Shipped

Lobast is one binary per platform with tag-driven releases, a shared config home, seat-gated self-healing entitlement, a lobast login command with a secure key store, interactive provider unlock, and self-managing broker lifecycle. DevNitro's brokered run-command tool can no longer accept a secret field, onboarding enforces a manual-login gate, and login detection is four-state. Cross-project dependency redaction stops blocked-by leaks with a server-side chokepoint and security tests. Autoscaling moved to CPU and memory with SignalR caps, fabricated-result detection got more precise, the framework has a unified 400-error envelope, and GPT-5.6 models are supported.

The Numbers

Category Hours
Product / Features 23h 50m
Content 21h 33m
Testing 9h 36m
Business 1h 32m
Community 1h 21m
Deploy / Infra 1h 5m
Total 58h 57m

Product work and testing took 33h 26m, with 21h 34m of the product time going into Lobast. Same amount of time went into creating content. The work that matters most still removes capability on purpose: a tool that cannot hold a secret, and a dependency view that cannot leak across a boundary. Sometimes the best feature is the thing you make impossible.

Where This Fits in Intelligent Engineering

Secret custody is not a feature you bolt on. It is a discipline you enforce everywhere, right down to making sure a tool cannot physically receive the thing you are protecting. That is the bar Intelligent Engineering sets. It's not about AI that codes fast, but about AI whose output an organization can trust, support, and scale. The strongest guardrail is not a rule the agent has to remember. It is a capability the agent never has.


A team can only trust what it cannot leak by accident. This week I made a few more leaks impossible.

Curious how this site was built?
Watch the 5-minute walkthrough on YouTube →

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.