From aa3d012fdf7a643c1e0bc215f334306c89c368b5 Mon Sep 17 00:00:00 2001 From: bot-backend Date: Sun, 31 May 2026 15:39:42 +0300 Subject: [PATCH] =?UTF-8?q?chore(agents):=20bot-=D0=BE=D0=BA=D0=BD=D0=B0?= =?UTF-8?q?=20=D0=BD=D0=B0=20Sonnet=20(start-bot=20--model)=20+=20context-?= =?UTF-8?q?hygiene=20+=20reviewer/resolver=E2=86=92sonnet=20(weekly=20Opus?= =?UTF-8?q?-=D0=BF=D1=83=D0=BB)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .claude/agents/_autonomous_pickup.md | 2 ++ .claude/agents/auto-code-reviewer.md | 10 +++++----- .claude/agents/auto-resolver.md | 2 +- scripts/start-bot.ps1 | 5 +++-- 4 files changed, 11 insertions(+), 8 deletions(-) diff --git a/.claude/agents/_autonomous_pickup.md b/.claude/agents/_autonomous_pickup.md index 21da356d..b7901c8d 100644 --- a/.claude/agents/_autonomous_pickup.md +++ b/.claude/agents/_autonomous_pickup.md @@ -340,6 +340,8 @@ Claude имеет ДВА лимита: 5h-rolling (сам сбрасываетс - Пустая очередь + нет fixup-PR → выходить из loop, а не крутиться вхолостую. - Тяжёлые batch-прогоны — вне пиковых часов (≈5–11 PT) при возможности. - Перед длинной автономной сессией глянуть Settings → Usage (оба счётчика + дата weekly-reset). +- **Окна — на Sonnet, не Opus** (`start-bot.ps1` уже запускает с `--model sonnet`). Opus — только main-оркестратору. Sonnet-пул отдельный, недельный All-models (Opus) пул так не горит. +- **Context-hygiene (forgejo-MCP результаты = ~47% расхода, остаются в контексте):** `/compact` после всплеска forgejo-вызовов (много PR/issue/label за тик); `/clear` между независимыми issue в loop — флашит накопившиеся MCP-результаты, иначе каждый тик дороже при контексте >150k. ## Error escalation diff --git a/.claude/agents/auto-code-reviewer.md b/.claude/agents/auto-code-reviewer.md index f4550e80..c8449461 100644 --- a/.claude/agents/auto-code-reviewer.md +++ b/.claude/agents/auto-code-reviewer.md @@ -3,7 +3,7 @@ name: auto-code-reviewer description: "[DRAFT — autonomous loop only] Code reviewer + merge authority в режиме /loop 2m. Читает PR diff, выносит verdict, мерджит APPROVE. НЕ для invoke через Task tool — для запуска как persona в standalone Claude Code window." status: draft created_at: 2026-05-27 -model: opus +model: sonnet tools: Read, Glob, Grep, Bash, mcp__obsidian__obsidian_simple_search, mcp__obsidian__obsidian_get_file_contents, mcp__postgres-gendesign__list_objects, mcp__postgres-gendesign__get_object_details, mcp__postgres-gendesign__explain_query, mcp__postgres-gendesign__analyze_query_indexes --- @@ -12,11 +12,11 @@ tools: Read, Glob, Grep, Bash, mcp__obsidian__obsidian_simple_search, mcp__obsid > **DRAFT.** Эта persona НЕ для Task-tool spawn. Только как `--append-system-prompt` > для standalone окна с `/loop 2m`. > -> **Модель = модель окна.** Frontmatter `model: opus` действует ТОЛЬКО при Task-spawn (запрещён). -> В standalone `/loop`-окне модель = модель окна. Reviewer держит merge-authority и всю -> judgment-нагрузку → запускай это окно в Opus 4.8 осознанно. +> **Модель = модель окна.** Frontmatter `model: sonnet` действует ТОЛЬКО при Task-spawn (запрещён). +> В standalone `/loop`-окне модель = модель окна (`start-bot.ps1` запускает с `--model sonnet`). +> Reviewer работает на Sonnet (экономия Opus-пула); для критичных PR есть deep-code-reviewer (Opus, вручную). -> **Forgejo API → `mcp__forgejo__*` tools** (primary; полный mapping в [[_autonomous_pickup]] § «Forgejo операции»). curl — только fallback. Запуск окна: `scripts/start-bot.ps1 reviewer` (в Opus 4.8). +> **Forgejo API → `mcp__forgejo__*` tools** (primary; полный mapping в [[_autonomous_pickup]] § «Forgejo операции»). curl — только fallback. Запуск окна: `scripts/start-bot.ps1 reviewer` (Sonnet — Opus-пул не горит). ## Role diff --git a/.claude/agents/auto-resolver.md b/.claude/agents/auto-resolver.md index 159c6308..d524f07a 100644 --- a/.claude/agents/auto-resolver.md +++ b/.claude/agents/auto-resolver.md @@ -3,7 +3,7 @@ name: auto-resolver description: "[DRAFT — autonomous loop only] Human-proxy resolver в режиме /loop 15m. Снимает блокеры issues с label needs-human, используя capabilities, которых нет у headless-ботов (dev-IP, куки/сессии, SSH на прод, прямой доступ к БД). НЕ для invoke через Task tool — для запуска как persona в standalone Claude Code window НА МАШИНЕ ПОЛЬЗОВАТЕЛЯ." status: draft created_at: 2026-05-30 -model: opus +model: sonnet tools: Read, Write, Edit, Glob, Grep, Bash, mcp__obsidian__obsidian_simple_search, mcp__obsidian__obsidian_get_file_contents, mcp__postgres-gendesign__execute_sql, mcp__postgres-gendesign__list_objects, mcp__postgres-gendesign__get_object_details, mcp__postgres-tradein__execute_sql, mcp__postgres-tradein__list_objects, mcp__postgres-tradein__get_object_details, mcp__playwright__browser_navigate, mcp__playwright__browser_snapshot, mcp__playwright__browser_evaluate, mcp__playwright__browser_click, mcp__playwright__browser_type, mcp__playwright__browser_close --- diff --git a/scripts/start-bot.ps1 b/scripts/start-bot.ps1 index 0622b7e3..492a2d02 100644 --- a/scripts/start-bot.ps1 +++ b/scripts/start-bot.ps1 @@ -70,7 +70,8 @@ Write-Host "OK bot=$bot" -ForegroundColor Green Write-Host "OK identity + tokens + forgejo-bot remote" -ForegroundColor Green Write-Host "OK per-role MCP (--strict-mcp-config): $mcpConfig" -ForegroundColor Green Write-Host "" -Write-Host "В окне Claude (Opus 4.8 для reviewer): /work-as-$Role -> затем /loop" -ForegroundColor Cyan +Write-Host "В окне Claude (Sonnet — экономия недельного Opus-пула): /work-as-$Role -> затем /loop" -ForegroundColor Cyan # --strict-mcp-config: грузим ТОЛЬКО серверы этой роли (игнорируем .mcp.json + ~/.claude.json) -claude --strict-mcp-config --mcp-config "$mcpConfig" +# --model sonnet: loop-роли на Sonnet (отдельный пул); Opus оставляем main-оркестратору +claude --model sonnet --strict-mcp-config --mcp-config "$mcpConfig"