# Execution — Agent Teams Paralelos no TUI

## Rastreabilidade

- Slug: `tui-team-agents-execution-review`
- Origem: `docs/tui-team-agents-execution-review/04-tasks.md`
- Tech Spec: `docs/tui-team-agents-execution-review/03-techspec.md`
- Etapa executada: `execution`
- Código impactado: `src/tui/parallel.rs`, `src/tui/runner.rs`, `src/tui/app.rs`, `src/tui/mod.rs`, `src/tui/ui.rs`

## Tarefa

Implementar o plano completo de execução e review paralelos por Agent Teams no TUI, preservando o caminho single-agent existente e usando `std::thread` + `std::sync::mpsc`, sem adicionar dependências externas.

## Resumo da implementação

- T-01 a T-03: criado o módulo `src/tui/parallel.rs` com `AgentSlotStatus`, `AgentHandle`, `TaskRef`, `SlotResult`, `supports_parallel`, parser de backlog, tabela de rastreabilidade e composição determinística de artefatos.
- T-04: `spawn_parallel_agent` agora gera fragmentos por task, com caminho Codex para fragmento direto e fallback determinístico com probe `--dry-run`, evitando disputa pelo artefato final.
- T-05 e T-08: `App` recebeu `parallel`, `parallel_stage`, telas `ParallelRunning`/`ParallelDecision`, retry de slots falhos, aceite parcial e cancelamento.
- T-06: o event loop drena múltiplos receivers por frame, trata `Disconnected` como erro isolado e resolve a barreira sem bloquear a UI.
- T-07: a UI renderiza painel de AgentSlots com status individual, contador global, erros isolados e opções de decisão.
- T-09: adicionados testes de parser/composição, runner paralelo, reducer, drenagem de eventos e renderização das telas novas.

## Arquivos alterados

- `src/tui/parallel.rs`: novo módulo de tipos, parser, composição e testes puros.
- `src/tui/runner.rs`: geração de fragmentos paralelos, prompts de AgentSlot, probe determinístico e testes de sucesso/falha.
- `src/tui/app.rs`: estado paralelo, reducers, barreira, retry, aceite parcial e persistência do artefato consolidado.
- `src/tui/mod.rs`: drenagem não bloqueante de N receivers e telemetria paralela.
- `src/tui/ui.rs`: telas `ParallelRunning` e `ParallelDecision`, contador global e renderização de slots.
- `docs/tui-team-agents-execution-review/04-tasks.md`: status das tasks marcado como `Done`.

## Testes e evidências

- `rtk cargo fmt --check`: passou.
- `rtk cargo test`: 156 testes passaram.
- `rtk cargo clippy -- -D warnings`: passou.
- `rtk cargo build --release`: passou.
- `rtk git diff --check`: passou.
- `rtk cargo run -- validate-artifact tasks docs/tui-team-agents-execution-review/04-tasks.md`: passou.
- `rtk cargo run -- validate-artifact execution docs/tui-team-agents-execution-review/06-execution.md`: passou.

## Riscos e pendências

- O MVP não adiciona throttle/rate limit; segue o risco aceito na Tech Spec.
- A seleção de tasks paralelas usa a marcação de independência do backlog e ausência de dependência declarada; agendamento em múltiplos lotes por grafo completo fica fora deste slice.
- Nenhuma biblioteca externa de agent coding foi adicionada; o stack atual (`mpsc` + runner existente) foi suficiente para o escopo.
- `rtk cargo run -- ci` falha no baseline do checkout porque `sdd doctor` exige assets em `.sdd/` que não estão instalados neste repositório-fonte; a falha foi reproduzida também em `rtk cargo run -- doctor`.
