The validation of enabled interceptors, alternatives and decorators is currently tightly related to the beans.xml file, e.g.:
If the same class is listed twice under the <interceptors> element, the container automatically detects the problem and treats it as a deployment problem.
CDI-97 in place, which allows extensions to change the enabled alternatives, decorators and interceptors, this is no longer sufficient. IMO, the validation of enabled interceptors and decorators should be the following:
1.) For each deployment descriptor, the container verifies that it does not contain duplicate interceptors, decorators or alternatives.
2.) For each BDA, the container fires the ProcessModule event allowing extensions to modify enabled alternatives, interceptors and decorators.
3.) For each BDA, the container verifies that the resulting collection of enabled alternatives, decorators and interceptors does not contain duplicates.
The step 1.) is not actually necessary but may be convenient.