The late-July round closed with "August is already moving." That undersold it. Twenty-two days later the count stands at forty-nine releases across eight repos — plus four product launches that were still unannounced when that post went out.

The four launches each got a full introduction, so this post won't re-launch them: Octoweb, a keyboard-first AI browser; Synx, real-time file sync for remote development; Pulsora, a time-series database for market data; and OctoHub, an LLM proxy that finally shows you every request your agents make. As usual, this round catches everything else — and traces the threads.

Last round's thread was verification: the stack learned to check its own work. This round the stack turned outward. Almost every release below is about meeting you where you actually work — on your git branch, on your remote build box, in your browser, behind your load balancer, even in your package manager. Less "the tools got smarter," more "the tools showed up."


Four launches in three weeks

The short version of each, for the connections we'll need below:

Octoweb 0.10.0 — a WebKit browser written in Rust, no Electron, built keyboard-first: command palette, fast-access slots, readline bindings everywhere. The AI angle runs in both directions — an Octomind-powered agent lives in the sidebar and sees what you see, and the browser exposes a token-efficient MCP server so your agents can drive it. It went 0.9.0 → 0.10.0 inside this window: pin and unpin tabs, a cap on open tabs, automatic account quota refresh, and two stability fixes — orphaned agent processes and Objective-C memory leaks — that matter when the browser is your all-day daily driver. Which, for us, it is — five months now.

Synx 0.1.2 — two-way directory sync over SSH for the oldest split in remote development: you edit on the laptop, the work runs on the sixty-four-core box. One command, no daemons, no service to install on the server — the same binary runs both ends, and the client launches the remote side over SSH for you. Already at 0.1.2, which added a safety check that verifies the git baseline before any wipe operation — the kind of paranoia you want in a tool that touches two copies of your source tree.

Pulsora — a time-series database in Rust, built because a firehose of market ticks outgrew everything we tried. Columnar blocks, type-aware compression in the Gorilla lineage, and an index that scales with blocks written, not rows — so per-row storage cost approaches zero.

OctoHub 0.7.3 — the self-hosted front door for every LLM call: one endpoint, model aliases, load balancing, and a database row for every request that went upstream, what it cost, and who answered. It shipped eight releases inside this window, around and after the launch post: emulated SSE streaming for chat completions (0.7.0), modality compatibility checks between what a request sends and what the model supports (0.6.4), and health-check refinements. If you read our agent-observability deep dive, OctoHub is the last section made permanent.


Octocode 0.19.0 → 0.21.0 — the graph learns docs, branches, and live structure

github.com/muvon/octocode · 0.19.0 → 0.21.0 · August 17

Three feature releases, one direction: the knowledge graph stopped being a snapshot and started being a picture of the project as it is right now.

Markdown joined the graph (0.20.0)full post here. Docs become nodes in the same GraphRAG knowledge graph as code, and links between documents become typed references relationships an assistant can traverse. Your README explains the architecture; now the graph knows that. The same release deduplicated relationships on load — 575K edges down to 288K unique on our test project — and fixed batches of relationships silently going missing on large repos.

Indexing went branch-aware (0.20.1). The index now knows which git branch it reflects, and the MCP server detects branch context on its own — so search results follow the branch you're actually on. Small release note, large quality-of-life change if you switch branches a lot.

The graph went live (0.21.0). The headline is a runtime structural graph builder: a Tree-sitter-backed structural graph that's always available, with persisted enrichment overlaid when you've indexed. Alongside it, symbol-tier node extraction with provenance — graph nodes at the level of functions and types, each knowing where it came from — and language-specific symbol kinds, so symbols are classified in each language's own vocabulary instead of one generic set. A pair of indexer fixes keeps the counts honest: symbol inflation and path explosion are now prevented.

The dot to connect: 0.20.0's markdown post argued that a project's structure — code and docs — is a map the tools should read. Branch awareness and the live graph are the same argument applied to time: the map should be of today, not of last Tuesday's index run.

cargo install octocode --version 0.21.0
# or, new this round — no Rust toolchain needed:
npm install -g @muvon/octocode

Octofs 0.5.2 → 0.10.0 — so much for boring

github.com/muvon/octofs · 0.5.2 → 0.10.0 · August 15

Last round we wrote that Octofs was "back to being boring, which is its job." It shipped 0.6.0 the next morning and didn't stop for six releases. So much for that.

The filesystem went remote (0.8.0). Octofs now speaks SSH and SFTP: point it at a remote host and your agent gets the same safe, structured filesystem tools on the server as it has locally — with SSH host key verification, SSH agent support including Windows, and the shell hints tuned for remote sessions. Here's this round's thread at its clearest: Synx exists because you work on two machines. Octofs 0.8.0 exists because your agent does too.

Line numbers stopped being trusted (0.9.0)full post here. Every line is now addressed as N:hh — position plus a content hash — and every edit tool verifies the hash before writing a byte. A stale edit target fails loudly with the fresh content in the error instead of landing on the wrong line. str_replace gained replace_all and CRLF-safe matching in the same release. If last round's theme was verification, this is verification applied to the most dangerous operation an agent performs.

The rest of the run:

  • Stale-write protection and history (0.6.0) — the same "the file may have changed since you read it" honesty, at whole-file granularity, plus edit history and terminal noise stripped from shell output.
  • Session working directories and hint enforcement (0.7.0) — the MCP server keeps a per-session workdir, and the nudges that steer agents from raw shell toward precise tools became configurable, from soft hints (the default since 0.8.1) to hard rejection of shell misuse (0.9.0).
  • Search grew up (0.10.0) — ripgrep-style glob matching, pipe-separated multi-path content search, and hardened pattern validation across the board.
