CMake project structure with ymir_core, ymir_naval, and ymir_adapters static library targets. Catch2 and nlohmann/json via FetchContent; SUNDIALS and CGAL probed as optional system deps (required from M1/M2). Smoke tests pass on macOS ARM64. Docker multi-stage image for Linux x86_64. GitHub Actions CI matrix: Linux x86_64, macOS ARM64, Windows x86_64. Code quality tooling: .clang-format, .clang-tidy, Doxyfile. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Architecture Decision Records
ADRs document significant architectural decisions — what was decided, why, and what the consequences are. They are immutable once accepted; superseded decisions get a new ADR that references the old one.
Format
# ADR-NNN: Title
**Status**: Proposed | Accepted | Deprecated | Superseded by ADR-XXX
**Date**: YYYY-MM-DD
## Context
What situation prompted this decision? What forces are at play?
## Decision
What was decided, stated clearly and directly.
## Consequences
What becomes easier? What becomes harder? What are the trade-offs?
Index
| ADR | Title | Status |
|---|---|---|
| — | (none yet) | — |