bot-backend
25186a78ac
chore(claude): token-diet — worker-агенты на sonnet (opus только deep-code-reviewer), forgejo MCP deferred в main-окне, analyst throttle ready>=10
CI Trade-In / changes (pull_request) Successful in 8s
CI / changes (pull_request) Successful in 8s
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
2026-07-03 18:46:58 +03:00
b29b69343b
chore(claude): sync agent specs with 2026-06-27 policy, fix stale refs
...
- code-reviewer: self-merge policy 2026-06-27 vs ложный BLOCK; origin/gh → forgejo/MCP
- phase-5-verdict: self-extending guard в 'когда НЕ мержить'
- database-expert: prod DDL только через data/sql + deploy, не execute_sql
- auto-*: model-текст и интервалы тиков синхронизированы с фактом
- qa-tester: chrome-devtools → playwright; devops: Forgejo Actions
2026-07-02 17:25:27 +03:00
89509824c2
chore(agents): bump all worker + analyst agents to opus 4.8
...
All worker + analyst project agents → model: opus (Opus 4.8); reviewers already opus. Guard files (_autonomous_pickup, auto-code-reviewer) untouched. Per Anton request.
2026-06-25 06:54:14 +00:00
5fa9588935
chore(agents): bot harness tuning — per-role model, forgejo MCP deferral, vault capture, #893 curl hardening
...
- start-bot.ps1: --model per-role (sonnet; opus только reviewer); CLAUDE_AUTOCOMPACT_PCT_OVERRIDE=60
- .claude/mcp/*.json: forgejo (~90 tools) deferred во всех ролях; postgres-gendesign deferred в backend/reviewer
- auto-analyst.md: knowledge-capture step (status/done → inbox draft → vault-overlord) — закрывает 'волт не обновляется'
- forgejo ops через mcp__forgejo__* вместо сырого curl: auto-code-reviewer/backend/qa workflow + _autonomous_pickup contract
- #893 guard: бан curl→/tmp→python3 (Windows 404+FileNotFoundError); deferred→ToolSearch; stale tool-name cleanup (deep-reviewer phases)
2026-05-31 16:26:17 +03:00
lekss361
627189a3e3
fix(bots): qa-close bug (Closes→Refs) + minor-verdict creates follow-up task
...
Найдено живым тестом (reviewer смержил #710 → linked issue #696 закрылся ДО qa).
1. Closes→Refs: worker PR-body писал `Closes #N` → merge авто-закрывал issue →
qa-pickup (status/qa & state=open) закрытый не видел → smoke не запускался.
FSM: issue закрывает QA на status/done, не merge. Фикс: worker пишет `Refs #N`.
- auto-backend.md PR-template + git-pr.md note.
2. MINOR → follow-up task (по запросу): reviewer на 🟡 MINOR теперь, кроме merge,
заводит ОДИН consolidated follow-up issue для actionable-minor'ов
(scope/X status/ready priority/p3 tech-debt; body = work-prompt + "Follow-up из PR #N").
Косметику (whitespace/naming) не заводит — не флудить очередь.
- auto-code-reviewer.md ACT+severity + work-as-reviewer.md.
- Заведены labels priority/p3 (id63) + tech-debt.
2026-05-30 14:11:05 +03:00
lekss361
261bbc40ec
chore(bots): тугие /loop каденции под подписку (убрать cost-backoff)
...
Проблема: idle-backoff в /loop был ради экономии API-стоимости («Opus expensive →
5m + рост до 30-60m»). На подписке поллинг не тарифицируется → backoff лишь тормозил
хэндофы (ready→wip→review→qa) до 30-60m, пайплайн становился медленным на ровном месте.
Фикс — тугие фиксированные интервалы, без прогрессивного backoff:
- reviewer: /loop 5m+backoff→30m → /loop 2m (bottleneck, latency-критичен)
- qa: /loop 10m, idle→20m → /loop 5m
- backend/frontend: idle sleep 20m → ≤5m (dynamic, без backoff)
- analyst: /loop 30m, idle→60m → /loop 15m (сканер inbox, не latency-критичен)
- _autonomous_pickup self-throttle: убран min(current*1.5, 60m); тугие интервалы роли,
оставлена 24h-эскалация.
Реальный потолок теперь — usage-лимиты подписки (Max 5h/weekly), НЕ деньги-за-тик:
упёрся → удлинить латентные окна или pause-bots. Задокументировано.
Эффект: PR подхватывается за ~1-2 мин вместо до-30m; цепочка issue→done схлопывается
с часов ожидания до минут.
2026-05-30 11:42:28 +03:00
lekss361
edc5823622
chore(bots): per-role launcher scripts + move bot pipeline to forgejo MCP
...
(a) Launcher scripts — больше не экспортировать токен руками:
- scripts/start-bot.ps1 <role> — выставляет per-bot identity + токены (FORGEJO_ACCESS_TOKEN
для forgejo MCP + FORGEJO_TOKEN для curl-fallback), git-identity, forgejo-bot remote,
verify, затем запускает claude.
- scripts/start-{analyst,backend,frontend,reviewer,qa}.ps1 — тонкие врапперы.
(b) Bots on forgejo MCP (goern) вместо curl:
- _autonomous_pickup.md: новая секция «Forgejo операции — mcp__forgejo__* (PRIMARY)» с полным
curl→MCP mapping (list_repo_issues / create_pull_request / merge_pull_request /
get_pull_request_diff / create_pull_review / add+remove_issue_labels / update_issue /
issue_state_change / create_issue_comment). curl_forgejo помечен FALLBACK.
- 5 auto-*.md + 5 work-as-*.md: директива «Forgejo API → mcp__forgejo__* tools (mapping в
_autonomous_pickup); curl только fallback» + указатель на start-bot.ps1.
Gotcha задокументирован: include_org_labels:false на user-репо (lekss361 не org).
Требует: рестарт Claude Code (forgejo MCP eager из .mcp.json) + FORGEJO_ACCESS_TOKEN per-window
(делает start-bot.ps1).
2026-05-30 10:38:10 +03:00
lekss361
f36da624fe
chore(claude): harden autonomous multi-agent prompts (Path B)
...
Fix structural causes of autonomous-window underperformance vs single-window
orchestration — persona prompts were thin pointers that deferred conventions
to unread files and dead-ended every imperfect PR into human review.
- Inline-load conventions: каждый work-тик MANDATORY-читает полный
backend/frontend-engineer.md + rules (был optional pointer, который cost-rule
отучал читать). Cost-saving "не строй контекст" сужен до idle-тиков явно.
- Auto-fix loop: reviewer FIX -> status/needs-fix (assignee остаётся worker),
worker сам подхватывает свой PR и пушит fixup в ту же ветку. blocked+needs-human
зарезервирован под BLOCK (security/data-loss) или 3x fix-fail (+ fix-attempt cap).
QA feature_regression -> needs-fix аналогично. FSM-таблица обновлена.
- Fat issue template: auto-analyst делает mandatory code archeology (Grep/Read)
и пишет Files/сигнатуры/Acceptance/Risk (формат tech-analyst) — issue это
единственный канал к worker'у.
- Model resolution doc: model: frontmatter мёртв в standalone /loop-окне
(модель = модель окна); reviewer-окно запускать в Opus 4.8 осознанно.
- Drift fix: stale-claim cleanup помечен implemented (cron stale-claims.yml в
проде, #610-612); отмечен gap pause-bots vs cleanup.
Новый label status/needs-fix создать в Forgejo до первого запуска auto-fix loop.
2026-05-29 16:38:23 +03:00
lekss361
76784e91fd
fixup(claude): address review-bot findings on PR #608
...
CI / backend (pull_request) Failing after 43s
CI / frontend (pull_request) Successful in 1m35s
🟠 High:
- auto-backend.md: drop execute_sql из tools (DDL/DML blast radius)
- auto-code-reviewer.md: drop execute_sql + add analyze_query_indexes
- _autonomous_pickup.md: env vars FORGEJO_PAT/BASE_URL → FORGEJO_TOKEN/URL (align с rules/git-pr.md)
- auto-code-reviewer.md: добавлен canonical marker template
<!-- gendesign-review-bot: sha=X verdict=Y --> + SHA guard перед merge
- auto-code-reviewer.md: self-extending guard exception (NEVER merge PRs
меняющие git-pr.md auto-merge policy / CLAUDE.md critical rules /
этот файл / содержащие литеральные secrets)
🟡 Medium:
- _autonomous_pickup.md: STRICT claim race check (length==1 AND assignee==me)
+ best-effort rollback при race lost
- _autonomous_pickup.md: pause-bots mid-work policy (finish current, не abort)
- _autonomous_pickup.md: stale-claim cron explicitly marked TODO
- auto-qa-tester.md: differentiate flaky/prod_down/feature_regression — global
pause только при prod_down (3× FAIL на /health endpoint), не на flaky
- auto-backend.md: PR body template из rules/git-pr.md (Summary + Test plan + Closes)
🟢 Low:
- _autonomous_pickup.md: BOT_USERNAME documented в env list
- _autonomous_pickup.md: PAT scope guidance (narrow repo, не user-scope)
- auto-analyst.md: de-dup через forgejo_issue frontmatter preferred (fuzzy
query — fallback)
Refs: PR #608 review by @lekss361 (gendesign-review-bot marker)
2026-05-27 23:11:58 +03:00
lekss361
89303c9769
feat(claude): auto-* agent stubs для autonomous multi-window workflow
...
CI / backend (pull_request) Failing after 48s
CI / frontend (pull_request) Successful in 1m39s
DRAFT-файлы для autonomous /loop окон (5 ролей: analyst/backend/frontend/
code-reviewer/qa-tester). НЕ для invoke через Task tool — только как
--append-system-prompt для standalone Claude Code windows с /loop.
Все файлы помечены status:draft. Не активны до сборки .claude/commands/
work-as-* wrappers + Forgejo labels + bot-PATs (см. runbook
multi_agent_autonomous_workflow.md в vault).
Также fix .gitignore: .claude/ → .claude/* чтобы whitelist'ы
!.claude/agents/** работали (git не allow re-include children of ignored
directory).
Refs: runbooks/multi_agent_autonomous_workflow.md (vault)
2026-05-27 22:57:16 +03:00