VibeVM
Contents
On this page
ru
Publisher
org.vibevm.core
Version
1.0.0latest
Adapts
org.vibevm.core/vibevm-docs
Audiences
dev
Reading time
4 min
Rendered
Read aloud
never

Что принёс эпик жизненного цикла

01С июля по сентябрь 2026 года vibe вырос из установщика пакетов в систему сборки с машиной расширений, нативным ABI, записью каждой выкладки и экспортом терминала. Эта страница рассказывает этот маршрут как одну систему: что решили по дороге и что оставили на потом.

Маршрут в восемь этапов

02Работа шла восемью нумерованными этапами, каждый приземлялся атомарными коммитами с тестами и картой прослеживаемости и записывался в леджер, который называет каждый коммит. Читайте их как одну историю, а не как восемь функций.

03
Этап Что принёс
R1, диф-материализация строгая запись на слот зависимости, так что установка пишет только изменившееся и никогда не стирает дерево; хеш-ворота для изменяемых источников; хуки, которые выполняются только при настоящем изменении
R2, движок жизненного цикла строгая грамматика [[extension]], линия девяти фаз с её глаголами и цепочка очистки, упорядоченный сбор вкладов, конверт контекста, долговечная свежесть с --force, обработчики script и binary, пресеты данных, vibe extensions
R3, компилятор явное промежуточное представление компилятора старта с пятью уровнями и шестью носителями, типизированный менеджер проходов, конвейер проходов от разбора до выдачи, верификатор и трассы компиляции со снимками и таймингами
R4, поэтапные преобразования один чистый реестр расширений ниже жизненного цикла и рабочего пространства, четыре позиции преобразований с активацией в области владельца и отпечатками на единицу, встроенный минификатор XML и анализатор полосы, который относит байты скомпилированной полосы к их источникам
R5, нативный ярус ABI из C и JSON для расширений, безопасный SDK автора и карантинный загрузчик, разрешение исходников и готовых сборок со сборкой в слоте и доказательства паритета между нативным минификатором и встроенным
R6, полные проходы компилятора грамматика проходов за compiler_internals, проекция всего IR на провод без потерь, позиции before, after и replace, обязательный верификатор после проходов плагинов и сквозной текстовый фронтенд с JSON-бэкендом
R7, провайдеры и агенты шов провайдера модели с адаптером, совместимым с OpenAI, обработчик agent в CLI, размещённые исходящие с делегированным продолжением, MCP-поверхности жизненного цикла и подложка для внешней оркестрации
R8, упаковка, сборка и выкладка привязка навыка проекта, грамматика механизмов и артефактов, записи артефактов и граф целей, провайдер сборки Cargo, навыки из одного файла, каталог Agent Plugins, проекции клиентов, профили выкладки с намерениями, квитанциями и восстановлением, детерминированный zip, применимость к платформам и нативные провайдеры из пакетов

04Рядом с маршрутом отдельным контрактом приземлилась операция зачистки: детерминированное удаление слоя vibe из законченного проекта, с планом, доказательством здоровья и восстановимой транзакцией на месте.

05 A scraped tree is a project tree for which every contract-selected Vibe path, dependency, managed marker, source annotation, tool script and environment reference is absent or explicitly retained under a neutral identity, and whose required native health panel is accepted after scraping under the declared strict or no-regression baseline policy. A retained non-pass verdict is never described as an unconditional pass.

Решения, которые держатся

06Одна линия из девяти фаз: материализация зависимостей — это install, размещение вне проекта — deploy, а package не меняет ни одного места назначения. Одна плоскость расширений: запланированные вклады отвечают «когда», соседние провайдеры механизмов отвечают «как», а встроенные — обычные провайдеры, которых хозяин может заменить точным пином. Нативный провод — C плюс JSON, схема первична; SDK автора — безопасный Rust, а загрузчик в карантине. У каждой внешней мутации есть план, намерение, независимая проверка и квитанция, а третий наблюдённый дайджест — отказ. Автоматическая привязка навыка — только для проекта; установка для пользователя и клиента — явная выкладка. Каждая подсистема сохраняет полный алгоритмический режим; модель улучшает и никогда не запирает.

07 Decision. The lifecycle hooks and the compiler plugins are ONE machine with two families of extension points, not two machines. One declaration grammar, one context-envelope shape, one handler taxonomy, one trust gate, one ordering rule. A user who has written a lifecycle contribution knows how to write a compiler transform, and vice versa — this is the mandate's «похоже и синергично» made structural.
08 8.1 The ABI is C + JSON, never the Rust ABI
09 Every core VibeVM subsystem retains a complete algorithmic mode. An LLM may improve quality when the operator explicitly enables that feature; credentials, endpoint presence, provider configuration or construction never activate a feature. VibeVM remains useful with no provider, no API access and no agent host.

