diff --git a/docs/ai-log.md b/docs/ai-log.md index 305a05e..ab25bfa 100644 --- a/docs/ai-log.md +++ b/docs/ai-log.md @@ -11,3 +11,6 @@ | 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 цифр — иностранные | +| 8 | Шаг 4, landing | Агент не увидел существующий `next.config.ts` (фильтр `grep -v .next` — точка в regex съела `next.config`) и перезаписал его, потеряв standalone, transpilePackages и прокси на api | Сообщение инструмента «updated» вместо «created» и `git status` с `M` | `git checkout` файла до коммита | +| 9 | Шаг 4, landing | Мутировал ref внутри апдейтера `setState` — в StrictMode апдейтер вызывается дважды, предзаполненный комментарий посчитался бы текстом посетителя | Самопроверка агента при перечитывании хука | Комментарий хранится в одном state со значениями формы | +| 10 | Шаг 8, landing | Синхронное исключение при сборке тела запроса оставляло кнопку навсегда в «Отправляем…» | Ревью своего кода агентом | Сборка тела внутри промиса с `catch` → блок «позвоните» | diff --git a/package.json b/package.json index a85d679..a6a17ff 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,7 @@ { "name": "kvarta", "private": true, + "type": "module", "packageManager": "pnpm@11.22.0", "engines": { "node": ">=22" }, "scripts": {