Yes, negative lookahead should normally work in regex, so the issue is likely related to how the eval engine is parsing or matching the response rather than the pattern itself.
You may want to test a stricter pattern like ^(?!.*good bye).*$ since some eval systems expect a full-string match instead of a partial one. Also check if the assistant response contains variations like “goodbye”, “good-bye”, or different casing.
@cylon