Currently the spec says that only passivation capable Beans must implement the PassivationCapable interface.
But a Bean class could result in both passivation-capable and not-passivation-capable beans. For e.g. a ProducerMethodBean it depends on the scope of the produced instance. For implementing this properly you would need to always need 2 classes for each bean-type. And even worse - often you know only after the all the Bean-building that this very bean is passivation-capable or not.
Thus I suggest to extend the meaning of PassivationCapable#getId() to allow returning null if the very bean doesn't support passivation.