This page consolidates the state of the official MicroProfile Health 4.0 TCK runs against Knock. Knock targets full conformance: passing the TCK is a hard contract before any structural merge.

Summary

Metric Value Notes

Spec under test

MicroProfile Health 4.0

Run against the Vidocq fork knock-mp-health-api.

Tests run

28

Official TCK suite.

Passed

28

100% conformance.

Failed

0

No divergent spec interpretation, no disabled test.

Errors / skipped

0

No JVM crash, no uncaught Throwable.

Because conformance is 100% with no disabled tests, there is no TCK.md listing exclusions — every assertion of the suite is honoured.

Coverage

Area Status

HealthCheck contract and HealthCheckResponse

Probe qualifiers (@Liveness, @Readiness, @Startup)

Endpoints (/health, /health/live, /health/ready, /health/started)

Aggregation rule (DOWN if any DOWN, empty = UP)

Exception handling (folded into a DOWN check)

JSON payload shape (status, checks[], optional data)

HTTP status mapping (200 UP / 503 DOWN)

HealthCheckResponseProvider SPI

Reproduce locally

The TCK runs through a dedicated script at the repo root:

cd knock
sdk env

# Smoke test (KnockTckSmokeTest only)
./run-official-tck-mp-health-4.0.sh

# Full official suite (28 tests)
./run-official-tck-mp-health-4.0.sh all

# A single test by name
./run-official-tck-mp-health-4.0.sh -Dtest=TestName

The runner can also be invoked directly through the reactor:

./mvnw -Ptck -pl knock-tck test                  # smoke
./mvnw -Ptck,tck-official -pl knock-tck test     # full official suite

The TCK runs on the classpath (not the module path) as a deliberate Java Modules workaround for Arquillian/ShrinkWrap. Since 2026-07-15, knock-tck is in-reactor but gated behind the tck Maven profile (same pattern as the vidocq-runtime-tck-* runners): a regular build neither builds nor downloads the TCK harness. The historical ShrinkWrap Maven Resolver 3.3 vs Model 4.1.0 constraint that once kept the runner out of the reactor is obsolete since the Maven 3.9.16 / Model 4.0.0 migration.

See also