As a quick check, I'm wondering how the enum names in the YAML get translated into typescript. I would expect for instance, that in code a RuleEnum or a MandatingEnum would be called Rule or Predicate respectively, rather than including the redundant Enum naming.
In type script it is indeed named predicate.
predicate?: MandatingEnum;
In type script it is indeed named predicate.
predicate?: MandatingEnum;