Unattended Swarm Execution Plan (OpenAI-only)
Data: 2026-04-19
Escopo: execução por lotes dos P0 TASK-BUD-010, TASK-BUD-020, TASK-BUD-024, TASK-BUD-026, TASK-BUD-029 com baixa interação do operador.
Princípios operacionais
- Um lote por vez (sem paralelismo de P0).
maxCostexplícito em toda colônia.- Sem auto-close de P0.
- Sempre atualizar
.project/tasks.json+ mini-handoff de lote. - Spark-aware: default em cota normal;
gpt-5.3-codex-sparksó com gatilho explícito (planning recoveryouscout burst). - Interim policy (DEC-BUD-042): subagent-first por padrão até estabilizar materialização de colônia (TASK-BUD-107).
Ordem recomendada (com dependências reais)
- Lote A — TASK-BUD-010 (single-writer/reconciler).
- Lote B — TASK-BUD-020 + TASK-BUD-024 (triage + budget semanal por provider).
- Lote C — TASK-BUD-025 (unlock) + TASK-BUD-026 (gate hard + governor global).
- Lote D — TASK-BUD-027 (unlock) + TASK-BUD-029 (routing advisor + RC de governança).
Go / No-Go por lote
GO
git statuslimpo.- provider ativo =
openai-codex. - budget em estado
ok. - task alvo marcada
in-progressno board.
NO-GO
- board inconsistente/JSON inválido.
- budget block/hard gate ativo.
- colônia anterior sem consolidação em docs + board.
Comandos mínimos por lote
- Preflight:
quota-visibility status 30quota-visibility route balancedcolony-pilot preflight- confirmar goal semântico do lote (se houver Spark): incluir trigger explícito e justificativa auditável.
- Execução:
ant_colonycom goal estrito +maxCost(3 a 10 USD conforme lote).
- Pós-run:
- consolidar mini-handoff em
docs/research/ - atualizar notas no
.project/tasks.json
- consolidar mini-handoff em
Loop contínuo sem intervenção do operador (modo estável)
Enquanto a política subagent-first estiver ativa:
- Executar micro-slice (preferência: 1 arquivo + 1 teste).
- Rodar validação focada do slice.
- Atualizar board canônico (
tasks+verification) e commitar. - Repetir até
context_watchem checkpoint/compact. - Em checkpoint: escrever handoff curto e encerrar em idle para compact/resume.
Escalonar para swarm somente quando:
- TASK-BUD-107 concluída com evidência de materialização confiável;
- sequência recente sem candidate-only por falha de delivery evidence;
- gates de budget/preflight/readiness em verde.
Checklist de evidência e rollback
- Evidência mínima:
- arquivos alterados,
- resultado de validação,
- próximos 3 passos.
- Rollback:
- manter commits por lote,
- reversão via
git revertdo lote, - reabrir task no board com motivo explícito.
Retenção pós-falha (failed / budget_exceeded)
- Em terminal state com worktree isolada, o runtime pode remover worktree/branch no cleanup.
- O control-plane deve persistir snapshot reaplicável em:
.pi/colony-retention/runtime-artifacts/<colony-id>.runtime-snapshot.json
- O registro canônico de retenção (
.pi/colony-retention/<colony-id>.json) deve apontar para o camporuntimeSnapshotPath. - Política operacional (snapshot-first):
- default: cleanup imediato da worktree + retenção por snapshot reaplicável;
- exceção:
keep-worktree-on-failureapenas em debug explícito e temporário.
- Fluxo de recuperação mínimo:
colony_pilot_artifactspara localizar o retention record.- Abrir
runtimeSnapshotPathe usarworkspace.branch/worktreeRoot+ tarefas capturadas para promoção manual determinística. - Atualizar
.project/tasks.jsoncom nota de recovery (sem auto-close).
Template determinístico de evidência (delivery-policy friendly)
Use este trecho no resumo final da execução para evitar falso negativo no parser:
Final file inventory:
- packages/pi-stack/extensions/colony-pilot.ts
- packages/pi-stack/test/smoke/colony-pilot-parsers.test.ts
Validation command log:
- `/mnt/c/Users/aretw/scoop/apps/nodejs/current/node.exe node_modules/vitest/vitest.mjs run packages/pi-stack/test/smoke/colony-pilot-parsers.test.ts`
- `/mnt/c/Users/aretw/scoop/apps/nodejs/current/node.exe node_modules/vitest/vitest.mjs run packages/pi-stack/test/smoke/colony-pilot-retention.test.ts`
Regras:
- manter heading explícito
Final file inventory+Validation command log; - cada comando em linha própria (
- <comando>), com caminho real executável; - manter coerência com comandos realmente executados no slice.