Skip to content
CAI
Software that uses CAICheck a score

ericfortmeyer/HODI

66.2

Adequate · 3 October 2026

423

lines of production code

F#

primary language

2

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

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.