# Spec 037 — Tasks (construção) **Status:** 🏗️ Fases A–D fechadas · ver [implementation-phases.md](./implementation-phases.md) --- ## Fase A — VM112 núcleo - [x] Multi-conta resolve + BYO + provision-zone - [x] `project_identity.py` monorepo + VM112 - [x] `POST /project/provision-email` VM112 ✅ smoke `proj_001@` - [x] `GET /project/{domain}` VM112 - [x] UI painel credenciais `proj_*` - [x] Webhook `ligbox_project_email` (apply + account + project) - [ ] Tokens ligit + itecnologys (Roger) - [ ] E2E smoke completo wizard público ## Fase B — Worker orquestrador - [x] `projects/cloudflare-agents/onboard/` wrangler + DO scaffold - [x] `OnboardMaestro` estado sessão - [x] HTTP client VM112 - [x] Deploy Worker — https://ligbox-onboard-agents.ibytera.workers.dev - [x] Worker → VM112 proj-mail E2E OK - [ ] Rota `agents.ligbox.com.br` (opcional) - [ ] Wizard UI teste manual telas (Roger) - [ ] Feature flag wizard `use_edge_orchestrator` ## Fase C — Multi-agent edge - [x] DO stubs `ProjMailAgent`, `CfZoneAgent`, `CfHandoffAgent` - [x] Maestro delegação REST (`/run/proj-mail`, `/run/cf-zone`) - [ ] WebSocket wizard ↔ edge - [ ] Inbox Spec 029 handoff ack ## Fase D — Conta CF dedicada - [ ] Tenant CF Ligbox confirmado - [x] `provision-client-account` (fallback zona partilhada) - [x] `handoff-manager` (stub registo) - [x] `cf_client_accounts/` registry ## Backlog - [ ] Registradores EPP (Fase E) - [ ] Routing conta por marca (ligit/itecnologys) ## DNS Viewer (dns-viewer.md) - [x] V0 Desk CF only — `cloudflare_dns.py` + Overview modal - [x] Spec rollback + scripts deploy (`deploy/DNS-VIEWER-*.md`, `deploy/scripts/*`) - [x] V1 `GET /api/v1/dns/viewer/{domain}` — CF + public + planned (deploy VM122 2026-06-25) - [x] V1b Desk UI unificada (`dns-viewer.js` + Overview/IaaS modal) - [x] V2 OpenPanel BIND records (`openpanel_dns.py`) — VM122 2026-06-25 - [x] V3 Console `/admin/dominio` consume viewer API — VM123 2026-06-25 - [ ] V4 Wizard painel lateral — patches em `deploy/vm112-wizard/*-v4.patch.py` · deploy VM112 pendente - [ ] RBAC `dns.viewer.read` formalizar Spec 027