destructurama/fsharp
64.1
Adequate · 3 October 2026
88
lines of production code
F#
primary language
2
measurements over time
What this system is
Destructurama.FSharp is a library that provides a destructuring policy for Serilog, enabling structured logging of F\# data types such as tuples, records, and union types. It allows Serilog to unwrap these native F\# constructs into readable formats instead of treating them as generic objects. The system is built on .NET 10 and F\# 11, featuring a modernized SDK-style project structure and comprehensive test coverage for its destructuring capabilities.
Features
Native support for destructuring F\# types in Serilog
The library now includes a destructuring policy that understands common F\# data types, allowing Serilog to unwrap and display F\# tuples, records, union types, and lists in a structured format rather than as generic objects.
src/Destructurama.FSharp · high confidence
Behavioural changes
2 commits (0 fixes) modifying assets
A change to existing behaviour in assets — 2 commits, 2 files.
assets · medium confidence · unverified
Migrate to .NET 10 solution format and modernize build configuration
The project now uses the new .NET 10 solution file format (.slnx) to manage project references and shared items, replacing the legacy .sln structure. Build properties have been updated to enable nullable context, implicit usings, and .NET analyzers, while assembly signing and source embedding (SourceLink) are standardized via a new Directory.Build.props. The MinVer tooling has been upgraded to version 7.0.0 for version management, and a new F\# sample application has been added to demonstrate F\# type destructuring with Serilog.
src · high confidence
Repository renamed and restructured as Destructurama.FSharp
The project has been renamed from Serilog.Extras.FSharp to Destructurama.FSharp, moving its namespace from Serilog.Extras.FSharp to Destructurama.FSharp. The repository structure has been updated with a new .editorconfig for consistent code formatting, a .gitignore, and an Apache 2.0 license. The original implementation file (SerilogExtrasFSharp.fs) has been removed, indicating a codebase restructuring or migration to a new source structure.
(repo-wide) · high confidence
Test coverage
Added F\# type destructuring tests
Added a new test suite for the F\# destructuring policy, verifying that tuples, struct tuples, union types, struct unions, and records are correctly destructured by the library.
src/Destructurama.FSharp.Tests · high confidence
Dependencies
Upgrade to .NET 10 and F\# 11 with modernized project structure
The library and its samples have been upgraded to target .NET 10.0, and the core dependency on FSharp.Core has been bumped to version 11.0.100. The project structure has been modernized by migrating from the legacy .NET Framework-style Serilog.Extras.FSharp.fsproj to the SDK-style project format, with the main library targeting netstandard2.0 and test/sample projects targeting net10.0. Additionally, Serilog has been updated to version 4.4.0, and the test suite now uses xUnit 2.9.3, xunit.runner.visualstudio 3.1.5, and coverlet.msbuild 10.0.1.
(dependencies) · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Score
- CAI 66 → 64 (-1.7)
- Rubric changed (rubric-2026.09.15 → rubric-2026.10.1) — scores are not directly comparable.
Lenses
- Code Health 100 → 100 (+0.0)
- Architecture 100 → 96 (-3.5)
- Maturity 49 → 49 (+0.0)
- Readiness 79 → 79 (+0.0)
- Security 73 → 68 (-5.3)
Resolved (2)
- Documentation: no installation or build instructions (README.md)
- Documentation: no usage examples (README.md)
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
destructurama/fsharp was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 3 October 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 92e8c5a7a3a859ef0feaa4e51f1b5dd222d73100 — the exact code this score is about.
- Scored under rubric-2026.10.1 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-4f4226d619ea.