chore(rules): drop blocked-scope list from git-pr.md #506

Merged
lekss361 merged 2 commits from chore/git-pr-rules-any-scope-v2 into main 2026-05-24 11:26:10 +00:00

View file

@ -78,29 +78,18 @@ Closes #N
2. `state == merged` → stop polling
3. Новый review/comment: `mcp__forgejo__list_pr_reviews` / `list_issue_comments`. Парсь marker `<!-- gendesign-review-bot: sha=<sha7> verdict=<approve|changes> -->`
- **SHA guard**: `marker.sha7 == head.sha[:7]` — иначе устаревший approval до fixup-push, игнорируй
- **Scope guard** (см. ниже): если blocked paths → ping user, не auto-merge
- `verdict=approve` + SHA match + scope OK → `mcp__forgejo__merge_pull_request` (squash + delete branch)
- `verdict=approve` + SHA match → `mcp__forgejo__merge_pull_request` (squash + delete branch)
- `verdict=changes` → fixup commits + push в `forgejo feat/<scope>` + re-poll
4. Нет новых comments → re-schedule 60s
5. **Cap**: 30 iter без resolution → stop, ping user. Blocked-scope cap = 5.
5. **Cap**: 30 iter без resolution → stop, ping user.
## Auto-merge scope
## Auto-merge policy
**✅ Разрешено** (PR diff целиком в этих путях — bot merge без human):
- `CLAUDE.md`, `README.md`, `docs/**`
- `frontend/src/app/**` UI-only без новых endpoints
- `frontend/public/**`
- `.claude/agents/**`, `.claude/rules/**`, `memory/feedback_*.md`
**Любой scope** — bot мержит при `verdict=approve` + SHA match. Blocked-list снят 2026-05-16 ([Auto-merge any scope] memory rule).
**❌ Блокировано** (любой файл из списка → human approval):
- `data/sql/**`, `backend/alembic/versions/**`
- `backend/app/api/v1/**`, `backend/app/services/**`, `backend/app/scrapers/**`
- `docker-compose*.yml`, `Caddyfile`, `.github/workflows/**`
- Любой файл с упоминанием secret / token / password / credential
- PR меняет `Critical workflow rules` или `Auto-merge scope` в CLAUDE.md
- PR меняет `Auto-merge scope` / blocked-list в любом `.claude/rules/*.md` (self-extending rules → нужен human)
Touches both → more restrictive (block).
**Жёсткие исключения** (даже при APPROVE — НЕ merge, ping user):
- Diff содержит литеральный secret/token/password/credential (40-char hex, API keys, JWT, и т.д.) — security tripwire
- PR меняет блок `## Auto-merge policy` в этом файле или `Critical workflow rules` в CLAUDE.md (self-extending guard, decided 2026-05-24 — изменение правил всегда через human, предотвращает bot-loop где bot сам расширяет свои merge права)
## Sequential PRs