docs(health): align shared-contract to shipped API + per-lib CLAUDE.md + cleanup

- Contract: DatabaseHealthCheck<TContext> ctor now shows IServiceProvider (resolves
  IDbContextFactory<TContext> when registered, else a scoped TContext; pool-safe)
- Contract: RequireActiveNode gains retryAfterSeconds = 5 default parameter
- Packages: remove dangling AspNetCore.HealthChecks.UI.Client PackageVersion (no
  csproj referenced it)
- Tests: fix CS8625 in RoleLessCases — use object?[] so null role rows compile
  warning-free under Nullable=enable
- Add ZB.MOM.WW.Health/CLAUDE.md (packages, responsibilities, consumer matrix,
  build/test/pack commands, status + pointer to components/health/)
This commit is contained in:
Joseph Doherty
2026-06-01 07:17:18 -04:00
parent 0c087d150d
commit 76295695ee
4 changed files with 81 additions and 8 deletions
@@ -14,12 +14,12 @@ namespace ZB.MOM.WW.Health.Akka.Tests;
public sealed class ActiveNodeDecisionTests
{
// Role-less: requiredRole == null. hasRole is irrelevant. Healthy iff (selfUp && isLeader), else Unhealthy.
public static IEnumerable<object[]> RoleLessCases() => new[]
public static IEnumerable<object?[]> RoleLessCases() => new[]
{
new object[] { true, true, false, (string?)null, HealthStatus.Healthy },
new object[] { true, false, false, (string?)null, HealthStatus.Unhealthy },
new object[] { false, true, false, (string?)null, HealthStatus.Unhealthy },
new object[] { false, false, false, (string?)null, HealthStatus.Unhealthy },
new object?[] { true, true, false, (string?)null, HealthStatus.Healthy },
new object?[] { true, false, false, (string?)null, HealthStatus.Unhealthy },
new object?[] { false, true, false, (string?)null, HealthStatus.Unhealthy },
new object?[] { false, false, false, (string?)null, HealthStatus.Unhealthy },
};
[Theory]