Verstak · Дисциплина 20 июня 2026 · дневник разработки

Дисциплина bug-hunt: 28 багов и правило «сначала тест»

Месяц быстрой разработки = месяц накопленных багов. Мы не размазывали починку по чуть-чуть, а проводили bug-hunt'ы — целенаправленные охоты, где за один заход вычищается пачка проблем.

За 17–19 июня прошло 3 хунта + 4-й по провайдерам — 28+ багов закрыто и запушено.

Правило, которое делает багфикс надёжным

Главный принцип (из регламента проекта): «Почини баг» = сначала тест, воспроизводящий баг, потом фикс, который его гасит. Не наоборот. Не «фикс + тест, который удачно проходит» — а тест, который падает на текущем коде, и фикс, после которого он зеленеет. Иначе ты не знаешь, чинил ли ты вообще что-то.

Примеры реальных багов из хунтов (по тегам из коммитов):

Что покрыто сильно, что слабо (без прикрас)

Сильно покрыто чистой логикой: compact-history (6 тестов), with-retry (14), pricing (12), apply-patch. Это места, где баг = деньги или порча данных, и юнит-тест ловит регрессию мгновенно.

Слабо: IPC-хендлеры, agent loop, review flow, multi-chat routing — интеграционные пути, которые трудно тестировать без mock-окружения Electron. Это честно записано в STATUS.md как тех-долг §3, и покрытие растёт по мере хунтов (добавили agent-loop тест-харнес).

Хитрость с «шумом» в тестах

Есть нюанс, который легко принять за регрессию: ~8 sqlite-тестов падают по NODE_MODULE_VERSION 137 vs 143. Это не баг — это better-sqlite3, скомпилированный под Electron (ABI 143), а vitest идёт под Node (ABI 137). Правило: если падений ровно 8 — всё в порядке; если больше — что-то сломал. Когда приложение закрыто и native-байндинг не залочен, прогон зелёный целиком (1171 тест).

Эта мелочь экономит часы: без неё каждый прогон выглядит как «8 регрессий», и ты либо паникуешь, либо перестаёшь смотреть на тесты вообще.

Вывод

Bug-hunt работает, потому что у него есть рамка: пачкой, с тестом-репродьюсером на каждый баг, с чётким критерием «сколько ожидаемого шума». Это не «давай починим что заметим» — это охота с правилами.

→ Дальше: Сага релизов: 9% install error и лимит GitHub API


← Все статьи · Скачать Verstak