chore(agents): auto-resolver human-proxy persona для needs-human #735

Merged
lekss361 merged 1 commit from feat/auto-resolver-persona into main 2026-05-30 14:42:18 +00:00
Owner

Summary

Новое окно auto-resolver (human-proxy) — снимает блокеры issues с label needs-human, используя capabilities, которых нет у headless-ботов: dev-IP (не зафайрволлен Avito/Cian), сохранённые куки, Playwright, прямой postgres-tradein/postgres-gendesign MCP, SSH gendesign на прод.

Мотивация: большинство needs-human (#726 firewalled scraper-IP, #623 egress-IP, #639 Cian-куки) = capability gap, а не реальное решение человека. Окно на машине пользователя их закрывает; редкие genuine-decision (#647) выносит пользователю через AskUserQuestion.

Что внутри

  • .claude/agents/auto-resolver.md — persona. Full-auto на исполнении (вкл. прод-операции); классификация блокера A capability-gap / B genuine-decision / C upstream-wait / D false. Guardrails: kill-switch, без --force/--no-verify, idempotent shared-DB DDL, секреты не коммитятся.
  • .claude/commands/work-as-resolver.md — skill /work-as-resolver/loop 15m (запуск под аккаунтом пользователя, НЕ bot — иначе те же gaps).
  • .claude/agents/auto-analyst.md + _autonomous_pickup.md (FSM) — лейбл-контракт needs-human: вешать может analyst/worker/qa, снимать только auto-resolver (фикс race на #726/#727, где analyst снимал → backend вешал обратно).

Test plan

  • Открыть окно на машине пользователя → /work-as-resolver → pre-flight verify (токен, playwright/postgres MCP, ssh) → /loop 15m
  • Тик подхватывает open needs-human (#726/#647), классифицирует, действует по контракту
  • needs-human снимается только resolver'ом; analyst его не трогает

⚠️ Human-merge only

Меняет pipeline-rule файлы (_autonomous_pickup.md, work-as-*.md, auto-analyst.md) — по git-pr.md Auto-merge policy это self-extending guard, bot-merge запрещён. Мержит человек.

Refs #726 #623 #639 #647

## Summary Новое окно **auto-resolver** (human-proxy) — снимает блокеры issues с label `needs-human`, используя capabilities, которых нет у headless-ботов: dev-IP (не зафайрволлен Avito/Cian), сохранённые куки, Playwright, прямой `postgres-tradein`/`postgres-gendesign` MCP, SSH `gendesign` на прод. Мотивация: большинство `needs-human` (#726 firewalled scraper-IP, #623 egress-IP, #639 Cian-куки) = **capability gap**, а не реальное решение человека. Окно на машине пользователя их закрывает; редкие genuine-decision (#647) выносит пользователю через `AskUserQuestion`. ## Что внутри - `.claude/agents/auto-resolver.md` — persona. Full-auto на исполнении (вкл. прод-операции); классификация блокера **A** capability-gap / **B** genuine-decision / **C** upstream-wait / **D** false. Guardrails: kill-switch, без `--force`/`--no-verify`, idempotent shared-DB DDL, секреты не коммитятся. - `.claude/commands/work-as-resolver.md` — skill `/work-as-resolver` → `/loop 15m` (запуск под аккаунтом пользователя, НЕ bot — иначе те же gaps). - `.claude/agents/auto-analyst.md` + `_autonomous_pickup.md` (FSM) — **лейбл-контракт `needs-human`**: вешать может analyst/worker/qa, **снимать только auto-resolver** (фикс race на #726/#727, где analyst снимал → backend вешал обратно). ## Test plan - [ ] Открыть окно на машине пользователя → `/work-as-resolver` → pre-flight verify (токен, playwright/postgres MCP, ssh) → `/loop 15m` - [ ] Тик подхватывает open `needs-human` (#726/#647), классифицирует, действует по контракту - [ ] `needs-human` снимается только resolver'ом; analyst его не трогает ## ⚠️ Human-merge only Меняет pipeline-rule файлы (`_autonomous_pickup.md`, `work-as-*.md`, `auto-analyst.md`) — по `git-pr.md` Auto-merge policy это **self-extending guard**, bot-merge запрещён. Мержит человек. Refs #726 #623 #639 #647
lekss361 added 1 commit 2026-05-30 14:41:45 +00:00
Новое окно auto-resolver — снимает блокеры issues с label needs-human,
используя capabilities, которых нет у headless-ботов (dev-IP не зафайрволлен,
сохранённые куки, Playwright, прямой postgres-tradein/gendesign MCP, SSH на прод).

- .claude/agents/auto-resolver.md — persona (full-auto на машине пользователя;
  классификация блокера A/B/C/D; кат B genuine-decision → AskUserQuestion).
- .claude/commands/work-as-resolver.md — skill /work-as-resolver → /loop 15m.
- auto-analyst.md + _autonomous_pickup.md FSM — лейбл-контракт needs-human:
  вешать может analyst/worker/qa, СНИМАТЬ только auto-resolver (anti-race #726/#727).
lekss361 merged commit 14541d4951 into main 2026-05-30 14:42:18 +00:00
lekss361 deleted branch feat/auto-resolver-persona 2026-05-30 14:42:18 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lekss361/gendesign#735
No description provided.