# Spec 037 — Plano de implementação (4 fases FECHADAS)

**Roger · 2026-06-22** · Status: 🏗️ **CONSTRUÇÃO ACTIVA** (Fase A deploy VM112 ✅)

Todas as fases estão **definidas e fechadas** para execução. Ordem de construção obrigatória: **A → B → C → D**.

---

## Fase A — VM112 núcleo (FastAPI + wizard)

**Objectivo:** Multi-conta CF, BYO, `proj_*@ligbox.com.br`, provision-zone, apply.

| Entrega | Path / endpoint |
|---------|-----------------|
| Registry 3 contas | `dns-accounts.yaml` + `dns_account_registry.py` |
| Resolve / BYO | `GET /dns/resolve`, `POST /dns/cloudflare/connect-custom` |
| Zona cliente | `POST /dns/cloudflare/provision-zone` |
| Identidade projeto | `POST /project/provision-email`, `GET /project/{domain}` |
| UI wizard | 3 caminhos DNS + painel credenciais `proj_*` |
| Webhook 004 | `ligbox_project_email` em eventos |

**Critério done:** onboarding completo em VM112 sem Worker edge.

---

## Fase B — Worker orquestrador (1 Durable Object)

**Objectivo:** `onboard-maestro` DO por sessão; delega VM112 via HTTP; WebSocket wizard.

| Entrega | Path |
|---------|------|
| Worker | `projects/cloudflare-agents/onboard/` |
| DO | `OnboardMaestro` — estado sessão |
| Routes | `POST /session`, `WS /session/{id}` |
| Client | `vm112_client.ts` → API onboarding |

**Critério done:** wizard pode usar edge OU VM112 directo (feature flag).

---

## Fase C — Multi-agent edge (4 agentes)

**Objectivo:** Especialização + human-in-the-loop + MCP.

| Agente DO | Tools |
|-----------|-------|
| `proj-mail` | provision-email |
| `cf-zone` | provision-zone, apply, verify |
| `cf-handoff` | handoff-manager (stub → Fase D) |
| `onboard-maestro` | coordena + pausa humana |

**Critério done:** 4 passos críticos com pause/resume; eventos VM122 Spec 029.

---

## Fase D — Conta CF dedicada por cliente

**Objectivo:** `POST /accounts` Tenant + handoff gestor.

| Entrega | Endpoint VM112 |
|---------|----------------|
| Conta CF cliente | `POST /dns/cloudflare/provision-client-account` |
| Handoff | `POST /dns/cloudflare/handoff-manager` |
| Registo | `/var/lib/ligbox-wizard/cf_client_accounts/` |

**Pré-requisito:** Tenant Cloudflare Ligbox activo.

**Critério done:** zona na conta **do cliente**, não na mãe ibytera.

---

## Anexos (referência fechada)

| Doc | Conteúdo |
|-----|----------|
| [spec.md](./spec.md) | Visão geral |
| [client-cf-account-lifecycle.md](./client-cf-account-lifecycle.md) | Fase D regras |
| [project-email-identity.md](./project-email-identity.md) | Fase A identidade |
| [cf-agents-sdk-architecture.md](./cf-agents-sdk-architecture.md) | Fases B+C |

---

## Construção — sprint actual

```
[A] VM112 endpoints project + wizard UI  ← AGORA
[B] Worker scaffold + wrangler
[C] Agent classes no Worker
[D] provision-client-account stub + handoff stub
```
