- Introduce `MaxDepthBehavior` option (`Throw`, `Truncate`, `Disable`) for explicit depth-limit handling in AcBinarySerializer and SGen.
- Default is now `Throw` (fail-fast); `ShallowCopy` preset uses `Truncate` for shallow-copy semantics.
- Refactor runtime and SGen paths to use unified `TryEnterRecursion`/`ExitRecursion` for correct wire output and inc/dec symmetry.
- Add focused tests to diagnose SGen+Truncate wire-misalignment bug (see `BINARY_ISSUES.md#accore-bin-i-t7k3`).
- Update docs and comments to clarify new behavior and document Toon serializer's current lack of `MaxDepthBehavior` support.
- Adjust tests and usages for new semantics and improved safety.
.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)