Architecture Decision Records
Architecture Decision Records (ADRs) document significant technical decisions made during the development of Granit.
Each ADR follows a consistent template: Context, Decision, Evaluated Alternatives, Justification, and Consequences.
ADR index
Section titled “ADR index”| # | Title | Status | Date | Scope |
|---|---|---|---|---|
| 001 | Observability Stack — Serilog + OpenTelemetry | Accepted | 2026-02-21 | Granit.Observability |
| 002 | Redis via StackExchange.Redis — Distributed Cache | Accepted | 2026-02-21 | Granit.Caching |
| 003 | Testing Stack — xUnit v3, NSubstitute and Bogus | Accepted | 2026-02-21 | granit-dotnet |
| 004 | Asp.Versioning — REST API Versioning | Accepted | 2026-02-22 | Granit.ApiVersioning |
| 005 | Wolverine + Cronos — Messaging, CQRS and Scheduling | Accepted | 2026-02-22 | Granit.Wolverine |
| 006 | FluentValidation — Business Validation Framework | Accepted | 2026-02-24 | Granit.Validation |
| 007 | Testcontainers — Containerized Integration Tests | Accepted | 2026-02-24 | Integration Tests |
| 008 | SmartFormat.NET — CLDR Pluralization | Accepted | 2026-02-26 | Granit.Localization |
| 009 | Scalar.AspNetCore — Interactive API Documentation | Accepted | 2026-02-26 | Granit.ApiDocumentation |
| 010 | Scriban — Text Template Engine | Accepted | 2026-02-27 | Granit.Templating.Scriban |
| 011 | ClosedXML — Excel Spreadsheet Generation | Accepted | 2026-02-27 | Granit.DocumentGeneration.Excel |
| 012 | PuppeteerSharp — HTML to PDF Rendering | Accepted | 2026-02-28 | Granit.DocumentGeneration.Pdf |
| 013 | Magick.NET — Image Processing | Accepted | 2026-02-28 | Granit.Imaging.MagickNet |
| 014 | Migrate FluentAssertions to Shouldly | Accepted | 2026-02-28 | granit-dotnet |
| 015 | Sep — High-Performance CSV Parsing | Accepted | 2026-03-01 | Granit.DataExchange.Csv |
| 016 | Sylvan.Data.Excel — Streaming Excel File Reading | Accepted | 2026-03-01 | Granit.DataExchange.Excel |