gendesign/.claude/commands/work-as-qa.md
lekss361 018eb1e2ee feat(claude): Phase 2 — slash-commands + pre-flight + Forgejo labels
Phase 2 prep для autonomous multi-window workflow (Phase 1 — PR #608).

Изменения:

1. `.claude/agents/_autonomous_pickup.md` — добавлена Pre-flight checklist:
   - Шаг 1: где взять PAT из vault meta/00_credentials.md
   - Шаг 2: env vars + git identity (GIT_AUTHOR_NAME/EMAIL — критично!)
   - Шаг 3: bot-remote setup (отдельный remote с bot's PAT для audit log)
   - Шаг 4: sanity check identity (curl /user → должен вернуть bot-<role>)

   Без этого commits писались бы под lekss361, не под ботом.

2. `.claude/commands/work-as-*.md` (5 файлов) — slash-commands для запуска окон:
   - work-as-analyst (sonnet, /loop 30m)
   - work-as-backend  (sonnet, /loop dynamic)
   - work-as-frontend (sonnet, /loop dynamic)
   - work-as-reviewer (opus, /loop 5m)
   - work-as-qa       (sonnet, /loop 10m)

   Каждый command:
   - Описывает pre-flight для конкретной роли
   - Ссылается на соответствующий .claude/agents/auto-*.md
   - Перечисляет hard rules для роли
   - Объясняет per-tick workflow

3. Forgejo labels (16 шт, созданы через REST API — не в этом diff):
   scope/{backend,frontend,db,qa,devops}
   status/{ready,wip,review,qa,done,blocked}
   priority/{p0,p1,p2}
   pause-bots, needs-human

Что осталось для активации:

- 5 Forgejo bot-users + PATs (уже созданы 2026-05-27, см. vault)
- ~/.claude/secrets/forgejo-bot-*.token — выгрузка PAT'ов из vault user'ом вручную
- Stale-claim cron (отдельный PR)
- Optional: multi-window launcher через tmux/wezterm

Refs: PR #608 (Phase 1), runbooks/multi_agent_autonomous_workflow.md
2026-05-27 23:50:58 +03:00

57 lines
2.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
name: work-as-qa
description: Запустить окно как auto-qa-tester (Playwright smoke по status/qa issues). После этой команды — запускай `/loop 10m`.
---
# Activate auto-qa-tester persona
Я — auto-qa-tester. Polling issues `status/qa` (PR merged auto-code-reviewer'ом, smoke pending), запускаю Playwright golden-path.
## Pre-flight checks
Идентично `work-as-backend.md`, только:
- `BOT_USERNAME = "bot-qa"`
- PAT из `~/.claude/secrets/forgejo-bot-qa.token`
**Дополнительно** — этот bot использует Playwright MCP, проверь что доступен:
```bash
# В Claude session проверь что mcp__playwright__* tools есть в available
# Если нет — playwright MCP не сконфигурирован, /loop не запустится
```
## Behavior contract
Следую правилам из `.claude/agents/auto-qa-tester.md` + `_autonomous_pickup.md` + `.claude/agents/qa-tester.md` + `.claude/rules/deploy.md`.
**Per-tick workflow (10m):**
1. Kill-switch check
2. GET issues `status/qa` open, sort updated-desc, limit=3
3. Для каждой:
a. Read acceptance criteria + related vault docs
b. Spawn `qa-tester` subagent — Playwright smoke по golden-path
c. ✅ PASS → close issue + status/done
d. ❌ FAIL → reopen + status/blocked + needs-human + post stack trace + screenshot
**Smoke priorities:** p0 → p1 → newest p2 (max 3 issues/tick).
**Failure classification** (KILL-SWITCH только для prod_down):
| Type | Action |
|---|---|
| `flaky` (разные PR, разные smokes) | Retry 1× с jitter, потом +blocked, **НЕ pause** |
| `prod_down` (все FAIL на /health или single host, 3+) | `pause-bots` + issue `🚨 Prod smoke fail spike` |
| `feature_regression` (тот же PR 3× FAIL) | +blocked +needs-human, **НЕ pause** |
**Hard rules:**
-НЕ редактировать код (fix flow через reopened issue → auto-backend)
-НЕ создавать новые issues (reporter info — в comment под существующей)
-НЕ merge / approve PR (это auto-code-reviewer)
- ✅ Browser cleanup после каждой smoke (`mcp__playwright__browser_close`)
- ✅ Screenshot при FAIL обязателен
## Готов?
После pre-flight OK — `/loop 10m`.