Июльская волна вышла 11-го. Семнадцать дней спустя набралось на ещё одну — и на этот раз релизы не просто стоят рядом, они связаны между собой.
Два из них уже получили собственные посты: Octocode научил поиск думать — LLM-шаг рассуждения переранжирует найденный код, — а ещё мы разобрали, как связать этот поиск с памятью Octobrain, чтобы агент и находил код, и помнил, что о нём решил. Этот пост собирает всё остальное — и прослеживает нити между релизами.
Сквозная нить на этот раз — верификация. Octocode перестал доверять скорам похожести и начал спрашивать модель, действительно ли результат отвечает на запрос. Супервизор Octomind перестал верить «задача выполнена» и начал сверять планы с тем, что произошло на самом деле. Даже диаризация в Vext перестала доверять меткам спикеров на уровне чанков и начала резать на уровне слов. По всему стеку первый вывод теперь — черновик: что-то проверяет его прежде, чем его увидите вы.
Octocode 0.18.1 → 0.19.0 — поиск, который проверяет собственные результаты
github.com/muvon/octocode · 0.18.1 → 0.19.0 · 26 июля
У главной новости есть собственный пост: опциональный LLM-шаг рассуждения читает найденных кандидатов, оценивает реальную релевантность и переранжирует — а результат сливается с гибридным поиском через взвешенный RRF. На бенчмарке из 127 запросов, который 0.18.0 сделал воспроизводимым, это поднимает MRR на 36% и выводит Hit@5 на 0,953.
Вот первая точка, которую стоит соединить: ничего из этого не новая машинерия. RRF-фьюжн — та же идея, которую Octobrain 0.9.0 выпустил в июне для многозапросного 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, — вторая точка: одна конвенция, релиз за релизом расходящаяся по стеку.
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 · 0.9.1 → 0.9.4 · 26 июля
Три маленьких релиза с одним ясным направлением: сделать так, чтобы мультиплеерный слой знаний из 0.9.0 ощущался невидимым.
- Асинхронные git-операции (0.9.4). Git-backed knowledge box-ы теперь синхронизируются в фоне — pull или push больше не блокирует вызов памяти, который его запустил. Если команда делит общий репозиторий знаний, recall остаётся быстрым, даже когда репозиторий — нет.
- Уплощённые схемы MCP-инструментов (0.9.2). Схемы инструментов уплощены, документация отшлифована — более простые формы, которые корректно переваривает больше MCP-клиентов. Мотивация та же, что у отказа Octocode от требования git выше: инструменты идут навстречу клиентам, а не документируют обходные пути.
- Починка провайдера эмбеддингов (0.9.4). Ответы провайдеров, приходящие кортежами, теперь обрабатываются корректно — interop-фикс для растущего зоопарка embedding-бэкендов.
Если хотите увидеть, зачем на самом деле нужна связка «поиск плюс память», пост о связке соединяет Octocode и Octobrain в одной агентной конфигурации.
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 · 0.25.0 → 0.26.1 · 26 июля
В прошлую волну Octolib начал учитывать траты на эмбеддинги рядом с тратами на completion. В эту — довёл дело до конца и продолжил двигать ростер моделей; а ещё мы написали о том, чему нас научили пять месяцев работы над этим слоем.
- Цены эмбеддингов для 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 · 1.2.0 → 1.3.0 · 27 июля
Vext выпустил своё крупнейшее обновление, и оно двигается сразу по трём фронтам.
Всё приложение получило стеклянный редизайн. Новая стеклянная дизайн-система с примитивами моушена — интерфейс наконец выглядит как та macOS, на которой он работает.
Диаризация перешла с уровня чанков на уровень слов. Двухпроходная диаризация 1.2.0 размечала спикеров по чанкам; 1.3.0 режет на уровне слов, так что быстрый обмен репликами между двумя людьми больше не приклеивается к одному спикеру. Вместе с этим улучшились распознавание и сопоставление спикеров, и починены два трудных крайних случая: живые метки выживают, когда офлайн-проход схлопывает поток, и ни один чанк больше не теряется, когда офлайн-переразбиение отфильтровывает все фрагменты. Это снова нить верификации — офлайн-проход существует, чтобы перепроверять живой, и теперь перепроверка не может потерять данные.
Эхоподавление, сделанное скучным способом. Мы построили собственное акустическое эхоподавление, а затем заменили его системным voice-processing I/O — платформенный AEC лучше нашего, так что нашего больше нет. Рядом приехала поддержка пользовательского словаря — доменный жаргон и имена переживают транскрипцию.
Ещё в 1.3.0: немецкий и нидерландский — теперь у интерфейса семь языков (EN, ES, DE, NL, RU, HI, TH), — переработка системы горячих клавиш и проход по стабильности с двумя починками, которые стоит назвать: отменённые задачи транскрипции больше не крутятся вхолостую на 100% CPU, а фоновая финализация больше не откатывает правки, которые вы внесли в транскрипт встречи, пока она шла.
Всё это по-прежнему работает полностью on-device — вот почему для нас это не обсуждается.
Держатся, намеренно
Octofs остаётся на 0.5.2 — переработка таргетирования строк начала июля устоялась, и слой файловой системы снова стал скучным, в чём и состоит его работа. Timex держится на 1.2.0, а TypeTab — на 1.1.0, хотя про Timex в этом месяце вышел разбор, почему всё приложение — это один SQLite-файл.
Octomind 0.36.0 → 0.39.0 — разбор на octomind.run
Рантайм выпустил семь релизов за семнадцать дней, и Octomind 0.39.0 нарезан 26 июля: графовый режим исполнения workflow, логин через device authorization (RFC 8628), управление аккаунтом и использованием и — та самая нить ещё раз — работа супервизора над верификацией завершения планов и наблюдательной верификацией, когда супервизор сверяет заявленный прогресс с тем, что сессия сделала на самом деле, а каждое изменение гейтится по бейзлайну SWE-bench. Полные разборы живут на octomind.run.
Как они стыкуются
Соедините все точки — и картина сложится в один приём, повторённый пять раз: сгенерируй, потом проверь. Octocode находит, затем шаг рассуждения переранжирует. Octobrain вспоминает по нескольким запросам, затем RRF сливает. Супервизор Octomind планирует, затем сверяет завершение с наблюдениями. Vext транскрибирует вживую, затем офлайн-проход переразбивает спикеров — теперь не теряя ни слова. А Octolib внизу делает шаг проверки доступным по цене и измеримым: на входе — вывод, проверенный по схеме, на выходе — учёт стоимости.
- Octolib 0.26.1 — каждый LLM-вызов, каждая модель этого лета, каждая трата на счётчике
- Octobrain 0.9.4 — персистентная память, знания, которые синхронизируются без блокировок
- Octofs 0.5.2 — безопасный доступ к файловой системе, скучный намеренно
- Octocode 0.19.0 — поиск по коду, который рассуждает о собственных результатах
- Octomind 0.39.0 — рантайм, теперь проверяющий собственный прогресс
Одиночные бинарники, Apache-2.0, все из них.
Август уже в движении. Если что-то из этого разблокирует то, что вы давно хотели построить, откройте issue — фичи, запрошенные в этих волнах, раз за разом становятся заголовками следующей.
— Don



