arcadiasuite/docs/PLANO_IMPLEMENTACAO_AGENTIC.md

327 lines
12 KiB
Markdown

---
⚠️ **AVISO: DOCUMENTAÇÃO HISTÓRICA**
Este documento foi criado em **Março/2026** como planejamento estratégico.
Pode conter informações desatualizadas em relação ao sistema atual.
Para documentação técnica atualizada, consulte:
- \_SPEC_NAVBAR.md\_ (componentes UI)
- \_KERNEL_SPEC.md\_ (arquitetura do Kernel)
- Código-fonte em \_server/modules/\_
---
# PLANO DE IMPLEMENTAÇÃO: ARCÁDIA AGENTIC SUITE
**Versão:** 1.0 | **Baseado em:** Planejamento Estratégico Arcádia v1.0 (Março 2026)
**Rastreamento:** Ações marcadas com `[DATA | HORA | AUTOR | DETALHE]`
---
## LEGENDA DE STATUS
```
[ ] Pendente
[~] Em andamento
[x] Concluído
[!] Bloqueado / Atenção
[?] Requer decisão antes de executar
```
---
## ALERTAS DE CONFLITO COM SISTEMA EXISTENTE
> Itens marcados com **(CONFLITO POTENCIAL)** podem sobrescrever ou interferir
> com configurações já existentes no Arcádia. CONFIRMAR antes de executar.
| Item | Conflito | Observação |
|------|----------|------------|
| `docker-compose.yml` | **(CONFLITO POTENCIAL)** | Pode já existir com serviços configurados |
| Apache Superset | **(CONFLITO POTENCIAL)** | RLS e dashboards já configurados — nova instância pode perder dados |
| Tabelas `skills`, `automations` | **(CONFLITO POTENCIAL)** | Verificar se já existem no schema atual |
| XOS/Automations | **(CONFLITO POTENCIAL)** | Unificação na Fase 5 altera o runtime existente |
| `/automations` (Central) | **(CONFLITO POTENCIAL)** | Será migrado/substituído na Fase 5 |
---
## FASE 1 — FUNDAÇÃO (Semanas 1-2)
**Entregável:** Infraestrutura base funcionando
### 1.1 Submodules / Clone
- [ ] Clonar MiroFlow como submodule em `server/modules/miroflow/`
```bash
git submodule add https://github.com/MiroMindAI/MiroFlow.git server/modules/miroflow
```
- [ ] Clonar OpenClaw como submodule em `server/modules/openclaw/`
```bash
git submodule add https://github.com/miaoxworld/OpenClawInstaller.git server/modules/openclaw
```
- [ ] Inicializar submodules
```bash
git submodule update --init --recursive
```
### 1.2 Banco de Dados — Novas Tabelas
> **(CONFLITO POTENCIAL)** — Verificar se tabelas já existem antes de criar
- [ ] Criar tabela `skills` no PostgreSQL
- [ ] Criar tabela `automations` no PostgreSQL
- [ ] Criar tabela `skill_executions` no PostgreSQL
- [ ] Criar migration e executar `npm run db:migrate`
### 1.3 Knowledge Graph (Neo4j) — Novos Nós
- [ ] Estender KG com nó: `Skill`
- [ ] Estender KG com nó: `Automation`
- [ ] Estender KG com nó: `Execution`
### 1.4 Reference System
- [ ] Implementar `ReferenceParser``server/modules/skills/ReferenceParser.ts`
- [ ] Implementar `ReferenceResolver``server/modules/skills/ReferenceResolver.ts`
### 1.5 Docker Compose / Infraestrutura
> **(CONFLITO POTENCIAL)** — `docker-compose.yml` pode já existir.
> Confirmar com João antes de sobrescrever.
- [?] Verificar se `docker-compose.yml` já existe no projeto
- [?] Se existir: mesclar serviços (Neo4j, Ollama, Superset) sem sobrescrever configs atuais
- [ ] Garantir serviços no compose: PostgreSQL, Neo4j, Ollama, Superset, Arcádia Suite
---
## FASE 2 — SKILLS ENGINE (Semanas 3-4)
**Entregável:** Skills criáveis e executáveis
### 2.1 Backend — Skill Engine
- [ ] Implementar `SkillEngine.ts``server/modules/skills/SkillEngine.ts`
- Suporte a herança (`extends`)
- Suporte a composição (`dependencies`)
- Suporte a polimorfismo (`execute()`)
- [ ] Implementar `SkillRepository.ts` — CRUD de skills no banco
### 2.2 Sistema de Namespaces
- [ ] Hierarquia: `system``tenant``company``user`
- [ ] Resolver prioridade e herança entre namespaces
### 2.3 Frontend — Editor de Skills
- [ ] Criar componente `SkillEditor.tsx``client/src/components/skills/`
- Modo Visual
- Modo Code (TypeScript)
- Modo Markdown
- [ ] Criar `ReferenceParser.ts` no frontend com autocomplete de `/`
- [ ] Criar `SkillMarketplace.tsx` — descoberta de skills disponíveis
### 2.4 Versionamento de Skills
- [ ] Implementar versionamento Git-like para skills (histórico de versões)
---
## FASE 3 — MIROFLOW EMBUTIDO (Semanas 5-6)
**Entregável:** Análises científicas disponíveis
### 3.1 Configuração MiroFlow para Ollama Local
- [ ] Criar `config/arcadia_agents.yaml` em `server/modules/miroflow/config/`
- `provider: ollama`
- `base_url: http://localhost:11434`
- Modelos: `deepseek-r1:32b` (default), `deepseek-r1:70b` (reasoning), `llama3.1:8b` (fast)
- [ ] Instalar dependências Python: `pip install -r requirements.txt`
### 3.2 Agentes Especializados
- [ ] Configurar agente `Arcádia Statistician` (deepseek-r1:32b)
- Tools: arcadia_sql_query, pandas_analysis, scipy_stats, visualization_generator
- [ ] Configurar agente `Arcádia Fiscal Auditor` (deepseek-r1:70b)
- Tools: nfe_validator, sped_generator, tax_calculator, risk_scorer
- [ ] Configurar agente `Arcádia Researcher` (llama3.1:70b)
- Tools: knowledge_graph_query, document_search, trend_analyzer
### 3.3 Bridge Superset → MiroFlow
> **(CONFLITO POTENCIAL)** — Superset já está em produção com RLS configurado.
> A bridge adiciona funcionalidade nova (Modo Científico), não deve quebrar configs existentes.
> Confirmar antes de modificar qualquer arquivo do Superset atual.
- [?] Verificar se a instância atual do Superset suporta custom viz (`BaseViz`)
- [ ] Criar `MiroFlowBridge.ts``server/modules/superset/MiroFlowBridge.ts`
- [ ] Criar `miroflow_scientific.py` — viz customizada no Superset
- Endpoint: `POST /api/miroflow/analyze`
- [ ] Criar `MiroFlowControl.tsx` — toggle "Modo Científico" no frontend
- `client/src/modules/superset-bridge/MiroFlowControl.tsx`
### 3.4 Integração com Arcádia Audit
- [ ] Garantir que execuções MiroFlow sejam registradas com `immutable_logging: true`
- [ ] Registrar proveniência no Knowledge Graph (dataset versions, analysis lineage, model registry)
### 3.5 Modelos Ollama
- [ ] Baixar modelo: `deepseek-r1:32b`
- [ ] Baixar modelo: `deepseek-r1:70b`
- [ ] Baixar modelo: `llama3.1:8b`
- [ ] Baixar modelo: `llama3.1:70b`
### 3.6 Dev Center — Dashboard de Benchmarks
- [ ] Criar dashboard de benchmarks MiroFlow no Dev Center (GAIA, HLE, FutureX)
---
## FASE 4 — OPENCLAW EMBUTIDO (Semanas 7-8)
**Entregável:** Skills emergentes funcionando
### 4.1 Backend — Pattern Detection
- [ ] Implementar `PatternDetector.ts``server/modules/openclaw/PatternDetector.ts`
- `min_occurrences: 3` | `time_window_days: 30` | `confidence_threshold: 0.8`
- [ ] Implementar `SkillEmergence.ts` — criação de skills emergentes como DRAFT
- [ ] Implementar `OpenClawEngine.ts` — motor de sugestões
### 4.2 Frontend — Widget
- [ ] Criar `OpenClawWidget.tsx` — widget flutuante
- `client/src/modules/openclaw/OpenClawWidget.tsx`
- [ ] Criar `PatternDetector.ts` frontend — hook de detecção
- [ ] Criar `SkillSuggestion.tsx` — modal de sugestão ao usuário
- [ ] Criar `useAgentEmergence.ts` — lógica de emergência
### 4.3 Configuração OpenClaw Arcádia
- [ ] Criar `config/arcadia.yaml` em `server/modules/openclaw/config/`
- `tenant_aware: true`
- `auto_suggest: false` (sempre pedir confirmação)
- `create_as_draft: true` (requer aprovação)
- `auto_publish: false`
- `notify_admins: true`
- [ ] Instalar dependências Node: `cd server/modules/openclaw && npm install`
### 4.4 Fluxo Completo de Emergência
- [ ] Implementar fluxo: Padrão detectado → Skill DRAFT criado → Dev Center para aprovação
- [ ] Integrar com Blackboard para codegen automático da skill emergente
- [ ] Painel de configuração de sugestões por tenant
---
## FASE 5 — AUTOMATION FABRIC (Semanas 9-10)
**Entregável:** Automações unificadas
> **(CONFLITO POTENCIAL)** — Esta fase unifica XOS/Automations e `/automations` Central.
> São sistemas ATIVOS no Arcádia. Migração de dados necessária.
> Confirmar estratégia de migração com João antes de iniciar.
### 5.1 Backend — Runtimes Unificados
- [ ] Implementar `AutomationEngine.ts``server/modules/automations/AutomationEngine.ts`
- [ ] Implementar runtime `WorkflowEngine.ts` (BPMN, processos longos, aprovações)
- [ ] Implementar runtime `RuleEngine.ts` (IFTTT simples, rápido)
- [ ] Implementar runtime `AgentExecutor.ts` (Manus/OpenClaw, IA adaptativa)
- [ ] Implementar runtime `ScheduleEngine.ts` (Cron, recorrente)
- [ ] (Opcional) Implementar runtime `EventEngine.ts` (Webhook, real-time)
### 5.2 Modelo Unificado de Automação
- [ ] Definir schema `Automation` com campo `runtime` polimórfico
- tipos: `workflow | rule | agent | scheduled | event`
- [ ] Implementar `auditHash` para imutabilidade
### 5.3 Migração de Dados
- [ ] Mapear automações existentes em XOS para novo modelo
- [ ] Mapear automações existentes em `/automations` Central para novo modelo
- [ ] Executar migração sem downtime
### 5.4 Frontend — UI Única
- [ ] Criar `AutomationCenter.tsx``client/src/modules/automations/AutomationCenter.tsx`
- [ ] Criar `RuleDesigner.tsx` — designer visual de regras
- [ ] Criar `WorkflowDesigner.tsx` — designer BPMN
- [ ] Criar `AgentDesigner.tsx` — designer de agentes IA
- [ ] Criar `AutomationList.tsx` — listagem unificada
### 5.5 Testes
- [ ] Testes de carga nas automações unificadas
- [ ] Testes de segurança (permissões por tenant/company/user)
---
## FASE 6 — DEV CENTER COMPLETO (Semanas 11-12)
**Entregável:** Sistema completo operacional
### 6.1 Design Studio
- [ ] Criar `DesignStudio.tsx``client/src/modules/devcenter/DesignStudio.tsx`
- Modo UML Diagram (classes, herança, relações)
- Modo Visual Flow (drag-drop nodes)
- Modo Markdown Spec (linguagem natural)
- Modo Code Editor (TypeScript + IntelliSense)
### 6.2 Assemble Line
- [ ] Criar `AssembleLine.tsx``client/src/modules/devcenter/AssembleLine.tsx`
- Composition Panel (available skills → selected skills)
- Flow Diagram automático
- Botões: Generate Code | Preview | Test | Deploy
- [ ] Integrar com Blackboard (GeneratorAgent, ValidatorAgent, ExecutorAgent)
### 6.3 Orchestrate Center
- [ ] Criar `OrchestrateCenter.tsx``client/src/modules/devcenter/OrchestrateCenter.tsx`
- Deploy de agentes
- Versionamento
- Monitoramento de execuções
### 6.4 Galeria de Agentes
- [ ] Criar marketplace interno de agentes (descoberta, instalação por tenant)
### 6.5 Finalização
- [ ] Documentação técnica dos componentes criados
- [ ] Treinamento / onboarding interno
- [ ] `npm run test:miroflow`
- [ ] `npm run test:openclaw`
- [ ] `npm run test:integration`
---
## REGISTRO DE AÇÕES EXECUTADAS
> Formato: `[AAAA-MM-DD | HH:MM | AUTOR | O que foi feito e em qual arquivo/componente]`
| # | Data | Hora | Autor | Ação | Fase |
|---|------|------|-------|------|------|
| 1 | 2026-03-24 | — | João | Adicionado serviço `neo4j` (profile: `kg`) ao `docker-compose.yml` + volumes `neo4j_data` e `neo4j_logs` | Fase 1 |
| 2 | 2026-03-24 | — | João | Adicionado serviço `neo4j` (profile: `kg`) ao `docker-compose.prod.yml` + volumes `neo4j_data` e `neo4j_logs` | Fase 1 |
| 3 | 2026-03-24 | — | João | Adicionadas tabelas `arcadia_skills` (modelo POO) e `skill_executions` ao `shared/schema.ts``xosSkillRegistry` preservado | Fase 1 + 2 |
| 4 | 2026-03-24 | — | João | Criada migration `0003_arcadia_skills.sql` — cria tabelas `arcadia_skills` e `skill_executions` com índices | Fase 1 |
---
## DECISÕES ARQUITETURAIS REGISTRADAS
| Componente | Decisão | Status |
|------------|---------|--------|
| MiroFlow | EMBUTIR como submodule em `server/modules/miroflow/` | Pendente |
| OpenClaw | EMBUTIR como submodule em `server/modules/openclaw/` | Pendente |
| Apache Superset | INTEGRAR externamente com bridge MiroFlow | Pendente |
| Skills | Modelo POO (herança, composição, polimorfismo) | Pendente |
| Automações | Unificar XOS + Central em runtime único | Pendente |
| Dev Center | Fábrica: Design → Assemble → Deploy | Pendente |
| Multi-tenant | Hierarquia: System → Tenant → Company → User | Pendente |
---
*Documento gerado em: 2026-03-24 | Baseado no Planejamento Estratégico Arcádia v1.0*