# 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 ```