# Волна релизов, конец июля 2026: Octocode 0.19.0, Octobrain 0.9.4, Octolib 0.26.1, Vext 1.3.0

> Две с половиной недели после июльской волны — и стек научился проверять собственную работу. Octocode 0.19.0 выпустил reasoning-ретривал — LLM-переранжировщик, слитый с гибридным поиском через взвешенный RRF, +36% к MRR на бенчмарке. Octobrain сделал синхронизацию знаний неблокирующей, Octolib держал ростер моделей и цены на эмбеддинги актуальными, а Vext 1.3.0 привёз стеклянный редизайн, диаризацию на уровне слов и два новых языка.

[Июльская волна](/blog/release-round-july-2026) вышла 11-го. Семнадцать дней спустя набралось на ещё одну — и на этот раз релизы не просто стоят рядом, они связаны между собой.

Два из них уже получили собственные посты: [Octocode научил поиск думать](/blog/reasoning-retrieval-code-search) — LLM-шаг рассуждения переранжирует найденный код, — а ещё мы разобрали, [как связать этот поиск с памятью Octobrain](/blog/pairing-code-search-with-memory-for-ai-agents), чтобы агент и находил код, и помнил, что о нём решил. Этот пост собирает всё остальное — и прослеживает нити между релизами.

Сквозная нить на этот раз — **верификация**. Octocode перестал доверять скорам похожести и начал спрашивать модель, действительно ли результат отвечает на запрос. Супервизор Octomind перестал верить «задача выполнена» и начал сверять планы с тем, что произошло на самом деле. Даже диаризация в Vext перестала доверять меткам спикеров на уровне чанков и начала резать на уровне слов. По всему стеку первый вывод теперь — черновик: что-то проверяет его прежде, чем его увидите вы.

---

## Octocode 0.18.1 → 0.19.0 — поиск, который проверяет собственные результаты

