So,
zap -> zip, if zop (which requires zip to be done before)
zup -> zip

Therefore, zap does zip only if zip has been done before, otherwise it does not. Zup is not doing anything in this example. I could also formalize this in Python code, if you like.
spam fails_task lang_mismatch pii not_appropriate hate_speech sexual_content quality toxicity humor helpfulness creativity violence