This is an automated email from the ASF dual-hosted git repository.

jungm pushed a commit to branch ee11
in repository https://gitbox.apache.org/repos/asf/tomee-tck.git

commit 0c8dd201afe7aad1193a05fd3bb5d6cbe3871de5
Author: Markus Jung <[email protected]>
AuthorDate: Sun Jul 19 01:11:56 2026 +0200

    Carry the cdi-tomee OpenWebBeans overlay and sign the CDI runners
    
    Ship the apache/tomee tck/cdi-tomee OpenWebBeans TCK overlay and the
    TomEE-aware Beans porting SPI to both CDI runners through a dedicated
    porting jar staged into org.jboss.cdi.tck.libraryDirectory, so every
    deployed archive picks up strictDynamicValidation, the spec-default
    defaultBeanDiscoveryMode=ANNOTATED, and the intra-VM-proxy-aware Beans
    implementation. Point both cdi-tck.properties at the TomEE Beans SPI and
    add the mandatory CDI API signature check (cdi-api-jdk17.sig) to the core
    runner.
    
    Re-derive both exclusion lists from the actual remaining failures (cdi:
    90 -> 81, cdi-ee: 117 -> 106), using method-level entries where a method
    fails and whole-class entries only where the deployment/configuration
    phase fails. Correct the build-compatible-extensions attribution across
    the lists and the docs: the gap is the missing
    jakarta.enterprise.inject.build.compatible.spi.BuildServices provider in
    OpenWebBeans 4.1, which the Method Invokers tests hit only because the
    TCK registers them through a build-compatible extension.
---
 KNOWN_ISSUES.md                                    |  26 ++-
 runner-standalone/README.md                        |   4 +-
 runner-standalone/cdi-ee/pom.xml                   |  37 ++++
 .../src/test/resources/META-INF/cdi-tck.properties |   5 +-
 .../cdi-ee/src/tomee-conf/system.properties        |   7 +
 runner-standalone/cdi-tck-porting/pom.xml          |  47 +++++
 .../apache/openejb/tck/cdi/tomee/BeansImpl.java    | 116 ++++++++++++
 .../META-INF/openwebbeans/openwebbeans.properties  |  47 +++++
 runner-standalone/cdi/pom.xml                      | 161 +++++++++++++++++
 .../src/test/resources/META-INF/cdi-tck.properties |   5 +-
 .../cdi/src/tomee-conf/system.properties           |   7 +
 runner-standalone/exclusions/cdi-ee.txt            | 200 ++++++++++-----------
 runner-standalone/exclusions/cdi.txt               | 197 ++++++++++----------
 runner-standalone/pom.xml                          |   1 +
 14 files changed, 642 insertions(+), 218 deletions(-)

diff --git a/KNOWN_ISSUES.md b/KNOWN_ISSUES.md
index e8914c5..1f4a379 100644
--- a/KNOWN_ISSUES.md
+++ b/KNOWN_ISSUES.md
@@ -29,8 +29,8 @@ Detail lives next to each runner:
 | pages | 682/682 pass | — | — (needs the runner's spec-default encoding 
overlay) |
 | rest | 2,803 tests, 2 F + 1 E | 3 tests | Feature/DynamicFeature 
