Criteria values match literally
A criteria value used in a contains filter was handed to the matcher as a
regular expression. For most values that made no difference. For a value with a
., +, ( or | in it, an email domain or a product SKU say, the pattern
matched rows it should not have, or none, and a stray open bracket could fail
the run. It was also an open door for an expensive pattern.
Every criteria match site now matches the literal text, 17 of them across datasets, training, rescoring and the CRM assemblies, and a guard test fails the build if a new site forgets.
If a model’s criteria contain one of those characters, its next training run or scheduled rescore may select a slightly different set of rows: the set the criteria always meant.