Guardrails

Автоматические проверки того, что мой дизайн реализован правильно и делает то, для чего задуман

Моя роль

Дизайнер и инженер

Предмет
Процесс поставки этого сайта
С какого времени
27 сентября 2026 года, первый слитый пул-реквест
Доказательства
Репозиторий: регистрации, пул-реквесты, метки
По состоянию на
23 октября 2026 года
  1. Я спроектировал ограничители: шаблоны задач с отключёнными пустыми задачами, обязательную предварительную регистрацию перед EPIC и проверку, которая не пропускает пул-реквест с новой функцией без неё.
  2. Заранее зафиксировал четыре признака провала исследования, до того как началась работа, которую оно измеряет.
  3. Внёс в журнал поставки 15 регистраций, у каждой есть метрика, порог и нулевая гипотеза, и каждая записана до изменения, которое она предсказывает.
  4. Закрывал регистрации, измеряя их по их же правилам, в том числе те, что дали нулевой результат.
  • 15 регистраций в журнале поставки, каждая записана до своего изменения
  • 3 из 4 закрытых регистраций дали нулевой результат по своим же правилам, и 1 дала смешанный
  • 0 задач заведено за всё время: путь через шаблоны, вокруг которого строилось исследование, остался неиспользованным
  • 78 из 111 слитых пул-реквестов получили метку, освобождающую их от регистрации

Кратко

Кейсы этого сайта с предварительной регистрацией опираются на один метод: записать предсказание до изменения, а потом судить изменение по нему. Здесь я применяю этот метод к работе, из которой получается сам сайт. Участников нет; предмет исследования это процесс поставки, а доказательства лежат в самом репозитории. Исходная посылка такая: метод, который только подтверждает свои предсказания, ничего не измеряет, поэтому проверка в том, приносят ли эти ограничители сюрпризы.

К 23 октября 2026 года в журнале поставки сайта было 15 регистраций и 111 слитых пул-реквестов. 4 регистрации закрыты по итогам оценки: 3 дали нулевой результат по своим же правилам, а 1 дала смешанный, подтвердившись на одной странице и не подтвердившись на другой. Но трение, которое должно было охранять метод, сместилось. Шаблонами задач, вокруг которых строилось исследование, так и не воспользовались, а метку, освобождающую пул-реквест от регистрации, поставили на 78 из 111.

Кто участвовал

  • Я Дизайнер, инженер и предмет исследования.
  • Агенты ИИ-агенты, которые написали большую часть кода и проводили ревью; к ним применялись те же регистрации и проверки.
Читать материалы . Разделов: 5, около 3 мин

С чего всё началось

Дисциплина процесса обычно разваливается под давлением сроков. Предварительную регистрацию как раз пропускают, когда близок релиз, и этот пропуск незаметен: никто не записывает гипотезу, которую решил не записывать. Хуже того, методологию, которая только подтверждает свои предсказания, невозможно отличить от той, что ничего не измеряет. Задача дизайна состояла в том, чтобы дисциплинированный путь стал самым лёгким, и в том, чтобы заранее определить, как будет выглядеть провал.

Ограничители как поведенческий дизайн

Это был поведенческий дизайн, применённый к процессу, а не к продукту, и встроен он был в шаблоны задач GitHub. Трение: пустые задачи были отключены, поэтому структуру нельзя было пропустить. Механизмы обязательств: EPIC нельзя было открыть без связанной предварительной регистрации, так что гипотеза фиксировалась бы до того, как появится само вмешательство. Значения по умолчанию: чекбоксы INVEST были заранее отмечены, чтобы подтолкнуть к завершению. Принудительные функции: обязательные поля не дали бы отправить задачу без формулировки JTBD и критериев приёмки. Прослеживаемость: каждый артефакт ссылался бы на свой родительский EPIC и на предварительную регистрацию, которую он проверяет. Ограничение по времени: у SPIKE был бы явный лимит времени, а SLICE были ограничены восемью часами, чтобы объём не расползался. Ни одной задачи так и не завели, поэтому ни один из этих шаблонов не был использован.

Четыре признака провала в сверке с журналом

Исследование заранее зафиксировало четыре условия провала, до работы, которую оно измеряет. Вот каждое из них в сверке с репозиторием на 23 октября 2026 года.

Все регистрации подтвердились, а это значило бы, что предсказания были слишком осторожными. Этого не произошло. Из 4 закрытых три дали нулевой результат по своим же правилам: пререндеринг страниц кейсов не изменил отрисовку их самого крупного элемента по HTTP/2, встраивание таблицы стилей кейса снизило оценку на каждой затронутой странице, а проход по производительности оставил страницу TerraQuotes ниже названной границы. Четвёртая дала смешанный результат: подтвердилась на странице кейса и не подтвердилась на главной.

Более 20% EPIC выходят без регистрации. В нынешней формулировке это условие проверить нельзя, потому что ни одного EPIC так и не завели: в репозитории вообще нет задач. Работа шла через пул-реквесты. Из 29 слитых пул-реквестов с новыми функциями 15 ссылаются на регистрацию; 14 не ссылаются, и 13 из них относятся к одному дню дизайн-правок 30 сентября.

Ни одной записи в журнале решений, где упомянута неожиданная находка. Нулевые результаты изменили то, что было дальше: от встраивания таблицы стилей отказались, а результат пререндеринга направил работу к заголовкам, которые сообщают браузеру, что загружать, и именно там решения были записаны в журнал.

Появляются пустые задачи, а это значило бы, что кто-то нашёл обход трения. Пустые задачи так и не появились, но обход нашёлся: метку, освобождающую пул-реквест от регистрации, поставили на 78 из 111. Большая часть из них это правки контента, которые ничего не утверждают, и метка нужна именно для них; но это ещё и самый лёгкий путь, и ничто не проверяет, что помеченный пул-реквест действительно ничего не утверждает.

Результаты

Метод учит: три из четырёх закрытых предсказаний оказались неверными так, что это изменило следующее решение, а именно такой сюрприз исследование и искало. Ограничители не держатся там, где их построили. Шаблонами задач не пользовались, метка-исключение стала обычным путём, а 11 из 15 регистраций всё ещё ждут закрытия по итогам оценки. Регистрация, закрытая измерением, это стандарт, заданный в заметках о поставке; большинство регистраций ему пока не соответствует.

Доказательства копятся с каждым пул-реквестом, а в регистрациях, которые сайт добавил 23 октября, названо сравнение глубины чтения, которое закроет их через четыре недели после деплоя.

Что я бы изменил

Поставить трение туда, куда на самом деле идёт работа. Проверка в пул-реквесте, которая просит помеченное изменение одной строкой объяснить, почему оно ничего не утверждает, и еженедельный список регистраций, не закрытых после даты оценки, охраняли бы путь, которым я действительно пользуюсь, а не тот, который я спроектировал.