ericfortmeyer/HODI
66.2
Adequate · 3 October 2026
423
lines of production code
F#
primary language
2
measurements over time
What this system is
HODI is a F\# library designed for higher-order dependency injection within HTTP handlers, specifically targeting web applications built on ASP.NET Core. It provides functions to automatically inject up to six dependencies into handler signatures, leveraging Microsoft.Extensions.DependencyInjection for service resolution. The system is distributed as a NuGet package and includes comprehensive testing to verify correct dependency retrieval.
Features
Expanded dependency injection injectors for up to six dependencies
The HODI library now provides \inject\ through \inject6\ functions, allowing users to inject up to six dependencies into higher-order functions with automatic type inference. This change, introduced in a new \DependencyInjection.fs\ module, expands the previous capability (which likely supported fewer dependencies) to handle more complex handler signatures without manual service resolution.
src/HODI · high confidence
Initial project release and repository setup
This change introduces the initial version (2.4.1) of the HODI library, a F\# higher-order dependency injection toolkit. The repository now includes the core solution structure (HODI.sln), the main project file, and configuration for CI/CD workflows, code coverage (Coverlet), and pre-commit hooks. Documentation is established with a README explaining usage with Giraffe/web handlers, a CHANGELOG tracking history, a SECURITY policy, and an Apache 2.0 LICENSE. The package is configured for NuGet distribution via a standard nuget.config.
(repo-wide) · high confidence
Test coverage
Added tests for dependency injection functions
Added a new test suite in \tests/HODI.Tests/DependencyInjectionTests.fs\ that verifies the behavior of the \inject\ through \inject6\ functions. These tests confirm that the dependency injection system correctly retrieves the specified number of dependencies (from one to six) from the service container and passes them to the provided handlers.
tests · high confidence
Dependencies
Initial release of HODI dependency injection library
The HODI library is introduced as a new package for injecting dependencies into HTTP handlers in F\# web applications. It targets .NET 10.0 and relies on Microsoft.AspNetCore.Http (versions 2.2 to 3.0) and Microsoft.Extensions.DependencyInjection (versions 7.0 to 11.0). A corresponding test project is added, targeting .NET 10.0 and utilizing NUnit 4.6.1, NSubstitute 6.0.0, and coverlet.collector 10.0.1 for testing and coverage.
(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 → 66 (-0.2)
- Rubric changed (rubric-2026.09.15 → rubric-2026.10.1) — scores are not directly comparable.
Lenses
- Code Health 97 → 97 (+0.0)
- Architecture 100 → 96 (-3.8)
- Maturity 51 → 51 (+0.0)
- Readiness 72 → 72 (-0.2)
- Security 80 → 80 (+0.0)
Resolved (2)
- Documentation: no installation or build instructions (README.md)
- Documentation: no usage examples (README.md)
New (2)
- Outdated: NUnit
- Outdated: coverlet.collector
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
ericfortmeyer/HODI 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 4d1b0a8e32dab0852a9783b234d09060d5410346 — 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.