v1.0.89: Sonnet Round 2 prompt — PostgreSQL schema, auth.py, dynamic services

This commit is contained in:
2026-07-27 22:16:23 +04:00
parent 437aa7a1d1
commit 6b085e1e49
2 changed files with 152 additions and 0 deletions
+39
View File
@@ -1,5 +1,44 @@
# История разработки app-autotest
## v1.0.89 (27.07.2026) — Sonnet Round 1: архитектурный аудит
### Результаты анализа
Sonnet провёл полный аудит кода и документации. Ключевые выводы:
**✅ Что хорошо:**
- Разделение слоёв (api/operations/routes)
- Multi-worker safety через fcntl.flock
- Cloud-first подход с tracker-fallback
- HTML-экранирование в JS
**🔴 Критические находки:**
1. `_op_results` dict растёт бесконечно — утечка памяти, нужен TTL/очистка
2. Cookie токена без `httponly` и `samesite`
3. `/api/log` без проверки авторизации
**🟡 Дублирование:**
1. `_client_id()` — идентичный код в main.py и api_test.py
2. `_client()` — разное поведение в main.py и api_test.py
3. Инлайн `<style>` дублирует `style.css`
**🟡 Захардкодено:**
1. `SVC_ID=1` и список сервисов в HTML — хотя `/api/services` существует
2. `create_client()` в main.py vs `_client()` в api_test.py — разные подходы
**Приоритетный план исправлений:**
1. 🔴 `_op_results` — добавить очистку/TTL
2. 🔴 Cookie `httponly=True, samesite='Strict'`
3. 🟡 Вынести `_client_id()` / `get_token()` в общий модуль `api/auth.py`
4. 🟡 Загрузка сервисов из `/api/services` вместо хардкода
5. 🟡 Вынести JS в `/static/app.js`
6. 🟢 SQLite история запусков
7. 🟢 `/api/log` проверка токена
### Создан запрос Round 2
Файл: `DOCS/sonnet-architecture-review-v1.0.89-r2.md` — уточняющие вопросы по реализации.
## v1.0.89 (27.07.2026) — документация и комментарии кода
## v1.0.87 (27.07.2026) — документация: ARCHITECTURE.md переписан, legacy-доки помечены
## v1.0.84 (27.07.2026) — лог-панель скрыта по умолчанию