Вопросы
01Настоящие вопросы, которые задавали люди; на каждый ответ в несколько предложений и ссылка на страницу, которая объясняет механизм.
Коммитить ли дерево зависимостей?
02Да. vibevm/vibedeps/ коммитят намеренно: агент, который клонирует репозиторий, читает всю полосу, ничего не запуская, а ревьюер видит, какой именно текст изменился, когда сдвинулась зависимость. Это дерево vibe, а не ваше: никогда не правьте его, а в сомнении дайте vibe reinstall пересобрать его. См. Два дерева.
03vibedeps/is committed to the repository. A fresh clone is immediately bootable with novibe install; the dependency corpus is visible and diffable; this matches the spec-driven principle that the committed spec corpus is the product.
Зависимость глубоко в моём дереве конфликтует по версии. Как починить?
04Сначала прочитайте объяснение резолвера: оно называет два ограничения, которые не сходятся, а пересекающиеся диапазоны — не конфликт. Затем поднимайтесь по лестнице от лёгкого к тяжёлому. Расширьте ограничение, которое вы сузили сверх нужного. Сдвиньте промежуточную зависимость на версию с совместимым ограничением через vibe update. Добавьте [[override]] для одной координаты, с reason. Форкните и используйте git-источник, когда должно измениться собственное ограничение зависимости. Правило: одна версия на пакет во всём рабочем пространстве, поэтому vibe останавливается, а не ставит две.
05
Decision. [[override]] bypasses the registry layer for a named pkgref:
Почему установка просит подтверждения?
06Потому что установка пишет в ваш репозиторий: дерево зависимостей, лок-файл, стартовые файлы, управляемый блок в файлах инструкций. План сначала показывает всё это. В скрипте за вас отвечает --assume-yes или --unattended; отказ — не ошибка, и он не оставляет ничего написанным наполовину.
07
The plan / confirm / apply contract holds, but the plan's unit is the set of packages to materialise plus the boot artifacts to regenerate, not a per-file write list — [writes] is retired (§2.6).
Вызывает ли vibe языковую модель?
08Сам по себе нет. Внутри vibe нет модели, и каждая подсистема работает алгоритмически. Когда шагу нужно рассуждение, vibe откладывает инструкцию для агента, который его запустил, или, за терминалом, вызывает настроенный вами сервис модели, только для этого шага и только если вы включили эту функцию. См. Поручите работу агенту.
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Нет. Разрешение выбирает одну версию на пакет во всём рабочем пространстве, иначе полоса, которую читает агент, содержала бы две версии одних правил. Если двум участникам рабочего пространства действительно нужны разные мажорные версии, это два рабочих пространства.
11 Run anywhere inside a workspace,vibe installcallsWorkspace::discover, runs one unified resolution across every member's[requires], materialises each resolved package once intovibedeps/(§2.1), and regenerates the boot artifacts (§2.3) for every entry-point node. Onevibe.lockat the absolute root (PROP-007 §2.4).
Реестр, которым я пользовался, исчез. Проект застрял?
12Нет, пока пакеты лежат в машинном хранилище: сохранённой версией можно пользоваться, даже когда её больше не перечисляет ни один реестр, а vibe reinstall пересобирает дерево из лок-файла и хранилища. На долгий срок vibe registry vendor записывает папку со всем, на что ссылается лок-файл, и любая машина может использовать её как зеркало по адресу file://.
13 Decision (owner, 2026-08-19). A package version present in the cache is usable, and materialises, even when it exists in no registry at all — deleted upstream, the whole organisation gone, every mirror down. This is not the--offlinepolicy:--offlineforbids the network, while this governs a run where the network is allowed, was consulted, and answered "no such package". (Built 2026-08-20: the fallback fires strictly on the absence forms and rides the LOCKFILE pin — provenance comes from the existing lock entry, so a version in the store but in no lock and no registry is not rescued; minting a store-provenance wire form for that case is an owner act, held open.)
Как закрепить пакет на точной версии?
14Установите его с @=1.2.0 или передайте --exact в vibe install или vibe update, чтобы записать разрешённую версию точным пином в манифест. Без --exact манифест хранит диапазон, а пин держит лок-файл; большинству проектов нужно именно это.
15
flow:wal@0.3.0 → exact.
Можно ли править vibe.lock руками, чтобы заглушить ошибку хеша?
16Нет. Несовпадение отпечатка значит, что отданные байты не те, что помнил лок-файл: тег после force-push, сломанное зеркало или намеренное переопределение. Выясните, что именно, затем удалите и установите заново, чтобы перепинить, уберите сломанное зеркало или запишите переопределение с его причиной. Правка лок-файла отключает единственную проверку целостности, которая у вас есть.
17 a compromised mirror cannot silently substitute content — the mismatch triggers hard fail before any write;
Почему так много видов пакетов?
18Потому что инструмент, который знает, для чего пакет, ещё до того, как его открыл, может рано отказать неправильному: пакет документации не может нести стартовый фрагмент, пакет сервера обязан закрепить то, что обслуживает, фича не может назвать фреймворк. Каждый вид — один жанр, и слово, которое значило два жанра, разделили в тот момент, когда это случилось.
19 Decision.kind(flow/feat/stack/tool) stays a mandatory[package]field but is now a pure attribute — it identifies nothing and names nothing.
Я в самолёте. Что работает?
20Всё, что читает хранилище и проект: установка из хранилища с --offline, reinstall, check, tree, локальная читалка документации. То, что не работает, говорит об этом, называя недостающую координату, и никогда не ставит частичный результат. Прогрейте хранилище перед отъездом через vibe cache add. См. Работать без сети.
21
--offline never silently degrades to a partial result.
Проект готов. Как отдать его без vibe?
22vibe scrape удаляет слой vibe по контракту и доказывает, что родная сборка по-прежнему проходит: в новую папку или на месте с возможностью восстановления. Это не то же, что vibe clean, который удаляет только то, что vibe может сгенерировать заново. См. Убрать VibeVM из проекта.
23 PROP-053vibe cleanremoves regenerable dependency and boot products while retaining authored project state andvibe.lock. Scrape is not clean: it removes the Vibe relationship itself and therefore requires a contract, native health proof and recoverable commit.
Почему я не могу установить руководство в свой проект?
24Документацию читают, а не выполняют, и она не должна попадать в полосу, которую агент читает на каждом старте сессии. Поэтому пакет документации прогревается в машинное хранилище через vibe cache add, читается локально через vibe doc serve, а агент добирается до него через навык или по адресу. См. Читать документацию локально.
25vibe installMUST refuse adocpackage with a hint naming the warm-up command; documentation is warmed into the machine store withvibe cache add(§11), and the local reader andvibe explainread the store.