Releases: andrewcigan/vibe-dev-plugin
Release list
v9.0.0 — три модели по стадиям и сторожа, которые не врут
Три модели по стадиям и сторожа, которые не врут.
Главное в числах
| было | стало | |
|---|---|---|
| Сторожей, молча пропускавших действие при сломанной служебной утилите | 26 из 26 | 0 |
| Журнал фич живого проекта (ротация не срабатывала ни разу с v8) | 1,16 МБ | 707 КБ |
| Ложные блокировки датчика активации : пойманные случаи мёртвых сторожей | 111 : 0 | механизм снесён |
| Механизмов с тремя атрибутами | 71 | 87 |
Три модели по стадиям
Верхний уровень — архитектура, план, критика, аудит — идёт на Fable 5.1 и кода не пишет: запрет висит на роли и покрывает запись через оболочку (раньше шесть «только читающих» ролей могли писать в обход). Написание кода — Opus 5, и только когда есть команда проверки: фича, трогающая код, не входит в работу с пустым «чем докажем». Сбор сырья и рутина — Sonnet 5 со ступенью ниже по усилию.
Модель, на которой субагент реально стартовал, сверяется с реестром ролей. Если движок не сообщает модель — сторож пишет об этом в журнал, и пин честно остаётся дисциплиной, а не выдаётся за замок.
Основание — измеренная Anthropic связка «исполнитель Opus 5 с советником Fable 5.1»; цитаты и ссылки в _internal/plans/v9-research-digest.md.
Сторожа перестали врать
Замер показал: все 26 сторожей при подменённых jq/python3 отвечали «возражений нет». Прицельно — защита от боевого ключа в исходниках при сломанном jq молчала, и ключ проходил.
Очевидное решение (строгий режим оболочки) сознательно не применено: он ломает трёх сторожей на нормальном входе и, хуже того, превращает запрет в предупреждение — сторож, умерший до своей строки «блокирую», отдаёт пустой ответ. Вместо этого — проверка утилит на входе и маркер завершения.
Появился журнал срабатываний: впервые можно ответить, сколько раз каждый механизм предотвратил беду и сколько раз помешал работе. Эталонный корпус задаёт ожидание заранее, а не снимком поведения — иначе болезнь стала бы эталоном. Сквозной зонд поднимает настоящую сессию и проверяет, что движок вообще вызывает сторожей.
Против «готово на бумаге»
Доказательство теперь порождается запуском: квитанция с кодом возврата, отпечатком вывода и состоянием рабочего дерева — прозой не напишешь. Рождение записи сразу в готовом состоянии стало событием (так прошёл прошлый инцидент с дублями в CRM). Фича с внешней связью требует живого прогона, а не подменённой в тестах границы. Починка начинается с команды, которая краснеет на симптоме.
Снос по правилу двух починок
Блокировка коммита по свежести датчика активации: 395 упоминаний в журналах живых проектов, 111 ложных блокировок и обходов, ни одного пойманного случая мёртвых сторожей. Каждый обход снимал разом все проверки хука. Механизм снесён, защита неподтверждённого профиля сохранена.
Контекст и эстафета
Ротация журналов заработала впервые с v8: она отбирала записи по состоянию done, которого в графе переходов нет вовсе. Сторож размера журналов называет счёт в токенах при старте сессии. Шесть команд, которые запускает только человек, убраны из постоянного контекста.
Волна режется на направления по слоям (задачи с общим файлом остаются вместе), очередь лежит в файле — закрытие одного направления открывает следующее.
Честность
Заведён реестр осознанных отказов _internal/out-of-scope/: что решено не делать и почему. Появился сторож согласованности витрины — версия сверяется в манифесте, файле маркетплейса и описаниях, потому что раньше витрина отставала на два мажора.
Самопроверка — 52 раздела, тестов — 52, все зелёные.
v8.0.2 — 4 фикса по первому dogfooding
Vibe Dev v8.0.2 — 4 фикса по первому dogfooding
Первый боевой прогон: харнес поставлен ПОВЕРХ живого продового проекта (Chrome-расширение). Агент собрал технический отчёт с находками про поведение движка — по ним 4 точечных фикса. Цикл узаконен: один проект → отчёт → улучшение плагина.
- Инструкция
/upgrade-projectобновлена под актуальную версию (описывала старую, не знала про мягкий режим). - Рантайм-файлы харнеса больше не «грязнят» git — сторожа пишут служебные счётчики/логи в
.harness/, теперь они автоматически попадают в.gitignoreпроекта. Это была причина, по которой все проекты выглядели «грязными» и спотыкались о требование чистого дерева. - Сторож смены модели больше не шумит на отчётах/документации (срабатывает только на код/конфиг вызова).
- Граф переходов задач честно помечен справочным — плагин его загружал, но не применял; теперь заявлено = сделано.
Двойная независимая критика fresh-context (APPROVE-WITH-CHANGES → все правки внесены). self-check 45 разделов, plugin validate --strict.
Полный список — CHANGELOG.md, раздел v8.0.2.
v8.0.1 — фикс ядра C3 + безопасный перевод проектов на v8
Vibe Dev v8.0.1 — фикс ядра + безопасный перевод проектов на v8
Фикс латентного дефекта v8.0.0. Git-гейт истории требований ошибочно считал статус работы (в работе → готово) изменением требования, из-за чего обычная пометка «готово» (/verify, /ship) отвергалась на любом v8-проекте. Теперь запись истории нужна только на правку требования и отмену/замену.
Механизм перевода живых проектов на v8 (/patch-projects, upgrade-project --soft): включает новый движок в мягком режиме — v8-проверки работают как подсказки, не блокировки. Безопасно и массово: бэкап-точка на проект, отказ на незакоммиченном дереве, честный предпросмотр (что заблокируется / станет подсказкой), пропуск проектов с жёстким UI-долгом и грязным деревом.
Прошёл двойную независимую критику (fresh-context): REJECT → APPROVE-WITH-CHANGES → все правки внесены. self-check 44 раздела, config-protect 21/21, traceability 67 механизмов.
Полный список — CHANGELOG.md, раздел v8.0.1.
v8.0.0 — провенанс, управляемый контекст, пины моделей, усиленная проверка
Vibe Dev v8.0.0 — провенанс фич, управляемый контекст, пины моделей, усиленная проверка
Девять волн, 26 фич. Harness-first pipeline: бизнес-идея → работающий продукт для предпринимателя-непрограммиста.
Пять линий
- Модели — пины по стадиям (opus: план/критика/проверка, sonnet: код/чтение), независимый adversarial-верификатор физически без права записи, эскалация по тиру при залипании.
- Детализация — крупная задача не входит в работу без разложенного плана (P1 user story в Given/When/Then), единый резолвер путей харнеса (лечит «запись не в тот проект»), backlog ленивый.
- Провенанс — историю фич ведёт event-sourcing (голова-проекция + append-only лог + архив по ссылке с evidence-hash), crash-safe запись, git-гейты когерентности без загрузки тела в контекст.
- Анти-сжатие контекста — управляемый
/checkpointвместо рулетки авто-сжатия (cold-start gate), трёхуровневая модель контекста, сужение возврата читающих агентов. - Проверка — evidence на logic-фиче (реальный прогон, не только typecheck) + negative-gate, единая цифра готовности в
/audit, бюджеты усилий.
Проверки
67 механизмов в docs/traceability.md (единственный источник числа). self-check 43/43, plugin validate --strict зелёный. Живая проверка новых сторожей 16/16 на движке 8.0.0 + живое событие PreToolUse.
Установка / обновление
- Новая установка:
claude plugin marketplace add andrewcigan/vibe-dev-plugin→claude plugin install vibe-dev@vibe-dev. - Обновление установленной копии до 8.0.0: команда
/plugin(обновить vibe-dev). - Перевод существующего проекта на строгость v8:
/upgrade-projectв проекте. На v8 фичи обязаны нести провенанс-голову — при апгрейде прогоняется миграция провенанса.
Полный список изменений — CHANGELOG.md, раздел v8.0.0.
v6.2.1 — Interrupt-recovery: техническое прерывание ≠ запрет
Новый сторож №38. Боль: закрыл крышку ноутбука (или написал сообщение в работающую сессию) — выполнявшийся инструмент помечается «пользователь отклонил», агент читает «STOP and wait» и стоит часами (в боевых журналах зафиксирован простой 7ч17м; открытый issue anthropics/claude-code#49790).
Теперь: следующее сообщение пользователя без стоп-слов получает автоматическое указание «прерывание было техническим, не запретом — продолжай план, перезапусти убитый вызов». Настоящее «стоп/останови/отмени» сохраняет полную силу — сторож молчит.
Диагностика по 51 реальному interrupt-событию; тест 12/12 на живых формах записей движка 2.1.170 + контрольный прогон на настоящем журнале; self-check 28 разделов.
v6.2.0 — Enforcement как проверяемый факт (37 механизмов)
Активация хуков доказуема (heartbeat + двухфазный профиль pending→strict + независимый git pre-commit backstop + /doctor). Краш сторожа не молчит (fail-loud + crash-артефакты + корпус реальных форм данных). Clarity-gate на финальное сообщение (Stop-block с precision-гейтом на размеченном корпусе). Evidence по поверхности фичи (монотонная строгость). Обязательный research перед архитектурой (lock-паттерн). Closing-mode: закрытие сессии не кодит. Секрет-гигиена: ключ в чате → ротация; токен в выводе → предупреждение. Config-protect: агент не ослабляет собственные гейты.
Все новые сторожа проверены живыми прогонами на движке Claude Code 2.1.170 (включая перенос счётчика повторов на PreToolUse по живой модели событий — PostToolUse не приходит на упавших командах). Тесты: 20 наборов, self-check 27 разделов, plugin validate --strict.
Установка:
claude plugin marketplace add andrewcigan/vibe-dev-plugin
claude plugin install vibe-dev@vibe-dev