docs(claude): formalize "Auto-review passed" as approval signal + polling loop
Per user feedback after PR #84 merge: - Critical rule 5: "Auto-review passed" / "LGTM" от auto-review bot = approval (наряду с явным "merge it" / "approved" от human user) - Add "Polling loop для PR" section: 60s ScheduleWakeup pattern, decisive states (merged / approved / changes / no-news), cap 30 iters This formalizes what main session already did: after fixup commit, poll comments, detect auto-review verdict, and auto-merge if passed.
This commit is contained in:
parent
aadf47709b
commit
e66e1ea981
1 changed files with 13 additions and 1 deletions
14
CLAUDE.md
14
CLAUDE.md
|
|
@ -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 позволяет:
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue