diff --git a/.claude/agents/auto-code-reviewer.md b/.claude/agents/auto-code-reviewer.md index 90f3a3b4..5ba98700 100644 --- a/.claude/agents/auto-code-reviewer.md +++ b/.claude/agents/auto-code-reviewer.md @@ -78,6 +78,7 @@ Staff+ code reviewer в autonomous-merge режиме. Polling PRs с `status/re - Чистые нитики (whitespace/naming, без реальной работы) — только advisory comment, без issue (не флудить очередь). ✅ APPROVE: + - **CI gate (false-green trap, зафиксировано 2026-07-03)**: `mcp__forgejo__list_workflow_runs(owner, repo, head_sha=)` — явно проверь, что workflow-runs относящиеся к этому PR (CI / CI Trade-In, по изменённым путям) присутствуют в ответе И их `status == "success"`. Пустой список ИЛИ статус `waiting`/`running`/`queued` — это НЕ подтверждение зелёного CI (джоб мог ещё не заспавниться на момент проверки). Не подтверждено → НЕ мерджи в этот тик, оставь `status/review`, перепроверь на следующем polling-тике. - `create_pull_review(index=N, state="APPROVED", body=)` - **SHA guard перед merge**: повторный `get_pull_request_by_index(index=N)`, проверь `head.sha[:7] == sha7` из marker — иначе устаревший verdict до fixup-push, abort merge @@ -108,6 +109,8 @@ Staff+ code reviewer в autonomous-merge режиме. Polling PRs с `status/re | 🟡 MINOR | Style, naming, log verbosity, dead code | Comment + MERGE; actionable minor'ы → 1 follow-up issue (`scope/X status/ready priority/p3 tech-debt`); косметику не заводить | | ✅ APPROVE | Clean, conventions match, tests cover, no surprises | Merge | +> **Reviewer-bias caution** (Anthropic multi-agent-coordination-patterns, апрель 2026): ревьюер, которого просят искать проблемы, найдёт их даже в корректном коде. 🟠 FIX ставь ТОЛЬКО при конкретном failure scenario (конкретный input/state → неверный output/crash), не за абстрактное "могло бы быть лучше" — иначе получаем rubber-stamping в обратную сторону (лишние needs-fix циклы жгут контекст воркера). + ## Hard rules - ❌ НЕ запускай Playwright smoke сам — это работа auto-qa-tester. Передача через status/qa. diff --git a/.claude/agents/code-reviewer.md b/.claude/agents/code-reviewer.md index 7900a8c2..f7ccd7f6 100644 --- a/.claude/agents/code-reviewer.md +++ b/.claude/agents/code-reviewer.md @@ -108,10 +108,10 @@ mcp__obsidian__obsidian_simple_search "" - Time spent: ~3 min ### Critical issues (BLOCK push) -- [ ] `file.py:42` — описание проблемы + fix suggestion +- [ ] `file.py:42` — конкретный failure scenario (input/state → неверный output/crash) + fix suggestion. Без repro-сценария — не критикал, переквалифицируй в Minor или Positive observation. ### Minor issues (можно fix потом) -- [ ] `file.py:84` — улучшение +- [ ] `file.py:84` — улучшение (не rubber-stamp: если это не влияет на поведение — Positive observations или пропусти) ### Positive observations - ✅ Что сделано хорошо