/// Branch-based baseline for the Chapter 34 decision-table refactoring lab.
graph creditApprovalBaseline {
  node applicant : CreditCheckOperator {
    input {
      applicantId = ctx.applicantId
    }
  }

  branch on applicant.output.score {
    800       -> platinumApproval
    700       -> goldApproval
    600       -> manualReview
    otherwise -> rejectApplication
  }

  node platinumApproval : ApproveLoanOperator {
    depends_on = [applicant]
  }

  node goldApproval : ApproveLoanOperator {
    depends_on = [applicant]
  }

  node manualReview : ManualReviewOperator {
    depends_on = [applicant]
  }

  node rejectApplication : RejectLoanOperator {
    depends_on = [applicant]
  }
}
