Visão arquitetural
A primeira implementação da Orquena seguirá um monólito modular orientado a eventos, acompanhado por processos separados quando carga, escala ou isolamento justificarem.Platform Kernel
O kernel oferece identidade, tenancy, permissions, plugins, eventos, jobs, arquivos, billing e auditoria. Ele não conhece corte de cabelo, appointment, lead ou conversa.Domínios first-party
Contacts, Inbox, Scheduling e CRM possuem fontes da verdade próprias e coordenadas.
Aplicações externas nunca redefinem esses owners silenciosamente.
Integrações externas
Projetos open source maduros entram por connectors e deployments separados.Processamento assíncrono
Operações demoradas são executadas por workers através de contratos de jobs. O adapter inicial será BullMQ sobre Valkey. Eventos originados por transações serão persistidos por transactional outbox no PostgreSQL antes da publicação.AI Runtime
O runtime Mastra permanece separado do banco. Agents utilizam ferramentas tipadas que chamam APIs internas autorizadas da Orquena. Modelos, providers, prompts, tools e policies são controlados pela plataforma.Mensageria
WAHA será o primeiro provider não oficial para desenvolvimento e pilotos controlados. Payloads específicos ficam dentro do adapter. Meta Cloud API será adicionada no futuro através do mesmo contrato. Cada conexão de canal pertence a uma organização tenant. O tenant é resolvido pelo mapeamento interno da conexão, não por um campo livre do webhook.Storage
Arquivos utilizam contrato S3-compatible. Managed storage é válido para produção; SeaweedFS será avaliado para self-hosting. MinIO não será o default de novas instalações.Tempo real
A interface utiliza cache local, optimistic updates e eventos realtime. O evento atualiza a experiência, mas o estado persistido permanece authoritative.Segurança multi-tenant
Identidade da plataforma
Orquena é o nome canônico do produto, dos futuros deployments e do repositórioFulixts/Orquena. O caminho anterior pertence apenas ao histórico da migração e não deve aparecer em novas configurações.