NativeAOT: full DAMs propagation, trimmer-safe serializers
- Propagate [DynamicallyAccessedMembers] from all public Serialize<T>/Deserialize<T> APIs through all type/property metadata and factories, centralizing requirements in TypeMetadataBase.RequiredMembers.
- Add [UnconditionalSuppressMessage] for known trimmer blind spots (polymorphism, inheritance, nested types) with detailed justifications.
- Update all internal delegate/factory signatures to preserve DAMs context.
- Annotate public APIs for AOT safety; document consumer requirements for SGen or rooted model assemblies.
- Update BINARY_FEATURES.md with NativeAOT/trimmer compatibility, guidance, and limitations.
- Adjust benchmark project for AOT/JIT parity and add i18n test data.
- No breaking API changes; SGen and Runtime paths remain, now fully AOT-compatible.
.NET 9 core framework providing serialization (Binary, JSON, Toon), entity abstractions, database access, services, and shared utilities. Used as the foundation layer for AyCode applications.
LLM Context
Domain rules and key pitfalls live in a single file: .github/copilot-instructions.md
Tool
Auto-loaded
Action needed
GitHub Copilot
✅copilot-instructions.md
None
Claude Code
✅CLAUDE.md → references above
None
Cursor / Windsurf
✅README.md
Read copilot-instructions.md via @file
Solution-level docs in docs/:
Document
Topic
GLOSSARY.md
Core terminology reference
ARCHITECTURE.md
Solution layers, dependency rules
CONVENTIONS.md
Coding conventions
Project-level docs — each project's docs/ folder documents the code it defines:
Project
Documents
AyCode.Core/docs/
BINARY/ (README, FORMAT, FEATURES, OPTIONS, …), LOGGING/ (README, ISSUES, TODO)