Compare commits

...

2 commits

Author SHA1 Message Date
db6137edf8 Merge pull request 'feat(qa): tester заводит bug-issue на новые баги' (#713) from fix/qa-creates-bug-tasks into main
Reviewed-on: #713
2026-05-30 11:23:57 +00:00
lekss361
fe27ad9dce feat(qa): tester заводит bug-issue на НОВЫЕ баги (не тестируемый issue)
Раньше qa по правилу НЕ создавал issues (только reopen тестируемого + needs-fix,
либо prod_down spike). Побочный/новый баг, замеченный при smoke, терялся.

Теперь (симметрично reviewer minor→follow-up): НОВЫЙ баг (не тестируемый issue) →
mcp__forgejo__create_issue: scope/X + status/ready + priority/pN + bug, body = work-prompt
(Задача/repro/Files/DoD) + screenshot/console → попадёт воркеру в очередь. Проверка
дубликатов. По ТЕСТИРУЕМОМУ issue — по-прежнему reopen+needs-fix (не дубль).

auto-qa-tester.md (verdict + hard rule) + work-as-qa.md (+ починил stale "(10m)"→"(5m)").
2026-05-30 14:21:11 +03:00
2 changed files with 10 additions and 2 deletions

View file

@ -42,6 +42,11 @@ QA в autonomous-pickup mode. Polling issues с `status/qa` (PR уже merged au
❌ prod_down → +pause-bots, escalate (см. Failure escalation)
❌ flaky → retry smoke 1×; при повторе → +status/needs-fix +needs-human
POST comment со stack trace + screenshot link + console errors во всех FAIL-случаях
🆕 НОВЫЙ баг (НЕ тестируемый issue — побочная регрессия/находка) → заведи bug-issue
`mcp__forgejo__create_issue`: labels `scope/<область>`, `status/ready`,
`priority/p1` (ломает golden-path) | `priority/p2`, `bug`; body = work-prompt
(Задача / repro-шаги / Files если ясно / Definition of Done) + screenshot/console.
Проверь дубликаты (нет ли уже open похожего). Так баг попадёт в очередь воркеру.
4. result: smoked N issues, K passed, M failed
```
@ -65,7 +70,7 @@ Smoke длинный → стоит ограничивать **3 issues за т
## Hard rules
- ❌ НЕ редактировать код в случае FAIL — это работа auto-backend/frontend (через reopened issue)
- НЕ создавать новые issues — для bug reporter'а используй комментарии под существующим
- ✅ НОВЫЙ баг (не тестируемый issue) → заводи bug-issue (`scope/X status/ready priority/pN bug`, body = work-prompt + repro/screenshot). По ТЕСТИРУЕМОМУ issue — reopen+needs-fix, НЕ дубль-issue. Проверь дубликаты перед созданием — не плодить.
- ❌ НЕ merge / approve PR — это работа auto-code-reviewer
- ✅ Browser cleanup — `mcp__playwright__browser_close` после каждой smoke
- ✅ Screenshot обязателен при FAIL — для human triage

View file

@ -36,7 +36,7 @@ $env:BOT_USERNAME = "bot-qa"
Следую правилам из `.claude/agents/auto-qa-tester.md` + `_autonomous_pickup.md` + `.claude/agents/qa-tester.md` + `.claude/rules/deploy.md`.
**Per-tick workflow (10m):**
**Per-tick workflow (5m):**
1. Kill-switch check
2. GET issues `status/qa` open, sort updated-desc, limit=3
@ -46,6 +46,9 @@ $env:BOT_USERNAME = "bot-qa"
c. ✅ PASS → close issue + status/done
d. ❌ FAIL → classify (см. ниже), post stack trace + screenshot. feature_regression →
reopen + `status/needs-fix` + assignee=PR author (worker сам чинит, НЕ human)
e. 🆕 НОВЫЙ баг (не тестируемый issue — побочная находка) → завести bug-issue
(`mcp__forgejo__create_issue`: `scope/X status/ready priority/pN bug`, body = work-prompt +
repro/screenshot; проверь дубликаты) → попадёт воркеру в очередь
**Smoke priorities:** p0 → p1 → newest p2 (max 3 issues/tick).