Сегодня попробовал инструмент Dusk с открытым исходным кодом — и один результат меня удивил.

Гипофиз (pituitary), созданный, чтобы ловить, когда документы, спецификации и код перестают совпадать. Указываете ему на репозиторий — он индексирует спецификации и decision records, помечает расхождения, которые противоречат уже принятому. Прогнал его на тестовом diff, который явно ломал существующую спецификацию.

Проверка не упала. Подумал, что это баг.

Не было. Инструмент ищет комментарий с обоснованием рядом с изменением — WHY, HACK и подобные маркеры. Если кто-то уже отметил отклонение как намеренное, он направляется по другому маршруту, чем простое случайное «поплывшее» несоответствие.

Вот в чём реальный разрыв. Противоречие и нарушение — это не одно и то же здесь. Спецификация говорит одно, код — другое; всё равно это логируется, а не валится, если человек уже объяснил разрыв.

Спецификация написана и проиндексирована, код расходится, diff проходит check-doc-drift, обнаруживается противоречие, инструмент ищет рядом строки с этим маркером: намеренные отклонения идут по одному пути, необъяснённые — валят сборку.

Но никто не проверяет, всё ли ещё значит что-то этот маркер. Ничто не мешает кому-то написать WHY, чтобы просто заткнуть флаг, и ничто не проверяет, верно ли по-прежнему исходное обоснование старого.

Что будет с этим соглашением в сотнях PR в неделю, когда оно будет стоять между регрессией и тихим успешным проходом? 👍

#dusk $DUSK @Dusk