Blog
Building in public. Sharing what we learn.

Debugging AI Agents: The Observability We Wished We Had on Day One
An agent burned $4 and 90 tool calls on a task that should have taken three, and we were staring at a blank terminal. This is the instrumentation that turned guesswork into a two-minute diagnosis — Octomind's /info, /report, /context, the zstd session log, RUST_LOG tracing, --format jsonl, and OctoHub in front to capture every upstream request.

Release Round, Late July 2026: Octocode 0.19.0, Octobrain 0.9.4, Octolib 0.26.1, Vext 1.3.0
Two and a half weeks since the July round, and the stack learned to check its own work. Octocode 0.19.0 shipped reasoning retrieval — an LLM re-ranker fused into hybrid search with weighted RRF, +36% MRR on the benchmark. Octobrain made knowledge sync non-blocking, Octolib kept the model roster and embedding pricing current, and Vext 1.3.0 landed a glass redesign, word-level diarization, and two new languages.

A Map and a Memory: Pairing Code Search with Persistent Memory for AI Agents
Semantic code search lets an agent find the right code. Persistent memory lets it remember the decisions about that code. Run only one and you get an agent that re-derives context every session or remembers conclusions it can't relocate. Here is how to wire Octocode and Octobrain together so the agent both finds and remembers.

Reasoning Retrieval: We Taught Code Search to Think, Not Just Match
Octocode now has an optional LLM reasoning step that reasons over retrieved code and re-ranks by real relevance, fused with hybrid search via RRF. On a 127-query benchmark it lifts MRR +36% and Hit@5 to 0.953 — with every metric up. Here are the numbers, the tuning, and what did not work.
One SQLite File, 1 Hz, Zero Cloud: The Local-First Architecture of a Mac Time Tracker
A grounded design guide to building a local-first desktop app: why one embedded SQLite file beats a cloud DB for a single user, how 1 Hz raw samples roll up into human sessions, schema design for time intervals, WAL and crash safety, and the honest tradeoffs of owning your own data.

Why We Run Speech Recognition Fully On-Device: The Latency and Privacy Math
Cloud speech-to-text loses on a budget you can compute on a napkin. Here is the round-trip math that forced Vext to run both the speech model and the cleanup LLM on-device, plus a cloud-vs-local decision framework for your own audio feature.

Lessons From Building a Unified LLM Provider Layer in Rust
What we learned shipping octolib, the Rust LLM library behind our AI stack: how to abstract multiple LLM providers, normalize tool calls and token usage, and survive the day a model's thinking format returned a 400.

Release Round, July 2026: Octofs 0.5.2, Octolib 0.25.0, Octocode 0.18.1, Octobrain 0.9.1
A month since the June round-up, the whole stack moved again. Octofs finally shipped 0.5.0 — simpler line targeting, a first-class delete, one breaking change. Octolib climbed from 0.23.0 to 0.25.0 with local embeddings, response schema enforcement, and GPT-5.6. Octocode and Octobrain cut fresh patches, every MCP tool now publishes itself to the MCP registry — and the Mac apps moved too, with Timex 1.2.0 and TypeTab 1.1.0.

AI Code Review in CI With an Open-Source Agent: The Setup That Actually Held Up
We wanted a second reviewer that never gets tired but also never hallucinates a problem into existence. Here is how we wired Octomind into GitHub Actions for automated code review — the real octomind-action inputs, running the team's actual lint and test commands through .agents/tools/, keeping CI non-interactive and safe, and bounding the cost.

Give an AI Agent a Filesystem Without Giving It Your Whole Filesystem
A security-minded guide to sandboxing AI agent file access with a filesystem MCP server. How Octofs scopes a working root, stays gitignore-aware, enforces non-interactive shell, and removes whole categories of foot-gun that raw bash and rm hand an agent — plus the protections it does not have and how to configure around them.

Running One AI Agent Across Many Models: A Multi-Model Routing Guide for Octomind
One model for everything got expensive and rate-limited. Here is how we route requests between LLMs inside a single Octomind agent — cheap models for the grunt work, a frontier model for the call that matters — with the real config keys, the provider list, and a model-selection cheat sheet.

AI Agent Memory Without the Noise: Scoping and Forgetting with Octobrain
Give an AI agent persistent memory and it will memorize everything until recall drowns in its own notes. Here is how Octobrain's memory scopes, the four-tool MCP surface, and autonomous consolidation turned a noisy junk drawer back into a memory that actually answers — plus a practical setup guide.