Home → Documentation → Foundation → Components
Foundation owns:
Foundation never owns:
Foundgine.Foundation
Metadata/
Interfaces/
Planning/
Ids/
Primitives/
Utilities/
Each namespace contains immutable contracts shared across the framework.
Foundation intentionally knows nothing about Runtime.
It should never reference:
This separation keeps contracts stable.
Foundation does not know SQL exists.
Metadata describes entities and relationships—not SQL syntax.
Identifier quoting, dialects, and serialization belong entirely to the SQL project.
Foundation has no knowledge of:
Those projects simply consume Foundation contracts.
Foundation naturally supports Native AOT because it contains:
No reflection or runtime discovery should exist in Foundation.
Foundation should evolve slowly.
Breaking changes ripple throughout every dependent project.
Changes should prioritize:
Foundation is the most stable project in the solution.
| ← Previous: Contracts | Next: Extensibility → |