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 |
Jakarta Servlet 6.1 |
~90 % |
via Foy — 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 |
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.