swlaschin/DomainModelingMadeFunctional
49.3
Weak · 21 September 2026
3.8k
lines of production code
F#
primary language
7
measurements over time
What this system is
This system is an order processing service that handles the serialization and deserialization of order data. It has been modernized to run on .NET Standard 2.0, replacing legacy .NET Framework dependencies with standard MSBuild and the built-in System.Text.Json library. The build process has also been simplified by removing custom FAKE scripts in favor of standard .NET CLI commands.
Behavioural changes
Migrated JSON serialization from Newtonsoft.Json to System.Text.Json
The OrderTaking module now uses the built-in System.Text.Json library for serializing and deserializing JSON data, replacing the previous dependency on Newtonsoft.Json. This change removes the external JSON library requirement and updates the API layer to use the modern .NET JSON serializer, which may affect how complex types are handled during order processing.
src/OrderTaking · high confidence
Removed FAKE build system and simplified build process
The project has removed the FAKE build scripts (build.fsx, build.cmd, build.sh) and the Paket package manager, replacing them with the standard .NET CLI (dotnet build). The solution file has been updated to include a 'doc' folder instead of 'Solution Items', and the README has been updated to reflect the new build instructions and maintenance status.
(repo-wide) · high confidence
Dependencies
Migrate from .NET Framework 4.6.1 to .NET Standard 2.0 and replace Paket with MSBuild PackageReference
The project has been upgraded from targeting .NET Framework 4.6.1 to .NET Standard 2.0, enabling broader cross-platform compatibility. The legacy Paket dependency manager and its associated files (paket.dependencies, paket.lock) have been removed in favor of standard MSBuild PackageReference for the System.Text.Json library (version 5.0.2). This change also removes the dependency on FAKE and other previously managed packages, simplifying the build process and aligning with modern .NET project structures.
(dependencies) · medium 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 51 → 49 (-2.0)
- Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 95 → 95 (-0.4)
- Architecture 100 → 92 (-7.6)
- Maturity 51 → 51 (+0.0)
- Readiness 24 → 23 (-0.1)
- Security 100 → 100 (+0.0)
Resolved (28)
- Duplicated block (10 lines × 2) (src/OrderTaking/PlaceOrder.Dto.fs)
- Duplicated block (13 lines × 2) (src/OrderTaking/PlaceOrder.Implementation.fs)
- Duplicated block (14 lines × 2) (src/OrderTaking/PlaceOrder.Dto.fs)
- Duplicated block (15 lines × 2) (src/OrderTaking/PlaceOrder.Implementation.fs)
- Duplicated block (16 lines × 2) (src/OrderTaking/PlaceOrder.Implementation.fs)
- Duplicated block (20 lines × 2) (src/OrderTaking/PlaceOrder.Implementation.fs)
- Duplicated block (23 lines × 2) (src/OrderTaking/Common.SimpleTypes.fs)
- Duplicated block (23 lines × 2) (src/OrderTaking/PlaceOrder.Implementation(without effects).fs)
- Duplicated block (23 lines × 2) (src/OrderTaking/PlaceOrder.Implementation.fs)
- Duplicated block (24 lines × 2) (src/OrderTaking/PlaceOrder.Dto.fs)
- Duplicated block (25 lines × 2) (src/OrderTaking/PlaceOrder.Api.fs)
- Duplicated block (27 lines × 2) (src/OrderTaking/Common.SimpleTypes.fs)
- Duplicated block (27 lines × 2) (src/OrderTaking/PlaceOrder.Api.fs)
- Duplicated block (28 lines × 2) (src/OrderTaking/Result.fs)
- Duplicated block (30 lines × 2) (src/OrderTaking/PlaceOrder.Implementation(without effects).fs)
- Duplicated block (34 lines × 2) (src/OrderTaking/PlaceOrder.PublicTypes.fs)
- Duplicated block (36 lines × 2) (src/OrderTaking/Common.SimpleTypes.fs)
- Duplicated block (36 lines × 2) (src/OrderTaking/PlaceOrder.Dto.fs)
- Duplicated block (38 lines × 2) (src/OrderTaking/PlaceOrder.Dto.fs)
- Duplicated block (39 lines × 2) (src/OrderTaking/Result.fs)
- …and 8 more
New (29)
- Documentation: no usage examples (README.md)
- Duplicated block (10 lines × 2) (src/OrderTaking/PlaceOrder.Dto.fs)
- Duplicated block (13 lines × 2) (src/OrderTaking/PlaceOrder.Implementation.fs)
- Duplicated block (14 lines × 2) (src/OrderTaking/PlaceOrder.Dto.fs)
- Duplicated block (149 lines × 2) (src/OrderTaking/Common.SimpleTypes.fs)
- Duplicated block (15 lines × 2) (src/OrderTaking/PlaceOrder.Implementation.fs)
- Duplicated block (23 lines × 3) (src/OrderTaking/PlaceOrder.Implementation(without effects).fs)
- Duplicated block (232 lines × 2) (src/OrderTaking/Result.fs)
- Duplicated block (232 lines × 2) (src/OrderTaking/Result.fs)
- Duplicated block (24 lines × 2) (src/OrderTaking/Common.SimpleTypes.fs)
- Duplicated block (25 lines × 3) (src/OrderTaking/PlaceOrder.Implementation(without effects).fs)
- Duplicated block (26 lines × 2) (src/OrderTaking/PlaceOrder.Implementation(without effects).fs)
- Duplicated block (29 lines × 2) (src/OrderTaking/PlaceOrder.Implementation.fs)
- Duplicated block (34 lines × 2) (src/OrderTaking/PlaceOrder.Api.fs)
- Duplicated block (35 lines × 2) (src/OrderTaking/PlaceOrder.PublicTypes.fs)
- Duplicated block (37 lines × 2) (src/OrderTaking/PlaceOrder.Implementation.fs)
- Duplicated block (39 lines × 2) (src/OrderTaking/PlaceOrder.Dto.fs)
- Duplicated block (40 lines × 2) (src/OrderTaking/PlaceOrder.Dto.fs)
- Duplicated block (46 lines × 2) (src/OrderTaking/PlaceOrder.Implementation(without effects).fs)
- Duplicated block (5 lines × 2) (src/OrderTaking/PlaceOrder.Dto.fs)
- …and 9 more
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
swlaschin/DomainModelingMadeFunctional 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 21 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 8153616b1dc0d5a0bb9e965cbe14a46b0dd4f3cf — the exact code this score is about.
- Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-b84573e22831.