doc: HISTORY — код-ревью Соннета 4.6 (10 находок)

This commit is contained in:
2026-08-03 10:49:03 +04:00
parent 366a6754fe
commit b78bae571e
+29
View File
@@ -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 в ротации лога | 🟢 |