Vidocq Runtime inherits TCK passes from its foundational bricks and exposes its own runners for MicroProfile TCKs. This page consolidates conformance status.

Overview

TCK Status Details

Jakarta REST 4.0 (Core Profile)

Green

via Cassini — also see vidocq/TCK.md

Jakarta Servlet 6.1

921/1714 raw, api.* 95.6 % (2026-06-12)

via Foy — runner foy-tck

Jakarta JSON-P 2.1

Green

via Champollion

Jakarta JSON-B 3.0

Green

via Champollion

CDI 4.1 Lite

774 / 774

via Vauban

MicroProfile Config 3.1

378 green

in-reactor runner on the assembled runtime

MicroProfile Health 4.0

28 green

in-reactor runner on the assembled runtime

MicroProfile Metrics 5.1

127 green

in-reactor runner on the assembled runtime

MicroProfile Fault Tolerance 4.1

463 green

in-reactor runner on the assembled runtime

MicroProfile JWT Auth 2.2

208 green

in-reactor runner (one exclusion: the TestNG group ee-security-optional)

MicroProfile Rest Client 4.0

235 green

in-reactor runner on the assembled runtime

MicroProfile Telemetry 2.2

85 green

in-reactor runner on the assembled runtime (TCK RC)

MicroProfile OpenAPI 4.2

364 green

in-reactor runner on the assembled runtime (TCK RC)

Inherited Jakarta TCKs

Vidocq Runtime does not re-run Jakarta TCKs: they are validated by the underlying bricks. The following runners cover the ecosystem:

  • cassini-tck — Jakarta REST 4.0

  • foy-tck — Jakarta Servlet 6.1

  • champollion-tck — JSON-P 2.1 + JSON-B 3.0

  • vauban-tck-runner — CDI 4.1 Lite (774/774)

cassini-tck, foy-tck and champollion-tck live in the reactor of their own brick, behind the tck Maven profile: a plain mvn install neither downloads nor runs anything from the official TCK. vauban-tck-runner is a regular module of the Vauban reactor. The runners that remain outside their brick’s reactor (standalone POM modelVersion 4.0.0, no <parent>) are grimm-tck and the Mansart TCKs (mansart-data-tck, mansart-transactions-tck), which keeps the release cycle of those bricks decoupled from the release cycle of their official TCK, and champollion-protobuf-tck, an executable conformance jar rather than an official Jakarta or MicroProfile TCK.

Launch each runner from the root of its own brick, through the dedicated script (recommended) or through Maven:

# from the root of the cassini repository
./run-official-tck-restful-4.0.sh

# from the root of the foy repository
./run-official-tck-servlet6.1.sh
# or, equivalently
./mvnw -Ptck,tck-official -pl foy-tck test

MicroProfile TCKs on the assembled runtime

Unlike the Jakarta suites above (run per brick), the MicroProfile TCKs are run against the assembled Vidocq runtime — the exact boot path a real application uses. Eight runner modules live in vidocq-runtime-integration-tests/vidocq-runtime-tck-*, guarded behind the tck Maven profile so a normal mvn install downloads and runs nothing:

./mvnw -Ptck -pl vidocq-runtime-integration-tests -amd test

NEW Status: 1888 official TCK tests green (re-run 2026-10-04) across eight MicroProfile component specs, seven of them in the MicroProfile 7.2 platform and Metrics 5.1, which is not (Config 3.1: 378, Fault Tolerance 4.1: 463, OpenAPI 4.2: 364, Rest Client 4.0: 235, JWT Auth 2.2: 208, Metrics 5.1: 127, Telemetry 2.2: 85, Health 4.0: 28), with no suite exclusion except the TestNG group ee-security-optional of the JWT suite (the ejb, jacc and servlet packages no longer exist in TCK 2.2). The OpenAPI 4.2 (TCK 4.2-RC5) and Telemetry 2.2 (TCK 2.2-RC3) runs use release candidates published on Maven Central, byte-identical to the finals: the MicroProfile 7.2 platform release is still under ballot, and the runs will be repeated on the final artifacts once they are published. Run details and per-module reports: vidocq-runtime-integration-tests/TCK.md in the repo.

Two additional runners are not MicroProfile: Jakarta Annotations 3.0 (signature test, 1/1) and the Jakarta Core Profile 11 composite TCK (10/13 on JDK 25 — the 3 others hit a TCK-helper defect on JDK 25, challenge jakartaee/platform-tck#2730, filed on 2026-07-14 and accepted, see CERTIFICATION.md §6). All seven constituent Core Profile spec TCKs pass, including their API signature tests (Annotations, CDI 4.1, JSON-P, JSON-B, REST); the profile-level compatibility request for Vidocq 0.3.0 (jakartaee/platform#1351) was filed on 2026-08-31 and accepted (issue closed on 2026-09-09).

To be precise about wording: Vidocq passes these official TCK suites; no formal MicroProfile compatibility filing has been made yet. The per-brick runners listed on each component’s TCK page remain the authority for each individual implementation.

Justified skipped tests

For active TCKs, exclusions are documented in the host sub-project’s TCK.md (e.g. vidocq/TCK.md for Cassini). No test is skipped due to incomplete implementation without a corresponding entry in the relevant module’s BUG.md.

The standard exclusions for the Core Profile / SE-Bootstrap target are:

  • tests depending on Jakarta XML Binding;

  • tests depending on Jakarta Server Pages / Faces;

  • tests depending on Jakarta Enterprise Beans;

  • tests depending on Jakarta Authentication / Authorization (outside Core Profile).

See vidocq/TCK.md for the full list, open TCK Process 1.4.1 official challenges, and session-level fix history.

Open bugs

Reproducible bugs found during TCK runs are tracked in:

  • vidocq/BUG.md — bugs on the Vidocq Runtime orchestrator side;

  • vidocq/CHAPPE-BUGS.md — Chappe bugs identified through Servlet/REST TCK;

  • vidocq/VAUBAN-BUGS.md — Vauban bugs identified through CDI or Cassini TCK.

Every bug follows the workspace convention: short id, date, minimal repro, root-cause hypothesis, status.

Next steps