2.0 KiB
2.0 KiB
Сравнение: Sonnet 4.6 vs Opus 4.8 — полный код-ревью v1.1.20
Совпадения (оба нашли)
| Баг | Sonnet | Opus |
|---|---|---|
_finish_op args CREATE |
🔴 | 🔴 |
api_history() connection leak |
🔴 | 🟠 |
| XSS displayName/svc | 🟡 | 🟡 |
| Мёртвый код/docstring'и | 🟠 | 🟢 |
Только Opus (дополнительно)
| Баг | |
|---|---|
detect_endpoint() — 2-3 лишних HTTP на каждый запрос |
🟠 |
_op_results in-memory dict — не переживает multi-worker |
🟠 |
| CSRF на POST (частично закрыто SameSite) | 🟡 |
currentSvcShort без let — неявная глобальная |
🟢 |
| Дублирование рендера в selectService/refreshInstances | 🟢 |
| CREATE шаг 6: шаблон vs реальная операция | 🟢 |
Только Sonnet
| Баг | |
|---|---|
pool.py _initialized=True до init_db() |
🔴 |
Cookie без secure=True |
🟡 |
| MODIFY без required+default | 🟡 |
| pool.py race condition без мьютекса | 🟠 |
Мой анализ
Opus 4.8 глубже — проверил эталонный Terraform flow, подтвердил что CREATE-флоу соответствует, нашёл проблемы с detect_endpoint и multi-worker. Sonnet нашёл pool.py баги, которые Opus пропустил.
План исправлений (по приоритету):
- 🔴
_finish_opargs — добавитьFalseдляis_deleteв CREATE-ветку - 🔴
api_history()—try/finally: put_conn(conn) - 🔴
pool.py—_initialized=Trueпосле успешногоinit_db() - 🟡 XSS —
_esc()для displayName/svc в рендере инстансов + истории + stages - 🟡 Cookie
secure=True - 🟠
currentSvcShort→let currentSvcShort
Правки 1-3 критические — их делаю первыми. 4-6 следом.