cargo install octofs --version 0.10.0
# or:
npm install -g @muvon/octofs

Octobrain 0.9.4 → 0.11.0 — memory gets session context, and asks the web for markdown

github.com/muvon/octobrain · 0.9.4 → 0.11.0 · August 17

Three releases on the memory layer, each small, each squarely user-facing:

  • Session context (0.10.0). The MCP server now manages per-session conversation context, so memory operations know which working session they belong to instead of treating every call as a stranger.
  • Faster under the hood (0.10.1). The knowledge database's compaction strategy was reworked — better performance and memory efficiency on long-lived knowledge bases.
  • Content negotiation (0.11.0). When Octobrain's knowledge tool fetches a URL, it now sends an Accept header asking for text/markdown. Sites that serve a markdown twin of their pages hand an agent clean text instead of a DOM to scrape. And here's a dot from very close to home: this blog started doing exactly that this month — request any post with Accept: text/markdown and you get the prerendered markdown source. Octobrain asks; muvon.io answers. If you publish docs or a blog, consider joining — it's one middleware function.

Config in 0.10.0 also moved to a versioned migration system — more on that pattern below, because it didn't originate here.

cargo install octobrain --version 0.11.0
# or:
npm install -g @muvon/octobrain

Octolib 0.26.1 → 0.32.1 — fourteen releases, five new providers, one honest meter

github.com/muvon/octolib · 0.26.1 → 0.32.1 · August 17

The LLM layer under everything had its busiest month yet — fourteen releases in twenty-two days. Three storylines:

The roster exploded. Five new providers: xAI, Alibaba Model Studio (with vision and video for Qwen models), Hetzner, OpenCode, and Google AI Studio — the Google integration split cleanly into Vertex AI and AI Studio, with Gemini thought signatures preserved across calls. New models kept pace: GLM-5.3, inkling-small, Kimi K3 reasoning support on Moonshot — and Kimi reasoning output now survives even when served via Ollama. If an agent framework is a restaurant, this is the month the menu doubled.

The meter got honest, again. Cached-read tokens now count in cost calculations, DeepSeek's pricing rates were corrected and a prompt-token billing error fixed, and DeepSeek's peak/off-peak pricing is now modeled — your 2 AM batch run is genuinely cheaper, and now the accounting knows it. This is the same drumbeat as every round: if Octolib reports a number, we want it to be the number on the invoice.

Config became a versioned, migratable thing (0.29.0). A versioned TOML migration system — config backups got content-digest filenames in 0.30.3 — and within the same week, Octocode 0.20.0 and Octobrain 0.10.0 both threw away their own config handling and adopted it. That's the stack working as designed: the pattern lands once in the shared layer, and every tool inherits automatic config upgrades forever.

Also in the pile: parallel tool calls for OpenAI providers, conditional sampling for OpenAI-compatible endpoints, multimodal image and video on OpenAI, and keepalive tuning that stopped long-lived connections from dying behind network load balancers.


One move across three repos: the toolchain is on npm

Octocode, Octobrain, and Octofs all added npm publishing to their release workflows this round. The practical meaning: installing the stack no longer requires a Rust toolchain.

npm install -g @muvon/octocode @muvon/octobrain @muvon/octofs

Same tools, new front door. If your team lives in Node and adding cargo to the onboarding doc was the friction that kept semantic code search or agent memory out of your setup — that friction is gone. cargo install and the GitHub release binaries keep working exactly as before.


Octomind 0.39.0 → 0.44.2 — covered on octomind.run

The agent runtime shipped ten releases in this window, and they deserve more space than a round-up gives — which is why they get it on octomind.run instead. The one-paragraph version: sessions got titles and an interactive picker with readline editing, context compression became adaptive, Agent Plugins 1.0.0 support landed, and the supervisor's verification work went deeper still — a persisted evidence ledger, verification provenance on ground truth, and plan staleness detection. If you read last round's verification thread and wondered where it was heading: there.


Holding, on purpose

Vext holds at 1.3.0 — July's glass redesign and word-level diarization are settling in with users. Timex holds at 1.2.0 and TypeTab at 1.1.0. After a forty-nine-release month elsewhere, three quiet Mac apps feel almost restful.


How they fit together

The stack, as it stands after the month it turned outward:

  • Octolib 0.32.1 — every LLM call, five more providers, every token honestly priced
  • OctoHub 0.7.3 — one front door and one log for every model your agents call
  • Octobrain 0.11.0 — persistent memory with session context, speaking markdown to the web
  • Octofs 0.10.0 — safe filesystem access, now on your remote box too
  • Octocode 0.21.0 — code search with a live graph of code, docs, and branches
  • Octomind 0.44.2 — the runtime, verifying harder than ever
  • Octoweb 0.10.0 — the browser where the agent is a citizen
  • Synx 0.1.2 — your source tree, on both machines, continuously
  • Pulsora — the firehose, stored and queryable

Single binaries, Apache-2.0, all of them — and three of them now an npm install away.

Last round the stack learned to check its own work. This round it left the house: your branch, your server, your browser, your registry. If there's a place it still doesn't show up and should, open an issue — that's how these rounds keep getting their headlines.

— Don