CI.

CI.

Playwright не спасает от флапающих тестов: разбираемся, как он ждёт на самом деле

Привет, Хабр! Playwright продают примерно так: автоожидание встроено, sleep перед кликом писать не надо, флапающие тесты остались в эпохе Selenium. Обещание не пустое — механика внутри действительно крутая, и первые тесты правда пишутся как по маслу.А потом набор дорастает до полутора сотен тестов, уезжает в CI, и вы видите знакомую картину. Локально всё зелёное. На пайплайне падает через раз. Каждый раз в новом месте. Кто‑то предлагает добавить ретраев, кто‑то — «просто подождать подольше», и через месяц у вас набор, которому никто не верит.

продолжить чтение

archcheck — на страже архитектуры C++

Циклы графа, копипаст, лишние флаги: архитектурный дрейф виден в вашем CI.Один PRНачну с конкретного примера.В PrincetonUniversity/SPECFEMPP#943 Pull Request назывался Single include header for assembly module. По описанию он должен был упростить зависимости в модуле assembly и разорвать циклические зависимости через forward declarations.По названию и описанию это правильное архитектурное изменение.После изменения в include graph появился новый цикл из 7 узлов. Кейс с include cycle и почему обычный review его не видитКейс: как чистка include-зависимостей добавила новый циклВ

продолжить чтение

Как я построил систему, внутри которой AI пишет код [Сгенерировано]

Последние полгода я почти не пишу код руками. И, пожалуй, это лучшее изменение в моём процессе разработки за последние годы.Нет, я не перестал быть разработчиком. Просто моя работа изменилась. Раньше большую часть времени я писал код сам. Теперь я проектирую инженерную систему, внутри которой этот код пишет AI. Моя задача — не объяснить модели, что нужно сделать, а создать среду, в которой она физически не сможет принять неправильное решение.В этой статье я покажу, как устроена моя система разработки и почему именно такой подход позволяет использовать AI в реальных проектах без потери качества.Вы узнаете:

продолжить чтение

Держите LLM подальше от тестов чат-бота

Держите LLM подальше от тестов чат-ботаКто тестировал чат-бота, знает: на одной реплике всё просто, а на третьей-четвёртой начинается боль. Бот должен помнить имя, которое вы назвали два хода назад, держать слоты и не сваливаться в «уточните ваш запрос» на ровном месте. И как только садишься это проверять, упираешься в развилку: чем, собственно, проверять ответы многоходового диалога.Если короткоLLM, которая оценивает ответы вашего бота, — это вторая недетерминированная система. Теперь перед зелёным CI должны договориться сразу две, и договариваются они не всегда.

продолжить чтение

Зелёный CI — не признак качества. Как ИИ ломает инженерное мышление

Вот бы писать код быстрее - тогда я бы наконец сделал нормальный рефактор, идеальную архитектуру, всё “как надо”

продолжить чтение