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

~90 %

via Foy — runner vidocq-servlet-chappe-tck-runner

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

349 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.1

206 green

in-reactor runner (documented ejb/jacc/servlet exclusions)

MicroProfile Rest Client 4.0

235 green

in-reactor runner on the assembled runtime

MicroProfile Telemetry 2.1

85 green

in-reactor runner on the assembled runtime

MicroProfile OpenAPI 4.x

344 green

in-reactor runner on the assembled runtime

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 / vidocq-servlet-chappe-tck-runner — Jakarta Servlet 6.1

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

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

All of them are deliberately outside the reactor (standalone POM modelVersion 4.0.0, no <parent>). The historical trigger — a ShrinkWrap Resolver incompatibility with the Maven Model 4.1 POMs of the pre-migration workspace — is gone; the separation is kept on purpose to decouple the release cycle of each brick from the release cycle of its official TCK (a TCK upstream bump must not force a runtime release, and vice versa).

Operational consequence: these TCKs always launch via their dedicated shell script, never via mvn -pl.

cd vidocq-runtime-rest-cassini-tck-runner
./run-official-tck-restful-4.0.sh

cd vidocq-servlet-chappe-tck-runner
./run-official-tck-servlet6.1.sh

MicroProfile TCKs on the assembled runtime NEW

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

Status: 1868 official TCK tests green (re-run 2026-08-27) across all eight MicroProfile 7.1 component specs (Config 3.1: 378, Fault Tolerance 4.1: 463, OpenAPI 4.1: 346, Rest Client 4.0: 235, JWT Auth 2.1: 206, Metrics 5.1: 127, Telemetry 2.1: 85, Health 4.0: 28), with no suite exclusion except the documented ejb/jacc/servlet categories of the JWT suite. 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 drafted in 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 certification request is pre-filing — it certifies a released product, and will be filed with the next release.

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