Границы совместимости и миграции

10Запись слота зависимости и состояние жизненного цикла — строгие версионированные машинные форматы; старые деревья мигрируют один раз при следующей установке и никогда не читаются на месте. Проекция IR компилятора на провод версионируется по носителю. Квитанции выкладки и отпечатки свежести живут под .vibe/, это машинное состояние, которое не коммитят; их потеря стоит одного полного прогона, а не корректности. Рукописные проводные типы считаются храповиком против замороженной базы, так что новый машинный формат не может появиться без схемы.

11 Fingerprints and last-run records live in .vibe/lifecycle.toml at the workspace root — machine state beside the project settings that already live in .vibe/, inside the shippable-tree denylist (PROP-024 §2.2), never committed, never hashed. vibe clean does NOT remove it (it describes work, it is not derived prompt state); a --force flag on any phase ignores it for one run.

Намеренно оставлено на потом

12Цели выкладки за пределами первых жанров, ярус расширений на WebAssembly, переопределения предпочтений по языку и по ресурсу, облачная синхронизация пользовательских предпочтений, встроенный бэкенд инференса и общая грамматика фаз за пределами clean install для цикла очистки. Каждое названо в своей спецификации с законом совместимости, так что дверь остаётся открытой, а за ней не стоит полусобранная функция.

13 Deploy first targets — CLOSED (owner, 2026-08-26; extended 2026-09-04): selected genres are project/user agent projections for Claude Code, Codex and OpenCode; VibeVM-owned local tools under ~/.vibe/bin; receipt-owned operator launchers under the VibeVM-controlled ~/.vibe/opt/bin; an explicit custom installer for ordinary applications; registry/marketplace/server/remote providers; and future system-scope package/config/service providers. The first commissioning cut is isolated local projection/vibe-bin/vibe-opt-launcher, never a live publish/server mutation. The commissioned local and native provider statuses are closed at the R8 successor anchors; live remote/system mutation remains future work under ordinary authority boundaries.
14 WASM handlers — deferred, not rejected: a wasm component would buy sandboxing (the PROP-020 §4 accepted-risk posture could tighten) and cross-platform artifacts, at the cost of a runtime dependency and awkward filesystem/process access — exactly the operations phase handlers exist to do. When the sandboxing need fires (third-party plugin ecosystems beyond the allow-list), this anchor is where the design resumes. Until then the trust gate is the boundary, exactly as PROP-020 records it.

Отставленные дорожки, сохранённые как история

15Кампания также использовала дорожки выполнения, которые больше не актуальны: внешнюю дорожку воркеров на подписке владелец отставил в сентябре 2026 года, и её источник пакета остаётся в дереве как история, а зависимость хоста и стартовый вклад удалены. Читатель, который встретит её имя в старых леджерах, должен считать её свидетельством того, как делалась работа, а не поддерживаемым способом пользоваться продуктом.

Где живут улики

16Поэтапный леджер с хешами коммитов — campaigns/packages-2026-09/LIFECYCLE-EXTENSIONS-IMPLEMENTATION-LEDGER.md в репозитории; контракт — PROP-054, контракт зачистки — PROP-056, документы о нативном ABI и архитектуре компилятора лежат рядом с леджером. Леджер — запись, а не план: он называет, что приземлилось и что измерили, и ничто в этом руководстве не пересказывает из него ни одного числа.

17 R8 — package/build/deploy substance accepted in implementation. Artifact DAG/records, Cargo, static skill, Agent Plugin, three client adapters, vibe-bin, profiles/intent/receipt/recovery, platform applicability and package-supplied native deploy/build/package providers are implemented. Deploy restart rehydration remains read-only; Build/Package replacement executes through exact prepared carriage and a real installed two-cdylib build→A2→package E2E with no builtin fallback. Evidence through deploy d475963c, then M-007 00cabac8, 93df9d28, e9388559, 2193e6e7, fe0eb9df, 0ca2b781, 123ac504, 68ce9078, 55cfbf94. This node is done. All technical/full/conform/generated/specmap/no-transform and mirror work is complete at 39fa498a34d30c7744c8598c9f1a0673a6aeee62; the PROP root remains impl/work solely because owner final inspection in the current chat is pending.

For an agent

This page has a machine mirror. The citation carries the version rather than latest, so what an agent quotes does not move under it.

spec://org.vibevm.core/vibevm-docs@1.0.0/architecture/what-the-lifecycle-epic-delivered

.md.xmlllms.txt