I think this concept of mandating an abstract class using a dash as the last character is to help identifying an abstract class. But since dash are only to denote the class path for pattern inheritance, removing dash makes sense. Also a class is identified by the rule data and not any conventions.
Imagine if Work- is an abstracct class, why is cover class named as Work-Cover and not Work--Cover (one dash as part of class name and other for the pattern inheritance concept) ?? I guess removing the mandate dash makes sense.