Foundgine

Foundgine - Plataforma de execução semântica programável para .NET

Lançado hoje

Foundgine é uma plataforma de execução semântica programável para .NET que cria uma fronteira controlada entre os chamadores de aplicação e os dados que eles podem executar. Ele transforma intenção estruturada em planos de execução autorizados, suportando cargas de trabalho SQL, InMemory, GraphQL e agentes de IA. Os chamadores descrevem o que desejam enquanto o Foundgine determina o que é permitido e como executa. Baseado em arquitetura orientada a eventos com planejamento ciente de autorização e evidência de execução.

3VisualizaçõesDevTools IAPreço abertoFramework de Agente IAAPI DisponívelCódigo Aberto

O que é Foundgine

Aplicações modernas raramente têm um único chamador. Web, mobile, APIs REST, clientes GraphQL, serviços internos, automação e, cada vez mais, agentes de IA — todos precisam acessar os mesmos dados e operações de negócio. O problema é que, sem uma fronteira comum, cada interface acaba desenvolvendo seu próprio caminho de autorização, validação, tradução de consulta e acesso a dados. O resultado é um ecossistema fragmentado, com regras de segurança duplicadas, semânticas divergentes e superfícies de ataque maiores.

Foundgine é uma plataforma de execução semântica programável para .NET que cria uma fronteira controlada entre os chamadores da aplicação e os dados e operações que eles estão autorizados a executar. Em vez de permitir que cada chamador implemente sua própria lógica de validação, autorização, tradução de consulta e acesso a dados, o Foundgine converte intenção estruturada em um plano de execução autorizado e executa esse plano através de um provedor.

A ideia central pode ser resumida assim:

Os chamadores descrevem o que desejam. O Foundgine determina o que é permitido, como deve executar e qual provedor executa.

O pipeline central de execução segue um fluxo determinístico: Intenção → Modelo Semântico → Resolução → Autorização → Plano → Reescrita/Otimização → Compilação do Provedor → Execução → Resultado + Evidência. Cada etapa é uma fronteira arquitetural — a autorização não é um middleware opcional, mas um estágio obrigatório que alimenta restrições diretamente no plano de execução.

É importante esclarecer o que o Foundgine não é: não é um substituto de ORM, não é um banco de dados, não é um servidor GraphQL, não é um LLM, não é um framework de agentes e não é um provedor de identidade. Ele é uma camada de execução que pode ficar abaixo desses tipos de sistemas, atuando como o cérebro que decide o que pode ser executado e como.

A visão de longo prazo é estabelecer um limite de execução semântica estável entre o que um sistema pede e o que uma aplicação está disposta a executar — um limite que funcione tanto para software tradicional quanto para agentes inteligentes.

TL;DR
  • Execução semântica centralizada: uma única camada de execução para múltiplos chamadores (REST, GraphQL, JSON, automação, agentes de IA)

  • Planejamento ciente de autorização: restrições de segurança são propagadas diretamente no plano de execução

  • Independência de provedor: a intenção semântica não fica acoplada a um backend físico específico

  • Suporte a múltiplos chamadores: todos normalizam para Intenção Semântica, eliminando caminhos de execução duplicados

  • Evidência de execução: autorização, planejamento e execução são observáveis


Arquitetura Central e Detalhes Técnicos

Separação de preocupações

A arquitetura do Foundgine é deliberadamente modular, com cada componente responsável por uma única preocupação:

  • Modelo semântico — define as capacidades voltadas para a aplicação, independente de detalhes físicos de persistência

  • Intenção — descreve o que o chamador deseja, sem amarrar diretamente a um provedor físico

  • Autorização — determina quais partes da operação solicitada são permitidas e pode contribuir com predicados ou restrições ao plano de execução

  • Planejador — constrói uma representação independente do provedor da operação solicitada

  • Reescrita e otimização — transforma o plano preservando semântica e restrições de autorização

  • Provedor — compila e executa o plano contra um backend concreto

Modelo de execução multi-callers

O ponto arquitetural central é que REST/API, GraphQL, JSON, agentes de IA e automação — todos normalizam para uma Intenção Semântica que alimenta o Planejador Foundgine. Esse planejador roteia a operação para um provedor SQL, InMemory ou provedores futuros. O objetivo é evitar implementar semânticas de execução separadas para cada interface.

