docs: журнал ошибок ИИ — каркас, телефон, api

This commit is contained in:
2026-10-17 15:42:32 +03:00
parent 84463da3eb
commit c2786f5894
+5
View File
@@ -6,3 +6,8 @@
|---|---|---|---|---|
| 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 цифр — иностранные |