Комментарии 7
Формулировка „правда не в коде, а в спеке, а спек-тест валит сборку с файлом и строкой“ мне очень близка — особенно кейс с 637 употреблениями. Вопрос про цену: сколько таких детерминированных спек-тестов у вас сейчас, и кто их пишет чаще — вы или агент по шаблону? И как решаете, что уходит в жёсткий тест, а что остаётся „мягким“ правилом в AGENTS.md? Я делаю SpecScore.md как раз чтобы требования в репозитории можно было линтить и привязывать к проверкам, а не только читать.
Спасибо. На сегодня: 6 570 тестов, из них 1 079 читают .md спек и сверяют с кодом. Пишут их агенты сами где считают нужным, по правилу из канона тестов, на который ссыалется AGENTS.md. Оно дословно такое:
…«Спека с числом, списком или таблицей — спек-тест тем же заходом, что и спека. Кегли, палитра, сетка, маршруты, формулы денег, реестры инвариантов, пути файлов: все, что в спеке записано так, что машина может сверить». И про мягкое: «UI, контент, страницы, доки по смыслу — новые тесты не пишем. Голос текста, порядок разделов, как писать карточку — мягкое правило в каноне, его ловят глазами». Граница простая: если правило в спеке можно проверить машиной, его прроверяет машина. Где точно граница, нащупываю до сих пор. SpecScore посмортел, идея линтить спеку до того как ее читает агент, очень интересная. Подумаю как это можно внедрить у нас. Ну и 57 тыс контрибьюшенов за год на гитхабе - впечатлюящий результат :)
Ну, если изменения не ревьювить то правда уже не в коде. А вот где она тогда это большой вопрос
Правда в самой системе (прод и пользователи).
Её слегка упрощенное отражение в ментальной модели в виде набора абстракций, удобных для понимания и изменения системы. А вот документирована ли она как "концептуальная модель" и поддерживается ли её актуальность? Этот этап уже делается реже, грубее, с ошибками.
Спеки уже сами по себе архитектурный дрифт.
Согласен с первой половиной: правда в самой системе, в проде и у пользователей. И да, обычная документация дрифтует еще быстрее кода, птоому что ее пишут один раз для людей и потом не трогают.
Та документация что для людей дрифтует медленно. А вот спеки уже быстро
Быстро, если ее никто не читает. У меня спека не концептуальаня модель, написанная однажды. Это рабочий файл, который агент читает перед каждой задачей и правит в том же заходе что и код. Чтобы она не уехала, ее держит машина с двух сторон. До мержа спек-тест: читает правило из .md и валит сборку, если код с ним разошелся, а в части спек и наоборот, поравил спеку без кода - красный. После мержа селф-хил: 78 проверок раз в полчаса смотрят на живом сайте, что задачи, поставленные перед кодом, реально выполняются. Пример из августа: лента ноовостей у меня встала на три дня из-за пропущенного await. Ревью этого не видит, тесты не ловят, а проверка на проде поймала. Так что ревью не исчезло, оно переехало: я ревьюю спеку, а код проверяет машина, причем дважды.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Вайбкодинг кончается хаосом: 637 мест, где ИИ сделал по‑своему. Что такое архитектурный дрифт и чем я его вылечил