devmentors/modular-framework
41.0
Weak · 21 September 2026
3.9k
lines of production code
C#
primary language
4
measurements over time
What this system is
This is a C\#-based software system, likely a modular infrastructure or library, that has been modernized to use C\# 10+ syntax and target .NET 7. It provides core abstractions and utilities, such as a generic \Contract\<T\>\ type and CORS policy configuration, while managing dependencies like Swashbuckle and Humanizer.
Behavioural changes
Modernizes C\# 10+ syntax and refines abstractions
The codebase has been updated to use C\# 10+ features, primarily replacing nested class declarations with top-level types and adding global using directives. This includes flattening nested interfaces and classes in the Modular.Abstractions and Modular.Infrastructure projects. Additionally, the \Contract\<T\>\ class now enforces that its generic type parameter must implement \IMessage\, and the \AddCorsPolicy\ extension now accepts an \IConfiguration\ parameter to load CORS settings from configuration rather than relying on a singleton service.
src/Modular.Infrastructure · high confidence
Dependencies
Upgrade .NET 7 and update dependencies
The project has been upgraded to target .NET 7.0, replacing the previous .NET 5.0 target framework. Additionally, multiple NuGet packages have been updated to their latest compatible versions, including Microsoft.Extensions libraries, ASP.NET Core components, and various third-party libraries such as Humanizer, MessagePack, and Swashbuckle.
(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 35 → 41 (+5.6)
- Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 65 → 64 (-0.2)
- Architecture 72 → 72 (+0.0)
- Maturity 35 → 51 (+16.0)
- Readiness 20 → 24 (+4.2)
- Security 59 → 55 (-3.9)
Resolved (24)
- Duplicated block (11 lines × 2) (src/Modular.Infrastructure/Postgres/Decorators/TransactionalCommandHandlerDecorator.cs)
- Duplicated block (13 lines × 2) (src/Modular.Infrastructure/Messaging/Outbox/OutboxCleanupProcessor.cs)
- Duplicated block (14 lines × 2) (src/Modular.Infrastructure/Services/AppInitializer.cs)
- Duplicated block (16 lines × 2) (src/Modular.Infrastructure/Messaging/Outbox/InboxCleanupProcessor.cs)
- Duplicated block (8 lines × 2) (src/Modular.Infrastructure/Logging/Decorators/LoggingCommandHandlerDecorator.cs)
- High CVE: MessagePack 2.4.59
- High CVE: MessagePack 2.4.59
- Medium CVE: MessagePack 2.4.59
- Medium CVE: MessagePack 2.4.59
- Medium CVE: MessagePack 2.4.59
- Medium CVE: MessagePack 2.4.59
- Medium CVE: MessagePack 2.4.59
- Medium CVE: MessagePack 2.4.59
- Medium CVE: MessagePack 2.4.59
- Medium CVE: MessagePack 2.4.59
- Medium CVE: MessagePack 2.4.59
- Medium CVE: MessagePack 2.4.59
- No exposed public API
- There is no architecture or design documentation for the modular framework (e.g. how module clients communicate, what happens when a module fails). (README.md)
- early-stage repository — too few commits for a meaningful bus factor
- …and 4 more
New (12)
- Documentation: no installation or build instructions (README.md)
- Documentation: no usage examples (README.md)
- Duplicated block (10 lines × 2) (src/Modular.Infrastructure/Logging/Decorators/LoggingCommandHandlerDecorator.cs)
- Duplicated block (13 lines × 2) (src/Modular.Infrastructure/Messaging/Outbox/OutboxCleanupProcessor.cs)
- Duplicated block (14 lines × 2) (src/Modular.Infrastructure/Postgres/Decorators/TransactionalCommandHandlerDecorator.cs)
- Duplicated block (14 lines × 2) (src/Modular.Infrastructure/Services/AppInitializer.cs)
- Duplicated block (16 lines × 2) (src/Modular.Infrastructure/Messaging/Outbox/InboxCleanupProcessor.cs)
- End-of-life runtime: .NET net7.0
- High CVE: MessagePack 2.4.59
- The parameter modulePart in an unspecified context (likely a helper or internal method) uses a generic identifier modulePart, whereas the property IModule.Name and other parameters use Name for the same concept (the identifier/name of a module). modulePart is ambiguous and inconsistent with the standard Name convention used elsewhere for module identification.
- misleading comment (src/Modular.Abstractions/Commands/ICommand.cs)
- misleading comment (src/Modular.Infrastructure/Modules/Extensions.cs)
Architecture
- Unchanged — 2 containers · 0 contexts · 0 edges
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
devmentors/modular-framework 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 6911944f62cf8f24fc4a98d89bd45c0a1bc4e5bd — 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-fa71c66cabd8.