# Handoff Protocol — Marketing Squad Extremo

> **Version:** 2.0 | **Constitution:** Artigo VII | **Referenciado em:** orchestrator.md `<commands>` → `*handoff`

## Purpose

Preservar contexto ao trocar de agente ativo, compactando o estado atual em um artifact leve (~300 tokens). Integra com o PASSO 9 (DELIVER) do pipeline quando o @orchestrator transfere controle para um agente especialista para sessão dedicada.

## When This Applies

Este protocolo ativa quando:
1. O usuário invoca um novo agente via `@agent-name` ou `*handoff {agent}`
2. A sessão já tem um agente diferente ativo com contexto de projeto
3. @orchestrator precisa ceder controle temporário a um especialista

## Handoff Artifact Format

### Agente Saindo (outgoing)

```yaml
handoff:
  from_agent: "{agent_id}"
  to_agent: "{new_agent_id}"
  timestamp: "{ISO-8601}"
  pipeline_state:
    last_step_completed: "{PASSO N do pipeline — ex: PASSO 6 EXECUTE}"
    pending_review: "{output aguardando REVIEW, se houver}"
  project_context:
    project: "{project_id}"
    expert: "{expert_name}"
    funnel_type: "{tipo_funil}"
    phase: "{fase_atual}"
    campaign_status: "{status}"
    current_task: "{task em andamento}"
  decisions:
    - "{decisão chave 1}"
    - "{decisão chave 2}"
  deliverables_ready:
    - "{entrega pronta}"
    - "{entrega em andamento}"
  blockers:
    - "{bloqueio ativo, se houver}"
  next_action: "{o que o agente entrante deve fazer}"
  briefing_refs:
    - "{path do briefing principal}"
    - "{path do COMUNICACAO.md}"
    - "{path do Brandbook, se disponível}"
```

### Agente Entrando (incoming)

Recebe:
1. Seu **perfil completo** (persona, commands, dependencies)
2. O **handoff artifact** do agente anterior (~300 tokens)
3. **NÃO** o perfil completo do agente anterior

## Compaction Limits

| Limite | Valor |
|--------|-------|
| Max tamanho do artifact | 500 tokens |
| Max handoffs retidos na sessão | 3 (mais antigo descartado no 4º switch) |
| Max decisões no artifact | 5 |
| Max deliverables listados | 10 |
| Max blockers | 3 |

## What to Preserve (ALWAYS)

- Project ID e expert name
- Tipo de funil e fase atual
- Pipeline state (último PASSO completado)
- Task em andamento
- Decisões estratégicas tomadas
- Entregas prontas ou em andamento
- Bloqueios ativos
- Referência ao briefing, COMUNICACAO.md e Brandbook

## What to Discard (NEVER carry forward)

- Perfil completo do agente anterior
- Lista de commands do agente anterior
- Dependencies do agente anterior
- Regras operacionais internas do agente anterior
- Templates e checklists referenciados internamente

## Token Savings

| Cenário | Sem Handoff | Com Handoff | Economia |
|---------|-------------|-------------|----------|
| 1 switch | ~8K tokens | ~5.3K | 33% |
| 2 switches | ~12K tokens | ~5.6K | 53% |
| 3 switches | ~16K tokens | ~5.9K | 63% |

## Example Flow

```
@orchestrator (estratégia + pipeline passos 1-4) → @copywriter (execução)

Switch:
- @orchestrator handoff: projeto=bizu, funil=PLF, fase=captação,
  pipeline_state="PASSO 4 ROUTE concluído",
  decisão="oferta R$497 com 3 bônus",
  next_action="escrever copy de captação — BRIEFING-COPY pronto em projects/bizu/"
- @copywriter loads: full profile + handoff artifact
- Total: ~5.3K tokens vs ~8K sem handoff
```

---

*Handoff Protocol — Squad Fernanda Landeiro v2.1*
