feat(opencode): ревьюер разрешений переключён на Jev со вторым мнением

- Зачем: Jev (System One) решает за ~0.6 с против 4 с у чат-модели,
  но на тонком контексте занижает confidence (0.6 < 0.7) и эскалировал
  даже тривиальные команды.
- Что: model=opencode/jev-1.13-free (ключ OPENCODE_API_KEY из
  ~/.env.secrets, нужен export); escalationReviewer=deepseek/deepseek-flash
  для неуверенных решений; actorProfiles для safe-build/safe-plan.
- Проверка: прогон printf → allow (low, 0.97), аудит пишется;
  fail-closed при отсутствии ключа подтверждён (эскалация, не allow).
This commit is contained in:
Dmitry Dementiev committed 2026-10-06 17:14:41 +03:00
1 parent 54467a2888
commit 346b3bfc61
1 file changed
+17 -7
@@ -1,10 +1,20 @@
{
// Модель-ревьюер разрешений. Провайдеры: deepseek, opencode-go.
// Если модель не поддерживает structured output (например opencode-go/deepseek-v4-flash),
// переключить outputFormat на "text".
"model": "deepseek/deepseek-flash",
"outputFormat": "json_schema",
"variant": "none",
// Модель-ревьюер разрешений. Jev (System One) через OpenCode Zen:
// ключ OPENCODE_API_KEY читается из окружения процесса opencode (~/.env.secrets).
// Платный вариант без временного окна: opencode/jev-1.13
"model": "opencode/jev-1.13-free",
// Ниже порога уверенности решение уходит человеку
"confidenceThreshold": 0.7
"confidenceThreshold": 0.7,
// Сложные/неуверенные решения Jev получают второе мнение чат-модели
// вместо эскалации к человеку
"escalationReviewer": {
"model": "deepseek/deepseek-flash",
"variant": "none",
"outputFormat": "json_schema"
},
// Профили наших агентов: снимает "actor identity partial" у ревьюера
"actorProfiles": {
"safe-build": "workspace",
"safe-plan": "read-only"
}
}