From e2d85a28efaeaf29c6ace4b58ce475c4696fa4af Mon Sep 17 00:00:00 2001 From: Nikolay Unuchek Date: Sat, 17 Oct 2026 15:47:36 +0300 Subject: [PATCH] =?UTF-8?q?chore:=20type=20module=20=D0=B2=20=D0=BA=D0=BE?= =?UTF-8?q?=D1=80=D0=BD=D0=B5,=20=D0=B6=D1=83=D1=80=D0=BD=D0=B0=D0=BB=20?= =?UTF-8?q?=D0=BE=D1=88=D0=B8=D0=B1=D0=BE=D0=BA=20=D0=98=D0=98=20=E2=80=94?= =?UTF-8?q?=20landing?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/ai-log.md | 3 +++ package.json | 1 + 2 files changed, 4 insertions(+) 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": {