Por que o plano intermediário importa

O plano é a fronteira arquitetural entre intenção semântica e execução física. Ele dá ao runtime um ponto único para: preservar restrições de autorização, validar dependências, reescrever operações, estimar custo, raciocinar sobre capacidades do provedor, otimizar execução e produzir evidência de execução. Esse é o mecanismo que permite que múltiplas superfícies de entrada e provedores compartilhem a mesma semântica de execução.

Modelo semântico vs. modelo de persistência

Um modelo de persistência descreve como os dados são armazenados. Um modelo semântico descreve o que uma aplicação está disposta a expor e operar. Esses modelos não precisam ser idênticos — e não deveriam ser. A superfície semântica pode ser menor, mais segura e mais proposital que o modelo físico. Por exemplo, um modelo de persistência pode conter campos internos como TenantId ou InternalRiskScore que um modelo semântico voltado para aplicação não expõe.

  • Semântica centralizada: uma única definição de capacidades para todos os chamadores, eliminando lógica de autorização duplicada

  • Independência de provedor: intenção semântica separada da execução física permite trocar de backend sem reescrever lógica de negócio

  • Suporte AOT nativo: Foundgine.Aot fornece atributos de metadados e suporte em runtime para implantações Native AOT

  • Evidência de execução: autorização, planejamento e execução são totalmente observáveis

  • Performance de mutação variável: benchmarks mostram resultados mais consistentes em consultas do que em mutações

  • API pública em evolução: versão 0.5.x ainda em desenvolvimento ativo, com estabilidade de API conforme política de release


Foundgine e Agentes de IA

O paradigma convencional de agentes de IA acessando dados é perigoso em sua simplicidade: IA → gerar SQL → banco. Esse padrão dá ao modelo de linguagem autoridade direta sobre consultas SQL, exigindo credenciais de banco acessíveis ao agente e removendo a aplicação da equação de autorização. O Foundgine inverte essa lógica.

No modelo do Foundgine, o fluxo é: Agente de IA → intenção estruturada → Foundgine (resolver/validar/autorizar/planejar/executar) → PostgreSQL. O agente declara o que deseja alcançar, mas o Foundgine — não o modelo de IA — é a autoridade sobre quais capacidades de aplicação são permitidas e como são executadas.

Um modelo de IA decide o que quer realizar, mas não se torna a autoridade sobre quais dados de aplicação pode acessar, nem precisa de credenciais diretas de banco. Isso é deliberadamente diferente do padrão AI → generate SQL → database. O Foundgine mantém a aplicação no controle de autorização e execução enquanto permite que agentes de IA e outros chamadores estruturados usem as capacidades da aplicação.

Para suportar essa integração, o ecossistema oferece pacotes dedicados:

  • Foundgine.AI — integração de ferramentas via Microsoft.Extensions.AI

  • Foundgine.Agent.OpenAI — integração de agentes OpenAI

  • Foundgine.MCP — adaptador MCP que expõe capacidades semânticas via transporte HTTP Streamable em /mcp, com descoberta automatizada em .well-known/mcp.json

A identidade, o contexto de locatário e a autorização permanecem propriedade do host, fornecidos através do SecurityExecutionContext. Um benchmark dedicado mede o caminho do agente: como um agente chamando o Foundgine via MCP se compara a um agente chamando um caminho EF Core convencional diretamente, cobrindo contagem de chamadas de ferramentas, throughput, tempo de parede e carga estimada de tokens por transação.

A história E2E da cadeia de suprimentos torna essa arquitetura concreta: agente → MCP → Foundgine → PostgreSQL, com PlaceOrder como fatia vertical de alta garantia cobrindo autorização, propriedade, validação, precificação no servidor, verificações de inventário, mutação atômica, proteção contra replay e evidência de execução.

💡 Princípio fundamental

Agentes solicitam capacidades — mas nunca se tornam a autoridade que define como a capacidade é autorizada ou executada. O agente declara intenção; o Foundgine decide o que é permitido.


Evidência de Performance

