Blog

Building in public. Sharing what we learn.

Octofs 0.9.0 renders every file line as a composite ID of position plus a content hash, and verifies that ID before applying an edit so stale targets fail with self-healing errors

Octofs 0.9.0: Line 42 Is a Lie

Octofs 0.9.0 gives every line a content-verified composite ID (N:hh) that edit tools check before touching a file, so a stale target fails loudly with the fresh content instead of silently editing the wrong line. Plus replace_all and CRLF-safe matching in str_replace, and hard rejection of shell misuse. Open source, Apache-2.0.

Pulsora time-series database written in Rust storing columnar compressed blocks of market tick data on disk

Introducing Pulsora: A Rust Time-Series Database for Trading Data

We built Pulsora, an open-source time-series database in Rust, because a firehose of market ticks pushed our storage past its limits. Columnar blocks, type-specific compression, and a block-level index that doesn't grow per row.

Synx terminal output showing a bidirectional file sync session between a local directory and a remote host over SSH

Introducing Synx: File Sync for Remote Development

Synx is an open-source, real-time two-way directory sync over SSH — a Mutagen alternative for developers who edit locally and build on a remote box. Written in Rust, one command, no daemons.

OctoHub LLM proxy diagram showing a single gateway routing agent requests to multiple model providers with logging and metrics

Introducing OctoHub: One Front Door for Every LLM Your Agents Call

OctoHub is a self-hosted LLM proxy you run in front of your agents. One endpoint, model aliases, per-provider load balancing, and a log of every request that went out and what it cost. Open source, Rust, Apache-2.0.

Octocode 0.20.0 adds Markdown files as nodes in the GraphRAG knowledge graph, extracts cross-document links as references relationships, fixes missing relationship batches, and halves memory use on relationship loading

Octocode 0.20.0: Markdown Joins the Knowledge Graph

Octocode 0.20.0 brings Markdown into the GraphRAG knowledge graph — docs become nodes, cross-document links become typed references relationships — plus a fix for silently missing relationships on large projects and a 2x memory cut on relationship loading. Open source, Apache-2.0.

How to debug AI agents with Octomind observability — per-request cost reports, token breakdowns, the JSONL session log, RUST_LOG tracing, machine-readable jsonl output, and OctoHub proxy logging every upstream LLM request

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.

Late July 2026 release round-up for the Muvon AI stack — Octocode 0.19.0 reasoning retrieval and weighted RRF, Octobrain 0.9.4 async knowledge sync, Octolib 0.26.1 with Kimi K3 and Opus 5, Vext 1.3.0 glass design system with word-level speaker splitting and seven languages

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.

Pairing Octocode semantic code search with Octobrain persistent memory so an AI agent can both find the right code and remember the decisions about it

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.

Octocode reasoning retrieval - an LLM reasons over candidates and re-ranks, RRF-blended with hybrid search

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.

Local-first architecture of a Mac time tracker built on one embedded SQLite file with 1 Hz sampling and no cloud

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.

A breakdown of on-device speech recognition latency and privacy tradeoffs on Apple Silicon versus cloud speech-to-text

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 covering tool calls token usage and retries

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.