Commit Graph

26 Commits

Author SHA1 Message Date
jonaspachecoometas 171dd91a69
Merge pull request #7 from jonaspachecoometas/claude/analyze-project-0mXjP
Claude/analyze project 0m xj p
2026-03-16 17:03:27 -03:00
Claude fc20a0e8b2
feat(prod): adiciona Plus, Superset e ERPNext ao docker-compose.prod.yml
Serviços adicionados com profiles opcionais:
- plus-db (MySQL 8.0) + plus (PHP/Laravel) → profile: plus
- superset (Apache Superset 4.1.0) → profile: bi
- erpnext-db (MariaDB 10.6) + erpnext (Frappe v15) → profile: erpnext

App principal recebe novas env vars:
  PLUS_HOST, PLUS_AUTO_START=false, SSO_PLUS_BASE_URL
  SUPERSET_HOST, SUPERSET_ADMIN_*
  ERPNEXT_PROXY_ENABLED, ERPNEXT_URL, ERPNEXT_API_KEY/SECRET

Volumes adicionados: plus_db, plus_storage, superset_home,
  erpnext_db, erpnext_sites, erpnext_logs

https://claude.ai/code/session_01DinH3VcgbAv1d9MqnNxzdb
2026-03-16 19:59:38 +00:00
Claude eb0926704a
feat: ERPNext em container Docker + SOE Rule Importer
- docker-compose.yml: adiciona serviços `erpnext` (frappe/erpnext:version-15)
  e `erpnext-db` (MariaDB 10.6) no perfil `erpnext`
  Volumes: erpnext_db, erpnext_sites, erpnext_logs
  Porta exposta: 8090 (→ :8080 interno)

- docker/erpnext/init.sh: script de inicialização que aguarda MariaDB,
  cria o site `erpnext.local` com bench new-site, instala app erpnext
  e sobe o servidor na porta 8080

