docs(claude): formalize Auto-review passed as approval signal #85

Merged
lekss361 merged 2 commits from chore/auto-review-approval-rule into main 2026-05-11 21:43:26 +00:00
Showing only changes of commit e66e1ea981 - Show all commits

View file

@ -222,9 +222,21 @@ User approves / requests changes
2. **Worker-agents (backend/frontend/devops/database) НЕ делают `git commit` сами.** Они оставляют изменения staged — main session коммитит на feature branch.
3. **Никогда не используй `--no-verify` / `--no-edit` / `--amend`** — pre-commit hooks обязательны. Если hook падает — fix root cause, не bypass.
4. **Никогда не пуш с `--force` ни в main ни в feature branch без approval.**
5. **Не merge PR без явного "merge it" / "ok merge" / "approved" от пользователя.**
5. **Merge PR только по approval.** Approval сигналы:
- Human user: "merge it" / "ok merge" / "approved" / "залей" / "мердж"
- **Auto-review bot: comment с "Auto-review passed" или "LGTM"** — это тоже approval (полinging-detected)
6. **Не вызывай destructive команды без явного approval**: `git reset --hard`, `git clean -fdx`, `DROP TABLE`, `TRUNCATE`, `rm -rf` за пределами `node_modules/.next`.
### Polling loop для PR
После создания PR / fixup commits — запускай ScheduleWakeup с 60с интервалом:
1. `gh pr view <N> --json state,mergeable,comments` → проверь latest_comment
2. `state == MERGED` → stop polling
3. Новый comment от auto-review с "Auto-review passed" / "LGTM" → `gh pr merge <N> --squash --delete-branch`, stop
4. Новый comment с review feedback (changes requested) → fixup commits на той же ветке, push, reply, re-poll
5. Нет новых комментов → re-schedule 60с poll
6. Cap: 30 итераций без resolution → stop, ask user
### Когда auto-mode
Даже в auto-mode НЕ пушим в main без PR. Auto-mode позволяет: