2.8 KiB
2.8 KiB
Ошибки ИИ
Записи по ходу работы: что ИИ сделал не так, чем поймали, что исправили. Источник для раздела README «где ИИ ошибся».
| # | Шаг | Ошибка ИИ | Чем поймали | Исправление |
|---|---|---|---|---|
| 1 | План, деплой | Предложил docker compose run …, не проверив сервер; там нет плагина compose, только docker-compose v2.23 |
Осмотр сервера по ssh перед планом деплоя | Везде docker-compose |
| 2 | План, Telegram | Предложил скрипт tg:setup через getUpdates, а позже — long polling в api; два потребителя одного потока обновлений конфликтуют |
Сам заметил при проектировании восстановления через бота | Скрипт заменён командой бота /setup (ADR-0002) |
| 3 | Шаг 1, каркас | Сгенерировал onlyBuiltDependencies для pnpm, а в pnpm 11 формат сменился на allowBuilds — нативный better-sqlite3 молча не собрался |
Ошибка ERR_PNPM_IGNORED_BUILDS и проверочный запуск new Database(':memory:') |
allowBuilds + pnpm rebuild better-sqlite3 |
| 4 | Шаг 1, каркас | Поставил самую свежую ESLint 10, плагины eslint-config-next её ещё не поддерживают | pnpm peers check |
ESLint 9 |
| 5 | План, контракт | В плане «X-Real-IP доверяем только с 127.0.0.1» — в Docker запрос от nginx приходит со шлюза bridge-сети, и все посетители попали бы в один rate-limit | Агент api при реализации (вывод, не проверен на Docker) | TRUSTED_PROXIES + фиксированная подсеть в compose |
| 6 | Шаг 6, тесты | Тест «два одновременных запроса» проходит и без транзакции: better-sqlite3 синхронный — тест ничего не доказывает | Самопроверка агента api | Оставлен как регрессионный; защита — IMMEDIATE-транзакция, отмечено честно |
| 7 | Шаг 2, телефон | Первая версия считала российский 8 912… «неверным кодом оператора», а 10 цифр без префикса — «иностранным номером» |
Дописанные тесты на граничные вводы | Явное правило: 7…, 8[1-9]… и > 11 цифр — иностранные |