Создание лицензии на исправление в TrueForge — и ошибка, обнаруженная проверяющим кодом в нашем собственном коде безопасности. Сейчас 3 часа ночи. Караульный огонь. Вы открываете свой ноутбук, читаете трассировку стека, находите файл, воспроизводите сбой, пишете тест, исправляете четыре строки, открываете...
Создание лицензии на исправление в TrueForge — и ошибка, обнаруженная проверяющим кодом в нашем собственном коде безопасности.
Сейчас 3 часа ночи. Караульный огонь. Вы открываете свой ноутбук, читаете трассировку стека, находите файл, воспроизводите сбой, пишете тест, исправляете четыре строки, открываете PR и снова ложитесь спать.
Каждая часть этого механистична, кроме суждения. Поэтому мы создали дежурного агента для выполнения механических частей: License to Patch, созданный на основе TrueForge, пакета агентов TrueFoundry с открытым исходным кодом.
Он считывает проблему Sentry, считывает реальный источник в виновном фрейме, воспроизводит ошибку в песочнице с неудачным тестом, записывает наименьшее исправление, которое делает его зеленым, и открывает запрос на включение.
Затем он останавливается и спрашивает вас.
Последнее предложение и есть весь проект. Этот пост посвящен четырем решениям, лежащим в его основе, а также моменту, когда рецензент кода обнаружил дыру в механизме безопасности, в котором мы были наиболее уверены.
Два способа, которыми это обычно идет не так
Инструменты в этой области терпят неудачу в одном из двух направлений.
Некоторые из них представляют собой окно чата. Они предлагают патч и оставляют вас делать работу. Безопасно и едва ли стоит потраченных денег.
Другие представляют собой автономные боты, которые отправляют данные в ваш репозиторий, пока вы спите. Узнаешь, что они решили утром