C# implementation of the MetaObjects metadata Loader. Targets .NET 8 (C# 12).
- Loader — multi-file JSON / YAML loader with overlay merge and cross-file
extends:resolution. - Canonical serializer — byte-identical output to the TypeScript reference (the cross-language wire format).
- YAML authoring front-end — sigil-free attrs +
[]-array suffix + fused-key default subtype + the D2 type-coercion guard (ADR-0006), via YamlDotNet. The cross-language interchange remains canonical JSON; YAML lowers to it. - Conformance runners — auto-discover
fixtures/conformance/*ANDfixtures/yaml-conformance/*, both shared with the other ports (TS/Python/Java). The conformance corpora are the oracles — when a fixture goes red the port is wrong, never the fixture.
- Codegen (each language emits its own idiomatic per-language code; byte equivalence is not a goal at the codegen layer).
- Runtime helpers (ObjectManager, filter parsing, CRUD endpoints) — per-language runtime concerns.
- The
dbProviderprovider — the conformance corpus uses onlymetaobjects-core-types.
To scaffold MetaObjects context files (.metaobjects/AGENTS.md, .metaobjects/CLAUDE.md, and
.claude/skills/metaobjects-*/) into your project so your AI assistant understands how to
author metadata and run codegen, use the Node meta CLI:
npx meta agent-docs --server csharp(Running dotnet meta agent-docs prints this redirect and exits.)
cd csharp
dotnet testThe test suite includes per-fixture Lint and Conformance theories over the shared corpus at ../fixtures/conformance/ plus unit tests for the parser, serializer, registry, tree, and loader.
MetaObjects/— class library (MetaObjects.csproj)Constants.cs,Errors.cs,Registry.cs,Provider.cs,DataType.cs,DataConverter.csMeta/MetaData.csand the concrete node classes (MetaRoot,MetaObject,MetaField, etc.)CoreAttrSchemas.cs,CoreTypes.cs— themetaobjects-core-typesproviderParser.cs,SuperResolve.cs,SerializerJson.csYamlDesugar.cs,ParserYaml.cs— YAML authoring front-end (ADR-0006)Loader/—IMetaDataSource,InMemoryStringSource,FileSource,DirectorySource,UriSource,MetaDataLoader(withFromDirectory/FromUris/FromStringstatic factories),ValidationPasses
MetaObjects.Conformance.Tests/— xUnit test project + conformance harnessConformanceAdapter.cs,FixtureDiscovery.cs,OperationScript.cs,FixtureLint.cs,Navigator.cs,CapabilityBinding.cs,Result.cs,ExpectedFailures.cs,conformance-expected-failures.json,ConformanceTests.csYamlConformanceTests.cs,YamlDesugarTests.cs,yaml-conformance-expected-failures.json— YAML conformance + unit tests- Per-pipeline-stage unit tests (
ErrorsTests,RegistryTests,TreeTests,ParserTests,SerializerTests,LoaderTests,SuperResolveTests,ValidationTests, …)