[scheduler]
   [[events]]
       expected task failures = 1/fixable1, 1/fixable2, 1/fixable3

[scheduling]
    [[graph]]
        # Unhandled failures stay around for retriggering by "fixer"
        R1 = """
            fixer
            FIXABLES:succeed-all => Z
        """

[runtime]
    [[FIXABLES]]
        script = test "${CYLC_TASK_SUBMIT_NUMBER}" -eq 2
    [[fixable1, fixable2, fixable3]]
        inherit = FIXABLES
    [[fixer]]
        script = """
            cylc__job__wait_cylc_message_started
            cylc__job__poll_grep_workflow_log '\[1/fixable1/01:running\] failed/ERR'
            cylc__job__poll_grep_workflow_log '\[1/fixable2/01:running\] failed/ERR'
            cylc__job__poll_grep_workflow_log '\[1/fixable3/01:running\] failed/ERR'
            cylc trigger "${CYLC_WORKFLOW_ID}//1/fixable*:failed"
        """
    [[Z]]
        script = true
    [[z1, z2]]
        inherit = Z
