M0–M7 completos ✓ · M8 em andamento (5/6 tasks) · M9 planejado
Drag-and-drop reordering de nós siblings no canvas (requer useNodesState + persistência API)
Schema: quantidade de colaboradores em Cargo/NivelOrganizacional (inteiro, para métricas)
Bitrix24 v2 (sync bidirecional): Hub → Bitrix (criar/atualizar departamentos e usuários via REST API write). Depende de m8-1 concluído.
Hub financeiro: cruzamento de dados financeiros com estrutura org — custoMensal por cargo já existe no Hub, trazer dados externos (DGA ERP?) para comparar. Página /financeiro (sidebar já tem seção 'Em breve').
Hub de análise centralizado: dashboard unificado com dados de todas as integrações (Bitrix24 + VUUPT + N8N + DGA). Métricas cross-tool. Depende de m8-1, m8-3, m8-4 concluídos.
Bitrix24 Tasks via MCP: buscar tasks por área/cargo usando MCP tool search_tasks. Cruzar com etapas e atribuições do Hub. MCP já configurado (43 tools disponíveis).
Bitrix24 CRM via MCP: deals e leads por funil. Cruzar pipeline comercial com setores/cargos do Hub. MCP tools: deal_stage_list, deal_category_list.
Bitrix24 Feed/Notificações: Hub publica relatórios e alertas no Feed do Bitrix24 (log.blogpost.add via REST). Ex: mudança de cenário, gap detectado, novo cargo criado.
Bitrix24 Webhooks de saída: receber eventos em tempo real (onboarding colaborador, deal fechado, task atualizada) e refletir no Hub automaticamente. Scope: outbound webhook + endpoint receptor no Hub.
Bitrix24 Chatbot: notificar colaboradores no chat do Bitrix sobre mudanças no Hub (reestruturação, novo cargo, cenário aprovado). Via chatbot API do Bitrix24.
Mapa da Gráfica fase DGA: discovery — mapear Status (Código), ID Setor, validar JOINs Fluxo de Processos + OS Itens Aprovados. Criar builder 'mapa-grafica-snapshot'.
Mapa da Gráfica fase operacional: fila DGA por setor + drill-down por OS (timeline). Auto-refresh com polling. Depende de mapa-dga-1.
Agentes IA: marcar etapas automatizáveis + cadastrar agentes (modelo AgenteIA já no schema)
Kanban com dados reais e dinâmicos (não hardcoded)
Visão 'pizza': dashboard com fatias da empresa (setores, cargos, subsetores por fatia)
T-20b Persistência da conversa no F5 — salvar messages + conversaId no sessionStorage para não perder ao recarregar
Modelo Colaborador completo: nome, email, CPF, dados pessoais (pós-métricas básicas)
Stitch MCP (Google) — geração de designs e wireframes assistida por IA
Hub de análise universal: integrar qualquer fonte de dados externa (além das ferramentas EDG)
Sign in com Vercel (auth nativo quando necessário — pós-MVP)
Marketplace de templates: estruturas org pré-prontas por segmento de mercado
Modo apresentação: tela limpa do organograma + swimlane para exibir em reuniões
Processos com responsáveis externos: terceiros, fornecedores, bancos, clientes e órgãos fora do organograma interno
Redesign cargo-form-modal → painel lateral com 3 abas: Básico / Estrutura & Custo / Atribuições
Períodos paralelos ativos: ativar cenário como 'módulo de período' (eleitoral, agenda, sazonal) que roda ao lado do org principal — sem substituí-lo. Dashboard agrega custo/métricas de todos os períodos ativos + estrutura base simultaneamente.
Fala EDG Fase 3+: histórico pessoal + dashboard no Hub + anexos (foto/áudio) + transcrição Whisper + notificações push/email/WhatsApp + webhooks Bitrix→Hub (após M12 validar automação nativa)
T-27 Discovery técnico Bitrix: testar bizproc.robot.*, sonet_group.*, department.*, OBSERVER_IDS, crm.automation.trigger.* → seção nova em docs/bitrix/capacidade-api.md 'Robots e automação' com 1 exemplo funcional
T-28 🔍 Decisão arquitetural Op X (Hub fonte papéis) vs Op Y (Bitrix grupos) → docs/fala-edg/roteamento-papeis-decisao.md + AD-068 em STATE.md
T-29 Script sync-bitrix-colaboradores.ts (--dry-run/--apply/--only-emails/--create/--report): puxa user.get do Bitrix, matcheia por email/nome, popula bitrixId em massa, relatório MD versionado
T-30 🔍 Seed máquinas IAI + setores novos: AskUserQuestion pega lista concreta (nome/codigoDga/setor), verifica se setores existem, seed idempotente via /producao/equipamentos ou script seed-equipamentos-iai.ts
T-31 Roteiro demo 2 participantes (Alexandre sócio + Sami gerente predial): cenários scripted PROBLEMA/FEEDBACK/antiduplicata + checklist pré-reunião + formulário de feedback estruturado → docs/fala-edg/roteiro-demo-20260420.md
T-32 Workshop na reunião 2026-04-20: preencher docs/fala-edg/regras-operacionais.md com 5 blocos (validação A.0, fluxo por stage, matriz SLA por categoria, escalonamento, janela de validação Resolvido→Arquivado)
T-33 Schema CargoPapel N:N + enum PapelResposta + UI multi-select no edit inline do Cargo (reusar M9): migration não-destrutiva, server action de persistência, seed inicial com papéis de T-26
T-34 Helper resolvePapeisParaDeal({categoria,setorId,equipamentoId}) → {assigned,observers,warnings} em bitrix-mapping.ts + refactor /api/fala/submit para usar assigned+observers no payload Bitrix; 6 unit tests
T-35 Extension provisionRobots() em provision-fala-edg.ts + métodos REST addBizprocRobot/listBizprocRobots/deleteBizprocRobot + readRulesFromEnv(scope) com SLA via env vars + retry rate-limit 3x backoff; .env.example atualizado
T-36 Robot Registrado→criar task triagem: onEnter cria task para ASSIGNED_BY_ID com prazo=SLA categoria, título 'Triar relato #{DEAL_ID}'; validar em <1min
T-37 Robot Triagem→timer SLA escalonamento: onTimer posta no Feed com regra de B.4 (gerente predial default, sócio em casos críticos); validar com SLA sintético
T-38 Robot Em andamento→lembrete 50% SLA: onTimer adiciona comentário no timeline; validar que timer reinicia entre stages
T-39 Robot Resolvido→task validação autor + arquivamento automático após janela env BITRIX_JANELA_VALIDACAO_HOURS (default 48h); contestação volta para Em andamento com comentário
T-40 Validação e2e todos robots: 1 deal-teste ciclo completo Registrado→Arquivado, tempos reais vs esperados, regressões → docs/fala-edg/robots-validacao-YYYYMMDD.md + 🔍 checkpoint final
T-41 Replicar provisionRobots no funil Feedback com regras frouxas: Registrado→assign default, Em avaliação→SLA 72h notify default, Respondido/Arquivado manual; validar com 1 deal SUGESTAO
T-42 Persistência F5 sessionStorage: ChatWindow salva {conversaId,messages,anonima} a cada msg, restaura ao montar, 'Novo relato' limpa — trazido de T-20b backlog M11
T-43 Placeholder dinâmico ComposerInput: 'Conte o que aconteceu — qual máquina, quando, o que você viu...' vazio / 'Responder...' após 1ª msg; tokens cream/cinza discreto
T-44 Docs finais M12: AD-067/068 em STATE.md, ROADMAP M12 done, Kanban todos T-26..T-44 done, fut-9 movido → done, build limpo, commit 'feat(fala-edg): M12 operacionalização'
OAUTH-T-06 UI /integracoes/bitrix24/oauth + success + card em navigation
OAUTH-T-07 🔍 Wander instala app (dev via ngrok + prod)
OAUTH-T-08 BitrixOAuthClient core (call/batch/refresh + advisory lock + lazy refresh)
OAUTH-T-09 21 métodos domínio com paridade rest-client + vitest
OAUTH-T-10 Cron Vercel refresh 1×/h + vercel.json + CRON_SECRET
OAUTH-T-11 Migrar probes Fala (3 scripts)
OAUTH-T-12 Migrar sync-bitrix-colaboradores + probe-capacidade + _discovery
OAUTH-T-13 Migrar scripts/bitrix/provision-fala-edg.ts
OAUTH-T-14 Migrar src/app/api/integracoes/bitrix24/route.ts + fallback UI
OAUTH-T-15 Migrar deals.ts + stage-machine.ts (HOT PATH Fala EDG)
OAUTH-T-16 Migrar /api/webhooks/bitrix (validação via applicationToken)
OAUTH-T-17 Deprecar rest-client.ts + flag BITRIX_WEBHOOK_FALLBACK=0
OAUTH-T-18 Types FunilConfig + funis/fala-edg.ts (placeholders T-35)
OAUTH-T-19 Wrappers bizproc/robots.ts + 🔍 checkpoint PROPERTIES manual
OAUTH-T-20 Endpoint dinâmico /api/bitrix/bizproc/[robotCode] + registry handlers
OAUTH-T-21 Handlers concretos: create-task + timeline-comment
OAUTH-T-22 Script provision-automations.ts (leitura + diff + --dry-run)
OAUTH-T-23 Script provision-automations.ts (apply + snapshot docs/bitrix/automations.json)
OAUTH-T-24 🔍 E2E validação: robots disparando via OAuth + desligar BITRIX_WEBHOOK_FALLBACK
OAUTH-T-25 SLA real pós-workshop T-32 + bizproc.trigger.add timers por stage
OAUTH-T-26 Docs M13 finais + AD-071 ✅ + ROADMAP + commit único
Setup Next.js + TS + Tailwind + Prisma
Estrutura .specs/ (tlc-spec-driven)
CLAUDE.md + napkin + design tokens
Configurar Supabase (DATABASE_URL)
Prisma migrate + seed com dados reais
Deploy Vercel (mesmo vazio)
CRUD Níveis Organizacionais (árvore)
CRUD Cargos + Atribuições
Organograma interativo (ReactFlow)
Swimlane do processo geral (hardcoded)
Tooltips em termos técnicos
API REST (todos os endpoints)
Seed completo (organograma + processo geral)
Dashboard principal
Layout com Sidebar + Header
CRUD Processos + Etapas + Decisões
Swimlane dinâmico (qualquer processo)
Efeito de foco por lane no swimlane
Organograma: quality pass completo (harden + delight + polish + optimize)
Code review completo (Fase B): useEscapeKey + isPrismaNotFound + flow-shared + { success: true }
Specs completas M3→M9 (tlc-spec-driven Fase A)
Schema: modelo Cenario + cenarioId em NivelOrganizacional + processoId em Atribuicao (uma migration)
API CRUD de cenários: /api/cenarios (GET, POST) + /api/cenarios/[id] (GET, PATCH, DELETE)
Página /simulacoes: lista de cenários em cards (nome, qtd níveis, qtd cargos) + criar/renomear/excluir
Página /simulacoes/[id]: editor com abas (Estrutura + Cargos) — CRUD completo dentro do cenário
Página /simulacoes/[id]/organograma: OrgChart filtrado para o cenário + badge Simulação
Organograma principal /organograma: filtrar WHERE cenarioId IS NULL (apenas dados reais)
Seed: cenário 'Administração DAF' (6 níveis, 6 cargos, 86 atribuições reais)
UI: badge de processo na atribuição (cargo-form-modal) + contador Link2 no cargo-row + API aceita processoId
Kanban + ROADMAP + STATE reorganizados (este item)
Seletor de processo no canvas (dropdown flutuante, lista processos ativos)
Fetch etapas do processo → derivar setorIds na ordem do fluxo
Highlight dos setores participantes (glow + borda animada); demais em opacity reduzida
Badge enriquecido: 'X/Y · N etapas' + hover card com lista de etapas por setor
Custom edges animados: paleta de 8 cores, dash-offset + partícula viajante por edge
Bug fix: subsetores participantes visíveis no overlay (getIdsToExpand reescrito com travessia independente)
ProcessFlowSummary: card fixo top-right (etapas totais, setores ordenados, breakdown de tipos) + badge et.X,Y/N
Refinamento visual overlay: z-index hover card, /critique 25/40 → /clarify + /quieter + /polish
Painel lateral: etapas do processo naquele setor + cargos/atribuições vinculados
Navegação entre setores do processo: '← Anterior | Próximo →'
Criar processo a partir de atribuição (botão inline, auto-preenche nome, vincula processoId)
Fases configuráveis: FASES_PROCESSO hoje hardcoded → entidade editável no DB
SVG loop-back visual: arco por cima dos cards para decisões que voltam (step 2→1)
Keyboard navigation no fluxo: ←/→ entre steps, ↑/↓ entre fases
Contextualizar processo específico dentro das fases macro do Processo Geral
Revisar Processo Geral: faturamento faltando + sobreposição Atendimento Comercial × Técnico
Visual distinto ao visualizar cenário no OrgChart: borda tracejada + badge 'Simulação'
Comparação side-by-side: estrutura real vs cenário proposto (diff visual)
Wizard 'Novo Cenário': modal 2 passos (nome/descrição → base estrutural)
Cards dinâmicos de área no wizard: um card por Diretoria/Conselho real como atalho de clonagem
Aplicar cenário: promover cenário para dados reais (cenarioId → null, com confirmação)
Dashboard com números reais (substituir stat cards hardcoded por queries do DB)
Gap analysis: setores sem cargos, cargos sem atribuições, processos sem etapas
Métricas estruturais: custoMensal + min/maxPessoas por cargo — form + dashboard
Cargos visual: tooltip portal (sem clipping), métricas inline no row, gap indicators sempre visíveis
PDF export: relatório organizacional completo (6 seções) + seleção de seções + filtro por setor + export de simulação
PDF logo: svg paths não renderizaram no react-pdf → resolvido com sharp (SVG→PNG 800×293px 300dpi) + <Image> do react-pdf + componentes compartilhados em lib/pdf/components.tsx
Pendências por setor: sistema real (substituir pending-items hardcoded do dashboard)
Sidebar evoluído para hub completo: 8 seções (Visão Geral, Empresa, Integrações, Financeiro, Agentes IA, Cofre, Projeto) + config centralizada em src/config/navigation.ts
Painel de integrações: status Bitrix24, DGA, VUUPT, N8N — health-check read-only com indicadores visuais por serviço
Bitrix24 v1 (REST API read): página /integracoes/bitrix24 com árvore de 51 departamentos + 9 colaboradores, sync manual, busca client-side, link no painel de integrações. Token REST: 5zqr12fzcx9pdnkv (webhook de entrada, scope: department + user).
VUUPT dados: página /integracoes/vuupt com 10 motoristas (status, turno, GPS) e 50 rotas recentes (badges, busca). API quirk: sort=-start_at&per_page=50 (filtro de data ignorado). Ciclo completo concluído.
DGA discovery de queries: 3 builders salvos no DGA GUI (Entregas_VUUPT_faturamento ID14, MO_fluxo_completo ID12, Custo_producao_OS_completo_v2 ID10). Fase 1 concluída.
DGA hub: página /integracoes/dga com painel de status dos 3 builders (Entregas 17.387 reg, Fluxo MO 63.494 reg, Custo Produção). Status monitor: online/offline + total_registros + latência. REST client com streaming (512 bytes) + requests sequenciais. Ciclo completo.
N8N dados: página /integracoes/n8n com workflows (nome, nodes, triggers, tags) e 50 execuções recentes (status, duração, modo). Auth REST X-N8N-API-KEY (JWT public-api). Helper format-time extraído para src/lib/. Ciclo completo: critique 35/40 + audit 19/20 Excellent.
org-chart-edit-inline: editar nível/cargo/atribuições direto do painel lateral do organograma. Autosave on blur. isSimulacao banner. InlineText/Number/Select + CargoEditCard + AtribuicaoRow memo.
Mapa da Gráfica /producao/mapa: SVG interativo pan/zoom/drag&drop + autosave de posição + marcadores com escala física (clamp min/max)
Registro /producao/equipamentos: CRUD completo + codigoDga + tipo DIGITAL + soft delete
T-01a Descoberta capacidade Bitrix: listTools MCP + testar REST crm.dealcategory.add/crm.userfield.add + validar escopo webhook + docs/bitrix/capacidade-api.md
T-01b Script provision-fala-edg.ts idempotente (--dry-run): cria 2 funis + 9 stages + 7 UF_CRM_FALA_* + grava docs/bitrix/fala-edg-funis.json + bloco .env
T-01c Fallback manual docs/bitrix/setup-manual.md pra operações não-automatizáveis detectadas em T-01a
T-02 Instalar deps: ai, @ai-sdk/anthropic, zod, @supabase/ssr
T-03 Migration Prisma add_fala_edg: FalaConversa (com categoria/equipamentoId/setor/tituloGerado) + FalaMensagem + 4 enums (FalaTipo/FalaCategoria/FalaStatus/FalaRole) + back-relation Colaborador
T-04 Supabase Auth + RLS em fala_conversas/fala_mensagens + helpers supabase-server.ts + 1 user de teste
T-05 System prompt em services/fala/prompts.ts + regras conversacionais + unit test (anônimo não vaza nome)
T-06a Tool listarEquipamentos: Prisma findMany ativo=true + filtro opcional ILIKE
T-06b Tool listarSetores: NivelOrganizacional real (cenarioId=null), tipo SETOR/SUBSETOR
T-06c Tool perfilColaborador: retorna nome/cargo/setor (null se anônima)
T-07 Wrapper Bitrix services/bitrix/deals.ts: createDeal (CATEGORY_ID já resolvido) + listDealsBySimilar (2 funis) + addDealComment + unit test roteando por tipo
T-08 Tool buscarCardsSimilares: antiduplicata por equipamento (24h) — validada contra Bitrix real (AD-062: UF_* não filtrável, enum numérico)
T-09 Tool finalizarConversa + classifier.ts: Zod .refine (categoria obrigatória se PROBLEMA) + execute retorna payload sem tocar Bitrix — 10 testes
T-10 Rota POST /api/fala/chat com streamText AI SDK v6 + persist mensagens + guard session + trunca >2000 chars
T-11 Rota POST /api/fala/submit: guard session + guard bitrixId + createDeal ou addDealComment + marca status=CONCLUIDA
T-12 bitrix-mapping.ts: roteamento 2-funis + UF_CRM_FALA_* + mapa categoria→responsável (lazy env) + tags condicionais — 13 testes
T-13 Layout (fala)/layout.tsx minimalista: burgundy/cream, DM Sans, header logo + Sair, sem sidebar do Hub. Ciclo critique 31/40 + audit 15/20 + polish concluídos.
T-14 proxy.ts (Next.js 16) protege /chat* via Supabase session → redirect /login se ausente
T-15 Páginas /login + /registro: form email+senha, Server Action via @supabase/ssr, upsert de senha se conta já existir, redirect /chat
T-16 ChatWindow.tsx com useChat do AI SDK → /api/fala/chat + estado erro/retry
T-17 MessageList (markdown) + ComposerInput (textarea auto-resize, Enter envia, Shift+Enter quebra)
T-18 AnonymousToggle: switch pré-1ª-mensagem, disabled com tooltip depois
T-19 CardPreview: detecta tool finalizarConversa, mostra tipo/título/resumo, dropdown se confianca<0.7, botões confirmar/cancelar
T-20 Integração preview→submit: sucesso mostra bitrixDealId, retry em 429/503, copiar resumo em erro permanente
T-21 /critique 27/40 + /clarify: jargão CRM removido, ID Bitrix oculto, tom acolhedor na tela de sucesso
T-22 /audit: tokens edg-success/warning/error/info em lugar de Tailwind defaults; strokeWidth={1.5} em todos ícones Lucide
T-23 /polish: hint 'definido no início' no toggle; 'Enviar outro relato' no sucesso; 'Relato registrado!' mais humano
T-24 UAT validado: Cenário 1 (PROBLEMA), Cenário 2 (duplicata→complemento via API determinística), Cenário 3 (SUGESTÃO), múltiplos fluxos. Bugfixes: ENTITY_TYPE_ID=2, equipamentoId normalizado (UUID→codigoDga), buscarCardsSimilares movido para GET /api/fala/similares (fora da IA).
T-25 Docs finais: STATE AD-066 + kanban M11 done + commit MVP completo
T-26 🔍 Sessão de perguntas sobre fluxo real: quem relata (mecânico/líder/qualquer um), quem responde (fixo por setor vs por tipo), terceirizados (função/canal/email), escalonamento natural → docs/fala-edg/fluxo-real-papeis.md
OAUTH-T-01 Spec + design + tasks + AD-071 + kanban (meta-task)
OAUTH-T-02 🔍 DNS Cloudflare + deploy Vercel hub.graficaedg.com.br
OAUTH-T-03 🔍 Criar App Local no Bitrix manual (docs/bitrix/oauth-setup.md) + Wander obtém client_id/secret
OAUTH-T-04 Prisma migration BitrixOAuthToken + AES-256-GCM helpers
OAUTH-T-05 Rotas OAuth install/callback/install-event/status + verify-event