[**github.com/muvon/octocode**](https://github.com/muvon/octocode) · 0.18.1 → **0.19.0** · 26 июля

У главной новости [есть собственный пост](/blog/reasoning-retrieval-code-search): опциональный LLM-шаг рассуждения читает найденных кандидатов, оценивает реальную релевантность и переранжирует — а результат сливается с гибридным поиском через взвешенный RRF. На бенчмарке из 127 запросов, который [0.18.0 сделал воспроизводимым](/blog/octocode-0-18-0-retrieval-benchmarks-graphrag-expansion), это поднимает MRR на 36% и выводит Hit@5 на 0,953.

Вот первая точка, которую стоит соединить: ничего из этого не новая машинерия. RRF-фьюжн — та же идея, которую [Octobrain 0.9.0 выпустил в июне](/blog/octobrain-0-9-0-knowledge-goes-multiplayer) для многозапросного recall памяти: проверена в слое памяти, теперь получила веса и переехала в поиск по коду. А структурированные вердикты шага рассуждения едут на принудительной проверке схемы ответа из Octolib 0.24.0 — слой ниже научился гарантировать парсируемый вывод модели, и слой выше смог позволить себе поставить LLM в путь ранжирования. Ради этого стек и выходит пятью частями: идея приземляется один раз — и её наследует каждый инструмент.

Что осталось без отдельного поста:

- **Конфиг v2, с атомарной записью.** Система конфигурации модернизирована: схема v2 с автоматической миграцией с вашего существующего конфига, атомарные обновления — чтобы конкурентные процессы не могли его испортить, — и упрочнённая запись файлов с ускоренной загрузкой за ней.
- **Работа над памятью индексатора.** Проход по эффективности аллокаций в индексаторе — меньше давления на память на больших репозиториях, продолжение раунда стабильности 0.18.1.
- **Read-only индекс без git.** MCP-сервер больше не требует git-репозитория для доступа к индексу на чтение — наведите его на обычную директорию, и поиск работает.
- **Детерминированный жизненный цикл LSP.** Дочерние процессы LSP теперь завершаются детерминированно — больше никаких осиротевших language server-ов, переживших свою сессию.
- **AGENTS.md.** Файлы инструкций переименованы под конвенцию AGENTS.md, которую [Octomind принял в 0.36.0](/blog/release-round-july-2026), — вторая точка: одна конвенция, релиз за релизом расходящаяся по стеку.

```bash
cargo install octocode --version 0.19.0
# or grab a binary at https://github.com/muvon/octocode/releases
```

---

## Octobrain 0.9.1 → 0.9.4 — синхронизация знаний уходит с дороги

[**github.com/muvon/octobrain**](https://github.com/muvon/octobrain) · 0.9.1 → **0.9.4** · 26 июля

Три маленьких релиза с одним ясным направлением: сделать так, чтобы мультиплеерный слой знаний из [0.9.0](/blog/octobrain-0-9-0-knowledge-goes-multiplayer) ощущался невидимым.

- **Асинхронные git-операции (0.9.4).** Git-backed knowledge box-ы теперь синхронизируются в фоне — pull или push больше не блокирует вызов памяти, который его запустил. Если команда делит общий репозиторий знаний, recall остаётся быстрым, даже когда репозиторий — нет.
- **Уплощённые схемы MCP-инструментов (0.9.2).** Схемы инструментов уплощены, документация отшлифована — более простые формы, которые корректно переваривает больше MCP-клиентов. Мотивация та же, что у отказа Octocode от требования git выше: инструменты идут навстречу клиентам, а не документируют обходные пути.
- **Починка провайдера эмбеддингов (0.9.4).** Ответы провайдеров, приходящие кортежами, теперь обрабатываются корректно — interop-фикс для растущего зоопарка embedding-бэкендов.

Если хотите увидеть, зачем на самом деле нужна связка «поиск плюс память», [пост о связке](/blog/pairing-code-search-with-memory-for-ai-agents) соединяет Octocode и Octobrain в одной агентной конфигурации.

```bash
cargo install octobrain --version 0.9.4
# or grab a binary at https://github.com/muvon/octobrain/releases
```

---

## Octolib 0.25.0 → 0.26.1 — ростер актуален, счётчик честен

[**github.com/muvon/octolib**](https://github.com/muvon/octolib) · 0.25.0 → **0.26.1** · 26 июля

В прошлую волну [Octolib](/blog/octolib-the-engine-behind-our-ai-stack) начал учитывать траты на эмбеддинги рядом с тратами на completion. В эту — довёл дело до конца и продолжил двигать ростер моделей; а ещё мы написали о том, [чему нас научили пять месяцев работы над этим слоем](/blog/lessons-building-a-unified-llm-provider-layer-in-rust).

- **Цены эмбеддингов для Voyage и Jina (0.25.1)** — включая Jina v5 omni. Вместе с учётом использования из 0.25.0 стоимость эмбеддингов теперь — реальное число для каждого провайдера, которым может индексировать Octocode. Третья точка: в тот же месяц Octocode сделал числом _качество_ поиска. Качество на запрос и стоимость на индекс — оба измеримы, оба в одном стеке.
- **Кастомные HTTP-заголовки в LLM-запросах (0.26.0).** Любой провайдер-специфичный заголовок — схемы аутентификации, подсказки маршрутизации, бета-флаги — проходит через тот же унифицированный путь запроса. Тот самый запасной выход, благодаря которому «унифицированный» не означает «наименьший общий знаменатель».
- **Ростер: Kimi K3, Inkling, Claude Opus 5.** Kimi K3 от Moonshot и референсная модель Inkling приехали в 0.25.2, Claude Opus 5 — в 0.26.1: в считанные дни после каждого запуска, как и в каждый месяц до сих пор.

Если что-то вызывает LLM из Rust, оно должно идти через этот слой: один трейт, те же ретраи, тот же учёт стоимости — и для completion-ов, и для эмбеддингов.

---

## Vext 1.3.0 — крупнейший релиз с момента запуска

[**vext.muvon.io**](https://vext.muvon.io) · 1.2.0 → **1.3.0** · 27 июля

[Vext](/blog/introducing-vext-voice-to-text-for-mac) выпустил своё крупнейшее обновление, и оно двигается сразу по трём фронтам.

**Всё приложение получило стеклянный редизайн.** Новая стеклянная дизайн-система с примитивами моушена — интерфейс наконец выглядит как та macOS, на которой он работает.

**Диаризация перешла с уровня чанков на уровень слов.** [Двухпроходная диаризация 1.2.0](/blog/vext-1-2-0-two-pass-diarization-and-five-languages) размечала спикеров по чанкам; 1.3.0 режет на уровне слов, так что быстрый обмен репликами между двумя людьми больше не приклеивается к одному спикеру. Вместе с этим улучшились распознавание и сопоставление спикеров, и починены два трудных крайних случая: живые метки выживают, когда офлайн-проход схлопывает поток, и ни один чанк больше не теряется, когда офлайн-переразбиение отфильтровывает все фрагменты. Это снова нить верификации — офлайн-проход существует, чтобы перепроверять живой, и теперь перепроверка не может потерять данные.

**Эхоподавление, сделанное скучным способом.** Мы построили собственное акустическое эхоподавление, а затем заменили его системным voice-processing I/O — платформенный AEC лучше нашего, так что нашего больше нет. Рядом приехала поддержка пользовательского словаря — доменный жаргон и имена переживают транскрипцию.

Ещё в 1.3.0: **немецкий и нидерландский** — теперь у интерфейса семь языков (EN, ES, DE, NL, RU, HI, TH), — переработка системы горячих клавиш и проход по стабильности с двумя починками, которые стоит назвать: отменённые задачи транскрипции больше не крутятся вхолостую на 100% CPU, а фоновая финализация больше не откатывает правки, которые вы внесли в транскрипт встречи, пока она шла.

Всё это по-прежнему работает полностью on-device — [вот почему для нас это не обсуждается](/blog/why-we-run-speech-recognition-fully-on-device).

---

## Держатся, намеренно

**[Octofs](/blog/introducing-octofs)** остаётся на 0.5.2 — переработка таргетирования строк начала июля устоялась, и слой файловой системы снова стал скучным, в чём и состоит его работа. **[Timex](/blog/introducing-timex-time-tracker-for-mac)** держится на 1.2.0, а **[TypeTab](/blog/introducing-typetab-autocomplete-for-mac)** — на 1.1.0, хотя про Timex в этом месяце вышел разбор, [почему всё приложение — это один SQLite-файл](/blog/one-sqlite-file-the-local-first-architecture-of-a-mac-time-tracker).

---

## Octomind 0.36.0 → 0.39.0 — разбор на octomind.run

Рантайм выпустил семь релизов за семнадцать дней, и [Octomind 0.39.0](https://github.com/muvon/octomind) нарезан 26 июля: графовый режим исполнения workflow, логин через device authorization (RFC 8628), управление аккаунтом и использованием и — та самая нить ещё раз — работа супервизора над верификацией завершения планов и наблюдательной верификацией, когда супервизор сверяет заявленный прогресс с тем, что сессия сделала на самом деле, а каждое изменение гейтится по бейзлайну SWE-bench. Полные разборы живут на [octomind.run](https://octomind.run).

---

## Как они стыкуются

Соедините все точки — и картина сложится в один приём, повторённый пять раз: **сгенерируй, потом проверь**. Octocode находит, затем шаг рассуждения переранжирует. Octobrain вспоминает по нескольким запросам, затем RRF сливает. Супервизор Octomind планирует, затем сверяет завершение с наблюдениями. Vext транскрибирует вживую, затем офлайн-проход переразбивает спикеров — теперь не теряя ни слова. А Octolib внизу делает шаг проверки доступным по цене и измеримым: на входе — вывод, проверенный по схеме, на выходе — учёт стоимости.

- **[Octolib 0.26.1](https://github.com/muvon/octolib)** — каждый LLM-вызов, каждая модель этого лета, каждая трата на счётчике
- **[Octobrain 0.9.4](https://github.com/muvon/octobrain)** — персистентная память, знания, которые синхронизируются без блокировок
- **[Octofs 0.5.2](https://github.com/muvon/octofs)** — безопасный доступ к файловой системе, скучный намеренно
- **[Octocode 0.19.0](https://github.com/muvon/octocode)** — поиск по коду, который рассуждает о собственных результатах
- **[Octomind 0.39.0](https://github.com/muvon/octomind)** — рантайм, теперь проверяющий собственный прогресс

Одиночные бинарники, Apache-2.0, все из них.

Август уже в движении. Если что-то из этого разблокирует то, что вы давно хотели построить, [откройте issue](https://github.com/muvon) — фичи, запрошенные в этих волнах, раз за разом становятся заголовками следующей.

— Don