O benchmark de performance mais documentado do Foundgine é o CoffeeBeanery PostgreSQL graph benchmark (12 de agosto de 2026). Três execuções independentes foram realizadas contra um workload de grafo PostgreSQL determinístico com a seguinte estrutura: Customer → CustomerBankingRelationship → Contract → Transaction.

Fixture do benchmark:

Parâmetro

Valor

Clientes

1.000

Relacionamentos

4.000

Contratos

12.000

Transações

48.000

Concorrência

1, 8, 32

Medição

10 segundos por caso

Aquecimento

3 segundos

Timeout de requisição

5 segundos

Resultados de consulta na concorrência 32

Implementação

RPS médio

p95 médio

Hot Chocolate + EF Core

139,4

338,4 ms

Foundgine — sem cache

2.781,0

20,3 ms

Foundgine — cache de plano de provedor

2.838,9

19,9 ms

Traduzindo em melhorias relativas:

  • ~20,0× o throughput da baseline sem cache

  • ~20,4× com cache de plano

  • ~16,7× menor latência p95 sem cache

  • ~17,0× menor latência p95 com cache

A vantagem em consultas grandes não depende do caching de plano de provedor — o ganho substancial já está presente sem ele. Em termos de confiabilidade, as três execuções bem-sucedidas reportaram 0 erros de aplicação, 0 timeouts e 0 requisições canceladas.

Quanto a mutações, o benchmark é transparente: a performance de mutação é mais variável e não deve ser apresentada como a principal reivindicação de performance do Foundgine. Os resultados são evidência específica de workload, não uma declaração universal de que o Foundgine é mais rápido que qualquer workload de EF Core ou GraphQL. A reivindicação apropriada é: Foundgine demonstra forte performance de consulta para este workload de grafo com muitos relacionamentos, com o caching de plano de provedor medido separadamente.

💡 Avalie com seu próprio workload

Resultados de benchmark dependem do workload, schema, versões de provedor, host e fixture. Antes de adotar o Foundgine, execute o benchmark contra o seu cenário real de dados e concorrência para validar os ganhos.


Ecossistema, Pacotes e Integrações

Ao contrário de uma biblioteca monolítica, o Foundgine é distribuído como um conjunto coordenado de pacotes NuGet. Isso dá aos usuários um caminho claro: dos contratos independentes de provedor, passando por semântica, planejamento e execução, até SQL, IA, MCP, GraphQL, AOT e componentes de autorização de alta garantia.

Snapshot NuGet: versão mais recente 0.5.2, alvo .NET 9.0, com 18 pacotes publicados e 7.801 downloads totais no conjunto de pacotes.

Pacote

Downloads

Função

Foundgine

481

Camada de execução semântica para .NET. Resolve intenção estruturada em planos autorizados.

Foundgine.Abstractions

1.039

Contratos e identificadores independentes de provedor.

Foundgine.Semantics

914

Intenção semântica, resolução, autorização e modelo de requisição.

Foundgine.Planning

721

Planejamento de execução independente de provedor.

Foundgine.Metadata

613

Modelo de metadados semânticos e registro de metadados em runtime.

Foundgine.Execution

675

Contratos de execução, fronteira de provedor e coordenação.

Foundgine.Sql

405

Provedor de execução SQL e compilação de mutação/consulta PostgreSQL.

Foundgine.Aot

404

Atributos de metadados AOT e suporte em runtime para metadados gerados.

Foundgine.InMemory

426

Provedor de execução em memória para teste e desenvolvimento.

Foundgine.Intent.Json

486

Adaptador de intenção JSON para requisições semânticas.

Foundgine.AI

240

Integração de ferramentas de IA usando Microsoft.Extensions.AI.

Foundgine.MCP

210

Adaptador MCP para expor capacidades semânticas e intenção neutra de provedor.

Foundgine.GraphQL.HotChocolate

446

Adaptador Hot Chocolate que converte seleções GraphQL em requisições semânticas.

Foundgine.Agent.OpenAI

246

Integração de agentes OpenAI.

Foundgine.GraphQL.HotChocolate.Mutations

378

Adaptador de mutações Hot Chocolate.

Foundgine.CoffeeBeanery.ProductComposite

117

Pacote de integração ProductComposite.

Foundgine.Authorization

0

Plano de controle de recuperação de autorização agnóstico de provedor.

Foundgine.HighAssurance.Postgres

0

Suporte de autorização e execução PostgreSQL de alta garantia.

A integração GraphQL é feita via adaptador Hot Chocolate (Foundgine.GraphQL.HotChocolate), que converte seleções GraphQL em requisições semânticas Foundgine — o GraphQL é usado como interface, mas não se torna o modelo de execução. O transporte MCP expõe capacidades semânticas via HTTP Streamable em /mcp, com metadados de descoberta disponíveis em .well-known/mcp.json.

A documentação está publicada no site Foundgine.io, incluindo um índice legível por máquina (llms.txt / llms-full.md) para ferramentas de IA e agentes LLM. Em termos de verificação externa, o Foundgine recebeu 90/100 na auditoria AST Security Audit & Verification da UnofficialOS, com notas máximas em Edge Sandbox Safety, Open-Source License Compliance, Documentation & Quickstart Quality e Repository Hygiene & Provenance.


Conformidade de Segurança e Mutações de Alta Garantia

O Foundgine trata requisitos de segurança como parte do contrato de execução semântica. Invariantes de segurança exigidos são propagados nos planos e verificados contra as capacidades do provedor antes da execução. Isso evita que um provedor execute silenciosamente uma capacidade cujas garantias de segurança ele não pode preservar.

A progressão de segurança inclui atualmente: registro de invariante de segurança, prova de invariante no nível do plano, conformidade do provedor SQL, conformidade de mutação de alta garantia e conformidade entre provedores.

Responsabilidade compartilhada

É fundamental entender o escopo: as fronteiras de autorização e execução do Foundgine visam reduzir caminhos de acesso inseguros, mas a segurança da aplicação permanece uma responsabilidade compartilhada. Autenticação, gestão de segredos, segurança de transporte, rate limiting, permissões de banco e segurança de implantação permanecem responsabilidades da aplicação e da infraestrutura.

Segurança de mutação de alta garantia

O cancelamento de mutação é propagado até a fronteira de execução do provedor e não pode confirmar após uma checagem de cancelamento falhar. O contexto de autorização de alta garantia PostgreSQL é seguro quanto ao ciclo de vida: identidade de ator/locatário é imutável, versões são estritamente monotônicas, identidades deletadas mantêm um tombstone de versão, e configuração de autorização ausente falha fechada (fail closed). Escritas de ciclo de vida usam o mesmo limite de serialização de bloqueio de linha que as leituras de autorização de mutação.

Integridade criptográfica

A evidência de autorização PostgreSQL persistida é criptograficamente vinculada à sua carga de segurança canônica completa usando uma chave HMAC-SHA256 mantida externamente, com ciclo de vida autorizado de chaves (estados ativo/verificação-apenas/retirado), proveniência de rotação monotônica, snapshots de anel atômicos imutáveis e verificações seguras de retirada contra evidência persistida. Chaves desconhecidas, incompatibilidade de algoritmo, valores alterados de ator/locatário/estado/versão/fingerprint e tombstones adulterados falham fechados. A rotação de chaves é suportada através de um anel de verificação de chaves, mantendo o material criptográfico fora do banco e da identidade de cache.

Portões de verificação

A arquitetura de verificação do Foundgine segue uma progressão rigorosa: testes unitáriosintegração PostgreSQLpenetração de autorizaçãoentrada semântica adversarialsmoke de performanceE2E da cadeia de suprimentos. Cada portão cobre um aspecto específico, dos contratos determinísticos até o workflow completo agente → MCP → Foundgine → PostgreSQL. No workflow CI de release, os portões de unidade, integração, penetração, adversarial e performance são pré-requisitos para a publicação de pacotes.


Primeiros Passos e Status Atual

Para desenvolvedores começando com o Foundgine, o caminho mais eficiente é começar pelo índice de documentação no site publicado em Foundgine.io.

A recomendação central de onboarding é: comece com o provedor InMemory (Foundgine.InMemory) para desenvolvimento e teste local antes de adotar SQL. Esse provedor executa o mesmo modelo semântico sem necessidade de banco de dados, permitindo iterar rapidamente sobre definições de modelo, intenção e autorização — e só depois validar contra um PostgreSQL real.

O alvo é .NET 9.0, e para implantações orientadas a Native AOT, o pacote Foundgine.Aot fornece atributos de metadados e suporte em runtime para metadados gerados, permitindo builds AOT sem perda de funcionalidade semântica.

É importante estabelecer expectativas de maturidade: a versão atual é 0.5.x, e a estabilidade da API pública deve ser tratada conforme a política de release e compatibilidade do projeto. Para notas de engenharia detalhadas e datadas, consulte o CHANGELOG.md — que registra mudanças significativas como a promoção do Foundgine.Authorization a biblioteca real (com quorum de testemunhas, ciclo de vida de credenciais, reconciliação de journal e failover) na versão 0.5.0.

A estrutura central do repositório inclui:

  • src/Foundgine.MCP — adaptador MCP de primeira classe

  • benchmarks/CoffeeBeanery.Performance/ — benchmark de consulta PostgreSQL

  • benchmarks/AgentEndToEnd/ — benchmark do caminho de agente

  • docs-site/ — fonte do site publicado

Para onboarding orientado a agentes, o llms.txt legível por máquina fornece um índice de documentação que agentes de IA e ferramentas LLM podem consumir diretamente.

💡 Iteração local primeiro

Use o provedor InMemory (Foundgine.InMemory) para iterar sobre modelos semânticos, intenção e regras de autorização localmente — sem infraestrutura de banco — antes de mover para workloads SQL reais.


FAQ

O Foundgine é um substituto de ORM?

Não. O Foundgine não é um substituto de ORM — e também não é um banco de dados, servidor GraphQL, LLM, framework de agentes ou provedor de identidade. Ele é uma camada de execução que pode ficar abaixo de ORMs e outros tipos de sistemas, atuando como fronteira de execução semântica que normaliza intenção estruturada em planos autorizados.

Posso usar GraphQL como minha interface?

Sim. O pacote Foundgine.GraphQL.HotChocolate fornece um adaptador que converte seleções GraphQL em requisições semânticas Foundgine. O ponto importante é que o GraphQL é usado como interface, mas não se torna o modelo de execução — a semântica de execução continua centralizada no Foundgine.

O Foundgine suporta Native AOT?

Sim. O pacote Foundgine.Aot fornece atributos de metadados e suporte em runtime para metadados gerados, habilitando implantações orientadas a Native AOT sem sacrificar a funcionalidade semântica.

Como o Foundgine autentica agentes de IA?

A identidade, o contexto de locatário e a autorização permanecem propriedade do host, fornecidos através do SecurityExecutionContext. Agentes de IA nunca recebem credenciais diretas de banco — eles declaram intenção estruturada, e o Foundgine decide o que é permitido e como executar.

Quais provedores são suportados?

Atualmente, o Foundgine suporta SQL via PostgreSQL (Foundgine.Sql) e execução em memória (Foundgine.InMemory). Provedores futuros estão planejados na arquitetura, que separa a intenção semântica da execução física.

Qual é a responsabilidade de segurança compartilhada?

O Foundgine cuida dos limites de autorização e execução. Autenticação, gestão de segredos, segurança de transporte (TLS), rate limiting, permissões de banco e segurança de implantação permanecem responsabilidades da aplicação e da infraestrutura.

Como expor o Foundgine a ferramentas MCP?

Use o adaptador Foundgine.MCP, que expõe capacidades semânticas e intenção neutra de provedor via transporte HTTP Streamable em /mcp. Os metadados de descoberta estão disponíveis em .well-known/mcp.json, e a identidade, contexto de locatário e autorização são fornecidos pelo host via SecurityExecutionContext.

O caminho de mutação é tão rápido quanto consultas?

Não necessariamente. Os benchmarks mostram que a performance de mutação é mais variável e não deve ser apresentada como a principal reivindicação de performance do Foundgine. Consultas são a principal evidência de performance, com ganhos de até ~20× throughput em workloads de grafo com muitos relacionamentos.

Comentários

Comentários

Ainda não há comentários. Seja o primeiro a compartilhar sua opinião!