diff --git a/HISTORY/2026-08-03-session.md b/HISTORY/2026-08-03-session.md index 90fc87e..e094724 100644 --- a/HISTORY/2026-08-03-session.md +++ b/HISTORY/2026-08-03-session.md @@ -93,3 +93,32 @@ jsonEnv автотеста на проде: 3. **`index.html`** — селекторы над версией, disable токена в эмуляции 4. **`service_list.py`** — обрезать `polygon_` префикс 5. **`api_test.py`** — `get_real_client()` → `get_client()` + +--- + +## Фаза 3: Код-ревью Соннета 4.6 (v1.2.39) + +### Промпт + +``` +Ты — senior backend-разработчик, делаешь код-ревью веб-приложения app-autotest. +Flask 3.1 + vanilla JS + PostgreSQL. Два режима: эмуляция (Polygon) / облако. +Проверь внимательно: безопасность, URL, гонки, целостность данных, ошибки, архитектуру, JS. +Для каждой находки: 🔴 критическое / 🟡 важное / 🟢 рекомендация. +Если неясно — спроси, устроим диалог. +``` + +### Результаты + +| # | Файл | Проблема | Серьёзность | +|---|------|----------|-------------| +| 1 | `static/js/instances.js` | `o.operation` в innerHTML без `_esc()` | 🔴 | +| 2 | `api/auth.py` | Двойной `detect_endpoint()` на запрос | 🟡 | +| 3 | `routes/main.py` | `mode`/`polygon_stand` без whitelist-валидации | 🟡 | +| 4 | `api/auth.py` | Общий `client_id` в polygon-режиме (env-токен) | 🟡 | +| 5 | `routes/api_test.py` | `api_history` без `finally` для conn | 🟡 | +| 6 | `api/http_client.py` | `stand_name()` substring match | 🟡 | +| 7 | `operations/scenario.py` | Двойной отступ в for-цикле | 🟢 | +| 8 | `api/auth.py` | `get_real_client()` мёртвый алиас | 🟢 | +| 9 | `db/init_db.py` | Нет UNIQUE индекса на `runs.op_uid` | 🟢 | +| 10 | `routes/api_test.py` | `flock(LOCK_UN)` перед flush в ротации лога | 🟢 |