Files
autotest/DOCS/review-comparison-sonnet-opus.md
T

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 пропустил.

План исправлений (по приоритету):

  1. 🔴 _finish_op args — добавить False для is_delete в CREATE-ветку
  2. 🔴 api_history()try/finally: put_conn(conn)
  3. 🔴 pool.py_initialized=True после успешного init_db()
  4. 🟡 XSS — _esc() для displayName/svc в рендере инстансов + истории + stages
  5. 🟡 Cookie secure=True
  6. 🟠 currentSvcShortlet currentSvcShort

Правки 1-3 критические — их делаю первыми. 4-6 следом.