chore(bots): тугие /loop каденции под подписку (убрать cost-backoff) #706

Merged
lekss361 merged 1 commit from chore/loop-cadence-subscription into main 2026-05-30 08:43:21 +00:00
Collaborator

Проблема

Idle-backoff в /loop был спроектирован ради экономии API-стоимости («Opus expensive → 5m, рост до 30-60m»). У нас подписка, а не API → idle-поллинг не тарифицируется, и backoff лишь тормозил хэндофы (analyst→backend→reviewer→qa) до 30-60m. Пайплайн медленный на ровном месте.

Фикс — тугие фиксированные интервалы, без backoff

Окно Было Стало
reviewer /loop 5m + backoff→30m /loop 2m (bottleneck)
qa /loop 10m, idle→20m /loop 5m
backend/frontend idle sleep 20m ≤5m (dynamic, без backoff)
analyst /loop 30m, idle→60m /loop 15m (сканер, не latency-критичен)
_autonomous_pickup self-throttle min(current*1.5, 60m) тугие интервалы роли, 24h-эскалация сохранена

Почему так

  • Idle-тик = дешёвый poll; реальный usage тратится только на работе (review/impl). Тугой луп на подписке ≈ near-real-time и не стоит лишних денег.
  • Реальный потолок — usage-лимиты подписки (Max 5h/weekly), НЕ деньги-за-тик. Упёрся → удлинить латентные окна или pause-bots. Задокументировано в _autonomous_pickup.
  • Event-driven (channels/Actions) на подписке хрупок/недоступен (разбирали) → правильный фикс латентности = снять cost-backoff, которого тут быть не должно.

Эффект: PR подхватывается за ~1-2 мин вместо до-30m; issue→done схлопывается с часов в минуты.

Test plan

  • reviewer-окно: idle-тики ~2m, PR с status/review берётся в течение ~2 мин
  • полный прогон issue→PR→review→qa: суммарное ожидание-на-хэндофах в минутах, не часах
  • при usage-cap — окна деградируют управляемо (можно pause-bots)

Только .claude/ промты — без deploy.

## Проблема Idle-backoff в `/loop` был спроектирован ради экономии **API-стоимости** («Opus expensive → 5m, рост до 30-60m»). У нас **подписка**, а не API → idle-поллинг не тарифицируется, и backoff лишь **тормозил хэндофы** (analyst→backend→reviewer→qa) до 30-60m. Пайплайн медленный на ровном месте. ## Фикс — тугие фиксированные интервалы, без backoff | Окно | Было | Стало | |---|---|---| | reviewer | `/loop 5m` + backoff→30m | **`/loop 2m`** (bottleneck) | | qa | `/loop 10m`, idle→20m | **`/loop 5m`** | | backend/frontend | idle sleep 20m | **≤5m** (dynamic, без backoff) | | analyst | `/loop 30m`, idle→60m | **`/loop 15m`** (сканер, не latency-критичен) | | `_autonomous_pickup` self-throttle | `min(current*1.5, 60m)` | тугие интервалы роли, 24h-эскалация сохранена | ## Почему так - Idle-тик = дешёвый poll; реальный usage тратится только на работе (review/impl). Тугой луп на подписке ≈ near-real-time и не стоит лишних денег. - **Реальный потолок — usage-лимиты подписки** (Max 5h/weekly), НЕ деньги-за-тик. Упёрся → удлинить латентные окна или `pause-bots`. Задокументировано в `_autonomous_pickup`. - Event-driven (channels/Actions) на подписке хрупок/недоступен (разбирали) → правильный фикс латентности = снять cost-backoff, которого тут быть не должно. **Эффект:** PR подхватывается за ~1-2 мин вместо до-30m; issue→done схлопывается с часов в минуты. ## Test plan - [ ] reviewer-окно: idle-тики ~2m, PR с `status/review` берётся в течение ~2 мин - [ ] полный прогон issue→PR→review→qa: суммарное ожидание-на-хэндофах в минутах, не часах - [ ] при usage-cap — окна деградируют управляемо (можно pause-bots) _Только `.claude/` промты — без deploy._
bot-backend added 1 commit 2026-05-30 08:42:54 +00:00
Проблема: 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 схлопывается
с часов ожидания до минут.
lekss361 merged commit 690d423c5a into main 2026-05-30 08:43:21 +00:00
lekss361 deleted branch chore/loop-cadence-subscription 2026-05-30 08:43:21 +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#706
No description provided.