digraph OutputPatterns {
    start [shape=Mdiamond]

    plan [label="Plan"]
    implement [label="Implement"]
    review [
        label="Review",
        shape=tab,
        prompt="Review the implementation. If changes are needed, \
            respond with: {\"preferred_next_label\": \"fix\"}. \
            If everything looks good, respond with: \
            {\"preferred_next_label\": \"approve\"}."
    ]
    exit [shape=Msquare]

    start -> plan -> implement -> review
    review -> implement [label="Fix"]
    review -> exit      [label="Approve"]
    review -> exit      [weight=-1]
}