- server/erpnext/proxy.ts: proxy transparente /erpnext-app/* → container
  (ativo em DOCKER_MODE=true ou ERPNEXT_PROXY_ENABLED=true)
  Reescreve Location headers, forward X-Forwarded-* e X-Site-Name
  Endpoint: GET /api/erpnext/container-status

- server/soe/erpnext-rule-importer.ts: importa regras de negócio do ERPNext
  (campos obrigatórios por DocType + Workflows ativos) e salva em soe_regras
  13 DocTypes mapeados para triggers SOE correspondentes
  Endpoint: POST /api/soe/erpnext/import-rules

- server/routes.ts: registra setupErpNextProxy e endpoint de import-rules
- .env.example: documenta variáveis para modo container e modo externo

Uso: docker compose --profile erpnext up

https://claude.ai/code/session_01DinH3VcgbAv1d9MqnNxzdb
2026-03-16 19:27:26 +00:00
Claude f0c3ce483e
feat: implementa SOE Rule Engine + Apache Superset (Arcádia Insights)
## SOE — Sistema Operacional Empresarial
- Adiciona 3 tabelas ao schema: soe_regras, soe_eventos, soe_lancamentos
- Cria server/soe/rule-engine/ com motor de regras configuráveis
  - Regras fiscais padrão: CFOP, tributação por regime, validações NCM
  - Regras de negócio: aprovação auto, reserva estoque, alertas
- Cria server/soe/event-bus.ts — dispara automações pós-execução
- Cria handlers: contabil-handler.ts (lançamentos automáticos) e
  financial-handler.ts (contas a P/R automáticas)
- Plugar Rule Engine em 3 rotas críticas do server/erp/routes.ts:
  POST /sales-orders, POST /confirm, POST /generate-nfe
- Redireciona /plus → /soe no frontend (Plus fica invisível)

## Apache Superset (Arcádia Insights)
- Expande docker-compose.yml: volumes, init script, config file
- Cria docker/superset/superset_config.py (embedding + CORS + feature flags)
- Cria docker/superset/init.sh (migração DB + admin + registro banco Arcádia)
- Substitui server/metabase/proxy.ts por server/superset/proxy.ts
- Substitui server/metaset/routes.ts por server/superset/routes.ts
  com Guest Token JWT para embedding nativo em qualquer tela
- Instala @superset-ui/embedded-sdk
- Cria client/src/components/SupersetDashboard.tsx — componente
  reutilizável via Guest Token, fallback para iframe
- Atualiza BiWorkspace.tsx: tab MetaSet → Insights (com seletor de dashboards)
- Atualiza .env.example com variáveis Superset completas

https://claude.ai/code/session_01DinH3VcgbAv1d9MqnNxzdb
2026-03-16 18:45:22 +00:00
jonaspachecoometas bcc0e21fe0
Merge pull request #6 from jonaspachecoometas/claude/analyze-project-0mXjP
Claude/analyze project 0m xj p
2026-03-16 15:29:22 -03:00
Claude 5a39fb66c4
docs: adiciona PLANO_BI_SUPERSET.md — migração Metabase → Apache Superset
Análise do código real revelou que:
- Superset já está no docker-compose.yml (profile: bi)
- MetaSet = Metabase com nome customizado (server/metaset/*)
- Falta apenas a integração gateway + guest token + componente React

Plano cobre:
- docker/superset/superset_config.py + init.sh
- server/superset/proxy.ts + routes.ts (guest token para embedding)
- SupersetDashboard.tsx (componente React reutilizável em qualquer tela)
- @superset-ui/embedded-sdk para embedding nativo
- Roadmap em 5 fases (1-2 dias de implementação real)

https://claude.ai/code/session_01DinH3VcgbAv1d9MqnNxzdb
2026-03-16 18:24:21 +00:00
Claude 353af841dd
docs: adiciona PLANO_SOE_CENTRAL_v2.md — plano revisado baseado no Replit
Análise profunda do MAPA_SOE_ARCADIA.md revelou que o SOE já tem:
- SOE.tsx com 2.414 linhas funcionando
- 60+ endpoints /api/soe/* já existindo
- ArcadiaPlusClient e ArcadiaNextClient já implementados
- Padrão motor/adaptador já operacional

O plano v2 foca no que realmente falta:
- SOE Rule Engine (middleware entre rota e adaptador)
- Event Bus (lançamentos contábeis automáticos)
- Ocultação de Plus/ERPNext do usuário final
- Regras fiscais centralizadas no SOE

https://claude.ai/code/session_01DinH3VcgbAv1d9MqnNxzdb
2026-03-16 18:09:00 +00:00
jonaspachecoometas 791a024635
Merge pull request #5 from jonaspachecoometas/claude/analyze-project-0mXjP
Claude/analyze project 0m xj p
2026-03-16 14:24:40 -03:00
Claude 7a1fb61d15
docs: adiciona PLANO_SOE_CENTRAL.md — planejamento da Central SOE
Documenta a arquitetura e roadmap para transformar o Arcádia em um
SOE Central que orquestra Plus (Laravel) e ERPNext de forma invisível,
com regras fiscais, contábeis e financeiras centralizadas.

https://claude.ai/code/session_01DinH3VcgbAv1d9MqnNxzdb
2026-03-16 17:11:27 +00:00
Claude 4900886d90
docs: guia de integração Ollama + LLMFit no servidor de produção
Cobre os dois cenários (Ollama no host vs. container), configuração
do LLMFit como TIER 1, variáveis de ambiente, ordem de inicialização
e troubleshooting.

https://claude.ai/code/session_01DinH3VcgbAv1d9MqnNxzdb
2026-03-16 14:28:44 +00:00
jonaspachecoometas 9449b3614c
Merge pull request #3 from jonaspachecoometas/claude/analyze-project-0mXjP
Claude/analyze project 0m xj p
2026-03-13 15:10:47 -03:00
Claude 5bf2254bc1
chore: adiciona CLAUDE.md com contexto do projeto para sessões Claude
Arquivo de contexto compacto para economizar tokens em novas sessões.
Inclui: stack, estrutura, arquitetura de IA, branch de dev, status de implementação.

https://claude.ai/code/session_01DinH3VcgbAv1d9MqnNxzdb
2026-03-13 17:37:42 +00:00
Claude 5816c14d00
feat: integração Manus→LiteLLM gateway + slot LLMFit + soberania de dados
- Conecta Manus ao LiteLLM via AI_INTEGRATIONS_OPENAI_BASE_URL (era hardcoded para OpenAI)
- Adiciona OLLAMA_BASE_URL ao serviço litellm no docker-compose.prod.yml (fix crítico: sem isso o fallback para Ollama não funcionava)
- Adiciona DATABASE_URL ao litellm para logging/auditoria de chamadas LLM
- Open WebUI agora também aponta para LiteLLM (acesso a todos os modelos na interface)
- litellm-config.yaml: slot comentado para LLMFit (TIER 1), Ollama como padrão soberano (TIER 2), externos como opt-in (TIER 3)
- Adiciona modelo nomic-embed-text para embeddings locais via Ollama
- .env.example: documenta AI_INTEGRATIONS_*, LLMFIT_BASE_URL, providers externos opcionais
- arcadia-default agora aponta para llama3.3 (Ollama) por padrão — soberania total sem configuração adicional

Estratégia de soberania:
  Dados NUNCA saem sem configuração explícita de API key externa.
  LLMFit turbocharge: quando ativado, modelos fine-tuned têm prioridade sobre Ollama.

https://claude.ai/code/session_01DinH3VcgbAv1d9MqnNxzdb
2026-03-13 17:07:41 +00:00
jonaspachecoometas 76c1dd7090
Merge pull request #2 from jonaspachecoometas/claude/analyze-project-0mXjP
Correções de segurança e implementações.
2026-03-13 14:06:38 -03:00
Claude 0c006da8a5
feat: rate limiting, logging estruturado, tenant isolation, Compass AI, paginacao
QUALIDADE:
- Rate limiting: 500 req/15min em /api; 20 req/15min em login/register
- Winston logger: JSON em prod, colorido em dev; HTTP middleware com user_id/tenant_id
- Paginacao: XOS (conversations, tickets, activities) e Quality (9 endpoints) recebem offset

MULTI-TENANCY:
- tenantId adicionado a 7 tabelas criticas: workspace_pages, quick_notes,
  activity_feed, conversations, knowledge_base, chat_threads, manus_runs
- Migration 0002_tenant_isolation.sql com indices de performance

PROCESS COMPASS COM IA:
- POST /api/compass/projects/:id/ai-brief
  Gera briefing executivo via GPT-4o-mini: situação, riscos, ações prioritárias,
  health score — baseado em tasks, PDCA e status do projeto
- GET  /api/compass/projects/:id/health
  Score 0-100 calculado: 40% completude de tasks + 30% pontualidade + 30% PDCA

https://claude.ai/code/session_01DinH3VcgbAv1d9MqnNxzdb
2026-03-13 16:13:10 +00:00
Claude 1601ad0c12
feat: Manus approval guard, Marketplace→AppCenter connection, endpoint my-apps
SEGURANÇA:
- Manus: ferramentas perigosas (shell, write_file, python_execute) agora
  retornam requires_approval na primeira chamada e exigem confirmação via
  ask_human antes de executar

MARKETPLACE → APPCENTER:
- Novo endpoint GET /api/marketplace/my-apps (autenticado):
  retorna códigos de módulos ativos do tenant (core sempre incluídos)
- AppCenter consome o endpoint via useQuery
- Apps com subscriptionCode não contratados aparecem com:
  - Overlay de cadeado no ícone
  - Badge "Não contratado"
  - Clique redireciona ao Marketplace em vez de abrir o app

CORREÇÃO DO AUDIT:
- Agent.tsx, CentralApis.tsx, ApiHub.tsx, ArcadiaNext.tsx verificados:
  todos já têm implementação real (26k+ tokens) — classificação como
  "placeholder" no audit estava incorreta

https://claude.ai/code/session_01DinH3VcgbAv1d9MqnNxzdb
2026-03-13 15:17:08 +00:00
Claude 1ab50d456b
security: correções críticas de segurança e estabilidade
SEGURANÇA:
- auth: XOS, LMS, Quality e /api/tenants agora exigem autenticação (102+ rotas)
- CORS: 7 serviços Python trocam allow_origins=["*"] por APP_URL env var
- credentials: removidas senhas hardcoded de metaset/routes.ts; SESSION_SECRET com warning se ausente
- uvicorn: criados server/__init__.py e server/python/__init__.py para module-style correto
- docker: embeddings_service usa uvicorn module-style como os demais

ESTABILIDADE:
- OpenAI: timeout=30s e maxRetries=3 no cliente Manus
- Frappe: AbortSignal.timeout(30s) em todos os fetches
- PipelineOrchestrator: guard processingMonitors evita execuções sobrepostas no setInterval

DADOS:
- WhatsApp auto-reply config agora persiste no banco (coluna auto_reply_config jsonb)
- Migration 0001_whatsapp_auto_reply_config.sql adicionada

https://claude.ai/code/session_01DinH3VcgbAv1d9MqnNxzdb
2026-03-13 14:34:51 +00:00
Claude b80bd22c83
chore: ignore .claude/ worktrees directory 2026-03-13 14:20:38 +00:00
jonaspachecoometas 8ed4863685
Merge pull request #1 from jonaspachecoometas/claude/analyze-project-0mXjP
Contenização do Suite
2026-03-13 10:27:44 -03:00
Claude 7c1ca8efce
docs: auditoria completa A-Z do Arcádia Suite com plano de execução
Cobertura da auditoria (4 agentes paralelos):
- 25 módulos backend / 400+ endpoints
- 64 páginas frontend
- 337 tabelas de schema
- Segurança, integrações e infraestrutura

Score geral: 4.5/10 — excelente para MVP, fundação necessária antes de escalar

Críticos identificados:
- 102+ rotas sem autenticação (XOS, LMS, Quality)
- CORS aberto com credentials em 6 serviços Python
- 190/337 tabelas sem tenantId (56%)
- 3 credenciais hardcoded
- Ciclo de embeddings quebrado (Knowledge Graph vazio)
- AppCenter desconectado do Marketplace

7 sprints planejados: Segurança → Deploy → IA → App Store →
Process Compass → ERP real → Soberania IA → Qualidade → ERPNext

https://claude.ai/code/session_01DinH3VcgbAv1d9MqnNxzdb
2026-03-13 13:06:57 +00:00
Claude 9322bf570f
feat: containerização completa + Knowledge Graph API + embeddings pgvector
Infraestrutura Docker:
- Dockerfile multi-stage para app Node.js
- Dockerfile.python genérico para todos os microserviços Python
- docker-compose.yml para desenvolvimento local (com perfis: bi, ai)
- docker-compose.prod.yml para deploy no Coolify com Traefik
- docker/init-pgvector.sql — instala extensão vector no PostgreSQL
- docker/python-entrypoint.sh — seleciona serviço pelo SERVICE_NAME
- docker/litellm-config.yaml — proxy LLM com fallback OpenAI → Ollama
- .env.example com todas as variáveis documentadas

Soberania de IA:
- Ollama + Open WebUI como perfil 'ai' no docker-compose
- LiteLLM como proxy unificado (OpenAI ↔ Ollama com fallback automático)

Knowledge Graph (rotas faltantes implementadas):
- server/graph/routes.ts — CRUD completo de nodes, edges, knowledge base + busca semântica
- server/graph/service.ts — camada de serviço com indexação automática de embeddings
- server/python/embeddings_service.py — FastAPI com pgvector para busca vetorial

Correções de infraestrutura:
- server/index.ts — DOCKER_MODE=true desativa spawn de processos filhos
- server/routes.ts — registra /api/graph/* no Express

https://claude.ai/code/session_01DinH3VcgbAv1d9MqnNxzdb
2026-03-13 10:14:33 +00:00
jonaspachecoometas 44dacedd90 feat(valuation): Módulo Consultivo de Valuation completo - Motor DCF/Múltiplos/Ativos, Governança 20 critérios, SWOT, Canvas Dual, PDCA, BI Dashboard, Relatórios, Agente IA 2026-03-10 18:28:14 -03:00
jonaspachecoometas f36238215a docs: Mapa completo do Plus dentro do Arcádia Suite 2026-02-28 22:10:41 -03:00
jonaspachecoometas ec173da844 feat: Arcádia Suite v2.0 - Sistema completo com 66 páginas, 6 motores, módulo Retail 2026-02-26 11:38:24 -03:00
jonaspachecoometas 065ab19a17 Arcadia Suite - Projeto completo 2026-02-09 17:46:40 -03:00
jonaspachecoometas 0812f4ab18 Inicializando repositorio Arcadia Suite 2026-02-09 17:31:10 -03:00