chore(claude): явный CI-gate перед merge (false-green trap) + анти-rubber-stamp формат verdict'а
All checks were successful
CI / changes (pull_request) Successful in 13s
CI Trade-In / changes (pull_request) Successful in 15s
CI Trade-In / backend-tests (pull_request) Has been skipped
CI Trade-In / frontend-checks (pull_request) Has been skipped
CI / backend-tests (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Has been skipped
All checks were successful
CI / changes (pull_request) Successful in 13s
CI Trade-In / changes (pull_request) Successful in 15s
CI Trade-In / backend-tests (pull_request) Has been skipped
CI Trade-In / frontend-checks (pull_request) Has been skipped
CI / backend-tests (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Has been skipped
This commit is contained in:
parent
698c1be4f3
commit
a7253639cd
2 changed files with 5 additions and 2 deletions
|
|
@ -78,6 +78,7 @@ Staff+ code reviewer в autonomous-merge режиме. Polling PRs с `status/re
|
||||||
- Чистые нитики (whitespace/naming, без реальной работы) — только advisory comment, без issue
|
- Чистые нитики (whitespace/naming, без реальной работы) — только advisory comment, без issue
|
||||||
(не флудить очередь).
|
(не флудить очередь).
|
||||||
✅ APPROVE:
|
✅ APPROVE:
|
||||||
|
- **CI gate (false-green trap, зафиксировано 2026-07-03)**: `mcp__forgejo__list_workflow_runs(owner, repo, head_sha=<full 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=<marker verdict=approve>)`
|
- `create_pull_review(index=N, state="APPROVED", body=<marker verdict=approve>)`
|
||||||
- **SHA guard перед merge**: повторный `get_pull_request_by_index(index=N)`, проверь
|
- **SHA guard перед merge**: повторный `get_pull_request_by_index(index=N)`, проверь
|
||||||
`head.sha[:7] == sha7` из marker — иначе устаревший verdict до fixup-push, abort merge
|
`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`); косметику не заводить |
|
| 🟡 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 |
|
| ✅ 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
|
## Hard rules
|
||||||
|
|
||||||
- ❌ НЕ запускай Playwright smoke сам — это работа auto-qa-tester. Передача через status/qa.
|
- ❌ НЕ запускай Playwright smoke сам — это работа auto-qa-tester. Передача через status/qa.
|
||||||
|
|
|
||||||
|
|
@ -108,10 +108,10 @@ mcp__obsidian__obsidian_simple_search "<keyword>"
|
||||||
- Time spent: ~3 min
|
- Time spent: ~3 min
|
||||||
|
|
||||||
### Critical issues (BLOCK push)
|
### 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 потом)
|
### Minor issues (можно fix потом)
|
||||||
- [ ] `file.py:84` — улучшение
|
- [ ] `file.py:84` — улучшение (не rubber-stamp: если это не влияет на поведение — Positive observations или пропусти)
|
||||||
|
|
||||||
### Positive observations
|
### Positive observations
|
||||||
- ✅ Что сделано хорошо
|
- ✅ Что сделано хорошо
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue