Foundgine is a .NET application-domain semantic and execution platform for AI-native applications.
Foundgine turns an application’s domain model into a safe, executable interface for AI agents.
The project should not be described as another LLM framework, RAG framework, MCP implementation, ORM, workflow engine, or database.
AI agents can reason about language, but they do not automatically understand the legal vocabulary and execution semantics of a business application.
A real application contains:
Foundgine turns those facts into an explicit semantic execution surface.
The application remains the source of truth.
Claude / ChatGPT / Cursor / other agents
│
MCP / API / SDK
│
▼
┌─────────────────┐
│ Foundgine │
│ │
│ Domain semantics│
│ Resolution │
│ Policy │
│ Planning │
│ Execution │
│ Verification │
│ Evidence │
└────────┬────────┘
│
┌──────────┼──────────┐
▼ ▼ ▼
Structured Domain External
data actions data
Foundgine owns the middle.
It does not own the outer AI reasoning stack or every downstream infrastructure system.
DOMAIN MODEL
↓
SEMANTIC MODEL
↓
AI INTENT
↓
RESOLUTION
↓
POLICY / AUTHORIZATION
↓
EXECUTION PLAN
↓
PREVIEW
↓
EXECUTE
↓
VERIFY
↓
EVIDENCE
↓
AI RESPONSE
A read may use a shorter path. A mutation should normally include policy, preview/approval, execution and verification.
Compile-time knowledge:
What entities exist?
What relationships exist?
What actions are legal?
What fields are searchable?
What policies apply?
Runtime knowledge:
What did the user mean?
Which entity did they mean?
Which action satisfies the intent?
What plan should execute?
The future Roslyn compiler defines the legal application vocabulary.
It does not generate fixed natural-language plans.
src/
├── Foundgine.Abstractions
├── Foundgine.Foundation
├── Foundgine.Metadata
├── Foundgine.Diagnostics
├── Foundgine.Builders
├── Foundgine.Execution.Contracts
├── Foundgine.Planning
└── Foundgine.Providers
samples/
└── Foundgine.Samples.Banking
tests/
├── Foundgine.Tests
├── Foundgine.Foundation.Tests
├── Foundgine.Metadata.Tests
├── Foundgine.Builders.Tests
├── Foundgine.Diagnostics.Tests
├── Foundgine.Execution.Contracts.Tests
├── Foundgine.Planning.Tests
└── Foundgine.Providers.Tests
Historical GraphQL/Graphgine material is under archive/.
Stable platform contracts.
Generic primitives and CQRS foundations.
Entity, column, relationship, join and related metadata.
Diagnostics infrastructure.
Logical query-plan structures.
Dynamic query planning and mutation-plan structures.
Execution context, execution rows/results/statistics, provider plans/nodes and provider contracts.
Provider plan compilation and execution.
The provider layer is active but not universally complete.
The canonical sample is samples/Foundgine.Samples.Banking.
It uses:
Customer
Account
Transaction
and proves:
Domain
↓
hand-written Foundgine.Metadata
↓
Foundgine.Planning.QueryPlanner
↓
Foundgine.Builders.QueryPlan
↓
Foundgine.Providers.SqlPlanCompiler
↓
ProviderPlan
↓
SqlExecutionProvider
↓
real SQLite database
↓
ExecutionRow
The sample uses an in-memory SQLite database with a real connection.
It deliberately has no GraphQL, Hot Chocolate or Graphgine dependency.
Run:
dotnet run --project samples/Foundgine.Samples.Banking
Already demonstrated by the Banking sample.
Represent:
Entity
Identity
Field
Relationship
Search capability
Action
Policy
Resolve phrases such as:
"Ada Lovelace"
"her checking account"
"the last transaction"
to explicit domain references with reasons/evidence.
Demonstrate:
"Find Ada's last five transactions."
through:
intent
→ resolution
→ query plan
→ provider plan
→ database
→ evidence
Expose explicit business actions such as:
IssueRefund
SuspendAccount
ChangeTier
Agents may select declared actions only.
No arbitrary CLR invocation.
Authorization participates in planning.
Example:
IssueRefund
requires Refund permission
and amount <= configured limit
Mutations become:
Plan
→ Preview
→ Approve
→ Execute
After execution:
Execute
→ re-read/verify
→ produce evidence
Evidence should answer what was selected, why, what policy ran, what executed and how it was verified.
MCP is a thin external adapter:
Agent
→ MCP
→ Foundgine semantic API
Initial semantic surface can include:
discover
resolve
plan/query
preview
execute
evidence
Potential targets:
Structured data
Domain actions
Semantic retrieval
External data
Generate:
Do not turn the core into:
Use/integrate with existing technology.
Foundgine should not claim to replace:
Its proposed position is complementary:
AI reasoning
↓
Foundgine application semantics + execution
↓
existing application infrastructure
Graphgine was the previous GraphQL product direction.
It used GraphQL/Hot Chocolate and source-generation infrastructure.
That work is historical and lives under archive/.
GraphQL can be an adapter in the future, but it is not the current identity of Foundgine.
Foundgine is not yet a production-ready autonomous-agent platform.
Implemented/proven:
Next:
When asked what Foundgine is:
Foundgine is a .NET application-domain semantic and execution platform for AI-native applications. It turns an application’s domain model into a safe, executable interface for AI agents.
When asked whether it is an AI framework:
It is not intended to be a general LLM or agent framework. It owns the application-domain semantic and execution boundary that those systems can call.
When asked whether it is MCP:
MCP is planned as an adapter. Foundgine is the semantic execution layer behind it.
When asked whether it is RAG:
Retrieval can become an execution target, but RAG is not the product definition.
When asked whether it is production ready:
No. The repository has a real lower-level execution proof, while the AI-native semantic, policy, mutation-safety and MCP layers remain active roadmap work.
README.mddocs/00-Direction/README.mddocs/00-Direction/Milestones.mddocs/CURRENT-STATUS.mddocs/02-Architecture/README.mddocs/09-AI/README.mddocs/11-Samples/README.mddocs/13-Reference/Roadmap.mdllms.txtai.seo.md