To quote from #534:
- Our local terminology service raises a an exception when expansion fails.
- In BindingValidator.callService(), an exception thrown by the invocation of a terminology service results in a Warning Assertion, unless the callback to HandleValidateCodeServiceFailure (settable in the validation settings) dictates otherwise.
- IssueAssertion's of level warning are turned into a successful validation result (see constructor of IssueAssertion)
- When the BindingValidator is called in the context of a slice bucket discriminator, a succesful result means the instance fits the bucket.
TL;DR: expansion errors on a bucket discriminator will make everything match that discriminator.
I feel that turning every exception here into a warning is the weak link - but I am not sure. This might be a good place to use a result of Undecided instead of success, but that will probably create regressions where a weak warning should be considered a success.
But something needs to be changed, that's for sure.
To quote from #534:
TL;DR: expansion errors on a bucket discriminator will make everything match that discriminator.
I feel that turning every exception here into a warning is the weak link - but I am not sure. This might be a good place to use a result of
Undecidedinstead of success, but that will probably create regressions where a weak warning should be considered a success.But something needs to be changed, that's for sure.