`META-INF/services` discovery (TOMEE-4321/CXF-9005) + 405-vs-404 matching |
 | validation | 1,049 tests, 0 F (incl. signature test) | — | — (server pins 
the JAXB RI; see product gaps) |
-| cdi (core) | 1,388 run, 90 F | 63 methods + 27 deploy-failing classes | 
OpenWebBeans 4.1 gaps |
-| cdi-ee | 1,829 run, 117 F | 87 methods + 30 deploy-failing classes | 
OpenWebBeans 4.1 + EE integration |
+| cdi (core) | 1,388 run, 81 F (incl. signature test) | 54 methods + 27 
deploy-failing classes | OpenWebBeans 4.1 build-compatible-extensions gap |
+| cdi-ee | 1,829 run, 106 F | 79 methods + 27 deploy-failing classes | 
OpenWebBeans 4.1 build-compatible-extensions gap + EE integration |
 | el | 361/361 pass (incl. signature test) | — | — |
 | persistence | 2,135/2,135 pass (incl. signature test) | — | — (standalone/SE 
vehicle on Plume's EclipseLink) |
 | transactions | 49 tests, 40 pass, 9 F (all 3 signature vehicles pass) | 22 
test ids (3 client files) | TomEE UserTransaction rollback/timeout state leaks |
@@ -162,11 +162,23 @@ Fixes belong in Apache TomEE (or Tomcat); each removes 
exclusion entries.
 
 Need triage/fixes in the upstream projects TomEE ships.
 
-1. **Apache OpenWebBeans 4.1** — the CDI 4.1 Method Invokers API (~30
-   tests) and build-compatible extensions (~25 deploy-failing classes) are
-   not implemented; assorted observer/interceptor edge cases. Drives the
-   [cdi.txt](runner-standalone/exclusions/cdi.txt) and most of the
-   [cdi-ee.txt](runner-standalone/exclusions/cdi-ee.txt) lists.
+1. **Apache OpenWebBeans 4.1 build-compatible extensions** — OpenWebBeans
+   4.1 ships no `jakarta.enterprise.inject.build.compatible.spi.BuildServices`
+   provider, so CDI 4.1 build-compatible extensions do not run. The CDI 4.1
+   Method Invokers API itself works through portable extensions; the TCK's
+   invoker tests fail only because they register their invokers through a
+   build-compatible extension, which hits the same missing `BuildServices`
+   gap. Deployments that only register a build-compatible extension fail
+   configuration (the whole-class exclusion entries); tests that also assert
+   runtime behavior fail their single method. Assorted
+   observer/specialization/interceptor edge cases round out the lists. Drives
+   the [cdi.txt](runner-standalone/exclusions/cdi.txt) and most of the
+   [cdi-ee.txt](runner-standalone/exclusions/cdi-ee.txt) lists. The runner
+   ships the apache/tomee `tck/cdi-tomee` OpenWebBeans overlay
+   (`strictDynamicValidation`, the spec-default
+   `defaultBeanDiscoveryMode=ANNOTATED`, and the TomEE-aware `Beans` porting
+   SPI) and runs the mandatory CDI API signature check (`cdi-api-jdk17.sig`)
+   in the core runner, which passes.
 2. **Jakarta Authentication SPI (`ServletProfileSPITest`)** — the runner
    registers the TCK's test `AuthConfigProvider` under Tomcat's JASPIC
    app-context naming (`Catalina/localhost /spitests_servlet_web`, the value
diff --git a/runner-standalone/README.md b/runner-standalone/README.md
index 320471a..2ca5eec 100644
--- a/runner-standalone/README.md
+++ b/runner-standalone/README.md
@@ -49,8 +49,8 @@ derived from; with the default exclusions applied these 
suites run green.
 |---|---|---|---|
 | Annotations 3.0 | EFTL zip (installed as 
`jakartatck:jakarta-annotations-tck:3.0.0`) | `annotations` | **Passes** 
(signature test, 2026-07-18) |
 | Dependency Injection 2.0 | EFTL zip (installed as 
`jakarta.inject:jakarta.inject-tck:2.0.2`) | `di` | **Passes 50/50** on 
OpenWebBeans via the CDI SE API (2026-07-18) |
-| CDI 4.1 (core) + Interceptors 2.2 (non-EJB half) | 
`jakarta.enterprise:cdi-tck-core-impl:4.1.0` | `cdi` | **Runs: 1,388 tests, 90 
failures, 82 skipped** (2026-07-18). The failures cluster in the new CDI 4.1 
Method Invokers API (30) and build-compatible extensions (~25) — OpenWebBeans 
4.1 feature gaps to triage upstream |
-| CDI 4.1 (EE integration) + Interceptors 2.2 (EJB half) | 
`jakarta.tck:cdi-tck-ee-impl:11.0.3` | `cdi-ee` | **Runs: 1,829 tests, 117 
failures, 92 skipped** (2026-07-18, needs the 4 GB server heap configured in 
its arquillian.xml) |
+| CDI 4.1 (core) + Interceptors 2.2 (non-EJB half) | 
`jakarta.enterprise:cdi-tck-core-impl:4.1.0` | `cdi` | **Runs: 1,388 tests, 81 
failures, 82 skipped; mandatory CDI API signature test (`cdi-api-jdk17.sig`) 
passes** (2026-07-19). The failures cluster in the CDI 4.1 
build-compatible-extensions feature (build-compatible extensions plus the 
Method Invokers the TCK registers through them) — OpenWebBeans 4.1 ships no 
`BuildServices` provider — to triage upstream. The runner carries the apac [...]
+| CDI 4.1 (EE integration) + Interceptors 2.2 (EJB half) | 
`jakarta.tck:cdi-tck-ee-impl:11.0.3` | `cdi-ee` | **Runs: 1,829 tests, 106 
failures, 92 skipped** (2026-07-19, needs the 4 GB server heap configured in 
its arquillian.xml). Same OpenWebBeans 4.1 build-compatible-extensions gap as 
the core suite plus EE-integration issues; carries the same OpenWebBeans 
overlay and porting SPI |
 | Concurrency 3.1 | 
`jakarta.enterprise:jakarta.enterprise.concurrent-tck:3.1.1` | `concurrency` | 
**Passes 197 tests, 0 failures, 0 errors, 14 skipped (the TCK's own skips), 
signature test included, no exclusions** (2026-07-18). The runner sets 
`openejb.environment.default=true` (declares the `java:comp/Default*` 
resource-env-refs the TCK injects via `@Resource(lookup=…)`; without it they 
silently inject `null`), adds a `beans.xml` per WAR so OWB activates the TCK's 
`@Priority` `Asynchr [...]
 | Data 1.0 | `jakarta.data:jakarta.data-tck:1.0.0` | `data` | **Runs: 99 
tests, 7 failures, 29 errors** (2026-07-18), all in 
`standalone.entity.EntityTests`; the other six classes pass completely, 
signature test included. The runner's archive processor completes the TCK 
deployments the way a Jakarta Data runtime is expected to (adds the missing 
sibling classes, a `persistence.xml` on `java:comp/DefaultDataSource`, and a 
`beans.xml` with `bean-discovery-mode="all"` so `@Repository` interf [...]
 | RESTful Web Services 4.0 | EFTL zip (installed as 
`jakarta.ws.rs:jakarta-restful-ws-tck:4.0.1`) | `rest` | **Runs: 2,803 tests, 2 
failures, 1 error, 128 skipped without exclusions** (2026-07-18, the skips are 
the TCK's own `@Disabled` tests) against TomEE's CXF, with the CXF client 
driving the client half of every test; the signature test passes. The runner 
sets `openejb.jaxrs.fail-on-constrainedto=false` in the server JVM 
(spec-required tolerance of bundled `@ConstrainedTo(CLIENT)` pr [...]
diff --git a/runner-standalone/cdi-ee/pom.xml b/runner-standalone/cdi-ee/pom.xml
index 22095e3..42270e0 100644
--- a/runner-standalone/cdi-ee/pom.xml
+++ b/runner-standalone/cdi-ee/pom.xml
@@ -77,6 +77,14 @@
       <version>${project.version}</version>
       <scope>test</scope>
     </dependency>
+    <!-- TomEE-aware CDI TCK Beans porting SPI, staged into the library
+         directory so it ships inside every deployed archive. -->
+    <dependency>
+      <groupId>org.apache.tomee.cts</groupId>
+      <artifactId>runner-standalone-cdi-tck-porting</artifactId>
+      <version>${project.version}</version>
+      <scope>test</scope>
+    </dependency>
     <dependency>
       <groupId>org.jboss.arquillian.testng</groupId>
       <artifactId>arquillian-testng-container</artifactId>
@@ -156,6 +164,35 @@
           </execution>
         </executions>
       </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-antrun-plugin</artifactId>
+        <executions>
+          <!-- Stage the TomEE-aware Beans SPI jar (built by the sibling
+               reactor module) into the TCK library directory so it ships
+               inside every deployed archive. Copied from the sibling's build
+               output rather than resolved as an artifact because the reactor
+               dependency-plugin copy cannot stage an as-yet-unpackaged
+               reactor sibling (MDEP-187). -->
+          <execution>
+            <id>stage-cdi-tck-porting-lib</id>
+            <phase>generate-test-resources</phase>
+            <goals><goal>run</goal></goals>
+            <configuration>
+              <skip>${tck.standalone.skip}</skip>
+              <target>
+                <copy todir="${project.build.directory}/dependency/lib" 
flatten="true">
+                  <fileset dir="${project.basedir}/../cdi-tck-porting/target">
+                    <include name="runner-standalone-cdi-tck-porting-*.jar"/>
+                    <exclude name="*-sources.jar"/>
+                    <exclude name="*-javadoc.jar"/>
+                  </fileset>
+                </copy>
+              </target>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
       <plugin>
         <groupId>org.codehaus.mojo</groupId>
         <artifactId>exec-maven-plugin</artifactId>
diff --git 
a/runner-standalone/cdi-ee/src/test/resources/META-INF/cdi-tck.properties 
b/runner-standalone/cdi-ee/src/test/resources/META-INF/cdi-tck.properties
index bf6e28d..e0aa912 100644
--- a/runner-standalone/cdi-ee/src/test/resources/META-INF/cdi-tck.properties
+++ b/runner-standalone/cdi-ee/src/test/resources/META-INF/cdi-tck.properties
@@ -1,5 +1,8 @@
 # Apache OpenWebBeans implementations of the CDI TCK porting SPI.
-org.jboss.cdi.tck.spi.Beans=org.apache.webbeans.test.tck.BeansImpl
+# The Beans SPI uses the TomEE-aware subclass (ships in the library
+# directory) so passivation-capability probes recognize TomEE's intra-VM
+# proxies and passivate through IntraVmCopyMonitor.
+org.jboss.cdi.tck.spi.Beans=org.apache.openejb.tck.cdi.tomee.BeansImpl
 org.jboss.cdi.tck.spi.Contexts=org.apache.webbeans.test.tck.ContextsImpl
 org.jboss.cdi.tck.spi.Contextuals=org.apache.webbeans.test.tck.ContextualsImpl
 
org.jboss.cdi.tck.spi.CreationalContexts=org.apache.webbeans.test.tck.CreationalContextsImpl
diff --git a/runner-standalone/cdi-ee/src/tomee-conf/system.properties 
b/runner-standalone/cdi-ee/src/tomee-conf/system.properties
index 3943fc8..53b5ddd 100644
--- a/runner-standalone/cdi-ee/src/tomee-conf/system.properties
+++ b/runner-standalone/cdi-ee/src/tomee-conf/system.properties
@@ -21,3 +21,10 @@ openejb.cdi.applicationScope.cached=false
 openejb.cdi.requestScope.cached=false
 openejb.cdi.conversation.http.use-get-parameter=true
 cdiTckExcludeDummy=true
+
+# The OpenWebBeans TCK configuration overlay (strictDynamicValidation,
+# defaultBeanDiscoveryMode=ANNOTATED, and the rest of the apache/tomee
+# tck/cdi-tomee settings) ships as 
META-INF/openwebbeans/openwebbeans.properties
+# inside the porting jar staged into org.jboss.cdi.tck.libraryDirectory, so it
+# reaches OpenWebBeans through the same classpath mechanism the reference
+# runner uses.
diff --git a/runner-standalone/cdi-tck-porting/pom.xml 
b/runner-standalone/cdi-tck-porting/pom.xml
new file mode 100644
index 0000000..fa066be
--- /dev/null
+++ b/runner-standalone/cdi-tck-porting/pom.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements. See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0";
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
https://maven.apache.org/xsd/maven-4.0.0.xsd";>
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>org.apache.tomee.cts</groupId>
+    <artifactId>runner-standalone</artifactId>
+    <version>11.0.0-SNAPSHOT</version>
+  </parent>
+
+  <artifactId>runner-standalone-cdi-tck-porting</artifactId>
+  <name>Standalone CDI TCK porting overlay</name>
+  <description>
+    TomEE-aware implementation of the CDI TCK org.jboss.cdi.tck.spi.Beans
+    porting SPI (ported from the apache/tomee tck/cdi-tomee runner). The cdi
+    and cdi-ee runners stage this jar into org.jboss.cdi.tck.libraryDirectory
+    so it ships inside every deployed TCK archive; the org.apache.openejb.*
+    classes it references resolve from the TomEE server class loader.
+  </description>
+
+  <dependencies>
+    <!-- Provided: the superclass ships with the OpenWebBeans porting package
+         the runners already stage into the library directory. -->
+    <dependency>
+      <groupId>org.apache.openwebbeans</groupId>
+      <artifactId>openwebbeans-porting</artifactId>
+      <version>${openwebbeans.version}</version>
+      <scope>provided</scope>
+    </dependency>
+    <!-- Provided: IntraVmProxy/IntraVmCopyMonitor are resolved from the TomEE
+         server class loader at runtime, not bundled in this jar. -->
+    <dependency>
+      <groupId>org.apache.tomee</groupId>
+      <artifactId>openejb-core</artifactId>
+      <version>${tomee.version}</version>
+      <scope>provided</scope>
+    </dependency>
+  </dependencies>
+</project>
diff --git 
a/runner-standalone/cdi-tck-porting/src/main/java/org/apache/openejb/tck/cdi/tomee/BeansImpl.java
 
b/runner-standalone/cdi-tck-porting/src/main/java/org/apache/openejb/tck/cdi/tomee/BeansImpl.java
new file mode 100644
index 0000000..1215ab8
--- /dev/null
+++ 
b/runner-standalone/cdi-tck-porting/src/main/java/org/apache/openejb/tck/cdi/tomee/BeansImpl.java
@@ -0,0 +1,116 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.openejb.tck.cdi.tomee;
+
+import org.apache.openejb.core.ivm.IntraVmCopyMonitor;
+import org.apache.openejb.core.ivm.IntraVmProxy;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.io.ObjectStreamClass;
+import java.lang.reflect.Proxy;
+
+/**
+ * TomEE-aware implementation of the CDI TCK {@code 
org.jboss.cdi.tck.spi.Beans}
+ * porting SPI, ported verbatim from the apache/tomee tck/cdi-tomee runner.
+ *
+ * <p>It extends the plain OpenWebBeans {@code BeansImpl} so that
+ * {@link #isProxy(Object)} also recognizes TomEE's {@code IntraVmProxy}, and
+ * so passivation drives {@code IntraVmCopyMonitor} and deserializes with a
+ * thread-context-classloader-aware {@link ObjectInputStream}. The plain OWB
+ * implementation does not know about the intra-VM proxies TomEE injects, so
+ * passivation-capability probes (e.g. {@code ImplicitEventTest}) misbehave
+ * without it.
+ *
+ * <p>This class ships inside every deployed TCK archive through
+ * {@code org.jboss.cdi.tck.libraryDirectory}; the {@code org.apache.openejb.*}
+ * classes it references are resolved from the TomEE server class loader at
+ * runtime.
+ */
+public class BeansImpl extends org.apache.webbeans.test.tck.BeansImpl {
+    @Override
+    public boolean isProxy(final Object instance) {
+        return instance instanceof IntraVmProxy || super.isProxy(instance);
+    }
+
+    @Override
+    public byte[] passivate(Object instance) throws IOException {
+        IntraVmCopyMonitor.prePassivationOperation();
+        try {
+            ByteArrayOutputStream baos = new ByteArrayOutputStream();
+            ObjectOutputStream os = new ObjectOutputStream(baos);
+            os.writeObject(instance);
+            os.flush();
+            return baos.toByteArray();
+        } finally {
+            IntraVmCopyMonitor.postPassivationOperation();
+        }
+    }
+
+    @Override
+    public Object activate(byte[] bytes) throws IOException, 
ClassNotFoundException {
+        ByteArrayInputStream bais = new ByteArrayInputStream(bytes);
+        ObjectInputStream is = new BeanObjectInputStream(bais);
+        return is.readObject();
+    }
+
+
+    public static final class BeanObjectInputStream extends ObjectInputStream {
+        public BeanObjectInputStream(InputStream in) throws IOException {
+            super(in);
+        }
+
+        protected Class resolveClass(ObjectStreamClass classDesc) throws 
IOException, ClassNotFoundException {
+            try {
+                return Class.forName(classDesc.getName(), false, 
getClassloader());
+            } catch (ClassNotFoundException e) {
+                String n = classDesc.getName();
+                if (n.equals("boolean")) return boolean.class;
+                if (n.equals("byte")) return byte.class;
+                if (n.equals("char")) return char.class;
+                if (n.equals("short")) return short.class;
+                if (n.equals("int")) return int.class;
+                if (n.equals("long")) return long.class;
+                if (n.equals("float")) return float.class;
+                if (n.equals("double")) return double.class;
+
+                throw e;
+            }
+        }
+
+        protected Class resolveProxyClass(String[] interfaces) throws 
IOException, ClassNotFoundException {
+            Class[] cinterfaces = new Class[interfaces.length];
+            for (int i = 0; i < interfaces.length; i++)
+                cinterfaces[i] = getClassloader().loadClass(interfaces[i]);
+
+            try {
+                return Proxy.getProxyClass(getClassloader(), cinterfaces);
+            } catch (IllegalArgumentException e) {
+                throw new ClassNotFoundException(null, e);
+            }
+        }
+
+        ClassLoader getClassloader() {
+            return Thread.currentThread().getContextClassLoader();
+        }
+    }
+
+}
diff --git 
a/runner-standalone/cdi-tck-porting/src/main/resources/META-INF/openwebbeans/openwebbeans.properties
 
b/runner-standalone/cdi-tck-porting/src/main/resources/META-INF/openwebbeans/openwebbeans.properties
new file mode 100644
index 0000000..5a2ad10
--- /dev/null
+++ 
b/runner-standalone/cdi-tck-porting/src/main/resources/META-INF/openwebbeans/openwebbeans.properties
@@ -0,0 +1,47 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+# OpenWebBeans TCK configuration overlay, mirrored from the apache/tomee
+# tck/cdi-tomee runner. This ships as a classpath resource inside every
+# deployed TCK archive (the porting jar rides along through
+# org.jboss.cdi.tck.libraryDirectory), which is the overlay mechanism the
+# reference runner relies on. A high ordinal wins over the OpenWebBeans
+# defaults.
+configuration.ordinal=150
+
+org.apache.webbeans.application.supportsProducerInterception=false
+
+# Enable verification of programmatic qualifiers (duplicate-qualifier and
+# non-binding IllegalArgumentException checks the TCK gates on this flag).
+org.apache.webbeans.strictDynamicValidation=true
+
+org.apache.webbeans.application.supportsConversation=true
+
+# Switch back to the un-cached normal-scoping handler.
+org.apache.webbeans.proxy.mapping.jakarta.enterprise.context.ApplicationScoped=org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler
+
+org.apache.webbeans.container.InjectionResolver.fastMatching=false
+
+# Only CreateBeanAttributesTest needs implicit injection-point support off.
+org.apache.webbeans.service.DefaultInjectionPointService.implicitSupport=false
+
+# Some TCK tests access a @SessionScoped bean after the response is sent.
+org.apache.webbeans.web.eagerSessionInitialisation=true
+
+# CDI 4.0 defaults an empty beans.xml to ANNOTATED discovery; OpenWebBeans
+# still ships the pre-4.0 ALL compatibility default, so pin the spec default.
+org.apache.webbeans.defaultBeanDiscoveryMode=ANNOTATED
diff --git a/runner-standalone/cdi/pom.xml b/runner-standalone/cdi/pom.xml
index 0d311af..dab859c 100644
--- a/runner-standalone/cdi/pom.xml
+++ b/runner-standalone/cdi/pom.xml
@@ -80,6 +80,14 @@
       <version>${project.version}</version>
       <scope>test</scope>
     </dependency>
+    <!-- TomEE-aware CDI TCK Beans porting SPI, staged into the library
+         directory so it ships inside every deployed archive. -->
+    <dependency>
+      <groupId>org.apache.tomee.cts</groupId>
+      <artifactId>runner-standalone-cdi-tck-porting</artifactId>
+      <version>${project.version}</version>
+      <scope>test</scope>
+    </dependency>
     <dependency>
       <groupId>org.jboss.arquillian.testng</groupId>
       <artifactId>arquillian-testng-container</artifactId>
@@ -95,6 +103,13 @@
       <artifactId>shrinkwrap-resolver-impl-maven</artifactId>
       <scope>test</scope>
     </dependency>
+    <!-- Drives the mandatory CDI API signature check; the jakarta.tck fork
+         understands JDK 21 class files. -->
+    <dependency>
+      <groupId>jakarta.tck</groupId>
+      <artifactId>sigtest-maven-plugin</artifactId>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 
   <build>
@@ -165,6 +180,109 @@
               
<outputDirectory>${project.build.directory}/dependency/lib</outputDirectory>
             </configuration>
           </execution>
+          <!-- Stage the uber API jar the TomEE distribution ships so the
+               signature test checks the jakarta.enterprise/decorator/
+               interceptor packages actually deployed, not the TCK's copy. -->
+          <execution>
+            <id>stage-tomee-api-jar</id>
+            <phase>generate-test-resources</phase>
+            <goals><goal>unpack</goal></goals>
+            <configuration>
+              <skip>${tck.standalone.skip}</skip>
+              <artifactItems>
+                <artifactItem>
+                  <groupId>org.apache.tomee</groupId>
+                  <artifactId>apache-tomee</artifactId>
+                  <version>${tomee.version}</version>
+                  <classifier>${tomee.classifier}</classifier>
+                  <type>zip</type>
+                  
<outputDirectory>${project.build.directory}/tomee</outputDirectory>
+                  <includes>**/lib/jakartaee-api-*.jar</includes>
+                </artifactItem>
+              </artifactItems>
+            </configuration>
+          </execution>
+          <!-- The CDI TCK ships the reference API signatures at its jar root. 
-->
+          <execution>
+            <id>stage-cdi-sig</id>
+            <phase>generate-test-resources</phase>
+            <goals><goal>unpack</goal></goals>
+            <configuration>
+              <skip>${tck.standalone.skip}</skip>
+              <artifactItems>
+                <artifactItem>
+                  <groupId>jakarta.enterprise</groupId>
+                  <artifactId>cdi-tck-core-impl</artifactId>
+                  <version>${cdi.tck.version}</version>
+                  <type>jar</type>
+                  
<outputDirectory>${project.build.directory}/sig</outputDirectory>
+                  <includes>cdi-api-jdk17.sig</includes>
+                </artifactItem>
+              </artifactItems>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-antrun-plugin</artifactId>
+        <executions>
+          <!-- Stage the TomEE-aware Beans SPI jar (built by the sibling
+               reactor module) into the TCK library directory so it ships
+               inside every deployed archive. Copied from the sibling's build
+               output rather than resolved as an artifact because the reactor
+               dependency-plugin copy cannot stage an as-yet-unpackaged
+               reactor sibling (MDEP-187). -->
+          <execution>
+            <id>stage-cdi-tck-porting-lib</id>
+            <phase>generate-test-resources</phase>
+            <goals><goal>run</goal></goals>
+            <configuration>
+              <skip>${tck.standalone.skip}</skip>
+              <target>
+                <copy todir="${project.build.directory}/dependency/lib" 
flatten="true">
+                  <fileset dir="${project.basedir}/../cdi-tck-porting/target">
+                    <include name="runner-standalone-cdi-tck-porting-*.jar"/>
+                    <exclude name="*-sources.jar"/>
+                    <exclude name="*-javadoc.jar"/>
+                  </fileset>
+                </copy>
+              </target>
+            </configuration>
+          </execution>
+          <!-- The uber API jar carries every Jakarta EE spec package; the CDI
+               signature check must see only the packages the reference
+               cdi-api-jdk17.sig declares (jakarta.enterprise minus the
+               unrelated jakarta.enterprise.concurrent subtree, plus
+               jakarta.decorator/inject/interceptor), so extract exactly those
+               into their own directory. -->
+          <execution>
+            <id>extract-cdi-api-classes</id>
+            <phase>generate-test-resources</phase>
+            <goals><goal>run</goal></goals>
+            <configuration>
+              <skip>${tck.standalone.skip}</skip>
+              <target>
+                <path id="tomee-api-jar">
+                  <fileset dir="${project.build.directory}/tomee">
+                    <include name="**/lib/jakartaee-api-*.jar"/>
+                  </fileset>
+                </path>
+                <pathconvert property="cdi.sig.api.jar"
+                             refid="tomee-api-jar"/>
+                <unzip src="${cdi.sig.api.jar}"
+                       dest="${project.build.directory}/api-classes">
+                  <patternset>
+                    <include name="jakarta/enterprise/**"/>
+                    <include name="jakarta/decorator/**"/>
+                    <include name="jakarta/inject/**"/>
+                    <include name="jakarta/interceptor/**"/>
+                    <exclude name="jakarta/enterprise/concurrent/**"/>
+                  </patternset>
+                </unzip>
+              </target>
+            </configuration>
+          </execution>
         </executions>
       </plugin>
       <plugin>
@@ -210,4 +328,47 @@
       </plugin>
     </plugins>
   </build>
+
+  <profiles>
+    <profile>
+      <id>standalone-tck</id>
+      <activation>
+        <property>
+          <name>tck.standalone</name>
+          <value>true</value>
+        </property>
+      </activation>
+      <build>
+        <plugins>
+          <!-- Mandatory CDI API signature test. The core TCK ships the
+               reference signatures as cdi-api-jdk17.sig at the root of
+               cdi-tck-core-impl; the jakarta.enterprise/decorator/inject/
+               interceptor packages checked are the ones the staged TomEE uber
+               API jar carries. One run covers the whole CDI spec, so only the
+               core runner wires it. -->
+          <plugin>
+            <groupId>jakarta.tck</groupId>
+            <artifactId>sigtest-maven-plugin</artifactId>
+            <version>${sigtest.maven.plugin.version}</version>
+            <executions>
+              <execution>
+                <id>cdi-api-signature-check</id>
+                <phase>test</phase>
+                <goals><goal>check</goal></goals>
+                <configuration>
+                  
<sigfile>${project.build.directory}/sig/cdi-api-jdk17.sig</sigfile>
+                  <!-- The signature plugin checks each listed package without
+                       recursing into subpackages, so every package the
+                       cdi-api-jdk17.sig declares is enumerated explicitly. -->
+                  
<packages>jakarta.decorator,jakarta.enterprise.context,jakarta.enterprise.context.control,jakarta.enterprise.context.spi,jakarta.enterprise.event,jakarta.enterprise.inject,jakarta.enterprise.inject.build.compatible.spi,jakarta.enterprise.inject.literal,jakarta.enterprise.inject.se,jakarta.enterprise.inject.spi,jakarta.enterprise.inject.spi.configurator,jakarta.enterprise.invoke,jakarta.enterprise.lang.model,jakarta.enterprise.lang.model.declarations,jakarta.enterprise.l
 [...]
+                  <classes>${project.build.directory}/api-classes</classes>
+                  <release>17</release>
+                </configuration>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+  </profiles>
 </project>
diff --git 
a/runner-standalone/cdi/src/test/resources/META-INF/cdi-tck.properties 
b/runner-standalone/cdi/src/test/resources/META-INF/cdi-tck.properties
index bf6e28d..e0aa912 100644
--- a/runner-standalone/cdi/src/test/resources/META-INF/cdi-tck.properties
+++ b/runner-standalone/cdi/src/test/resources/META-INF/cdi-tck.properties
@@ -1,5 +1,8 @@
 # Apache OpenWebBeans implementations of the CDI TCK porting SPI.
-org.jboss.cdi.tck.spi.Beans=org.apache.webbeans.test.tck.BeansImpl
+# The Beans SPI uses the TomEE-aware subclass (ships in the library
+# directory) so passivation-capability probes recognize TomEE's intra-VM
+# proxies and passivate through IntraVmCopyMonitor.
+org.jboss.cdi.tck.spi.Beans=org.apache.openejb.tck.cdi.tomee.BeansImpl
 org.jboss.cdi.tck.spi.Contexts=org.apache.webbeans.test.tck.ContextsImpl
 org.jboss.cdi.tck.spi.Contextuals=org.apache.webbeans.test.tck.ContextualsImpl
 
org.jboss.cdi.tck.spi.CreationalContexts=org.apache.webbeans.test.tck.CreationalContextsImpl
diff --git a/runner-standalone/cdi/src/tomee-conf/system.properties 
b/runner-standalone/cdi/src/tomee-conf/system.properties
index 3943fc8..53b5ddd 100644
--- a/runner-standalone/cdi/src/tomee-conf/system.properties
+++ b/runner-standalone/cdi/src/tomee-conf/system.properties
@@ -21,3 +21,10 @@ openejb.cdi.applicationScope.cached=false
 openejb.cdi.requestScope.cached=false
 openejb.cdi.conversation.http.use-get-parameter=true
 cdiTckExcludeDummy=true
+
+# The OpenWebBeans TCK configuration overlay (strictDynamicValidation,
+# defaultBeanDiscoveryMode=ANNOTATED, and the rest of the apache/tomee
+# tck/cdi-tomee settings) ships as 
META-INF/openwebbeans/openwebbeans.properties
+# inside the porting jar staged into org.jboss.cdi.tck.libraryDirectory, so it
+# reaches OpenWebBeans through the same classpath mechanism the reference
+# runner uses.
diff --git a/runner-standalone/exclusions/cdi-ee.txt 
b/runner-standalone/exclusions/cdi-ee.txt
index 27e9527..2c8805d 100644
--- a/runner-standalone/exclusions/cdi-ee.txt
+++ b/runner-standalone/exclusions/cdi-ee.txt
@@ -1,11 +1,13 @@
 # Jakarta CDI 4.1 TCK EE-integration suite (jakarta.tck:cdi-tck-ee-impl:11.0.3)
-# on OpenWebBeans 4.1 / TomEE Plume snapshot, Java 21, 2026-07-18: 1,829 tests,
-# 117 failures (87 test methods + 30 classes failing in deployment/
-# configuration), 92 skipped. Same OpenWebBeans 4.1 gaps as the core suite
-# (Method Invokers, build-compatible extensions) plus EE-integration issues in
-# EJB interceptor binding, session-context lifecycle, and conversation
-# propagation. Needs the 4 GB server heap configured in this runner's
-# arquillian.xml.
+# on OpenWebBeans 4.1 / TomEE Plume snapshot, Java 21, 2026-07-19: 1,829 tests,
+# 106 failures (79 test methods + 27 classes failing in deployment/
+# configuration), 92 skipped. Same OpenWebBeans 4.1 gaps as the core suite -
+# the CDI 4.1 build-compatible-extensions feature (build-compatible extensions
+# plus the Method Invokers the TCK registers through them; no
+# jakarta.enterprise.inject.build.compatible.spi.BuildServices provider ships
+# in OpenWebBeans 4.1) - plus EE-integration issues in EJB interceptor
+# binding, session-context lifecycle, and conversation propagation. Needs the
+# 4 GB server heap configured in this runner's arquillian.xml.
 #
 # Format: one fully-qualified class name (excludes the whole class, required
 # where the deployment/configuration phase itself fails) or Class#method per
@@ -15,135 +17,122 @@
 # BeanContainerTest: 1 of 10 executed methods fail
 org.jboss.cdi.tck.tests.beanContainer.BeanContainerTest#testGetContexts
 
-# BeanByTypeTest: 1 of 6 executed methods fail
-org.jboss.cdi.tck.tests.beanContainer.bytype.BeanByTypeTest#testSameBindingTwice
-
-# ChangeBeanQualifierTest: 0 failing, 1 failing configuration/deployment 
method(s)
+# ChangeBeanQualifierTest: deployment/configuration fails
 
org.jboss.cdi.tck.tests.build.compatible.extensions.changeBeanQualifier.ChangeBeanQualifierTest
 
 # ChangeInjectionPointTest: 1 failing
-org.jboss.cdi.tck.tests.build.compatible.extensions.changeInjectionPoint.ChangeInjectionPointTest
+org.jboss.cdi.tck.tests.build.compatible.extensions.changeInjectionPoint.ChangeInjectionPointTest#test
 
 # ChangeInterceptorBindingTest: 1 failing
-org.jboss.cdi.tck.tests.build.compatible.extensions.changeInterceptorBinding.ChangeInterceptorBindingTest
+org.jboss.cdi.tck.tests.build.compatible.extensions.changeInterceptorBinding.ChangeInterceptorBindingTest#test
 
 # ChangeObserverQualifierTest: 1 of 2 executed methods fail
 
org.jboss.cdi.tck.tests.build.compatible.extensions.changeObserverQualifier.ChangeObserverQualifierTest#test
 
 # CustomInterceptorBindingTest: 1 failing
-org.jboss.cdi.tck.tests.build.compatible.extensions.customInterceptorBinding.CustomInterceptorBindingTest
+org.jboss.cdi.tck.tests.build.compatible.extensions.customInterceptorBinding.CustomInterceptorBindingTest#test
 
-# CustomNormalScopeTest: 0 failing, 1 failing configuration/deployment 
method(s)
+# CustomNormalScopeTest: deployment/configuration fails
 
org.jboss.cdi.tck.tests.build.compatible.extensions.customNormalScope.CustomNormalScopeTest
 
 # CustomPseudoScopeTest: 1 failing
-org.jboss.cdi.tck.tests.build.compatible.extensions.customPseudoScope.CustomPseudoScopeTest
+org.jboss.cdi.tck.tests.build.compatible.extensions.customPseudoScope.CustomPseudoScopeTest#test
 
 # CustomQualifierTest: 1 failing
-org.jboss.cdi.tck.tests.build.compatible.extensions.customQualifier.CustomQualifierTest
+org.jboss.cdi.tck.tests.build.compatible.extensions.customQualifier.CustomQualifierTest#test
 
 # CustomStereotypeTest: 1 failing
-org.jboss.cdi.tck.tests.build.compatible.extensions.customStereotype.CustomStereotypeTest
+org.jboss.cdi.tck.tests.build.compatible.extensions.customStereotype.CustomStereotypeTest#test
 
-# EnhancementMultipleParams2Test: 0 failing, 1 failing 
configuration/deployment method(s)
+# EnhancementMultipleParams2Test: deployment/configuration fails
 
org.jboss.cdi.tck.tests.build.compatible.extensions.invalid.EnhancementMultipleParams2Test
 
-# EnhancementMultipleParamsTest: 0 failing, 1 failing configuration/deployment 
method(s)
+# EnhancementMultipleParamsTest: deployment/configuration fails
 
org.jboss.cdi.tck.tests.build.compatible.extensions.invalid.EnhancementMultipleParamsTest
 
-# EnhancementNoParamTest: 0 failing, 1 failing configuration/deployment 
method(s)
+# EnhancementNoParamTest: deployment/configuration fails
 
org.jboss.cdi.tck.tests.build.compatible.extensions.invalid.EnhancementNoParamTest
 
-# EnhancementOnlyMessagesTest: 0 failing, 1 failing configuration/deployment 
method(s)
+# EnhancementOnlyMessagesTest: deployment/configuration fails
 
org.jboss.cdi.tck.tests.build.compatible.extensions.invalid.EnhancementOnlyMessagesTest
 
-# EnhancementOnlyTypesTest: 0 failing, 1 failing configuration/deployment 
method(s)
+# EnhancementOnlyTypesTest: deployment/configuration fails
 
org.jboss.cdi.tck.tests.build.compatible.extensions.invalid.EnhancementOnlyTypesTest
 
-# RegistrationMultipleParams2Test: 0 failing, 1 failing 
configuration/deployment method(s)
+# RegistrationMultipleParams2Test: deployment/configuration fails
 
org.jboss.cdi.tck.tests.build.compatible.extensions.invalid.RegistrationMultipleParams2Test
 
-# RegistrationMultipleParamsTest: 0 failing, 1 failing 
configuration/deployment method(s)
+# RegistrationMultipleParamsTest: deployment/configuration fails
 
org.jboss.cdi.tck.tests.build.compatible.extensions.invalid.RegistrationMultipleParamsTest
 
-# RegistrationNoParamTest: 0 failing, 1 failing configuration/deployment 
method(s)
+# RegistrationNoParamTest: deployment/configuration fails
 
org.jboss.cdi.tck.tests.build.compatible.extensions.invalid.RegistrationNoParamTest
 
-# RegistrationOnlyMessagesTest: 0 failing, 1 failing configuration/deployment 
method(s)
+# RegistrationOnlyMessagesTest: deployment/configuration fails
 
org.jboss.cdi.tck.tests.build.compatible.extensions.invalid.RegistrationOnlyMessagesTest
 
-# RegistrationOnlyTypesTest: 0 failing, 1 failing configuration/deployment 
method(s)
+# RegistrationOnlyTypesTest: deployment/configuration fails
 
org.jboss.cdi.tck.tests.build.compatible.extensions.invalid.RegistrationOnlyTypesTest
 
-# SyntheticBeanTest: 0 failing, 1 failing configuration/deployment method(s)
+# SyntheticBeanTest: deployment/configuration fails
 
org.jboss.cdi.tck.tests.build.compatible.extensions.syntheticBean.SyntheticBeanTest
 
 # SyntheticBeanInjectionPointTest: 1 failing
-org.jboss.cdi.tck.tests.build.compatible.extensions.syntheticBeanInjectionPoint.SyntheticBeanInjectionPointTest
+org.jboss.cdi.tck.tests.build.compatible.extensions.syntheticBeanInjectionPoint.SyntheticBeanInjectionPointTest#test
 
 # SyntheticBeanWithLookupTest: 1 failing
-org.jboss.cdi.tck.tests.build.compatible.extensions.syntheticBeanWithLookup.SyntheticBeanWithLookupTest
+org.jboss.cdi.tck.tests.build.compatible.extensions.syntheticBeanWithLookup.SyntheticBeanWithLookupTest#test
 
 # SyntheticObserverTest: 1 failing
-org.jboss.cdi.tck.tests.build.compatible.extensions.syntheticObserver.SyntheticObserverTest
+org.jboss.cdi.tck.tests.build.compatible.extensions.syntheticObserver.SyntheticObserverTest#test
 
 # SyntheticObserverOfParameterizedTypeTest: 1 failing
-org.jboss.cdi.tck.tests.build.compatible.extensions.syntheticObserverOfParameterizedType.SyntheticObserverOfParameterizedTypeTest
+org.jboss.cdi.tck.tests.build.compatible.extensions.syntheticObserverOfParameterizedType.SyntheticObserverOfParameterizedTypeTest#test
 
-# ValidationTest: 0 failing, 1 failing configuration/deployment method(s)
+# ValidationTest: deployment/configuration fails
 org.jboss.cdi.tck.tests.build.compatible.extensions.validation.ValidationTest
 
 # LongRunningConversationPropagatedByFacesContextTest: 1 of 3 executed methods 
fail
 
org.jboss.cdi.tck.tests.context.conversation.LongRunningConversationPropagatedByFacesContextTest#testConversationPropagatedAjax
 
 # ConversationDeterminationTest: 1 failing
-org.jboss.cdi.tck.tests.context.conversation.determination.ConversationDeterminationTest
+org.jboss.cdi.tck.tests.context.conversation.determination.ConversationDeterminationTest#testConversationDetermination
 
 # ConversationFilterTest: 2 failing
-org.jboss.cdi.tck.tests.context.conversation.filter.ConversationFilterTest
+org.jboss.cdi.tck.tests.context.conversation.filter.ConversationFilterTest#testConversationActivation
+org.jboss.cdi.tck.tests.context.conversation.filter.ConversationFilterTest#testConversationBusy
 
 # SessionContextAsyncListenerTest: 2 of 4 executed methods fail
 
org.jboss.cdi.tck.tests.context.session.async.SessionContextAsyncListenerTest#testSessionContextActiveOnError
 
org.jboss.cdi.tck.tests.context.session.async.SessionContextAsyncListenerTest#testSessionContextActiveOnStartAsync
 
 # BeanTypesWithIllegalTypeTest: 1 failing
-org.jboss.cdi.tck.tests.definition.bean.types.enterprise.illegal.BeanTypesWithIllegalTypeTest
+org.jboss.cdi.tck.tests.definition.bean.types.enterprise.illegal.BeanTypesWithIllegalTypeTest#sessionBeanTypesContainsOnlyLegalTypes
 
 # BeanTypesWithIllegalTypeTest: 3 failing
-org.jboss.cdi.tck.tests.definition.bean.types.illegal.BeanTypesWithIllegalTypeTest
+org.jboss.cdi.tck.tests.definition.bean.types.illegal.BeanTypesWithIllegalTypeTest#beanSetOfBeanTypesContainsOnlyLegalTypes
+org.jboss.cdi.tck.tests.definition.bean.types.illegal.BeanTypesWithIllegalTypeTest#producerFieldsetOfBeanTypesContainsOnlyLegalTypes
+org.jboss.cdi.tck.tests.definition.bean.types.illegal.BeanTypesWithIllegalTypeTest#producerMethodsetOfBeanTypesContainsOnlyLegalTypes
 
 # EmptyBeansXmlDiscoveryTest: 1 failing
-org.jboss.cdi.tck.tests.deployment.discovery.EmptyBeansXmlDiscoveryTest
+org.jboss.cdi.tck.tests.deployment.discovery.EmptyBeansXmlDiscoveryTest#testBeanArchiveWithEmptyBeansXml
 
 # WebArchiveModulesTest: 3 of 5 executed methods fail
 
org.jboss.cdi.tck.tests.deployment.packaging.war.modules.WebArchiveModulesTest#testAlternatives
 
org.jboss.cdi.tck.tests.deployment.packaging.war.modules.WebArchiveModulesTest#testDecoratorAndCrossModuleEventObserver
 
org.jboss.cdi.tck.tests.deployment.packaging.war.modules.WebArchiveModulesTest#testInjectionChainVisibilityAndInterceptorEnablement
 
-# FireEventTest: 1 of 10 executed methods fail
-org.jboss.cdi.tck.tests.event.fires.FireEventTest#testDuplicateBindingsToFireEventFails
-
-# ImplicitEventTest: 1 of 6 executed methods fail
-org.jboss.cdi.tck.tests.event.implicit.ImplicitEventTest#testImplicitEventIsPassivationCapable
-
 # StartupShutdownTest: 1 failing
-org.jboss.cdi.tck.tests.event.lifecycle.StartupShutdownTest
-
-# DuplicateBindingTypesWhenResolvingTest: 1 failing
-org.jboss.cdi.tck.tests.event.resolve.binding.DuplicateBindingTypesWhenResolvingTest
-
-# SelectEventTest: 2 of 6 executed methods fail
-org.jboss.cdi.tck.tests.event.select.SelectEventTest#testEventSelectThrowsExceptionForDuplicateBindingType
-org.jboss.cdi.tck.tests.event.select.SelectEventTest#testEventSelectWithSubtypeThrowsExceptionForDuplicateBindingType
+org.jboss.cdi.tck.tests.event.lifecycle.StartupShutdownTest#testEventsObserved
 
 # AlternativeMetadataTest: 1 failing
-org.jboss.cdi.tck.tests.extensions.alternative.metadata.ejb.AlternativeMetadataTest
+org.jboss.cdi.tck.tests.extensions.alternative.metadata.ejb.AlternativeMetadataTest#testGetTypeClosureUsedToDetermineTypeOfSessionBean
 
 # InterceptorExtensionTest: 2 of 3 executed methods fail
 
org.jboss.cdi.tck.tests.extensions.interceptors.InterceptorExtensionTest#testInterceptorAddedByAnnotatedType
 
org.jboss.cdi.tck.tests.extensions.interceptors.InterceptorExtensionTest#testInterceptorAddedByClass
 
-# VerifyValuesTest: 0 failing, 1 failing configuration/deployment method(s)
+# VerifyValuesTest: deployment/configuration fails
 
org.jboss.cdi.tck.tests.extensions.lifecycle.processBeanAttributes.ejb.VerifyValuesTest
 
 # ContainerEventTest: 3 of 7 executed methods fail
@@ -154,11 +143,12 @@ 
org.jboss.cdi.tck.tests.extensions.lifecycle.processInjectionTarget.ContainerEve
 # CustomBeanImplementationTest: 1 of 12 executed methods fail
 
org.jboss.cdi.tck.tests.full.definition.bean.custom.CustomBeanImplementationTest#testInjectionPointGetMemberIsUsedToDetermineTheClassThatDeclaresAnInjectionPoint
 
-# AlternativeMetadataTest: 0 failing, 1 failing configuration/deployment 
method(s)
+# AlternativeMetadataTest: deployment/configuration fails
 
org.jboss.cdi.tck.tests.full.extensions.alternative.metadata.AlternativeMetadataTest
 
 # LifecycleEventOrderingTest: 2 failing
-org.jboss.cdi.tck.tests.full.extensions.beanDiscovery.event.ordering.LifecycleEventOrderingTest
+org.jboss.cdi.tck.tests.full.extensions.beanDiscovery.event.ordering.LifecycleEventOrderingTest#testEventsWereFiredInCorrectOrderForManagedBean
+org.jboss.cdi.tck.tests.full.extensions.beanDiscovery.event.ordering.LifecycleEventOrderingTest#testEventsWereFiredInCorrectOrderForProducer
 
 # AnnotatedTypeConfiguratorTest: 1 of 6 executed methods fail
 
org.jboss.cdi.tck.tests.full.extensions.configurators.annotatedTypeConfigurator.AnnotatedTypeConfiguratorTest#addMethodsOfAnnotationTypecConfigurator
@@ -168,152 +158,142 @@ 
org.jboss.cdi.tck.tests.full.extensions.configurators.bean.BeanConfiguratorTest#
 
org.jboss.cdi.tck.tests.full.extensions.configurators.bean.BeanConfiguratorTest#testDefaultScopeOfAddedBean
 
 # SpecializationTest: 1 failing
-org.jboss.cdi.tck.tests.full.extensions.lifecycle.processBeanAttributes.specialization.SpecializationTest
+org.jboss.cdi.tck.tests.full.extensions.lifecycle.processBeanAttributes.specialization.SpecializationTest#testProcessBeanAttributesFiredProperlyForSpecializedBean
 
 # BuildCompatibleExtensionSmokeTest: 1 failing
-org.jboss.cdi.tck.tests.full.extensions.lite.coexistence.BuildCompatibleExtensionSmokeTest
+org.jboss.cdi.tck.tests.full.extensions.lite.coexistence.BuildCompatibleExtensionSmokeTest#testExtensionsCanCoexist
 
 # SimpleBeanSpecializationTest: 3 of 5 executed methods fail
 
org.jboss.cdi.tck.tests.full.inheritance.specialization.simple.SimpleBeanSpecializationTest#testIndirectSpecialization
 
org.jboss.cdi.tck.tests.full.inheritance.specialization.simple.SimpleBeanSpecializationTest#testSpecializingBeanHasNameOfSpecializedBean
 
org.jboss.cdi.tck.tests.full.inheritance.specialization.simple.SimpleBeanSpecializationTest#testSpecializingBeanHasQualifiersOfSpecializedAndSpecializingBean
 
-# EnterpriseBeanLifecycleTest: 2 of 11 executed methods fail
-org.jboss.cdi.tck.tests.implementation.enterprise.lifecycle.EnterpriseBeanLifecycleTest#testCreateSFSB
-org.jboss.cdi.tck.tests.implementation.enterprise.lifecycle.EnterpriseBeanLifecycleTest#testSerializeSFSB
-
-# InterceptorDefinitionTest: 1 of 11 executed methods fail
-org.jboss.cdi.tck.tests.interceptors.definition.InterceptorDefinitionTest#testSameBindingTypesToResolveInterceptorsFails
-
 # GlobalInterceptorOrderingTest: 1 of 2 executed methods fail
 
org.jboss.cdi.tck.tests.interceptors.ordering.global.GlobalInterceptorOrderingTest#testOrderingInLib
 
 # SimpleInvokerTest: 1 failing
-org.jboss.cdi.tck.tests.invokers.SimpleInvokerTest
+org.jboss.cdi.tck.tests.invokers.SimpleInvokerTest#test
 
 # BadInstanceInvokerTest: 1 failing
-org.jboss.cdi.tck.tests.invokers.basic.BadInstanceInvokerTest
+org.jboss.cdi.tck.tests.invokers.basic.BadInstanceInvokerTest#test
 
 # ExcessArgumentsInvokerTest: 1 failing
-org.jboss.cdi.tck.tests.invokers.basic.ExcessArgumentsInvokerTest
+org.jboss.cdi.tck.tests.invokers.basic.ExcessArgumentsInvokerTest#test
 
 # GoodInstanceInvokerTest: 1 failing
-org.jboss.cdi.tck.tests.invokers.basic.GoodInstanceInvokerTest
+org.jboss.cdi.tck.tests.invokers.basic.GoodInstanceInvokerTest#test
 
 # InstanceMethodInvokerTest: 1 failing
-org.jboss.cdi.tck.tests.invokers.basic.InstanceMethodInvokerTest
+org.jboss.cdi.tck.tests.invokers.basic.InstanceMethodInvokerTest#test
 
 # InterceptedMethodInvokerTest: 1 failing
-org.jboss.cdi.tck.tests.invokers.basic.InterceptedMethodInvokerTest
+org.jboss.cdi.tck.tests.invokers.basic.InterceptedMethodInvokerTest#test
 
 # InvokerAssignabilityTest: 2 failing
-org.jboss.cdi.tck.tests.invokers.basic.InvokerAssignabilityTest
+org.jboss.cdi.tck.tests.invokers.basic.InvokerAssignabilityTest#testNonNull
+org.jboss.cdi.tck.tests.invokers.basic.InvokerAssignabilityTest#testNull
 
 # InvokerVisibilityTest: 1 failing
-org.jboss.cdi.tck.tests.invokers.basic.InvokerVisibilityTest
+org.jboss.cdi.tck.tests.invokers.basic.InvokerVisibilityTest#test
 
 # MissingArgumentsInvokerTest: 1 failing
-org.jboss.cdi.tck.tests.invokers.basic.MissingArgumentsInvokerTest
+org.jboss.cdi.tck.tests.invokers.basic.MissingArgumentsInvokerTest#test
 
 # PrimitiveParametersInvokerTest: 1 failing
-org.jboss.cdi.tck.tests.invokers.basic.PrimitiveParametersInvokerTest
+org.jboss.cdi.tck.tests.invokers.basic.PrimitiveParametersInvokerTest#test
 
 # PrimitiveReturnValueInvokerTest: 1 failing
-org.jboss.cdi.tck.tests.invokers.basic.PrimitiveReturnValueInvokerTest
+org.jboss.cdi.tck.tests.invokers.basic.PrimitiveReturnValueInvokerTest#test
 
 # StaticMethodInvokerTest: 1 failing
-org.jboss.cdi.tck.tests.invokers.basic.StaticMethodInvokerTest
+org.jboss.cdi.tck.tests.invokers.basic.StaticMethodInvokerTest#test
 
 # ThrowingInvokerTest: 1 failing
-org.jboss.cdi.tck.tests.invokers.basic.ThrowingInvokerTest
+org.jboss.cdi.tck.tests.invokers.basic.ThrowingInvokerTest#test
 
 # VarargsMethodInvokerTest: 1 failing
-org.jboss.cdi.tck.tests.invokers.basic.VarargsMethodInvokerTest
+org.jboss.cdi.tck.tests.invokers.basic.VarargsMethodInvokerTest#test
 
 # VoidMethodInvokerTest: 1 failing
-org.jboss.cdi.tck.tests.invokers.basic.VoidMethodInvokerTest
+org.jboss.cdi.tck.tests.invokers.basic.VoidMethodInvokerTest#test
 
 # ZeroParametersInvokerTest: 1 failing
-org.jboss.cdi.tck.tests.invokers.basic.ZeroParametersInvokerTest
+org.jboss.cdi.tck.tests.invokers.basic.ZeroParametersInvokerTest#test
 
-# ConstructorInvokerTest: 0 failing, 1 failing configuration/deployment 
method(s)
+# ConstructorInvokerTest: deployment/configuration fails
 org.jboss.cdi.tck.tests.invokers.invalid.ctor.ConstructorInvokerTest
 
-# InterceptorInvokerTest: 0 failing, 1 failing configuration/deployment 
method(s)
+# InterceptorInvokerTest: deployment/configuration fails
 org.jboss.cdi.tck.tests.invokers.invalid.interceptor.InterceptorInvokerTest
 
-# MethodFromDifferentClassInvokerTest: 0 failing, 1 failing 
configuration/deployment method(s)
+# MethodFromDifferentClassInvokerTest: deployment/configuration fails
 
org.jboss.cdi.tck.tests.invokers.invalid.method.MethodFromDifferentClassInvokerTest
 
-# ObjectMethodButNotToStringInvokerTest: 0 failing, 1 failing 
configuration/deployment method(s)
+# ObjectMethodButNotToStringInvokerTest: deployment/configuration fails
 
org.jboss.cdi.tck.tests.invokers.invalid.objmethod.ObjectMethodButNotToStringInvokerTest
 
-# PrivateMethodInvokerTest: 0 failing, 1 failing configuration/deployment 
method(s)
+# PrivateMethodInvokerTest: deployment/configuration fails
 org.jboss.cdi.tck.tests.invokers.invalid.privatemethod.PrivateMethodInvokerTest
 
-# ProducerFieldBeanInvokerTest: 0 failing, 1 failing configuration/deployment 
method(s)
+# ProducerFieldBeanInvokerTest: deployment/configuration fails
 org.jboss.cdi.tck.tests.invokers.invalid.prodfield.ProducerFieldBeanInvokerTest
 
-# ProducerMethodBeanInvokerTest: 0 failing, 1 failing configuration/deployment 
method(s)
+# ProducerMethodBeanInvokerTest: deployment/configuration fails
 
org.jboss.cdi.tck.tests.invokers.invalid.prodmethod.ProducerMethodBeanInvokerTest
 
 # ArgumentArraySizeWithLookupTest: 1 failing
-org.jboss.cdi.tck.tests.invokers.lookup.ArgumentArraySizeWithLookupTest
+org.jboss.cdi.tck.tests.invokers.lookup.ArgumentArraySizeWithLookupTest#test
 
 # ArgumentLookupBeanManagerTest: 1 failing
-org.jboss.cdi.tck.tests.invokers.lookup.ArgumentLookupBeanManagerTest
+org.jboss.cdi.tck.tests.invokers.lookup.ArgumentLookupBeanManagerTest#test
 
 # ArgumentLookupDependentTest: 1 failing
-org.jboss.cdi.tck.tests.invokers.lookup.ArgumentLookupDependentTest
+org.jboss.cdi.tck.tests.invokers.lookup.ArgumentLookupDependentTest#test
 
 # ArgumentLookupEventTest: 1 failing
-org.jboss.cdi.tck.tests.invokers.lookup.ArgumentLookupEventTest
+org.jboss.cdi.tck.tests.invokers.lookup.ArgumentLookupEventTest#test
 
 # ArgumentLookupInstanceTest: 1 failing
-org.jboss.cdi.tck.tests.invokers.lookup.ArgumentLookupInstanceTest
+org.jboss.cdi.tck.tests.invokers.lookup.ArgumentLookupInstanceTest#test
 
 # ArgumentLookupTest: 1 failing
-org.jboss.cdi.tck.tests.invokers.lookup.ArgumentLookupTest
+org.jboss.cdi.tck.tests.invokers.lookup.ArgumentLookupTest#test
 
-# BadArgumentLookupEqualToNumberOfParamsTest: 0 failing, 1 failing 
configuration/deployment method(s)
+# BadArgumentLookupEqualToNumberOfParamsTest: deployment/configuration fails
 
org.jboss.cdi.tck.tests.invokers.lookup.BadArgumentLookupEqualToNumberOfParamsTest
 
-# BadArgumentLookupGreaterThanNumberOfParamsTest: 0 failing, 1 failing 
configuration/deployment method(s)
+# BadArgumentLookupGreaterThanNumberOfParamsTest: deployment/configuration 
fails
 
org.jboss.cdi.tck.tests.invokers.lookup.BadArgumentLookupGreaterThanNumberOfParamsTest
 
-# BadArgumentLookupLessThanZeroTest: 0 failing, 1 failing 
configuration/deployment method(s)
+# BadArgumentLookupLessThanZeroTest: deployment/configuration fails
 org.jboss.cdi.tck.tests.invokers.lookup.BadArgumentLookupLessThanZeroTest
 
 # InstanceLookupDependentTest: 1 failing
-org.jboss.cdi.tck.tests.invokers.lookup.InstanceLookupDependentTest
+org.jboss.cdi.tck.tests.invokers.lookup.InstanceLookupDependentTest#test
 
 # InstanceLookupStaticMethodTest: 1 failing
-org.jboss.cdi.tck.tests.invokers.lookup.InstanceLookupStaticMethodTest
+org.jboss.cdi.tck.tests.invokers.lookup.InstanceLookupStaticMethodTest#test
 
 # InstanceLookupTest: 1 failing
-org.jboss.cdi.tck.tests.invokers.lookup.InstanceLookupTest
+org.jboss.cdi.tck.tests.invokers.lookup.InstanceLookupTest#test
 
-# LookupAmbiguousTest: 0 failing, 1 failing configuration/deployment method(s)
+# LookupAmbiguousTest: deployment/configuration fails
 org.jboss.cdi.tck.tests.invokers.lookup.LookupAmbiguousTest
 
-# LookupUnsatisfiedTest: 0 failing, 1 failing configuration/deployment 
method(s)
+# LookupUnsatisfiedTest: deployment/configuration fails
 org.jboss.cdi.tck.tests.invokers.lookup.LookupUnsatisfiedTest
 
-# DynamicLookupTest: 2 of 13 executed methods fail
-org.jboss.cdi.tck.tests.lookup.dynamic.DynamicLookupTest#testDuplicateBindingsThrowsException
-org.jboss.cdi.tck.tests.lookup.dynamic.DynamicLookupTest#testNonBindingThrowsException
-
-# AmbiguousInjectionIntoNonContextualComponentTest: 0 failing, 1 failing 
configuration/deployment method(s)
+# AmbiguousInjectionIntoNonContextualComponentTest: deployment/configuration 
fails
 
org.jboss.cdi.tck.tests.lookup.injection.non.contextual.broken.ambiguous.AmbiguousInjectionIntoNonContextualComponentTest
 
-# UnsatisfiedInjectionIntoNonContextualComponentTest: 0 failing, 1 failing 
configuration/deployment method(s)
+# UnsatisfiedInjectionIntoNonContextualComponentTest: deployment/configuration 
fails
 
org.jboss.cdi.tck.tests.lookup.injection.non.contextual.broken.unsatisfied.UnsatisfiedInjectionIntoNonContextualComponentTest
 
 # NonContextualInjectionPointTest: 1 of 2 executed methods fail
 
org.jboss.cdi.tck.tests.lookup.injectionpoint.non.contextual.NonContextualInjectionPointTest#testNonContextualEjbInjectionPointGetBean
 
 # CDIProviderInitTest: 1 failing
-org.jboss.cdi.tck.tests.lookup.manager.provider.init.CDIProviderInitTest
+org.jboss.cdi.tck.tests.lookup.manager.provider.init.CDIProviderInitTest#testAccessingBeanManager
 
 # CDIProviderRuntimeTest: 1 of 3 executed methods fail
 
org.jboss.cdi.tck.tests.lookup.manager.provider.runtime.CDIProviderRuntimeTest#testGetBeanManager
diff --git a/runner-standalone/exclusions/cdi.txt 
b/runner-standalone/exclusions/cdi.txt
index d9949d3..3f959c4 100644
--- a/runner-standalone/exclusions/cdi.txt
+++ b/runner-standalone/exclusions/cdi.txt
@@ -1,10 +1,12 @@
 # Jakarta CDI 4.1 TCK core suite (jakarta.enterprise:cdi-tck-core-impl:4.1.0)
-# on OpenWebBeans 4.1 / TomEE Plume snapshot, Java 21, 2026-07-18: 1,388 tests,
-# 90 failures (63 test methods + 27 classes failing in deployment/
-# configuration), 82 skipped. The failures cluster in the new CDI 4.1 Method
-# Invokers API and in build-compatible extensions - OpenWebBeans 4.1 feature
-# gaps to triage upstream, plus a smaller set of full-profile observer and
-# interceptor issues.
+# on OpenWebBeans 4.1 / TomEE Plume snapshot, Java 21, 2026-07-19: 1,388 tests,
+# 81 failures (54 test methods + 27 classes failing in deployment/
+# configuration), 82 skipped. The mandatory CDI API signature check
+# (cdi-api-jdk17.sig) passes. The failures cluster in the CDI 4.1
+# build-compatible-extensions feature (build-compatible extensions plus the
+# Method Invokers the TCK registers through them) and in a smaller set of
+# full-profile observer, specialization, and interceptor edge cases -
+# OpenWebBeans 4.1 gaps to triage upstream.
 #
 # Format: one fully-qualified class name (excludes the whole class, required
 # where the deployment/configuration phase itself fails) or Class#method per
@@ -14,114 +16,114 @@
 # BeanContainerTest: 1 of 10 executed methods fail
 org.jboss.cdi.tck.tests.beanContainer.BeanContainerTest#testGetContexts
 
-# BeanByTypeTest: 1 of 6 executed methods fail
-org.jboss.cdi.tck.tests.beanContainer.bytype.BeanByTypeTest#testSameBindingTwice
+# --- Build-compatible extensions (jakarta.enterprise.inject.build.compatible)
+# OpenWebBeans 4.1 ships no jakarta.enterprise.inject.build.compatible.spi
+# BuildServices provider, so build-compatible extensions do not run.
+# Deployments that only register a build-compatible extension fail
+# configuration (whole-class entries); tests that additionally assert runtime
+# behavior fail their single method. ---
 
-# ChangeBeanQualifierTest: 0 failing, 1 failing configuration/deployment 
method(s)
+# ChangeBeanQualifierTest: deployment/configuration fails
 
org.jboss.cdi.tck.tests.build.compatible.extensions.changeBeanQualifier.ChangeBeanQualifierTest
 
 # ChangeInjectionPointTest: 1 failing
-org.jboss.cdi.tck.tests.build.compatible.extensions.changeInjectionPoint.ChangeInjectionPointTest
+org.jboss.cdi.tck.tests.build.compatible.extensions.changeInjectionPoint.ChangeInjectionPointTest#test
 
 # ChangeInterceptorBindingTest: 1 failing
-org.jboss.cdi.tck.tests.build.compatible.extensions.changeInterceptorBinding.ChangeInterceptorBindingTest
+org.jboss.cdi.tck.tests.build.compatible.extensions.changeInterceptorBinding.ChangeInterceptorBindingTest#test
 
 # ChangeObserverQualifierTest: 1 of 2 executed methods fail
 
org.jboss.cdi.tck.tests.build.compatible.extensions.changeObserverQualifier.ChangeObserverQualifierTest#test
 
 # CustomInterceptorBindingTest: 1 failing
-org.jboss.cdi.tck.tests.build.compatible.extensions.customInterceptorBinding.CustomInterceptorBindingTest
+org.jboss.cdi.tck.tests.build.compatible.extensions.customInterceptorBinding.CustomInterceptorBindingTest#test
 
-# CustomNormalScopeTest: 0 failing, 1 failing configuration/deployment 
method(s)
+# CustomNormalScopeTest: deployment/configuration fails
 
org.jboss.cdi.tck.tests.build.compatible.extensions.customNormalScope.CustomNormalScopeTest
 
 # CustomPseudoScopeTest: 1 failing
-org.jboss.cdi.tck.tests.build.compatible.extensions.customPseudoScope.CustomPseudoScopeTest
+org.jboss.cdi.tck.tests.build.compatible.extensions.customPseudoScope.CustomPseudoScopeTest#test
 
 # CustomQualifierTest: 1 failing
-org.jboss.cdi.tck.tests.build.compatible.extensions.customQualifier.CustomQualifierTest
+org.jboss.cdi.tck.tests.build.compatible.extensions.customQualifier.CustomQualifierTest#test
 
 # CustomStereotypeTest: 1 failing
-org.jboss.cdi.tck.tests.build.compatible.extensions.customStereotype.CustomStereotypeTest
+org.jboss.cdi.tck.tests.build.compatible.extensions.customStereotype.CustomStereotypeTest#test
 
-# EnhancementMultipleParams2Test: 0 failing, 1 failing 
configuration/deployment method(s)
+# EnhancementMultipleParams2Test: deployment/configuration fails
 
org.jboss.cdi.tck.tests.build.compatible.extensions.invalid.EnhancementMultipleParams2Test
 
-# EnhancementMultipleParamsTest: 0 failing, 1 failing configuration/deployment 
method(s)
+# EnhancementMultipleParamsTest: deployment/configuration fails
 
org.jboss.cdi.tck.tests.build.compatible.extensions.invalid.EnhancementMultipleParamsTest
 
-# EnhancementNoParamTest: 0 failing, 1 failing configuration/deployment 
method(s)
+# EnhancementNoParamTest: deployment/configuration fails
 
org.jboss.cdi.tck.tests.build.compatible.extensions.invalid.EnhancementNoParamTest
 
-# EnhancementOnlyMessagesTest: 0 failing, 1 failing configuration/deployment 
method(s)
+# EnhancementOnlyMessagesTest: deployment/configuration fails
 
org.jboss.cdi.tck.tests.build.compatible.extensions.invalid.EnhancementOnlyMessagesTest
 
-# EnhancementOnlyTypesTest: 0 failing, 1 failing configuration/deployment 
method(s)
+# EnhancementOnlyTypesTest: deployment/configuration fails
 
org.jboss.cdi.tck.tests.build.compatible.extensions.invalid.EnhancementOnlyTypesTest
 
-# RegistrationMultipleParams2Test: 0 failing, 1 failing 
configuration/deployment method(s)
+# RegistrationMultipleParams2Test: deployment/configuration fails
 
org.jboss.cdi.tck.tests.build.compatible.extensions.invalid.RegistrationMultipleParams2Test
 
-# RegistrationMultipleParamsTest: 0 failing, 1 failing 
configuration/deployment method(s)
+# RegistrationMultipleParamsTest: deployment/configuration fails
 
org.jboss.cdi.tck.tests.build.compatible.extensions.invalid.RegistrationMultipleParamsTest
 
-# RegistrationNoParamTest: 0 failing, 1 failing configuration/deployment 
method(s)
+# RegistrationNoParamTest: deployment/configuration fails
 
org.jboss.cdi.tck.tests.build.compatible.extensions.invalid.RegistrationNoParamTest
 
-# RegistrationOnlyMessagesTest: 0 failing, 1 failing configuration/deployment 
method(s)
+# RegistrationOnlyMessagesTest: deployment/configuration fails
 
org.jboss.cdi.tck.tests.build.compatible.extensions.invalid.RegistrationOnlyMessagesTest
 
-# RegistrationOnlyTypesTest: 0 failing, 1 failing configuration/deployment 
method(s)
+# RegistrationOnlyTypesTest: deployment/configuration fails
 
org.jboss.cdi.tck.tests.build.compatible.extensions.invalid.RegistrationOnlyTypesTest
 
-# SyntheticBeanTest: 0 failing, 1 failing configuration/deployment method(s)
+# SyntheticBeanTest: deployment/configuration fails
 
org.jboss.cdi.tck.tests.build.compatible.extensions.syntheticBean.SyntheticBeanTest
 
 # SyntheticBeanInjectionPointTest: 1 failing
-org.jboss.cdi.tck.tests.build.compatible.extensions.syntheticBeanInjectionPoint.SyntheticBeanInjectionPointTest
+org.jboss.cdi.tck.tests.build.compatible.extensions.syntheticBeanInjectionPoint.SyntheticBeanInjectionPointTest#test
 
 # SyntheticBeanWithLookupTest: 1 failing
-org.jboss.cdi.tck.tests.build.compatible.extensions.syntheticBeanWithLookup.SyntheticBeanWithLookupTest
+org.jboss.cdi.tck.tests.build.compatible.extensions.syntheticBeanWithLookup.SyntheticBeanWithLookupTest#test
 
 # SyntheticObserverTest: 1 failing
-org.jboss.cdi.tck.tests.build.compatible.extensions.syntheticObserver.SyntheticObserverTest
+org.jboss.cdi.tck.tests.build.compatible.extensions.syntheticObserver.SyntheticObserverTest#test
 
 # SyntheticObserverOfParameterizedTypeTest: 1 failing
-org.jboss.cdi.tck.tests.build.compatible.extensions.syntheticObserverOfParameterizedType.SyntheticObserverOfParameterizedTypeTest
+org.jboss.cdi.tck.tests.build.compatible.extensions.syntheticObserverOfParameterizedType.SyntheticObserverOfParameterizedTypeTest#test
 
-# ValidationTest: 0 failing, 1 failing configuration/deployment method(s)
+# ValidationTest: deployment/configuration fails
 org.jboss.cdi.tck.tests.build.compatible.extensions.validation.ValidationTest
 
-# BeanTypesWithIllegalTypeTest: 3 failing
-org.jboss.cdi.tck.tests.definition.bean.types.illegal.BeanTypesWithIllegalTypeTest
+# --- End build-compatible extensions ---
 
-# EmptyBeansXmlDiscoveryTest: 1 failing
-org.jboss.cdi.tck.tests.deployment.discovery.EmptyBeansXmlDiscoveryTest
+# BeanTypesWithIllegalTypeTest: 3 of the executed methods fail
+org.jboss.cdi.tck.tests.definition.bean.types.illegal.BeanTypesWithIllegalTypeTest#beanSetOfBeanTypesContainsOnlyLegalTypes
+org.jboss.cdi.tck.tests.definition.bean.types.illegal.BeanTypesWithIllegalTypeTest#producerFieldsetOfBeanTypesContainsOnlyLegalTypes
+org.jboss.cdi.tck.tests.definition.bean.types.illegal.BeanTypesWithIllegalTypeTest#producerMethodsetOfBeanTypesContainsOnlyLegalTypes
 
-# FireEventTest: 1 of 10 executed methods fail
-org.jboss.cdi.tck.tests.event.fires.FireEventTest#testDuplicateBindingsToFireEventFails
-
-# ImplicitEventTest: 1 of 6 executed methods fail
-org.jboss.cdi.tck.tests.event.implicit.ImplicitEventTest#testImplicitEventIsPassivationCapable
+# EmptyBeansXmlDiscoveryTest: 1 failing. The runner pins the CDI 4.0 spec
+# default (defaultBeanDiscoveryMode=ANNOTATED) in the OpenWebBeans overlay,
+# but TomEE's own webapp bean scanner still discovers the unannotated bean in
+# an empty-beans.xml archive, so the archive behaves as ALL. TomEE
+# bean-discovery gap.
+org.jboss.cdi.tck.tests.deployment.discovery.EmptyBeansXmlDiscoveryTest#testBeanArchiveWithEmptyBeansXml
 
 # StartupShutdownTest: 1 failing
-org.jboss.cdi.tck.tests.event.lifecycle.StartupShutdownTest
-
-# DuplicateBindingTypesWhenResolvingTest: 1 failing
-org.jboss.cdi.tck.tests.event.resolve.binding.DuplicateBindingTypesWhenResolvingTest
-
-# SelectEventTest: 2 of 6 executed methods fail
-org.jboss.cdi.tck.tests.event.select.SelectEventTest#testEventSelectThrowsExceptionForDuplicateBindingType
-org.jboss.cdi.tck.tests.event.select.SelectEventTest#testEventSelectWithSubtypeThrowsExceptionForDuplicateBindingType
+org.jboss.cdi.tck.tests.event.lifecycle.StartupShutdownTest#testEventsObserved
 
 # CustomBeanImplementationTest: 1 of 12 executed methods fail
 
org.jboss.cdi.tck.tests.full.definition.bean.custom.CustomBeanImplementationTest#testInjectionPointGetMemberIsUsedToDetermineTheClassThatDeclaresAnInjectionPoint
 
-# AlternativeMetadataTest: 0 failing, 1 failing configuration/deployment 
method(s)
+# AlternativeMetadataTest: deployment/configuration fails
 
org.jboss.cdi.tck.tests.full.extensions.alternative.metadata.AlternativeMetadataTest
 
 # LifecycleEventOrderingTest: 2 failing
-org.jboss.cdi.tck.tests.full.extensions.beanDiscovery.event.ordering.LifecycleEventOrderingTest
+org.jboss.cdi.tck.tests.full.extensions.beanDiscovery.event.ordering.LifecycleEventOrderingTest#testEventsWereFiredInCorrectOrderForManagedBean
+org.jboss.cdi.tck.tests.full.extensions.beanDiscovery.event.ordering.LifecycleEventOrderingTest#testEventsWereFiredInCorrectOrderForProducer
 
 # AnnotatedTypeConfiguratorTest: 1 of 6 executed methods fail
 
org.jboss.cdi.tck.tests.full.extensions.configurators.annotatedTypeConfigurator.AnnotatedTypeConfiguratorTest#addMethodsOfAnnotationTypecConfigurator
@@ -131,130 +133,131 @@ 
org.jboss.cdi.tck.tests.full.extensions.configurators.bean.BeanConfiguratorTest#
 
org.jboss.cdi.tck.tests.full.extensions.configurators.bean.BeanConfiguratorTest#testDefaultScopeOfAddedBean
 
 # SpecializationTest: 1 failing
-org.jboss.cdi.tck.tests.full.extensions.lifecycle.processBeanAttributes.specialization.SpecializationTest
+org.jboss.cdi.tck.tests.full.extensions.lifecycle.processBeanAttributes.specialization.SpecializationTest#testProcessBeanAttributesFiredProperlyForSpecializedBean
 
-# BuildCompatibleExtensionSmokeTest: 1 failing
-org.jboss.cdi.tck.tests.full.extensions.lite.coexistence.BuildCompatibleExtensionSmokeTest
+# BuildCompatibleExtensionSmokeTest: 1 failing (see build-compatible 
extensions)
+org.jboss.cdi.tck.tests.full.extensions.lite.coexistence.BuildCompatibleExtensionSmokeTest#testExtensionsCanCoexist
 
 # SimpleBeanSpecializationTest: 3 of 5 executed methods fail
 
org.jboss.cdi.tck.tests.full.inheritance.specialization.simple.SimpleBeanSpecializationTest#testIndirectSpecialization
 
org.jboss.cdi.tck.tests.full.inheritance.specialization.simple.SimpleBeanSpecializationTest#testSpecializingBeanHasNameOfSpecializedBean
 
org.jboss.cdi.tck.tests.full.inheritance.specialization.simple.SimpleBeanSpecializationTest#testSpecializingBeanHasQualifiersOfSpecializedAndSpecializingBean
 
-# InterceptorDefinitionTest: 1 of 11 executed methods fail
-org.jboss.cdi.tck.tests.interceptors.definition.InterceptorDefinitionTest#testSameBindingTypesToResolveInterceptorsFails
+# --- Method Invokers (jakarta.enterprise.invoke). The Invoker API is a
+# CDI 4.1 build-compatible-extensions feature: the TCK builds every invoker
+# through a build-compatible extension, which OpenWebBeans 4.1 cannot run for
+# lack of a BuildServices provider (see above). Tests that build an invoker
+# fail their single method; deployments the TCK expects to be rejected fail
+# configuration (whole-class entries). ---
 
 # SimpleInvokerTest: 1 failing
-org.jboss.cdi.tck.tests.invokers.SimpleInvokerTest
+org.jboss.cdi.tck.tests.invokers.SimpleInvokerTest#test
 
 # BadInstanceInvokerTest: 1 failing
-org.jboss.cdi.tck.tests.invokers.basic.BadInstanceInvokerTest
+org.jboss.cdi.tck.tests.invokers.basic.BadInstanceInvokerTest#test
 
 # ExcessArgumentsInvokerTest: 1 failing
-org.jboss.cdi.tck.tests.invokers.basic.ExcessArgumentsInvokerTest
+org.jboss.cdi.tck.tests.invokers.basic.ExcessArgumentsInvokerTest#test
 
 # GoodInstanceInvokerTest: 1 failing
-org.jboss.cdi.tck.tests.invokers.basic.GoodInstanceInvokerTest
+org.jboss.cdi.tck.tests.invokers.basic.GoodInstanceInvokerTest#test
 
 # InstanceMethodInvokerTest: 1 failing
-org.jboss.cdi.tck.tests.invokers.basic.InstanceMethodInvokerTest
+org.jboss.cdi.tck.tests.invokers.basic.InstanceMethodInvokerTest#test
 
 # InterceptedMethodInvokerTest: 1 failing
-org.jboss.cdi.tck.tests.invokers.basic.InterceptedMethodInvokerTest
+org.jboss.cdi.tck.tests.invokers.basic.InterceptedMethodInvokerTest#test
 
 # InvokerAssignabilityTest: 2 failing
-org.jboss.cdi.tck.tests.invokers.basic.InvokerAssignabilityTest
+org.jboss.cdi.tck.tests.invokers.basic.InvokerAssignabilityTest#testNonNull
+org.jboss.cdi.tck.tests.invokers.basic.InvokerAssignabilityTest#testNull
 
 # InvokerVisibilityTest: 1 failing
-org.jboss.cdi.tck.tests.invokers.basic.InvokerVisibilityTest
+org.jboss.cdi.tck.tests.invokers.basic.InvokerVisibilityTest#test
 
 # MissingArgumentsInvokerTest: 1 failing
-org.jboss.cdi.tck.tests.invokers.basic.MissingArgumentsInvokerTest
+org.jboss.cdi.tck.tests.invokers.basic.MissingArgumentsInvokerTest#test
 
 # PrimitiveParametersInvokerTest: 1 failing
-org.jboss.cdi.tck.tests.invokers.basic.PrimitiveParametersInvokerTest
+org.jboss.cdi.tck.tests.invokers.basic.PrimitiveParametersInvokerTest#test
 
 # PrimitiveReturnValueInvokerTest: 1 failing
-org.jboss.cdi.tck.tests.invokers.basic.PrimitiveReturnValueInvokerTest
+org.jboss.cdi.tck.tests.invokers.basic.PrimitiveReturnValueInvokerTest#test
 
 # StaticMethodInvokerTest: 1 failing
-org.jboss.cdi.tck.tests.invokers.basic.StaticMethodInvokerTest
+org.jboss.cdi.tck.tests.invokers.basic.StaticMethodInvokerTest#test
 
 # ThrowingInvokerTest: 1 failing
-org.jboss.cdi.tck.tests.invokers.basic.ThrowingInvokerTest
+org.jboss.cdi.tck.tests.invokers.basic.ThrowingInvokerTest#test
 
 # VarargsMethodInvokerTest: 1 failing
-org.jboss.cdi.tck.tests.invokers.basic.VarargsMethodInvokerTest
+org.jboss.cdi.tck.tests.invokers.basic.VarargsMethodInvokerTest#test
 
 # VoidMethodInvokerTest: 1 failing
-org.jboss.cdi.tck.tests.invokers.basic.VoidMethodInvokerTest
+org.jboss.cdi.tck.tests.invokers.basic.VoidMethodInvokerTest#test
 
 # ZeroParametersInvokerTest: 1 failing
-org.jboss.cdi.tck.tests.invokers.basic.ZeroParametersInvokerTest
+org.jboss.cdi.tck.tests.invokers.basic.ZeroParametersInvokerTest#test
 
-# ConstructorInvokerTest: 0 failing, 1 failing configuration/deployment 
method(s)
+# ConstructorInvokerTest: deployment/configuration fails
 org.jboss.cdi.tck.tests.invokers.invalid.ctor.ConstructorInvokerTest
 
-# InterceptorInvokerTest: 0 failing, 1 failing configuration/deployment 
method(s)
+# InterceptorInvokerTest: deployment/configuration fails
 org.jboss.cdi.tck.tests.invokers.invalid.interceptor.InterceptorInvokerTest
 
-# MethodFromDifferentClassInvokerTest: 0 failing, 1 failing 
configuration/deployment method(s)
+# MethodFromDifferentClassInvokerTest: deployment/configuration fails
 
org.jboss.cdi.tck.tests.invokers.invalid.method.MethodFromDifferentClassInvokerTest
 
-# ObjectMethodButNotToStringInvokerTest: 0 failing, 1 failing 
configuration/deployment method(s)
+# ObjectMethodButNotToStringInvokerTest: deployment/configuration fails
 
org.jboss.cdi.tck.tests.invokers.invalid.objmethod.ObjectMethodButNotToStringInvokerTest
 
-# PrivateMethodInvokerTest: 0 failing, 1 failing configuration/deployment 
method(s)
+# PrivateMethodInvokerTest: deployment/configuration fails
 org.jboss.cdi.tck.tests.invokers.invalid.privatemethod.PrivateMethodInvokerTest
 
-# ProducerFieldBeanInvokerTest: 0 failing, 1 failing configuration/deployment 
method(s)
+# ProducerFieldBeanInvokerTest: deployment/configuration fails
 org.jboss.cdi.tck.tests.invokers.invalid.prodfield.ProducerFieldBeanInvokerTest
 
-# ProducerMethodBeanInvokerTest: 0 failing, 1 failing configuration/deployment 
method(s)
+# ProducerMethodBeanInvokerTest: deployment/configuration fails
 
org.jboss.cdi.tck.tests.invokers.invalid.prodmethod.ProducerMethodBeanInvokerTest
 
 # ArgumentArraySizeWithLookupTest: 1 failing
-org.jboss.cdi.tck.tests.invokers.lookup.ArgumentArraySizeWithLookupTest
+org.jboss.cdi.tck.tests.invokers.lookup.ArgumentArraySizeWithLookupTest#test
 
 # ArgumentLookupBeanManagerTest: 1 failing
-org.jboss.cdi.tck.tests.invokers.lookup.ArgumentLookupBeanManagerTest
+org.jboss.cdi.tck.tests.invokers.lookup.ArgumentLookupBeanManagerTest#test
 
 # ArgumentLookupDependentTest: 1 failing
-org.jboss.cdi.tck.tests.invokers.lookup.ArgumentLookupDependentTest
+org.jboss.cdi.tck.tests.invokers.lookup.ArgumentLookupDependentTest#test
 
 # ArgumentLookupEventTest: 1 failing
-org.jboss.cdi.tck.tests.invokers.lookup.ArgumentLookupEventTest
+org.jboss.cdi.tck.tests.invokers.lookup.ArgumentLookupEventTest#test
 
 # ArgumentLookupInstanceTest: 1 failing
-org.jboss.cdi.tck.tests.invokers.lookup.ArgumentLookupInstanceTest
+org.jboss.cdi.tck.tests.invokers.lookup.ArgumentLookupInstanceTest#test
 
 # ArgumentLookupTest: 1 failing
-org.jboss.cdi.tck.tests.invokers.lookup.ArgumentLookupTest
+org.jboss.cdi.tck.tests.invokers.lookup.ArgumentLookupTest#test
 
-# BadArgumentLookupEqualToNumberOfParamsTest: 0 failing, 1 failing 
configuration/deployment method(s)
+# BadArgumentLookupEqualToNumberOfParamsTest: deployment/configuration fails
 
org.jboss.cdi.tck.tests.invokers.lookup.BadArgumentLookupEqualToNumberOfParamsTest
 
-# BadArgumentLookupGreaterThanNumberOfParamsTest: 0 failing, 1 failing 
configuration/deployment method(s)
+# BadArgumentLookupGreaterThanNumberOfParamsTest: deployment/configuration 
fails
 
org.jboss.cdi.tck.tests.invokers.lookup.BadArgumentLookupGreaterThanNumberOfParamsTest
 
-# BadArgumentLookupLessThanZeroTest: 0 failing, 1 failing 
configuration/deployment method(s)
+# BadArgumentLookupLessThanZeroTest: deployment/configuration fails
 org.jboss.cdi.tck.tests.invokers.lookup.BadArgumentLookupLessThanZeroTest
 
 # InstanceLookupDependentTest: 1 failing
-org.jboss.cdi.tck.tests.invokers.lookup.InstanceLookupDependentTest
+org.jboss.cdi.tck.tests.invokers.lookup.InstanceLookupDependentTest#test
 
 # InstanceLookupStaticMethodTest: 1 failing
-org.jboss.cdi.tck.tests.invokers.lookup.InstanceLookupStaticMethodTest
+org.jboss.cdi.tck.tests.invokers.lookup.InstanceLookupStaticMethodTest#test
 
 # InstanceLookupTest: 1 failing
-org.jboss.cdi.tck.tests.invokers.lookup.InstanceLookupTest
+org.jboss.cdi.tck.tests.invokers.lookup.InstanceLookupTest#test
 
-# LookupAmbiguousTest: 0 failing, 1 failing configuration/deployment method(s)
+# LookupAmbiguousTest: deployment/configuration fails
 org.jboss.cdi.tck.tests.invokers.lookup.LookupAmbiguousTest
 
-# LookupUnsatisfiedTest: 0 failing, 1 failing configuration/deployment 
method(s)
+# LookupUnsatisfiedTest: deployment/configuration fails
 org.jboss.cdi.tck.tests.invokers.lookup.LookupUnsatisfiedTest
-
-# DynamicLookupTest: 2 of 13 executed methods fail
-org.jboss.cdi.tck.tests.lookup.dynamic.DynamicLookupTest#testDuplicateBindingsThrowsException
-org.jboss.cdi.tck.tests.lookup.dynamic.DynamicLookupTest#testNonBindingThrowsException
diff --git a/runner-standalone/pom.xml b/runner-standalone/pom.xml
index ddf6c5b..bcdb8a5 100644
--- a/runner-standalone/pom.xml
+++ b/runner-standalone/pom.xml
@@ -36,6 +36,7 @@
     <module>di</module>
     <module>el-install</module>
     <module>el</module>
+    <module>cdi-tck-porting</module>
     <module>cdi</module>
     <module>cdi-ee</module>
     <module>servlet-install</module>

Reply via email to