Raise agent pool hard max slots from 8 to 12.

Default remains 5; parsePoolConfig now clamps POOL_MAX_SLOTS up to 12.
This commit is contained in:
Francisco Ignácio Fontoura Solla 2026-08-02 13:30:36 -03:00
parent 8741eb5151
commit 186950168b
4 changed files with 10 additions and 7 deletions

View file

@ -11,7 +11,7 @@ description: >-
# Agent pool — operação do supervisor remoto
O pool mantém até **5 Cursor Cloud Agents** (configurável, máx 8) rodando `work-issue` sobre Issues `ready` elegíveis para autonomia. O supervisor é **determinístico** (não é um agente): workflow **`.github/workflows/agent-pool.yml`** (tick stateless a cada 10 min + a cada merge em `main` + sob dispatch) rodando `scripts/agent-pool.mjs`. Arquitetura e elegibilidade: `docs/plans/agent-pool-orchestrator.md`.
O pool mantém até **5 Cursor Cloud Agents** (configurável, máx 12) rodando `work-issue` sobre Issues `ready` elegíveis para autonomia. O supervisor é **determinístico** (não é um agente): workflow **`.github/workflows/agent-pool.yml`** (tick stateless a cada 10 min + a cada merge em `main` + sob dispatch) rodando `scripts/agent-pool.mjs`. Arquitetura e elegibilidade: `docs/plans/agent-pool-orchestrator.md`.
**O pool NUNCA deploya** — deploy gated fica em `ci.yml` após merge em `main`.
@ -112,4 +112,4 @@ Os wrappers disparam `gh workflow run agent-pool.yml -f action=…`; acompanhe c
## Se algo quebrar
- `tick` vermelho no Actions: ler o log do job — gh sem `actions:write` (permissões do workflow), `CURSOR_API_KEY` ausente/errada, ou API da Cursor fora. O tick seguinte re-tenta; nada fica em estado intermediário perigoso (claim revertido em falha de spawn).
- "You’ve reached the limit" no spawn: arquivar agents antigos em cursor.com/agents (cap do plano: 8 simultâneos no Pro; o pool usa ≤5 para deixar margem a humanos).
- "You’ve reached the limit" no spawn: arquivar agents antigos em cursor.com/agents (cap do plano Cursor; o pool hard-clamp é 12 e o default é 5 — margem a humanos e a outros agents).

View file

@ -4,6 +4,8 @@ Conteúdo movido do `AGENTS.md` em 2026-07-30 (fatiamento do paradigma de agente
---
**Recently resolved (2026-08-02):** **Agent pool hard max → 12** — `POOL_HARD_MAX_SLOTS` de 8 → 12 (`scripts/lib/agent-pool-state.mjs`); default continua 5. Skill `agent-pool` alinhada.
**Recently resolved (2026-08-01):** **B102** (Issue #129) — crash na busca do bottom drawer (focus/digitação): `TooltipProvider` do layout `(app)` envolvia só `{children}` e o drawer (irmão do scrollport) renderizava hits `priority:alta` via `CampaignHoverTooltip` sem provider. Fix: provider envolve `CampaignAppScrollChrome`; pins unit focus→suggest e type→search. Plano: [`crash-busca-bottom-drawer.md`](docs/plans/crash-busca-bottom-drawer.md).
**Recently resolved (2026-08-01):** **Pool pin `fast=false`** — `resolvePoolModel` agora envia `fast=false` em todo spawn cuja família Cloud anuncia o param (`composer-2.5`, `grok-4.5`, …). Antes o supervisor pedia só `{ id: "composer-2.5" }`; a API Create-Agent resolve o default da variante (`fast=true`) e o usage dashboard mostrava `composer-2.5-fast` em todos os workers do pool. Skills `model-selection` / `agent-pool` + plano do orquestrador atualizados.

View file

@ -474,10 +474,11 @@ EXPIRED`, com `git.branches[].prUrl`. SSE stream existe mas não é necessária
Webhooks v1: "coming soon" — o trigger `pull_request` closed do GHA cobre o evento de merge.
3. **Validação de modelos:** `GET /v1/models` retorna ids, aliases e `params` aceitos
(ex.: `composer-2` + `fast`). O mapeamento repo→API é codificado na Fase 0/2.
4. **Limites de concorrência:** plano Pro = **8 agentes simultâneos** (staff Cursor, forum
4. **Limites de concorrência:** plano Pro historicamente = **8 agentes simultâneos** (staff Cursor, forum
2026-04-16); múltiplos agentes no mesmo repo são permitidos; bug de agentes fantasma no
contador corrigido em 2026-06-17 — remediação: arquivar em cursor.com/agents (o tick já
arquiva terminais). Cap 5 deixa 3 slots para humanos.
arquiva terminais). Soft default do pool = 5; hard clamp `POOL_HARD_MAX_SLOTS` = **12**
(2026-08-02) — spawn falha fechado se o plano Cursor estiver abaixo.
Fonte: <https://forum.cursor.com/t/clarification-on-cloud-agent-limits-simultaneous-agents-vs-environments-repos/157584>.
5. **Branches por worker:** o agente Cloud trabalha em branch própria gerada a partir de
`startingRef` (`workOnCurrentBranch: false`, default) — exatamente o modelo `agent/<id>-<slug>`

View file

@ -18,9 +18,9 @@ export const POOL_VARIABLE_NAMES = {
}
export const POOL_DEFAULT_MAX_SLOTS = 5
// Cursor Pro allows 8 concurrent cloud agents (plan §14); the pool leaves the
// remaining slots for human sessions.
export const POOL_HARD_MAX_SLOTS = 8
// Operator ceiling for POOL_MAX_SLOTS (parsePoolConfig clamps into 1..this).
// Cursor plan concurrency can be lower — spawn fails closed with the API limit.
export const POOL_HARD_MAX_SLOTS = 12
/**
* @param {Record<string, string | undefined>} [vars] raw `gh api` variable map