# Modo Pos-Construcao: Iteracao Cirurgica

**Trigger:** "edita / adiciona / remove / ramifica X em [slug]"
**Premissa:** NUNCA regenera fluxo inteiro. Edita SO o pedaco mencionado.

## Comandos suportados

```
/imperatriz-bot editar [slug] "muda o tom pra mais serio"
/imperatriz-bot adicionar [slug] "pergunta sobre orcamento depois do nome"
/imperatriz-bot remover [slug] "tira o bloco de garantia"
/imperatriz-bot ramificar [slug] "se iniciante, vai pra outro caminho"
/imperatriz-bot atualizar-tom [slug] "tom da [perfil-nicho]"
/imperatriz-bot trocar-arquetipo [slug] "de vendedora pra qualificador"
```

## Fluxo de iteracao

### 1. Identifica escopo da edicao
- "muda o tom" → todos os blocos `text` (passa por voz-humana-br novamente)
- "adiciona pergunta" → insere bloco no slot correto, ajusta arestas vizinhas
- "remove bloco X" → remove + reconecta vizinhos
- "ramifica em condicao" → cria `condition` block + redirecionamento

### 2. Mostra preview ANTES de aplicar
```
Edicao proposta:
- Adicionar input_text apos b005 com prompt "Qual seu orcamento?"
- Reconectar b005.next: b006 → b020 (novo)
- b020 var: orcamento, next: b006
- Re-roda validadores nos blocos afetados

Aplicar? [s/n]
```

### 3. Aplica + valida
- Aplica edicao no flow.json
- Roda 11 validadores SO nos blocos afetados (nao fluxo todo)
- Se algum falhar, regenera bloco

### 4. Versionamento
- Salva versao anterior em `flow_versions` table
- Incrementa `flow.meta.version`
- Loga em `docs-pacote/07-auditoria-checklist.md`

### 5. Atualiza docs-pacote
Atualiza arquivos afetados:
- `01-fluxo-visual.md` (mapa mental)
- `05-textos-todos-blocos.md` (textos novos)
- `02-banco-respostas-ai.md` (se AI block mexido)

## Tipos de edicao detalhados

### A) Mudanca de tom
```
input: "muda o tom pra mais serio"
acao:
  1. Le todos blocos text + prompt
  2. Roda /voz-humana-br --modo=alterar --tom=serio em cada
  3. Substitui no flow.json
  4. Re-roda validador coerencia-voz-marca
  5. Atualiza 09-voz-da-marca.md
```

### B) Adicionar bloco
```
input: "adiciona pergunta sobre orcamento depois de nome"
acao:
  1. Identifica bloco "nome" (input_text com var=nome)
  2. Cria novo bloco choice/input_text
  3. Insere entre nome.next e bloco_seguinte
  4. Atualiza nome.next pra novo bloco
  5. Novo bloco.next aponta pra antigo nome.next
  6. Roda validadores de pergunta-gancho + ritmo + tamanho
```

### C) Remover bloco
```
input: "tira bloco de garantia"
acao:
  1. Identifica bloco com conteudo de garantia
  2. Verifica se ele tem 1 next (simples) ou condition (complexo)
  3. Se simples: reconecta predecessores -> next dele
  4. Se condition: pergunta usuaria como reconectar
  5. Remove bloco do flow.blocks
  6. Roda validador estrutural
```

### D) Ramificar
```
input: "se iniciante, vai pra outro caminho"
acao:
  1. Identifica variavel relevante (nivel/perfil/tipo)
  2. Insere condition block apos coleta da var
  3. Cria nova ramificacao
  4. Pede usuaria copy pra nova ramificacao OU gera com IA
  5. Roda validadores caminhos-balanceados
```

### E) Trocar arquetipo
```
input: "muda de vendedora pra qualificador"
acao:
  1. Avisa: "Isso e mudanca grande. Vai afetar ~70% dos blocos.
     Tem certeza? [s/n]"
  2. Se sim:
     - Carrega archetypes/qualificador.md
     - Mantem variaveis ja coletadas (nome, email)
     - Regenera estagios diferentes
     - Roda 11 validadores
     - Versiona como flow_version v2 (mantem v1 antiga)
```

## Anti-patterns

- Refazer fluxo todo a cada edicao — perde versionamento + trabalho
- Editar sem mostrar preview — usuaria nao sabe o que mudou
- Pular validadores nos blocos editados — pode quebrar coerencia
- Nao versionar — perde possibilidade de rollback
- Edicao "muda tudo" sem confirmacao explicita

## Output esperado

```
✅ Edicao aplicada em [slug] v2
- Bloco b020 inserido (input_text "Qual seu orcamento?")
- 2 arestas reconectadas
- 11 validadores: 11 ✅, 0 erros, 1 warning (proporcao 70-30 caiu pra 68%)
- flow_versions: v1 (anterior) + v2 (atual)
- Docs-pacote atualizados: 01, 05

Rollback: /imperatriz-bot rollback {slug}
```
