[scheduler]
   [[events]]
       expected task failures = 1/fixable-1a, 1/fixable-1b, 1/fixable-2a, 1/fixable-2b, 1/fixable-3, 1/loser
[scheduling]
    [[graph]]
        R1 = """
            # Unhandled failures stay around for retriggering by "fixer"
            fixer
            FIXABLES:succeed-all & loser:fail => Z
        """
[runtime]
    [[FIXABLES]]
        script = test "${CYLC_TASK_SUBMIT_NUMBER}" -eq 2
    [[FIXABLE-1, FIXABLE-2, FIXABLE-3]]
        inherit = FIXABLES
    [[fixable-1a, fixable-1b]]
        inherit = FIXABLE-1
    [[fixable-2a, fixable-2b]]
        inherit = FIXABLE-2
    [[fixable-3]]
        inherit = FIXABLE-3
    [[fixer]]
        script = """
            cylc__job__wait_cylc_message_started
            cylc__job__poll_grep_workflow_log -E '1/fixable-1a/01.* failed'
            cylc__job__poll_grep_workflow_log -E '1/fixable-1b/01.* failed'
            cylc__job__poll_grep_workflow_log -E '1/fixable-2a/01.* failed'
            cylc__job__poll_grep_workflow_log -E '1/fixable-2b/01.* failed'
            cylc__job__poll_grep_workflow_log -E '1/fixable-3/01.* failed'
            cylc trigger "${CYLC_WORKFLOW_ID}//" \
                '//1/FIXABLE-1' '//1/fixable-2*' '//1/fixable-3'
        """
    [[loser]]
        script = false
    [[Z]]
        script = true
    [[z1, z2]]
        inherit = Z
