---
name: kairos:implementar
description: >
  Implementa código baseado nas especificações existentes com Ciclo Ralph
  (auto-correção até 3 tentativas). Use quando o usuário disser "kairos
  implementar", "implementar spec", "codar baseado na spec", "aplicar
  especificação".
user-invocable: true
disable-model-invocation: true
---

# KairOS — Implementar (Ciclo Ralph)

Implementa código funcional baseado nas specs em `kairos/specs/`.

## Pré-Implementação

1. Registre spec ativa: `echo "$ARGUMENTS" > .kairos/state/.active-spec`
2. Leia APENAS os arquivos listados no escopo da spec
3. Carregue as assertions e guardrails aplicáveis
4. Verifique que dependências (specs anteriores) foram implementadas
5. Consulte `.kairos/aprendizado/padroes.yaml` para padrões relevantes

## Comportamento

1. Liste specs ativas que possuem `design.md` e `tarefas.md` preenchidos
2. Se especificado nome, implemente aquela spec. Se não, pergunte qual.
3. Leia `tarefas.md` e execute cada tarefa sequencialmente
4. Para cada tarefa, gere código que atende aos `requisitos.md`, `regras-negocio.md` e `guardrails.md`
5. Ao concluir cada tarefa, marque como concluída no `tarefas.md` com ✓
6. Se houver squad de dev ativo (`.kairos/squads/dev.yaml`), assuma os papéis dos agentes

## Implementação

- Siga EXATAMENTE o que a spec pede — nem mais, nem menos
- Use APENAS componentes e padrões listados na spec
- NUNCA crie/modifique arquivos fora do escopo listado
- Respeite os guardrails do domínio (`.kairos/dominio/*/guardrails.yaml`)

## Pós-Implementação — Ciclo Ralph

```
tentativa = 1
MAX_TENTATIVAS = 3

ciclo:
  Validar assertions da spec → resultado
  
  se TODAS assertions PASSAM:
    Gerar relatório de sucesso
    Limpar .kairos/state/.active-spec
    SAIR SUCESSO
  
  se QUALQUER assertion critical FALHA:
    se tentativa < MAX_TENTATIVAS:
      tentativa++
      Analisar causa da falha
      Corrigir implementação
      IR PARA ciclo
    senão:
      Gerar relatório de falha
      SAIR FALHA — requer intervenção humana
```

### Advisor no Ciclo Ralph

Quando o advisor estiver habilitado (`.kairos/config.yaml` → `advisor.habilitado: true`, `advisor.modo: api`):

- **Tentativa 1**: O executor (Sonnet) tenta corrigir sozinho — SEM consultar o advisor
- **Tentativa 2**: Se falhar, consulte o advisor com:
  - O código do arquivo com erro
  - A assertion CRITICAL que falhou
  - A mensagem de erro
  - Os guardrails aplicáveis
- **Tentativa 3**: Se ainda falhar, consulte o advisor com histórico completo:
  - Tentativas anteriores e seus resultados
  - O que já foi tentado e não funcionou
  - Peça recomendação de approach alternativo

Se o advisor emitir um sinal de STOP (indica que o approach não resolve e precisa de redesign), interrompa o loop e mova a task para `.kairos/tasks/validacao/` com flag `advisor_stop: true`.

Configuração de override: `advisor.operacoes.ralph-loop` no config.yaml.

## Relatório

```
══════════════════════════════════════════
  KairOS Implementar — Spec {NNN}
══════════════════════════════════════════

  Status: ✅ COMPLETA / ❌ FALHOU (após {N} tentativas)
  Tentativas Ralph: {N}/{MAX}
  Arquivos criados:     {lista}
  Arquivos modificados: {lista}
  Assertions: {passed}✅ {failed}❌
  Tarefas concluídas: {N}/{total}

══════════════════════════════════════════
```

## Ao Finalizar

Exiba resumo e sugira `/kairos:validar` como próximo passo.

**A pedra nunca para de rolar.** Se uma assertion falha, corrija e retente. Só desista após 3 tentativas.

## Idioma

TODAS as mensagens em Português do Brasil.
