[2026-11-04 13:39:59] INFO: evaluate.received {"batch_id":"7c6b5c3b-6d0b-401e-9a36-7c530bdba13d","has_file":true,"filename":"temp_2026-11-04_12:22:50_1793775170_co_lending_loan_decision.xlsx","size":15049,"mime":null,"ip":null} [2026-11-04 13:39:59] INFO: import.sheet_parsed {"batch_id":"7c6b5c3b-6d0b-401e-9a36-7c530bdba13d","rows_seen":1,"rows_kept":1,"rows_skipped":0} [2026-11-04 13:39:59] INFO: evaluate.excel_parsed {"batch_id":"7c6b5c3b-6d0b-401e-9a36-7c530bdba13d","row_count":1} [2026-11-04 13:39:59] INFO: policy.request {"batch_id":"7c6b5c3b-6d0b-401e-9a36-7c530bdba13d","url":"http://localhost:7000/api/live/policy/policy-c678e363"} [2026-11-04 13:39:59] INFO: policy.response {"batch_id":"7c6b5c3b-6d0b-401e-9a36-7c530bdba13d","ok":true,"http_status":200,"duration_ms":252,"response":{"grade":{"rules":{"Blacksoil-Navdhan":{"rule":[{"description":["Blacksoil Age >=21 and <=60 pass else reject"],"key":"age","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Borrower Maturity Age"],"key":"borrower_maturity_age","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Co Applicant Age 2"],"key":"co_applicant_age_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Co Applicant Age 1"],"key":"co_applicant_age_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil gender Male - \"Male - approve, If female then check marital status, If Female then check else ignore this rule Marital Status- Reject single women as primary borrower"],"key":"gender","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - co_applicant_bureau_score_1 (upto 3 lakh loan, >=620 OR -1 to 18 else reject)"],"key":"co_applicant_bureau_score_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Overdue Amount\t<=1000, pass"],"key":"overdue_amount","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - DPD (0-6 Months) if\t<3 pass"],"key":"dpd_0_6_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Business Vintage (Years) - >=3 years else reject"],"key":"business_vintage_years","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Co-applicant 2 Maturity Age (<=63 else reject)"],"key":"co_applicant_maturity_age_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil tenure - <=36 months else reject"],"key":"tenure","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Borrower Bureau Score (upto 3 lakh loan amount, >=650 else reject) or Loan Amount >3 Lakh and If score >700 pass else reject"],"key":"bureau_score","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence Vintage (Years) >=3 years else reject"],"key":"residence_vintage_years","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Bank Statement 6M, Minimum 6 months"],"key":"bank_statement_6m","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Co-applicant 1 Maturity Age (<=63 else reject)"],"key":"co_applicant_maturity_age_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - co_applicant_bureau_score_2 (upto 3 lakh loan, >=620 OR -1 to 18 else reject)"],"key":"co_applicant_bureau_score_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Active Credit Lines Count - Value\t<=3 pass"],"key":"active_credit_lines_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - DPD (6-12 Months) if <2 pass"],"key":"dpd_6_12_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Applicant NTC, pass if false"],"key":"applicant_ntc","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Cheque Bounce Count 6M,No bounce in last 6 months, pass"],"key":"cheque_bounce_count_6m","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Enquiries Last 3 Months\tValue\t<=5 pass"],"key":"enquiries_last_3_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence to Branch Distance (km) - <=30 KM from branch else reject"],"key":"residence_to_branch_distance_km","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Loan Amount - <=4,00,000 else reject"],"key":"loan_amount","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence Ownership - Owned/Ancestral/Rent Free else reject"],"key":"residence_ownership","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Son,Father,mother,Grandfather,Grandmother,Brother, Uncle (immediate paternal and maternal uncle) - pass else reject"],"key":"co_applicant_relationship_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Son,Father,mother,Grandfather,Grandmother,Brother, Uncle (immediate paternal and maternal uncle) - pass else reject"],"key":"co_applicant_relationship_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Foir foir <= 50% pass else fail"],"key":"foir","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - 1. Expansion of existing business. 2. Purchase of additional stock / raw material / working capital 3. Purchase of machinery/equipment 4. Refinancing of existing loans in case of an existing Navadhan customer"],"key":"loan_utilization","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil bureau_loss_count > 0 fail else pass"],"key":"bureau_loss_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_dbt_count > 0 reject else pass"],"key":"bureau_dbt_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_sub_count any value received > 0 reject else pass"],"key":"bureau_sub_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_write_off_count < 1000 pass else reject"],"key":"bureau_write_off_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_settlement_count > 0 reject else pass"],"key":"bureau_settlement_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["LSS count = 0 then approve else reject; after excluding KCC ≤₹3L, Gold Loans, disb. amount ≤₹10K, Mudra Loans, Loan Against Deposit and Guarantor-status loans"],"key":"lss_count_24m","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}}]}}}},"error":null} [2026-11-04 13:39:59] INFO: policy.parsed {"batch_id":"7c6b5c3b-6d0b-401e-9a36-7c530bdba13d","policy_count":1,"policy_names":["Blacksoil-Navdhan"]} [2026-11-04 13:39:59] INFO: row.start {"batch_id":"7c6b5c3b-6d0b-401e-9a36-7c530bdba13d","row":1,"application_id":"AVDHA040LE002867"} [2026-11-04 13:39:59] INFO: row.lead_created {"batch_id":"7c6b5c3b-6d0b-401e-9a36-7c530bdba13d","row":1,"application_id":"AVDHA040LE002867","vendor_loan_id":287} [2026-11-04 13:39:59] INFO: row.co_applicants_saved {"batch_id":"7c6b5c3b-6d0b-401e-9a36-7c530bdba13d","row":1,"vendor_loan_id":287,"count":2} [2026-11-04 13:39:59] INFO: row.decision_data_saved {"batch_id":"7c6b5c3b-6d0b-401e-9a36-7c530bdba13d","row":1,"vendor_loan_id":287,"decision_keys":93} [2026-11-04 13:39:59] INFO: row.api_request {"batch_id":"7c6b5c3b-6d0b-401e-9a36-7c530bdba13d","row":1,"vendor_loan_id":287,"url":"http://localhost:8889/","policies_payload":["Blacksoil-Navdhan"],"decision_keys":["application_id","age","gender","marital_status","applicant_ntc","household_monthly_income","household_annual_income","household_expenses","existing_emi_obligations","business_income","agriculture_income","dairy_income","foir","eligible_emi","eligible_loan_amount","loan_utilization","name_of_bureau","bureau_score","bureau_pull_date","overdue_amount","dpd_0_6_months","bureau_sub_count","bureau_dbt_count","bureau_loss_count","bureau_write_off_count","bureau_settlement_count","bureau_suit_filled_count","bureau_willful_default_count","restructured_count","dpd_6_12_months","enquiries_last_3_months","active_credit_lines_count","bank_statement_6m","cheque_bounce_count_6m","loan_amount","tenure","interest_rate","apr","repayment_frequency","loan_purpose","residence_area","residence_vintage_years","residence_ownership","residence_to_branch_distance_km","business_vintage_years","asset_fridge_value","asset_air_conditioner_value","asset_washing_machine_value","asset_tv_value","asset_smart_phone_value","co_applicant_age_1","co_applicant_relationship_1","co_applicant_years_of_stay_in_current_address_1","co_applicant_ntc_1","co_applicant_financial_status_1","co_applicant_name_of_bureau_1","co_applicant_bureau_score_1","co_applicant_bureau_pull_date_1","co_applicant_overdue_amount_1","co_applicant_dpd_0_6_months_1","co_applicant_dpd_6_12_months_1","co_applicant_bureau_sub_count_1","co_applicant_bureau_dbt_count_1","co_applicant_bureau_loss_count_1","co_applicant_bureau_write_off_count_1","co_applicant_bureau_settlement_count_1","co_applicant_bureau_suit_filed_count_1","co_applicant_bureau_willful_default_count_1","co_applicant_restructured_count_1","co_applicant_enquiries_last_3_months_1","co_applicant_active_credit_lines_count_1","co_applicant_age_2","co_applicant_relationship_2","co_applicant_years_of_stay_in_current_address_2","co_applicant_ntc_2","co_applicant_financial_status_2","co_applicant_name_of_bureau_2","co_applicant_bureau_score_2","co_applicant_bureau_pull_date_2","co_applicant_overdue_amount_2","co_applicant_dpd_0_6_months_2","co_applicant_dpd_6_12_months_2","co_applicant_bureau_sub_count_2","co_applicant_bureau_dbt_count_2","co_applicant_bureau_loss_count_2","co_applicant_bureau_write_off_count_2","co_applicant_bureau_settlement_count_2","co_applicant_bureau_suit_filed_count_2","co_applicant_bureau_willful_default_count_2","co_applicant_restructured_count_2","co_applicant_enquiries_last_3_months_2","co_applicant_active_credit_lines_count_2","borrower_maturity_age"],"payload":{"grade":{"rules":{"Blacksoil-Navdhan":{"rule":[{"description":["Blacksoil Age >=21 and <=60 pass else reject"],"key":"age","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Borrower Maturity Age"],"key":"borrower_maturity_age","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Co Applicant Age 2"],"key":"co_applicant_age_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Co Applicant Age 1"],"key":"co_applicant_age_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil gender Male - \"Male - approve, If female then check marital status, If Female then check else ignore this rule Marital Status- Reject single women as primary borrower"],"key":"gender","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - co_applicant_bureau_score_1 (upto 3 lakh loan, >=620 OR -1 to 18 else reject)"],"key":"co_applicant_bureau_score_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Overdue Amount\t<=1000, pass"],"key":"overdue_amount","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - DPD (0-6 Months) if\t<3 pass"],"key":"dpd_0_6_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Business Vintage (Years) - >=3 years else reject"],"key":"business_vintage_years","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Co-applicant 2 Maturity Age (<=63 else reject)"],"key":"co_applicant_maturity_age_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil tenure - <=36 months else reject"],"key":"tenure","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Borrower Bureau Score (upto 3 lakh loan amount, >=650 else reject) or Loan Amount >3 Lakh and If score >700 pass else reject"],"key":"bureau_score","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence Vintage (Years) >=3 years else reject"],"key":"residence_vintage_years","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Bank Statement 6M, Minimum 6 months"],"key":"bank_statement_6m","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Co-applicant 1 Maturity Age (<=63 else reject)"],"key":"co_applicant_maturity_age_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - co_applicant_bureau_score_2 (upto 3 lakh loan, >=620 OR -1 to 18 else reject)"],"key":"co_applicant_bureau_score_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Active Credit Lines Count - Value\t<=3 pass"],"key":"active_credit_lines_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - DPD (6-12 Months) if <2 pass"],"key":"dpd_6_12_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Applicant NTC, pass if false"],"key":"applicant_ntc","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Cheque Bounce Count 6M,No bounce in last 6 months, pass"],"key":"cheque_bounce_count_6m","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Enquiries Last 3 Months\tValue\t<=5 pass"],"key":"enquiries_last_3_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence to Branch Distance (km) - <=30 KM from branch else reject"],"key":"residence_to_branch_distance_km","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Loan Amount - <=4,00,000 else reject"],"key":"loan_amount","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence Ownership - Owned/Ancestral/Rent Free else reject"],"key":"residence_ownership","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Son,Father,mother,Grandfather,Grandmother,Brother, Uncle (immediate paternal and maternal uncle) - pass else reject"],"key":"co_applicant_relationship_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Son,Father,mother,Grandfather,Grandmother,Brother, Uncle (immediate paternal and maternal uncle) - pass else reject"],"key":"co_applicant_relationship_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Foir foir <= 50% pass else fail"],"key":"foir","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - 1. Expansion of existing business. 2. Purchase of additional stock / raw material / working capital 3. Purchase of machinery/equipment 4. Refinancing of existing loans in case of an existing Navadhan customer"],"key":"loan_utilization","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil bureau_loss_count > 0 fail else pass"],"key":"bureau_loss_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_dbt_count > 0 reject else pass"],"key":"bureau_dbt_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_sub_count any value received > 0 reject else pass"],"key":"bureau_sub_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_write_off_count < 1000 pass else reject"],"key":"bureau_write_off_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_settlement_count > 0 reject else pass"],"key":"bureau_settlement_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["LSS count = 0 then approve else reject; after excluding KCC ≤₹3L, Gold Loans, disb. amount ≤₹10K, Mudra Loans, Loan Against Deposit and Guarantor-status loans"],"key":"lss_count_24m","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}}],"payload":{"application_id":"AVDHA040LE002867","age":35,"gender":"male","marital_status":"married","applicant_ntc":"no","household_monthly_income":50000,"household_annual_income":600000,"household_expenses":85700,"existing_emi_obligations":9041,"business_income":28300,"agriculture_income":0,"dairy_income":0,"foir":40,"eligible_emi":90531,"eligible_loan_amount":250000,"loan_utilization":"purchase of machinery/equipment","name_of_bureau":"crif","bureau_score":700,"bureau_pull_date":"1983-01-01","overdue_amount":0,"dpd_0_6_months":1,"bureau_sub_count":0,"bureau_dbt_count":0,"bureau_loss_count":0,"bureau_write_off_count":0,"bureau_settlement_count":0,"bureau_suit_filled_count":0,"bureau_willful_default_count":0,"restructured_count":0,"dpd_6_12_months":1,"enquiries_last_3_months":2,"active_credit_lines_count":1,"bank_statement_6m":1,"cheque_bounce_count_6m":0,"loan_amount":250000,"tenure":24,"interest_rate":31,"apr":34.14,"repayment_frequency":"monthly","loan_purpose":"business expansion","residence_area":"rural","residence_vintage_years":5,"residence_ownership":"owned","residence_to_branch_distance_km":10,"business_vintage_years":5,"asset_fridge_value":10000,"asset_air_conditioner_value":0,"asset_washing_machine_value":12000,"asset_tv_value":8000,"asset_smart_phone_value":20000,"co_applicant_age_1":30,"co_applicant_relationship_1":"father","co_applicant_years_of_stay_in_current_address_1":"","co_applicant_ntc_1":"no","co_applicant_financial_status_1":"financial","co_applicant_name_of_bureau_1":"crif","co_applicant_bureau_score_1":650,"co_applicant_bureau_pull_date_1":"2025-03-26","co_applicant_overdue_amount_1":0,"co_applicant_dpd_0_6_months_1":0,"co_applicant_dpd_6_12_months_1":0,"co_applicant_bureau_sub_count_1":0,"co_applicant_bureau_dbt_count_1":0,"co_applicant_bureau_loss_count_1":0,"co_applicant_bureau_write_off_count_1":0,"co_applicant_bureau_settlement_count_1":0,"co_applicant_bureau_suit_filed_count_1":0,"co_applicant_bureau_willful_default_count_1":0,"co_applicant_restructured_count_1":0,"co_applicant_enquiries_last_3_months_1":0,"co_applicant_active_credit_lines_count_1":3,"co_applicant_age_2":28,"co_applicant_relationship_2":"mother","co_applicant_years_of_stay_in_current_address_2":30,"co_applicant_ntc_2":"yes","co_applicant_financial_status_2":"financial","co_applicant_name_of_bureau_2":"crif","co_applicant_bureau_score_2":650,"co_applicant_bureau_pull_date_2":"2026-04-15","co_applicant_overdue_amount_2":0,"co_applicant_dpd_0_6_months_2":0,"co_applicant_dpd_6_12_months_2":0,"co_applicant_bureau_sub_count_2":0,"co_applicant_bureau_dbt_count_2":0,"co_applicant_bureau_loss_count_2":0,"co_applicant_bureau_write_off_count_2":0,"co_applicant_bureau_settlement_count_2":0,"co_applicant_bureau_suit_filed_count_2":0,"co_applicant_bureau_willful_default_count_2":0,"co_applicant_restructured_count_2":0,"co_applicant_enquiries_last_3_months_2":0,"co_applicant_active_credit_lines_count_2":0,"borrower_maturity_age":37}}}}}} [2026-11-04 13:40:00] INFO: row.api_response {"batch_id":"7c6b5c3b-6d0b-401e-9a36-7c530bdba13d","row":1,"vendor_loan_id":287,"http_status":200,"ok":true,"duration_ms":608,"response":{"Blacksoil-Navdhan":{"failed_condition":{"key":"lss_count_24m","reason":"Data not found: 'lss_count_24m' is missing from the JSON payload."},"policy_status":false,"rules":[{"against":["pass","equal"],"key":"age","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["pass","equal"],"key":"borrower_maturity_age","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["18","lessThanEqual"],"key":"co_applicant_age_2","log":[],"reason":"Passed: 18.0 lessThanEqual 28","result":true,"source":28},{"against":["18","lessThanEqual"],"key":"co_applicant_age_1","log":[],"reason":"Passed: 18.0 lessThanEqual 30","result":true,"source":30},{"against":["pass","equal"],"key":"gender","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["pass","equal"],"key":"co_applicant_bureau_score_1","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["1000","greaterThanEqual"],"key":"overdue_amount","log":[],"reason":"Passed: 1000.0 greaterThanEqual 0","result":true,"source":0},{"against":["3","greaterThan"],"key":"dpd_0_6_months","log":[],"reason":"Passed: 3.0 greaterThan 1","result":true,"source":1},{"against":["3","lessThanEqual"],"key":"business_vintage_years","log":[],"reason":"Passed: 3.0 lessThanEqual 5","result":true,"source":5},{"against":["63","equal"],"key":"co_applicant_maturity_age_2","log":[],"reason":"Failed: 63 not equal pass","result":false,"source":"pass"},{"against":["36","greaterThanEqual"],"key":"tenure","log":[],"reason":"Passed: 36.0 greaterThanEqual 24","result":true,"source":24},{"against":["pass","equal"],"key":"bureau_score","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["3","lessThanEqual"],"key":"residence_vintage_years","log":[],"reason":"Passed: 3.0 lessThanEqual 5","result":true,"source":5},{"against":["pass","equal"],"key":"bank_statement_6m","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["63","equal"],"key":"co_applicant_maturity_age_1","log":[],"reason":"Failed: 63 not equal pass","result":false,"source":"pass"},{"against":["pass","equal"],"key":"co_applicant_bureau_score_2","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["3","greaterThanEqual"],"key":"active_credit_lines_count","log":[],"reason":"Passed: 3.0 greaterThanEqual 1","result":true,"source":1},{"against":["60","greaterThan"],"key":"dpd_6_12_months","log":[],"reason":"Passed: 60.0 greaterThan 1","result":true,"source":1},{"against":["false","equal"],"key":"applicant_ntc","log":[],"reason":"Failed: false not equal no","result":false,"source":"no"},{"against":["0","greaterThanEqual"],"key":"cheque_bounce_count_6m","log":[],"reason":"Passed: 0.0 greaterThanEqual 0","result":true,"source":0},{"against":["5","greaterThanEqual"],"key":"enquiries_last_3_months","log":[],"reason":"Passed: 5.0 greaterThanEqual 2","result":true,"source":2},{"against":["30","greaterThanEqual"],"key":"residence_to_branch_distance_km","log":[],"reason":"Passed: 30.0 greaterThanEqual 10","result":true,"source":10},{"against":["400000","greaterThanEqual"],"key":"loan_amount","log":[],"reason":"Passed: 400000.0 greaterThanEqual 250000","result":true,"source":250000},{"against":[["rented","owned","leased","owned w/o regn"],"inList"],"key":"residence_ownership","log":[],"reason":"owned","result":true,"source":"owned"},{"against":[["father","mother","husband","wife","son","daughter","sister","son-in-law","daughter-in-law","mother-in-law","father-in-law","brother-in-law","sister-in-law","niece","uncle","nephew","aunt","grand-father","grand-mother","grand-son","grand-daughter","self","brother"],"inList"],"key":"co_applicant_relationship_1","log":[],"reason":"mother","result":true,"source":"father"},{"against":[["father","mother","husband","wife","son","daughter","sister","son-in-law","daughter-in-law","mother-in-law","father-in-law","brother-in-law","sister-in-law","niece","uncle","nephew","aunt","grand-father","grand-mother","grand-son","grand-daughter","self","brother"],"inList"],"key":"co_applicant_relationship_2","log":[],"reason":"mother","result":true,"source":"mother"},{"against":["50","greaterThanEqual"],"key":"foir","log":[],"reason":"Passed: 50.0 greaterThanEqual 40","result":true,"source":40},{"against":[["expansion of existing business","purchase of additional stock/ raw material/ working capital","purchase of machinery/equipment","refinancing of existing loans in case of an existing navadhan customer"],"inList"],"key":"loan_utilization","log":[],"reason":"purchase of additional stock/ raw material/ working capital","result":true,"source":"purchase of machinery/equipment"},{"against":["0","greaterThanEqual"],"key":"bureau_loss_count","log":[],"reason":"Passed: 0.0 greaterThanEqual 0","result":true,"source":0},{"against":["0","lessThanEqual"],"key":"bureau_dbt_count","log":[],"reason":"Passed: 0.0 lessThanEqual 0","result":true,"source":0},{"against":["0","lessThanEqual"],"key":"bureau_sub_count","log":[],"reason":"Passed: 0.0 lessThanEqual 0","result":true,"source":0},{"against":["1000","greaterThanEqual"],"key":"bureau_write_off_count","log":[],"reason":"Passed: 1000.0 greaterThanEqual 0","result":true,"source":0},{"against":["0","lessThanEqual"],"key":"bureau_settlement_count","log":[],"reason":"Passed: 0.0 lessThanEqual 0","result":true,"source":0},{"against":[],"key":"lss_count_24m","log":["Execution halted: Data not found: 'lss_count_24m' is missing from the JSON payload."],"reason":"Data not found: 'lss_count_24m' is missing from the JSON payload.","result":false,"source":[]}]},"status":false},"error":null} [2026-11-04 13:40:00] INFO: row.bre_decision_saved {"batch_id":"7c6b5c3b-6d0b-401e-9a36-7c530bdba13d","row":1,"vendor_loan_id":287,"bre_decision_id":820,"status":"success","decision":null} [2026-11-04 13:40:00] INFO: evaluate.completed {"batch_id":"7c6b5c3b-6d0b-401e-9a36-7c530bdba13d","summary":{"total":1,"succeeded":1,"failed":0,"validation_failed":0,"skipped_duplicate":0}} [2026-11-04 14:39:04] INFO: evaluate.received {"batch_id":"e4f18e5f-cabf-427f-9c1b-1fdeffa68a46","has_file":true,"filename":"temp_2026-11-04_14:38:22_1793783302_co_lending_loan_decision.xlsx","size":15049,"mime":null,"ip":null} [2026-11-04 14:39:04] INFO: import.sheet_parsed {"batch_id":"e4f18e5f-cabf-427f-9c1b-1fdeffa68a46","rows_seen":1,"rows_kept":1,"rows_skipped":0} [2026-11-04 14:39:04] INFO: evaluate.excel_parsed {"batch_id":"e4f18e5f-cabf-427f-9c1b-1fdeffa68a46","row_count":1} [2026-11-04 14:39:04] INFO: policy.request {"batch_id":"e4f18e5f-cabf-427f-9c1b-1fdeffa68a46","url":"http://localhost:7000/api/live/policy/policy-c678e363"} [2026-11-04 14:39:04] INFO: policy.response {"batch_id":"e4f18e5f-cabf-427f-9c1b-1fdeffa68a46","ok":true,"http_status":200,"duration_ms":416,"response":{"grade":{"rules":{"Blacksoil-Navdhan":{"rule":[{"description":["Blacksoil Age >=21 and <=60 pass else reject"],"key":"age","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Borrower Maturity Age"],"key":"borrower_maturity_age","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Co Applicant Age 2"],"key":"co_applicant_age_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Co Applicant Age 1"],"key":"co_applicant_age_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil gender Male - \"Male - approve, If female then check marital status, If Female then check else ignore this rule Marital Status- Reject single women as primary borrower"],"key":"gender","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - co_applicant_bureau_score_1 (upto 3 lakh loan, >=620 OR -1 to 18 else reject)"],"key":"co_applicant_bureau_score_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Overdue Amount\t<=1000, pass"],"key":"overdue_amount","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - DPD (0-6 Months) if\t<3 pass"],"key":"dpd_0_6_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Business Vintage (Years) - >=3 years else reject"],"key":"business_vintage_years","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Co-applicant 2 Maturity Age (<=63 else reject)"],"key":"co_applicant_maturity_age_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil tenure - <=36 months else reject"],"key":"tenure","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Borrower Bureau Score (upto 3 lakh loan amount, >=650 else reject) or Loan Amount >3 Lakh and If score >700 pass else reject"],"key":"bureau_score","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence Vintage (Years) >=3 years else reject"],"key":"residence_vintage_years","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Bank Statement 6M, Minimum 6 months"],"key":"bank_statement_6m","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Co-applicant 1 Maturity Age (<=63 else reject)"],"key":"co_applicant_maturity_age_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - co_applicant_bureau_score_2 (upto 3 lakh loan, >=620 OR -1 to 18 else reject)"],"key":"co_applicant_bureau_score_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Active Credit Lines Count - Value\t<=3 pass"],"key":"active_credit_lines_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - DPD (6-12 Months) if <2 pass"],"key":"dpd_6_12_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Applicant NTC, pass if false"],"key":"applicant_ntc","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Cheque Bounce Count 6M,No bounce in last 6 months, pass"],"key":"cheque_bounce_count_6m","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Enquiries Last 3 Months\tValue\t<=5 pass"],"key":"enquiries_last_3_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence to Branch Distance (km) - <=30 KM from branch else reject"],"key":"residence_to_branch_distance_km","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Loan Amount - <=4,00,000 else reject"],"key":"loan_amount","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence Ownership - Owned/Ancestral/Rent Free else reject"],"key":"residence_ownership","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Son,Father,mother,Grandfather,Grandmother,Brother, Uncle (immediate paternal and maternal uncle) - pass else reject"],"key":"co_applicant_relationship_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Son,Father,mother,Grandfather,Grandmother,Brother, Uncle (immediate paternal and maternal uncle) - pass else reject"],"key":"co_applicant_relationship_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Foir foir <= 50% pass else fail"],"key":"foir","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - 1. Expansion of existing business. 2. Purchase of additional stock / raw material / working capital 3. Purchase of machinery/equipment 4. Refinancing of existing loans in case of an existing Navadhan customer"],"key":"loan_utilization","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil bureau_loss_count > 0 fail else pass"],"key":"bureau_loss_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_dbt_count > 0 reject else pass"],"key":"bureau_dbt_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_sub_count any value received > 0 reject else pass"],"key":"bureau_sub_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_write_off_count < 1000 pass else reject"],"key":"bureau_write_off_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_settlement_count > 0 reject else pass"],"key":"bureau_settlement_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["LSS count = 0 then approve else reject; after excluding KCC ≤₹3L, Gold Loans, disb. amount ≤₹10K, Mudra Loans, Loan Against Deposit and Guarantor-status loans"],"key":"lss_count_24m","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}}]}}}},"error":null} [2026-11-04 14:39:04] INFO: policy.parsed {"batch_id":"e4f18e5f-cabf-427f-9c1b-1fdeffa68a46","policy_count":1,"policy_names":["Blacksoil-Navdhan"]} [2026-11-04 14:39:04] INFO: row.start {"batch_id":"e4f18e5f-cabf-427f-9c1b-1fdeffa68a46","row":1,"application_id":"BVDHA040LE002867"} [2026-11-04 14:39:04] INFO: row.lead_created {"batch_id":"e4f18e5f-cabf-427f-9c1b-1fdeffa68a46","row":1,"application_id":"BVDHA040LE002867","vendor_loan_id":288} [2026-11-04 14:39:04] INFO: row.co_applicants_saved {"batch_id":"e4f18e5f-cabf-427f-9c1b-1fdeffa68a46","row":1,"vendor_loan_id":288,"count":2} [2026-11-04 14:39:04] INFO: row.decision_data_saved {"batch_id":"e4f18e5f-cabf-427f-9c1b-1fdeffa68a46","row":1,"vendor_loan_id":288,"decision_keys":93} [2026-11-04 14:39:04] INFO: row.api_request {"batch_id":"e4f18e5f-cabf-427f-9c1b-1fdeffa68a46","row":1,"vendor_loan_id":288,"url":"http://localhost:8889/","policies_payload":["Blacksoil-Navdhan"],"decision_keys":["application_id","age","gender","marital_status","applicant_ntc","household_monthly_income","household_annual_income","household_expenses","existing_emi_obligations","business_income","agriculture_income","dairy_income","foir","eligible_emi","eligible_loan_amount","loan_utilization","name_of_bureau","bureau_score","bureau_pull_date","overdue_amount","dpd_0_6_months","bureau_sub_count","bureau_dbt_count","bureau_loss_count","bureau_write_off_count","bureau_settlement_count","bureau_suit_filled_count","bureau_willful_default_count","restructured_count","dpd_6_12_months","enquiries_last_3_months","active_credit_lines_count","bank_statement_6m","cheque_bounce_count_6m","loan_amount","tenure","interest_rate","apr","repayment_frequency","loan_purpose","residence_area","residence_vintage_years","residence_ownership","residence_to_branch_distance_km","business_vintage_years","asset_fridge_value","asset_air_conditioner_value","asset_washing_machine_value","asset_tv_value","asset_smart_phone_value","co_applicant_age_1","co_applicant_relationship_1","co_applicant_years_of_stay_in_current_address_1","co_applicant_ntc_1","co_applicant_financial_status_1","co_applicant_name_of_bureau_1","co_applicant_bureau_score_1","co_applicant_bureau_pull_date_1","co_applicant_overdue_amount_1","co_applicant_dpd_0_6_months_1","co_applicant_dpd_6_12_months_1","co_applicant_bureau_sub_count_1","co_applicant_bureau_dbt_count_1","co_applicant_bureau_loss_count_1","co_applicant_bureau_write_off_count_1","co_applicant_bureau_settlement_count_1","co_applicant_bureau_suit_filed_count_1","co_applicant_bureau_willful_default_count_1","co_applicant_restructured_count_1","co_applicant_enquiries_last_3_months_1","co_applicant_active_credit_lines_count_1","co_applicant_age_2","co_applicant_relationship_2","co_applicant_years_of_stay_in_current_address_2","co_applicant_ntc_2","co_applicant_financial_status_2","co_applicant_name_of_bureau_2","co_applicant_bureau_score_2","co_applicant_bureau_pull_date_2","co_applicant_overdue_amount_2","co_applicant_dpd_0_6_months_2","co_applicant_dpd_6_12_months_2","co_applicant_bureau_sub_count_2","co_applicant_bureau_dbt_count_2","co_applicant_bureau_loss_count_2","co_applicant_bureau_write_off_count_2","co_applicant_bureau_settlement_count_2","co_applicant_bureau_suit_filed_count_2","co_applicant_bureau_willful_default_count_2","co_applicant_restructured_count_2","co_applicant_enquiries_last_3_months_2","co_applicant_active_credit_lines_count_2","borrower_maturity_age"],"payload":{"grade":{"rules":{"Blacksoil-Navdhan":{"rule":[{"description":["Blacksoil Age >=21 and <=60 pass else reject"],"key":"age","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Borrower Maturity Age"],"key":"borrower_maturity_age","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Co Applicant Age 2"],"key":"co_applicant_age_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Co Applicant Age 1"],"key":"co_applicant_age_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil gender Male - \"Male - approve, If female then check marital status, If Female then check else ignore this rule Marital Status- Reject single women as primary borrower"],"key":"gender","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - co_applicant_bureau_score_1 (upto 3 lakh loan, >=620 OR -1 to 18 else reject)"],"key":"co_applicant_bureau_score_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Overdue Amount\t<=1000, pass"],"key":"overdue_amount","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - DPD (0-6 Months) if\t<3 pass"],"key":"dpd_0_6_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Business Vintage (Years) - >=3 years else reject"],"key":"business_vintage_years","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Co-applicant 2 Maturity Age (<=63 else reject)"],"key":"co_applicant_maturity_age_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil tenure - <=36 months else reject"],"key":"tenure","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Borrower Bureau Score (upto 3 lakh loan amount, >=650 else reject) or Loan Amount >3 Lakh and If score >700 pass else reject"],"key":"bureau_score","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence Vintage (Years) >=3 years else reject"],"key":"residence_vintage_years","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Bank Statement 6M, Minimum 6 months"],"key":"bank_statement_6m","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Co-applicant 1 Maturity Age (<=63 else reject)"],"key":"co_applicant_maturity_age_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - co_applicant_bureau_score_2 (upto 3 lakh loan, >=620 OR -1 to 18 else reject)"],"key":"co_applicant_bureau_score_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Active Credit Lines Count - Value\t<=3 pass"],"key":"active_credit_lines_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - DPD (6-12 Months) if <2 pass"],"key":"dpd_6_12_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Applicant NTC, pass if false"],"key":"applicant_ntc","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Cheque Bounce Count 6M,No bounce in last 6 months, pass"],"key":"cheque_bounce_count_6m","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Enquiries Last 3 Months\tValue\t<=5 pass"],"key":"enquiries_last_3_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence to Branch Distance (km) - <=30 KM from branch else reject"],"key":"residence_to_branch_distance_km","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Loan Amount - <=4,00,000 else reject"],"key":"loan_amount","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence Ownership - Owned/Ancestral/Rent Free else reject"],"key":"residence_ownership","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Son,Father,mother,Grandfather,Grandmother,Brother, Uncle (immediate paternal and maternal uncle) - pass else reject"],"key":"co_applicant_relationship_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Son,Father,mother,Grandfather,Grandmother,Brother, Uncle (immediate paternal and maternal uncle) - pass else reject"],"key":"co_applicant_relationship_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Foir foir <= 50% pass else fail"],"key":"foir","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - 1. Expansion of existing business. 2. Purchase of additional stock / raw material / working capital 3. Purchase of machinery/equipment 4. Refinancing of existing loans in case of an existing Navadhan customer"],"key":"loan_utilization","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil bureau_loss_count > 0 fail else pass"],"key":"bureau_loss_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_dbt_count > 0 reject else pass"],"key":"bureau_dbt_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_sub_count any value received > 0 reject else pass"],"key":"bureau_sub_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_write_off_count < 1000 pass else reject"],"key":"bureau_write_off_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_settlement_count > 0 reject else pass"],"key":"bureau_settlement_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["LSS count = 0 then approve else reject; after excluding KCC ≤₹3L, Gold Loans, disb. amount ≤₹10K, Mudra Loans, Loan Against Deposit and Guarantor-status loans"],"key":"lss_count_24m","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}}],"payload":{"application_id":"BVDHA040LE002867","age":35,"gender":"male","marital_status":"married","applicant_ntc":"no","household_monthly_income":50000,"household_annual_income":600000,"household_expenses":85700,"existing_emi_obligations":9041,"business_income":28300,"agriculture_income":0,"dairy_income":0,"foir":40,"eligible_emi":90531,"eligible_loan_amount":250000,"loan_utilization":"purchase of machinery/equipment","name_of_bureau":"crif","bureau_score":700,"bureau_pull_date":"1983-01-01","overdue_amount":0,"dpd_0_6_months":1,"bureau_sub_count":0,"bureau_dbt_count":0,"bureau_loss_count":0,"bureau_write_off_count":0,"bureau_settlement_count":0,"bureau_suit_filled_count":0,"bureau_willful_default_count":0,"restructured_count":0,"dpd_6_12_months":1,"enquiries_last_3_months":2,"active_credit_lines_count":1,"bank_statement_6m":1,"cheque_bounce_count_6m":0,"loan_amount":250000,"tenure":24,"interest_rate":31,"apr":34.14,"repayment_frequency":"monthly","loan_purpose":"business expansion","residence_area":"rural","residence_vintage_years":5,"residence_ownership":"owned","residence_to_branch_distance_km":10,"business_vintage_years":5,"asset_fridge_value":10000,"asset_air_conditioner_value":0,"asset_washing_machine_value":12000,"asset_tv_value":8000,"asset_smart_phone_value":20000,"co_applicant_age_1":30,"co_applicant_relationship_1":"father","co_applicant_years_of_stay_in_current_address_1":"","co_applicant_ntc_1":"no","co_applicant_financial_status_1":"financial","co_applicant_name_of_bureau_1":"crif","co_applicant_bureau_score_1":650,"co_applicant_bureau_pull_date_1":"2025-03-26","co_applicant_overdue_amount_1":0,"co_applicant_dpd_0_6_months_1":0,"co_applicant_dpd_6_12_months_1":0,"co_applicant_bureau_sub_count_1":0,"co_applicant_bureau_dbt_count_1":0,"co_applicant_bureau_loss_count_1":0,"co_applicant_bureau_write_off_count_1":0,"co_applicant_bureau_settlement_count_1":0,"co_applicant_bureau_suit_filed_count_1":0,"co_applicant_bureau_willful_default_count_1":0,"co_applicant_restructured_count_1":0,"co_applicant_enquiries_last_3_months_1":0,"co_applicant_active_credit_lines_count_1":3,"co_applicant_age_2":28,"co_applicant_relationship_2":"mother","co_applicant_years_of_stay_in_current_address_2":30,"co_applicant_ntc_2":"yes","co_applicant_financial_status_2":"financial","co_applicant_name_of_bureau_2":"crif","co_applicant_bureau_score_2":650,"co_applicant_bureau_pull_date_2":"2026-04-15","co_applicant_overdue_amount_2":0,"co_applicant_dpd_0_6_months_2":0,"co_applicant_dpd_6_12_months_2":0,"co_applicant_bureau_sub_count_2":0,"co_applicant_bureau_dbt_count_2":0,"co_applicant_bureau_loss_count_2":0,"co_applicant_bureau_write_off_count_2":0,"co_applicant_bureau_settlement_count_2":0,"co_applicant_bureau_suit_filed_count_2":0,"co_applicant_bureau_willful_default_count_2":0,"co_applicant_restructured_count_2":0,"co_applicant_enquiries_last_3_months_2":0,"co_applicant_active_credit_lines_count_2":0,"borrower_maturity_age":37}}}}}} [2026-11-04 14:39:05] INFO: row.api_response {"batch_id":"e4f18e5f-cabf-427f-9c1b-1fdeffa68a46","row":1,"vendor_loan_id":288,"http_status":200,"ok":true,"duration_ms":331,"response":{"Blacksoil-Navdhan":{"failed_condition":{"key":"lss_count_24m","reason":"Data not found: 'lss_count_24m' is missing from the JSON payload."},"policy_status":false,"rules":[{"against":["pass","equal"],"key":"age","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["pass","equal"],"key":"borrower_maturity_age","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["18","lessThanEqual"],"key":"co_applicant_age_2","log":[],"reason":"Passed: 18.0 lessThanEqual 28","result":true,"source":28},{"against":["18","lessThanEqual"],"key":"co_applicant_age_1","log":[],"reason":"Passed: 18.0 lessThanEqual 30","result":true,"source":30},{"against":["pass","equal"],"key":"gender","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["pass","equal"],"key":"co_applicant_bureau_score_1","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["1000","greaterThanEqual"],"key":"overdue_amount","log":[],"reason":"Passed: 1000.0 greaterThanEqual 0","result":true,"source":0},{"against":["3","greaterThan"],"key":"dpd_0_6_months","log":[],"reason":"Passed: 3.0 greaterThan 1","result":true,"source":1},{"against":["3","lessThanEqual"],"key":"business_vintage_years","log":[],"reason":"Passed: 3.0 lessThanEqual 5","result":true,"source":5},{"against":["63","equal"],"key":"co_applicant_maturity_age_2","log":[],"reason":"Failed: 63 not equal pass","result":false,"source":"pass"},{"against":["36","greaterThanEqual"],"key":"tenure","log":[],"reason":"Passed: 36.0 greaterThanEqual 24","result":true,"source":24},{"against":["pass","equal"],"key":"bureau_score","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["3","lessThanEqual"],"key":"residence_vintage_years","log":[],"reason":"Passed: 3.0 lessThanEqual 5","result":true,"source":5},{"against":["pass","equal"],"key":"bank_statement_6m","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["63","equal"],"key":"co_applicant_maturity_age_1","log":[],"reason":"Failed: 63 not equal pass","result":false,"source":"pass"},{"against":["pass","equal"],"key":"co_applicant_bureau_score_2","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["3","greaterThanEqual"],"key":"active_credit_lines_count","log":[],"reason":"Passed: 3.0 greaterThanEqual 1","result":true,"source":1},{"against":["60","greaterThan"],"key":"dpd_6_12_months","log":[],"reason":"Passed: 60.0 greaterThan 1","result":true,"source":1},{"against":["false","equal"],"key":"applicant_ntc","log":[],"reason":"Failed: false not equal no","result":false,"source":"no"},{"against":["0","greaterThanEqual"],"key":"cheque_bounce_count_6m","log":[],"reason":"Passed: 0.0 greaterThanEqual 0","result":true,"source":0},{"against":["5","greaterThanEqual"],"key":"enquiries_last_3_months","log":[],"reason":"Passed: 5.0 greaterThanEqual 2","result":true,"source":2},{"against":["30","greaterThanEqual"],"key":"residence_to_branch_distance_km","log":[],"reason":"Passed: 30.0 greaterThanEqual 10","result":true,"source":10},{"against":["400000","greaterThanEqual"],"key":"loan_amount","log":[],"reason":"Passed: 400000.0 greaterThanEqual 250000","result":true,"source":250000},{"against":[["rented","owned","leased","owned w/o regn"],"inList"],"key":"residence_ownership","log":[],"reason":"owned","result":true,"source":"owned"},{"against":[["father","mother","husband","wife","son","daughter","sister","son-in-law","daughter-in-law","mother-in-law","father-in-law","brother-in-law","sister-in-law","niece","uncle","nephew","aunt","grand-father","grand-mother","grand-son","grand-daughter","self","brother"],"inList"],"key":"co_applicant_relationship_1","log":[],"reason":"mother","result":true,"source":"father"},{"against":[["father","mother","husband","wife","son","daughter","sister","son-in-law","daughter-in-law","mother-in-law","father-in-law","brother-in-law","sister-in-law","niece","uncle","nephew","aunt","grand-father","grand-mother","grand-son","grand-daughter","self","brother"],"inList"],"key":"co_applicant_relationship_2","log":[],"reason":"mother","result":true,"source":"mother"},{"against":["50","greaterThanEqual"],"key":"foir","log":[],"reason":"Passed: 50.0 greaterThanEqual 40","result":true,"source":40},{"against":[["expansion of existing business","purchase of additional stock/ raw material/ working capital","purchase of machinery/equipment","refinancing of existing loans in case of an existing navadhan customer"],"inList"],"key":"loan_utilization","log":[],"reason":"purchase of additional stock/ raw material/ working capital","result":true,"source":"purchase of machinery/equipment"},{"against":["0","greaterThanEqual"],"key":"bureau_loss_count","log":[],"reason":"Passed: 0.0 greaterThanEqual 0","result":true,"source":0},{"against":["0","lessThanEqual"],"key":"bureau_dbt_count","log":[],"reason":"Passed: 0.0 lessThanEqual 0","result":true,"source":0},{"against":["0","lessThanEqual"],"key":"bureau_sub_count","log":[],"reason":"Passed: 0.0 lessThanEqual 0","result":true,"source":0},{"against":["1000","greaterThanEqual"],"key":"bureau_write_off_count","log":[],"reason":"Passed: 1000.0 greaterThanEqual 0","result":true,"source":0},{"against":["0","lessThanEqual"],"key":"bureau_settlement_count","log":[],"reason":"Passed: 0.0 lessThanEqual 0","result":true,"source":0},{"against":[],"key":"lss_count_24m","log":["Execution halted: Data not found: 'lss_count_24m' is missing from the JSON payload."],"reason":"Data not found: 'lss_count_24m' is missing from the JSON payload.","result":false,"source":[]}]},"status":false},"error":null} [2026-11-04 14:39:05] INFO: row.bre_decision_saved {"batch_id":"e4f18e5f-cabf-427f-9c1b-1fdeffa68a46","row":1,"vendor_loan_id":288,"bre_decision_id":821,"status":"success","decision":null} [2026-11-04 14:39:05] INFO: evaluate.completed {"batch_id":"e4f18e5f-cabf-427f-9c1b-1fdeffa68a46","summary":{"total":1,"succeeded":1,"failed":0,"validation_failed":0,"skipped_duplicate":0}} [2026-11-04 14:51:30] INFO: evaluate.received {"batch_id":"0f25660b-36c1-4336-a707-bcb8b5be73cd","has_file":true,"filename":"temp_2026-11-04_14:50:03_1793784003_co_lending_loan_decision.xlsx","size":15049,"mime":null,"ip":null} [2026-11-04 14:51:30] INFO: import.sheet_parsed {"batch_id":"0f25660b-36c1-4336-a707-bcb8b5be73cd","rows_seen":1,"rows_kept":1,"rows_skipped":0} [2026-11-04 14:51:30] INFO: evaluate.excel_parsed {"batch_id":"0f25660b-36c1-4336-a707-bcb8b5be73cd","row_count":1} [2026-11-04 14:51:30] INFO: policy.request {"batch_id":"0f25660b-36c1-4336-a707-bcb8b5be73cd","url":"http://localhost:7000/api/live/policy/policy-c678e363"} [2026-11-04 14:51:30] INFO: policy.response {"batch_id":"0f25660b-36c1-4336-a707-bcb8b5be73cd","ok":false,"http_status":500,"duration_ms":24,"response":" sqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (2013, 'Lost connection to MySQL server during query') [SQL: SELECT live_config.id, live_config.api_key, live_config.api_secret_hash, live_config.ip_whitelist, live_config.enabled, live_config.updated_at FROM live_config WHERE live_config.id = %(pk_1)s] [parameters: {'pk_1': 1}] (Background on this error at: https://sqlalche.me/e/21/e3q8) // Werkzeug Debugger

OperationalError

sqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (2013, 'Lost connection to MySQL server during query') [SQL: SELECT live_config.id, live_config.api_key, live_config.api_secret_hash, live_config.ip_whitelist, live_config.enabled, live_config.updated_at FROM live_config WHERE live_config.id = %(pk_1)s] [parameters: {'pk_1': 1}] (Background on this error at: https://sqlalche.me/e/21/e3q8)

Traceback (most recent call last)

sqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (2013, 'Lost connection to MySQL server during query') [SQL: SELECT live_config.id, live_config.api_key, live_config.api_secret_hash, live_config.ip_whitelist, live_config.enabled, live_config.updated_at FROM live_config WHERE live_config.id = %(pk_1)s] [parameters: {'pk_1': 1}] (Background on this error at: https://sqlalche.me/e/21/e3q8)

This is the Copy/Paste friendly version of the traceback.

The debugger caught an exception in your WSGI application. You can now look at the traceback which led to the error. If you enable JavaScript you can also use additional features such as code execution (if the evalex feature is enabled), automatic pasting of the exceptions and much more.
Brought to you by DON'T PANIC, your friendly Werkzeug powered traceback interpreter.

Console Locked

The console is locked and needs to be unlocked by entering the PIN. You can find the PIN printed out on the standard output of your shell that runs the server.

PIN:

","error":"Non-2xx response from policy API"} [2026-11-04 14:51:30] ERROR: evaluate.aborted_policy_unavailable {"batch_id":"0f25660b-36c1-4336-a707-bcb8b5be73cd","http_status":500,"error":"Non-2xx response from policy API"} [2026-11-04 14:57:17] INFO: evaluate.received {"batch_id":"5b48b025-f9a4-4868-a9fa-54be5b8b00f7","has_file":true,"filename":"temp_2026-11-04_14:50:03_1793784003_co_lending_loan_decision.xlsx","size":15049,"mime":null,"ip":null} [2026-11-04 14:57:17] INFO: import.sheet_parsed {"batch_id":"5b48b025-f9a4-4868-a9fa-54be5b8b00f7","rows_seen":1,"rows_kept":1,"rows_skipped":0} [2026-11-04 14:57:17] INFO: evaluate.excel_parsed {"batch_id":"5b48b025-f9a4-4868-a9fa-54be5b8b00f7","row_count":1} [2026-11-04 14:57:17] INFO: policy.request {"batch_id":"5b48b025-f9a4-4868-a9fa-54be5b8b00f7","url":"http://localhost:7000/api/live/policy/policy-c678e363"} [2026-11-04 14:57:18] INFO: policy.response {"batch_id":"5b48b025-f9a4-4868-a9fa-54be5b8b00f7","ok":true,"http_status":200,"duration_ms":410,"response":{"grade":{"rules":{"Blacksoil-Navdhan":{"rule":[{"description":["Blacksoil Age >=21 and <=60 pass else reject"],"key":"age","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Borrower Maturity Age"],"key":"borrower_maturity_age","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Co Applicant Age 2"],"key":"co_applicant_age_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Co Applicant Age 1"],"key":"co_applicant_age_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil gender Male - \"Male - approve, If female then check marital status, If Female then check else ignore this rule Marital Status- Reject single women as primary borrower"],"key":"gender","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - co_applicant_bureau_score_1 (upto 3 lakh loan, >=620 OR -1 to 18 else reject)"],"key":"co_applicant_bureau_score_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Overdue Amount\t<=1000, pass"],"key":"overdue_amount","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - DPD (0-6 Months) if\t<3 pass"],"key":"dpd_0_6_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Business Vintage (Years) - >=3 years else reject"],"key":"business_vintage_years","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Co-applicant 2 Maturity Age (<=63 else reject)"],"key":"co_applicant_maturity_age_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil tenure - <=36 months else reject"],"key":"tenure","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Borrower Bureau Score (upto 3 lakh loan amount, >=650 else reject) or Loan Amount >3 Lakh and If score >700 pass else reject"],"key":"bureau_score","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence Vintage (Years) >=3 years else reject"],"key":"residence_vintage_years","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Bank Statement 6M, Minimum 6 months"],"key":"bank_statement_6m","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Co-applicant 1 Maturity Age (<=63 else reject)"],"key":"co_applicant_maturity_age_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - co_applicant_bureau_score_2 (upto 3 lakh loan, >=620 OR -1 to 18 else reject)"],"key":"co_applicant_bureau_score_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Active Credit Lines Count - Value\t<=3 pass"],"key":"active_credit_lines_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - DPD (6-12 Months) if <2 pass"],"key":"dpd_6_12_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Applicant NTC, pass if false"],"key":"applicant_ntc","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Cheque Bounce Count 6M,No bounce in last 6 months, pass"],"key":"cheque_bounce_count_6m","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Enquiries Last 3 Months\tValue\t<=5 pass"],"key":"enquiries_last_3_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence to Branch Distance (km) - <=30 KM from branch else reject"],"key":"residence_to_branch_distance_km","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Loan Amount - <=4,00,000 else reject"],"key":"loan_amount","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence Ownership - Owned/Ancestral/Rent Free else reject"],"key":"residence_ownership","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Son,Father,mother,Grandfather,Grandmother,Brother, Uncle (immediate paternal and maternal uncle) - pass else reject"],"key":"co_applicant_relationship_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Son,Father,mother,Grandfather,Grandmother,Brother, Uncle (immediate paternal and maternal uncle) - pass else reject"],"key":"co_applicant_relationship_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Foir foir <= 50% pass else fail"],"key":"foir","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - 1. Expansion of existing business. 2. Purchase of additional stock / raw material / working capital 3. Purchase of machinery/equipment 4. Refinancing of existing loans in case of an existing Navadhan customer"],"key":"loan_utilization","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil bureau_loss_count > 0 fail else pass"],"key":"bureau_loss_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_dbt_count > 0 reject else pass"],"key":"bureau_dbt_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_sub_count any value received > 0 reject else pass"],"key":"bureau_sub_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_write_off_count < 1000 pass else reject"],"key":"bureau_write_off_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_settlement_count > 0 reject else pass"],"key":"bureau_settlement_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["LSS count = 0 then approve else reject; after excluding KCC ≤₹3L, Gold Loans, disb. amount ≤₹10K, Mudra Loans, Loan Against Deposit and Guarantor-status loans"],"key":"lss_count_24m","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}}]}}}},"error":null} [2026-11-04 14:57:18] INFO: policy.parsed {"batch_id":"5b48b025-f9a4-4868-a9fa-54be5b8b00f7","policy_count":1,"policy_names":["Blacksoil-Navdhan"]} [2026-11-04 14:57:18] INFO: row.start {"batch_id":"5b48b025-f9a4-4868-a9fa-54be5b8b00f7","row":1,"application_id":"GVDHA040LE002867"} [2026-11-04 14:57:18] INFO: row.lead_created {"batch_id":"5b48b025-f9a4-4868-a9fa-54be5b8b00f7","row":1,"application_id":"GVDHA040LE002867","vendor_loan_id":289} [2026-11-04 14:57:18] INFO: row.co_applicants_saved {"batch_id":"5b48b025-f9a4-4868-a9fa-54be5b8b00f7","row":1,"vendor_loan_id":289,"count":2} [2026-11-04 14:57:18] INFO: row.decision_data_saved {"batch_id":"5b48b025-f9a4-4868-a9fa-54be5b8b00f7","row":1,"vendor_loan_id":289,"decision_keys":93} [2026-11-04 14:57:18] INFO: row.api_request {"batch_id":"5b48b025-f9a4-4868-a9fa-54be5b8b00f7","row":1,"vendor_loan_id":289,"url":"http://localhost:8889/","policies_payload":["Blacksoil-Navdhan"],"decision_keys":["application_id","age","gender","marital_status","applicant_ntc","household_monthly_income","household_annual_income","household_expenses","existing_emi_obligations","business_income","agriculture_income","dairy_income","foir","eligible_emi","eligible_loan_amount","loan_utilization","name_of_bureau","bureau_score","bureau_pull_date","overdue_amount","dpd_0_6_months","bureau_sub_count","bureau_dbt_count","bureau_loss_count","bureau_write_off_count","bureau_settlement_count","bureau_suit_filled_count","bureau_willful_default_count","restructured_count","dpd_6_12_months","enquiries_last_3_months","active_credit_lines_count","bank_statement_6m","cheque_bounce_count_6m","loan_amount","tenure","interest_rate","apr","repayment_frequency","loan_purpose","residence_area","residence_vintage_years","residence_ownership","residence_to_branch_distance_km","business_vintage_years","asset_fridge_value","asset_air_conditioner_value","asset_washing_machine_value","asset_tv_value","asset_smart_phone_value","co_applicant_age_1","co_applicant_relationship_1","co_applicant_years_of_stay_in_current_address_1","co_applicant_ntc_1","co_applicant_financial_status_1","co_applicant_name_of_bureau_1","co_applicant_bureau_score_1","co_applicant_bureau_pull_date_1","co_applicant_overdue_amount_1","co_applicant_dpd_0_6_months_1","co_applicant_dpd_6_12_months_1","co_applicant_bureau_sub_count_1","co_applicant_bureau_dbt_count_1","co_applicant_bureau_loss_count_1","co_applicant_bureau_write_off_count_1","co_applicant_bureau_settlement_count_1","co_applicant_bureau_suit_filed_count_1","co_applicant_bureau_willful_default_count_1","co_applicant_restructured_count_1","co_applicant_enquiries_last_3_months_1","co_applicant_active_credit_lines_count_1","co_applicant_age_2","co_applicant_relationship_2","co_applicant_years_of_stay_in_current_address_2","co_applicant_ntc_2","co_applicant_financial_status_2","co_applicant_name_of_bureau_2","co_applicant_bureau_score_2","co_applicant_bureau_pull_date_2","co_applicant_overdue_amount_2","co_applicant_dpd_0_6_months_2","co_applicant_dpd_6_12_months_2","co_applicant_bureau_sub_count_2","co_applicant_bureau_dbt_count_2","co_applicant_bureau_loss_count_2","co_applicant_bureau_write_off_count_2","co_applicant_bureau_settlement_count_2","co_applicant_bureau_suit_filed_count_2","co_applicant_bureau_willful_default_count_2","co_applicant_restructured_count_2","co_applicant_enquiries_last_3_months_2","co_applicant_active_credit_lines_count_2","borrower_maturity_age"],"payload":{"grade":{"rules":{"Blacksoil-Navdhan":{"rule":[{"description":["Blacksoil Age >=21 and <=60 pass else reject"],"key":"age","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Borrower Maturity Age"],"key":"borrower_maturity_age","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Co Applicant Age 2"],"key":"co_applicant_age_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Co Applicant Age 1"],"key":"co_applicant_age_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil gender Male - \"Male - approve, If female then check marital status, If Female then check else ignore this rule Marital Status- Reject single women as primary borrower"],"key":"gender","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - co_applicant_bureau_score_1 (upto 3 lakh loan, >=620 OR -1 to 18 else reject)"],"key":"co_applicant_bureau_score_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Overdue Amount\t<=1000, pass"],"key":"overdue_amount","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - DPD (0-6 Months) if\t<3 pass"],"key":"dpd_0_6_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Business Vintage (Years) - >=3 years else reject"],"key":"business_vintage_years","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Co-applicant 2 Maturity Age (<=63 else reject)"],"key":"co_applicant_maturity_age_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil tenure - <=36 months else reject"],"key":"tenure","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Borrower Bureau Score (upto 3 lakh loan amount, >=650 else reject) or Loan Amount >3 Lakh and If score >700 pass else reject"],"key":"bureau_score","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence Vintage (Years) >=3 years else reject"],"key":"residence_vintage_years","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Bank Statement 6M, Minimum 6 months"],"key":"bank_statement_6m","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Co-applicant 1 Maturity Age (<=63 else reject)"],"key":"co_applicant_maturity_age_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - co_applicant_bureau_score_2 (upto 3 lakh loan, >=620 OR -1 to 18 else reject)"],"key":"co_applicant_bureau_score_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Active Credit Lines Count - Value\t<=3 pass"],"key":"active_credit_lines_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - DPD (6-12 Months) if <2 pass"],"key":"dpd_6_12_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Applicant NTC, pass if false"],"key":"applicant_ntc","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Cheque Bounce Count 6M,No bounce in last 6 months, pass"],"key":"cheque_bounce_count_6m","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Enquiries Last 3 Months\tValue\t<=5 pass"],"key":"enquiries_last_3_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence to Branch Distance (km) - <=30 KM from branch else reject"],"key":"residence_to_branch_distance_km","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Loan Amount - <=4,00,000 else reject"],"key":"loan_amount","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence Ownership - Owned/Ancestral/Rent Free else reject"],"key":"residence_ownership","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Son,Father,mother,Grandfather,Grandmother,Brother, Uncle (immediate paternal and maternal uncle) - pass else reject"],"key":"co_applicant_relationship_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Son,Father,mother,Grandfather,Grandmother,Brother, Uncle (immediate paternal and maternal uncle) - pass else reject"],"key":"co_applicant_relationship_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Foir foir <= 50% pass else fail"],"key":"foir","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - 1. Expansion of existing business. 2. Purchase of additional stock / raw material / working capital 3. Purchase of machinery/equipment 4. Refinancing of existing loans in case of an existing Navadhan customer"],"key":"loan_utilization","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil bureau_loss_count > 0 fail else pass"],"key":"bureau_loss_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_dbt_count > 0 reject else pass"],"key":"bureau_dbt_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_sub_count any value received > 0 reject else pass"],"key":"bureau_sub_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_write_off_count < 1000 pass else reject"],"key":"bureau_write_off_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_settlement_count > 0 reject else pass"],"key":"bureau_settlement_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["LSS count = 0 then approve else reject; after excluding KCC ≤₹3L, Gold Loans, disb. amount ≤₹10K, Mudra Loans, Loan Against Deposit and Guarantor-status loans"],"key":"lss_count_24m","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}}],"payload":{"application_id":"GVDHA040LE002867","age":35,"gender":"male","marital_status":"married","applicant_ntc":"no","household_monthly_income":50000,"household_annual_income":600000,"household_expenses":85700,"existing_emi_obligations":9041,"business_income":28300,"agriculture_income":0,"dairy_income":0,"foir":40,"eligible_emi":90531,"eligible_loan_amount":250000,"loan_utilization":"purchase of machinery/equipment","name_of_bureau":"crif","bureau_score":700,"bureau_pull_date":"1983-01-01","overdue_amount":0,"dpd_0_6_months":1,"bureau_sub_count":0,"bureau_dbt_count":0,"bureau_loss_count":0,"bureau_write_off_count":0,"bureau_settlement_count":0,"bureau_suit_filled_count":0,"bureau_willful_default_count":0,"restructured_count":0,"dpd_6_12_months":1,"enquiries_last_3_months":2,"active_credit_lines_count":1,"bank_statement_6m":1,"cheque_bounce_count_6m":0,"loan_amount":250000,"tenure":24,"interest_rate":31,"apr":34.14,"repayment_frequency":"monthly","loan_purpose":"business expansion","residence_area":"rural","residence_vintage_years":5,"residence_ownership":"owned","residence_to_branch_distance_km":10,"business_vintage_years":5,"asset_fridge_value":10000,"asset_air_conditioner_value":0,"asset_washing_machine_value":12000,"asset_tv_value":8000,"asset_smart_phone_value":20000,"co_applicant_age_1":30,"co_applicant_relationship_1":"father","co_applicant_years_of_stay_in_current_address_1":"","co_applicant_ntc_1":"no","co_applicant_financial_status_1":"financial","co_applicant_name_of_bureau_1":"crif","co_applicant_bureau_score_1":650,"co_applicant_bureau_pull_date_1":"2025-03-26","co_applicant_overdue_amount_1":0,"co_applicant_dpd_0_6_months_1":0,"co_applicant_dpd_6_12_months_1":0,"co_applicant_bureau_sub_count_1":0,"co_applicant_bureau_dbt_count_1":0,"co_applicant_bureau_loss_count_1":0,"co_applicant_bureau_write_off_count_1":0,"co_applicant_bureau_settlement_count_1":0,"co_applicant_bureau_suit_filed_count_1":0,"co_applicant_bureau_willful_default_count_1":0,"co_applicant_restructured_count_1":0,"co_applicant_enquiries_last_3_months_1":0,"co_applicant_active_credit_lines_count_1":3,"co_applicant_age_2":28,"co_applicant_relationship_2":"mother","co_applicant_years_of_stay_in_current_address_2":30,"co_applicant_ntc_2":"yes","co_applicant_financial_status_2":"financial","co_applicant_name_of_bureau_2":"crif","co_applicant_bureau_score_2":650,"co_applicant_bureau_pull_date_2":"2026-04-15","co_applicant_overdue_amount_2":0,"co_applicant_dpd_0_6_months_2":0,"co_applicant_dpd_6_12_months_2":0,"co_applicant_bureau_sub_count_2":0,"co_applicant_bureau_dbt_count_2":0,"co_applicant_bureau_loss_count_2":0,"co_applicant_bureau_write_off_count_2":0,"co_applicant_bureau_settlement_count_2":0,"co_applicant_bureau_suit_filed_count_2":0,"co_applicant_bureau_willful_default_count_2":0,"co_applicant_restructured_count_2":0,"co_applicant_enquiries_last_3_months_2":0,"co_applicant_active_credit_lines_count_2":0,"borrower_maturity_age":37}}}}}} [2026-11-04 14:57:18] INFO: row.api_response {"batch_id":"5b48b025-f9a4-4868-a9fa-54be5b8b00f7","row":1,"vendor_loan_id":289,"http_status":200,"ok":true,"duration_ms":331,"response":{"Blacksoil-Navdhan":{"failed_condition":{"key":"lss_count_24m","reason":"Data not found: 'lss_count_24m' is missing from the JSON payload."},"policy_status":false,"rules":[{"against":["pass","equal"],"key":"age","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["pass","equal"],"key":"borrower_maturity_age","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["18","lessThanEqual"],"key":"co_applicant_age_2","log":[],"reason":"Passed: 18.0 lessThanEqual 28","result":true,"source":28},{"against":["18","lessThanEqual"],"key":"co_applicant_age_1","log":[],"reason":"Passed: 18.0 lessThanEqual 30","result":true,"source":30},{"against":["pass","equal"],"key":"gender","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["pass","equal"],"key":"co_applicant_bureau_score_1","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["1000","greaterThanEqual"],"key":"overdue_amount","log":[],"reason":"Passed: 1000.0 greaterThanEqual 0","result":true,"source":0},{"against":["3","greaterThan"],"key":"dpd_0_6_months","log":[],"reason":"Passed: 3.0 greaterThan 1","result":true,"source":1},{"against":["3","lessThanEqual"],"key":"business_vintage_years","log":[],"reason":"Passed: 3.0 lessThanEqual 5","result":true,"source":5},{"against":["63","equal"],"key":"co_applicant_maturity_age_2","log":[],"reason":"Failed: 63 not equal pass","result":false,"source":"pass"},{"against":["36","greaterThanEqual"],"key":"tenure","log":[],"reason":"Passed: 36.0 greaterThanEqual 24","result":true,"source":24},{"against":["pass","equal"],"key":"bureau_score","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["3","lessThanEqual"],"key":"residence_vintage_years","log":[],"reason":"Passed: 3.0 lessThanEqual 5","result":true,"source":5},{"against":["pass","equal"],"key":"bank_statement_6m","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["63","equal"],"key":"co_applicant_maturity_age_1","log":[],"reason":"Failed: 63 not equal pass","result":false,"source":"pass"},{"against":["pass","equal"],"key":"co_applicant_bureau_score_2","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["3","greaterThanEqual"],"key":"active_credit_lines_count","log":[],"reason":"Passed: 3.0 greaterThanEqual 1","result":true,"source":1},{"against":["60","greaterThan"],"key":"dpd_6_12_months","log":[],"reason":"Passed: 60.0 greaterThan 1","result":true,"source":1},{"against":["false","equal"],"key":"applicant_ntc","log":[],"reason":"Failed: false not equal no","result":false,"source":"no"},{"against":["0","greaterThanEqual"],"key":"cheque_bounce_count_6m","log":[],"reason":"Passed: 0.0 greaterThanEqual 0","result":true,"source":0},{"against":["5","greaterThanEqual"],"key":"enquiries_last_3_months","log":[],"reason":"Passed: 5.0 greaterThanEqual 2","result":true,"source":2},{"against":["30","greaterThanEqual"],"key":"residence_to_branch_distance_km","log":[],"reason":"Passed: 30.0 greaterThanEqual 10","result":true,"source":10},{"against":["400000","greaterThanEqual"],"key":"loan_amount","log":[],"reason":"Passed: 400000.0 greaterThanEqual 250000","result":true,"source":250000},{"against":[["rented","owned","leased","owned w/o regn"],"inList"],"key":"residence_ownership","log":[],"reason":"owned","result":true,"source":"owned"},{"against":[["father","mother","husband","wife","son","daughter","sister","son-in-law","daughter-in-law","mother-in-law","father-in-law","brother-in-law","sister-in-law","niece","uncle","nephew","aunt","grand-father","grand-mother","grand-son","grand-daughter","self","brother"],"inList"],"key":"co_applicant_relationship_1","log":[],"reason":"mother","result":true,"source":"father"},{"against":[["father","mother","husband","wife","son","daughter","sister","son-in-law","daughter-in-law","mother-in-law","father-in-law","brother-in-law","sister-in-law","niece","uncle","nephew","aunt","grand-father","grand-mother","grand-son","grand-daughter","self","brother"],"inList"],"key":"co_applicant_relationship_2","log":[],"reason":"mother","result":true,"source":"mother"},{"against":["50","greaterThanEqual"],"key":"foir","log":[],"reason":"Passed: 50.0 greaterThanEqual 40","result":true,"source":40},{"against":[["expansion of existing business","purchase of additional stock/ raw material/ working capital","purchase of machinery/equipment","refinancing of existing loans in case of an existing navadhan customer"],"inList"],"key":"loan_utilization","log":[],"reason":"purchase of additional stock/ raw material/ working capital","result":true,"source":"purchase of machinery/equipment"},{"against":["0","greaterThanEqual"],"key":"bureau_loss_count","log":[],"reason":"Passed: 0.0 greaterThanEqual 0","result":true,"source":0},{"against":["0","lessThanEqual"],"key":"bureau_dbt_count","log":[],"reason":"Passed: 0.0 lessThanEqual 0","result":true,"source":0},{"against":["0","lessThanEqual"],"key":"bureau_sub_count","log":[],"reason":"Passed: 0.0 lessThanEqual 0","result":true,"source":0},{"against":["1000","greaterThanEqual"],"key":"bureau_write_off_count","log":[],"reason":"Passed: 1000.0 greaterThanEqual 0","result":true,"source":0},{"against":["0","lessThanEqual"],"key":"bureau_settlement_count","log":[],"reason":"Passed: 0.0 lessThanEqual 0","result":true,"source":0},{"against":[],"key":"lss_count_24m","log":["Execution halted: Data not found: 'lss_count_24m' is missing from the JSON payload."],"reason":"Data not found: 'lss_count_24m' is missing from the JSON payload.","result":false,"source":[]}]},"status":false},"error":null} [2026-11-04 14:57:18] INFO: row.bre_decision_saved {"batch_id":"5b48b025-f9a4-4868-a9fa-54be5b8b00f7","row":1,"vendor_loan_id":289,"bre_decision_id":822,"status":"success","decision":null} [2026-11-04 14:57:18] INFO: evaluate.completed {"batch_id":"5b48b025-f9a4-4868-a9fa-54be5b8b00f7","summary":{"total":1,"succeeded":1,"failed":0,"validation_failed":0,"skipped_duplicate":0}} [2026-11-04 15:00:21] INFO: evaluate.received {"batch_id":"ab7156d9-3608-4113-a25d-6c2c6b5a6803","has_file":true,"filename":"temp_2026-11-04_15:00:09_1793784609_co_lending_loan_decision.xlsx","size":15050,"mime":null,"ip":null} [2026-11-04 15:00:21] INFO: import.sheet_parsed {"batch_id":"ab7156d9-3608-4113-a25d-6c2c6b5a6803","rows_seen":1,"rows_kept":1,"rows_skipped":0} [2026-11-04 15:00:21] INFO: evaluate.excel_parsed {"batch_id":"ab7156d9-3608-4113-a25d-6c2c6b5a6803","row_count":1} [2026-11-04 15:00:21] INFO: policy.request {"batch_id":"ab7156d9-3608-4113-a25d-6c2c6b5a6803","url":"http://localhost:7000/api/live/policy/policy-c678e363"} [2026-11-04 15:00:21] INFO: policy.response {"batch_id":"ab7156d9-3608-4113-a25d-6c2c6b5a6803","ok":true,"http_status":200,"duration_ms":244,"response":{"grade":{"rules":{"Blacksoil-Navdhan":{"rule":[{"description":["Blacksoil Age >=21 and <=60 pass else reject"],"key":"age","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Borrower Maturity Age"],"key":"borrower_maturity_age","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Co Applicant Age 2"],"key":"co_applicant_age_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Co Applicant Age 1"],"key":"co_applicant_age_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil gender Male - \"Male - approve, If female then check marital status, If Female then check else ignore this rule Marital Status- Reject single women as primary borrower"],"key":"gender","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - co_applicant_bureau_score_1 (upto 3 lakh loan, >=620 OR -1 to 18 else reject)"],"key":"co_applicant_bureau_score_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Overdue Amount\t<=1000, pass"],"key":"overdue_amount","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - DPD (0-6 Months) if\t<3 pass"],"key":"dpd_0_6_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Business Vintage (Years) - >=3 years else reject"],"key":"business_vintage_years","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Co-applicant 2 Maturity Age (<=63 else reject)"],"key":"co_applicant_maturity_age_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil tenure - <=36 months else reject"],"key":"tenure","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Borrower Bureau Score (upto 3 lakh loan amount, >=650 else reject) or Loan Amount >3 Lakh and If score >700 pass else reject"],"key":"bureau_score","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence Vintage (Years) >=3 years else reject"],"key":"residence_vintage_years","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Bank Statement 6M, Minimum 6 months"],"key":"bank_statement_6m","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Co-applicant 1 Maturity Age (<=63 else reject)"],"key":"co_applicant_maturity_age_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - co_applicant_bureau_score_2 (upto 3 lakh loan, >=620 OR -1 to 18 else reject)"],"key":"co_applicant_bureau_score_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Active Credit Lines Count - Value\t<=3 pass"],"key":"active_credit_lines_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - DPD (6-12 Months) if <2 pass"],"key":"dpd_6_12_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Applicant NTC, pass if false"],"key":"applicant_ntc","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Cheque Bounce Count 6M,No bounce in last 6 months, pass"],"key":"cheque_bounce_count_6m","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Enquiries Last 3 Months\tValue\t<=5 pass"],"key":"enquiries_last_3_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence to Branch Distance (km) - <=30 KM from branch else reject"],"key":"residence_to_branch_distance_km","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Loan Amount - <=4,00,000 else reject"],"key":"loan_amount","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence Ownership - Owned/Ancestral/Rent Free else reject"],"key":"residence_ownership","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Son,Father,mother,Grandfather,Grandmother,Brother, Uncle (immediate paternal and maternal uncle) - pass else reject"],"key":"co_applicant_relationship_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Son,Father,mother,Grandfather,Grandmother,Brother, Uncle (immediate paternal and maternal uncle) - pass else reject"],"key":"co_applicant_relationship_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Foir foir <= 50% pass else fail"],"key":"foir","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - 1. Expansion of existing business. 2. Purchase of additional stock / raw material / working capital 3. Purchase of machinery/equipment 4. Refinancing of existing loans in case of an existing Navadhan customer"],"key":"loan_utilization","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil bureau_loss_count > 0 fail else pass"],"key":"bureau_loss_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_dbt_count > 0 reject else pass"],"key":"bureau_dbt_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_sub_count any value received > 0 reject else pass"],"key":"bureau_sub_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_write_off_count < 1000 pass else reject"],"key":"bureau_write_off_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_settlement_count > 0 reject else pass"],"key":"bureau_settlement_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}}]}}}},"error":null} [2026-11-04 15:00:21] INFO: policy.parsed {"batch_id":"ab7156d9-3608-4113-a25d-6c2c6b5a6803","policy_count":1,"policy_names":["Blacksoil-Navdhan"]} [2026-11-04 15:00:21] INFO: row.start {"batch_id":"ab7156d9-3608-4113-a25d-6c2c6b5a6803","row":1,"application_id":"EVDHA040LE002867"} [2026-11-04 15:00:21] INFO: row.lead_created {"batch_id":"ab7156d9-3608-4113-a25d-6c2c6b5a6803","row":1,"application_id":"EVDHA040LE002867","vendor_loan_id":290} [2026-11-04 15:00:22] INFO: row.co_applicants_saved {"batch_id":"ab7156d9-3608-4113-a25d-6c2c6b5a6803","row":1,"vendor_loan_id":290,"count":2} [2026-11-04 15:00:22] INFO: row.decision_data_saved {"batch_id":"ab7156d9-3608-4113-a25d-6c2c6b5a6803","row":1,"vendor_loan_id":290,"decision_keys":93} [2026-11-04 15:00:22] INFO: row.api_request {"batch_id":"ab7156d9-3608-4113-a25d-6c2c6b5a6803","row":1,"vendor_loan_id":290,"url":"http://localhost:8889/","policies_payload":["Blacksoil-Navdhan"],"decision_keys":["application_id","age","gender","marital_status","applicant_ntc","household_monthly_income","household_annual_income","household_expenses","existing_emi_obligations","business_income","agriculture_income","dairy_income","foir","eligible_emi","eligible_loan_amount","loan_utilization","name_of_bureau","bureau_score","bureau_pull_date","overdue_amount","dpd_0_6_months","bureau_sub_count","bureau_dbt_count","bureau_loss_count","bureau_write_off_count","bureau_settlement_count","bureau_suit_filled_count","bureau_willful_default_count","restructured_count","dpd_6_12_months","enquiries_last_3_months","active_credit_lines_count","bank_statement_6m","cheque_bounce_count_6m","loan_amount","tenure","interest_rate","apr","repayment_frequency","loan_purpose","residence_area","residence_vintage_years","residence_ownership","residence_to_branch_distance_km","business_vintage_years","asset_fridge_value","asset_air_conditioner_value","asset_washing_machine_value","asset_tv_value","asset_smart_phone_value","co_applicant_age_1","co_applicant_relationship_1","co_applicant_years_of_stay_in_current_address_1","co_applicant_ntc_1","co_applicant_financial_status_1","co_applicant_name_of_bureau_1","co_applicant_bureau_score_1","co_applicant_bureau_pull_date_1","co_applicant_overdue_amount_1","co_applicant_dpd_0_6_months_1","co_applicant_dpd_6_12_months_1","co_applicant_bureau_sub_count_1","co_applicant_bureau_dbt_count_1","co_applicant_bureau_loss_count_1","co_applicant_bureau_write_off_count_1","co_applicant_bureau_settlement_count_1","co_applicant_bureau_suit_filed_count_1","co_applicant_bureau_willful_default_count_1","co_applicant_restructured_count_1","co_applicant_enquiries_last_3_months_1","co_applicant_active_credit_lines_count_1","co_applicant_age_2","co_applicant_relationship_2","co_applicant_years_of_stay_in_current_address_2","co_applicant_ntc_2","co_applicant_financial_status_2","co_applicant_name_of_bureau_2","co_applicant_bureau_score_2","co_applicant_bureau_pull_date_2","co_applicant_overdue_amount_2","co_applicant_dpd_0_6_months_2","co_applicant_dpd_6_12_months_2","co_applicant_bureau_sub_count_2","co_applicant_bureau_dbt_count_2","co_applicant_bureau_loss_count_2","co_applicant_bureau_write_off_count_2","co_applicant_bureau_settlement_count_2","co_applicant_bureau_suit_filed_count_2","co_applicant_bureau_willful_default_count_2","co_applicant_restructured_count_2","co_applicant_enquiries_last_3_months_2","co_applicant_active_credit_lines_count_2","borrower_maturity_age"],"payload":{"grade":{"rules":{"Blacksoil-Navdhan":{"rule":[{"description":["Blacksoil Age >=21 and <=60 pass else reject"],"key":"age","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Borrower Maturity Age"],"key":"borrower_maturity_age","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Co Applicant Age 2"],"key":"co_applicant_age_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Co Applicant Age 1"],"key":"co_applicant_age_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil gender Male - \"Male - approve, If female then check marital status, If Female then check else ignore this rule Marital Status- Reject single women as primary borrower"],"key":"gender","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - co_applicant_bureau_score_1 (upto 3 lakh loan, >=620 OR -1 to 18 else reject)"],"key":"co_applicant_bureau_score_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Overdue Amount\t<=1000, pass"],"key":"overdue_amount","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - DPD (0-6 Months) if\t<3 pass"],"key":"dpd_0_6_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Business Vintage (Years) - >=3 years else reject"],"key":"business_vintage_years","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Co-applicant 2 Maturity Age (<=63 else reject)"],"key":"co_applicant_maturity_age_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil tenure - <=36 months else reject"],"key":"tenure","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Borrower Bureau Score (upto 3 lakh loan amount, >=650 else reject) or Loan Amount >3 Lakh and If score >700 pass else reject"],"key":"bureau_score","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence Vintage (Years) >=3 years else reject"],"key":"residence_vintage_years","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Bank Statement 6M, Minimum 6 months"],"key":"bank_statement_6m","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Co-applicant 1 Maturity Age (<=63 else reject)"],"key":"co_applicant_maturity_age_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - co_applicant_bureau_score_2 (upto 3 lakh loan, >=620 OR -1 to 18 else reject)"],"key":"co_applicant_bureau_score_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Active Credit Lines Count - Value\t<=3 pass"],"key":"active_credit_lines_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - DPD (6-12 Months) if <2 pass"],"key":"dpd_6_12_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Applicant NTC, pass if false"],"key":"applicant_ntc","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Cheque Bounce Count 6M,No bounce in last 6 months, pass"],"key":"cheque_bounce_count_6m","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Enquiries Last 3 Months\tValue\t<=5 pass"],"key":"enquiries_last_3_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence to Branch Distance (km) - <=30 KM from branch else reject"],"key":"residence_to_branch_distance_km","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Loan Amount - <=4,00,000 else reject"],"key":"loan_amount","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence Ownership - Owned/Ancestral/Rent Free else reject"],"key":"residence_ownership","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Son,Father,mother,Grandfather,Grandmother,Brother, Uncle (immediate paternal and maternal uncle) - pass else reject"],"key":"co_applicant_relationship_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Son,Father,mother,Grandfather,Grandmother,Brother, Uncle (immediate paternal and maternal uncle) - pass else reject"],"key":"co_applicant_relationship_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Foir foir <= 50% pass else fail"],"key":"foir","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - 1. Expansion of existing business. 2. Purchase of additional stock / raw material / working capital 3. Purchase of machinery/equipment 4. Refinancing of existing loans in case of an existing Navadhan customer"],"key":"loan_utilization","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil bureau_loss_count > 0 fail else pass"],"key":"bureau_loss_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_dbt_count > 0 reject else pass"],"key":"bureau_dbt_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_sub_count any value received > 0 reject else pass"],"key":"bureau_sub_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_write_off_count < 1000 pass else reject"],"key":"bureau_write_off_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_settlement_count > 0 reject else pass"],"key":"bureau_settlement_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}}],"payload":{"application_id":"EVDHA040LE002867","age":35,"gender":"male","marital_status":"married","applicant_ntc":"no","household_monthly_income":50000,"household_annual_income":600000,"household_expenses":85700,"existing_emi_obligations":9041,"business_income":28300,"agriculture_income":0,"dairy_income":0,"foir":40,"eligible_emi":90531,"eligible_loan_amount":250000,"loan_utilization":"purchase of machinery/equipment","name_of_bureau":"crif","bureau_score":700,"bureau_pull_date":"1983-01-01","overdue_amount":0,"dpd_0_6_months":1,"bureau_sub_count":0,"bureau_dbt_count":0,"bureau_loss_count":0,"bureau_write_off_count":0,"bureau_settlement_count":0,"bureau_suit_filled_count":0,"bureau_willful_default_count":0,"restructured_count":0,"dpd_6_12_months":1,"enquiries_last_3_months":2,"active_credit_lines_count":1,"bank_statement_6m":1,"cheque_bounce_count_6m":0,"loan_amount":250000,"tenure":24,"interest_rate":31,"apr":34.14,"repayment_frequency":"monthly","loan_purpose":"business expansion","residence_area":"rural","residence_vintage_years":5,"residence_ownership":"owned","residence_to_branch_distance_km":10,"business_vintage_years":5,"asset_fridge_value":10000,"asset_air_conditioner_value":0,"asset_washing_machine_value":12000,"asset_tv_value":8000,"asset_smart_phone_value":20000,"co_applicant_age_1":30,"co_applicant_relationship_1":"father","co_applicant_years_of_stay_in_current_address_1":"","co_applicant_ntc_1":"no","co_applicant_financial_status_1":"financial","co_applicant_name_of_bureau_1":"crif","co_applicant_bureau_score_1":650,"co_applicant_bureau_pull_date_1":"2025-03-26","co_applicant_overdue_amount_1":0,"co_applicant_dpd_0_6_months_1":0,"co_applicant_dpd_6_12_months_1":0,"co_applicant_bureau_sub_count_1":0,"co_applicant_bureau_dbt_count_1":0,"co_applicant_bureau_loss_count_1":0,"co_applicant_bureau_write_off_count_1":0,"co_applicant_bureau_settlement_count_1":0,"co_applicant_bureau_suit_filed_count_1":0,"co_applicant_bureau_willful_default_count_1":0,"co_applicant_restructured_count_1":0,"co_applicant_enquiries_last_3_months_1":0,"co_applicant_active_credit_lines_count_1":3,"co_applicant_age_2":28,"co_applicant_relationship_2":"mother","co_applicant_years_of_stay_in_current_address_2":30,"co_applicant_ntc_2":"yes","co_applicant_financial_status_2":"financial","co_applicant_name_of_bureau_2":"crif","co_applicant_bureau_score_2":650,"co_applicant_bureau_pull_date_2":"2026-04-15","co_applicant_overdue_amount_2":0,"co_applicant_dpd_0_6_months_2":0,"co_applicant_dpd_6_12_months_2":0,"co_applicant_bureau_sub_count_2":0,"co_applicant_bureau_dbt_count_2":0,"co_applicant_bureau_loss_count_2":0,"co_applicant_bureau_write_off_count_2":0,"co_applicant_bureau_settlement_count_2":0,"co_applicant_bureau_suit_filed_count_2":0,"co_applicant_bureau_willful_default_count_2":0,"co_applicant_restructured_count_2":0,"co_applicant_enquiries_last_3_months_2":0,"co_applicant_active_credit_lines_count_2":0,"borrower_maturity_age":37}}}}}} [2026-11-04 15:00:22] INFO: row.api_response {"batch_id":"ab7156d9-3608-4113-a25d-6c2c6b5a6803","row":1,"vendor_loan_id":290,"http_status":200,"ok":true,"duration_ms":335,"response":{"Blacksoil-Navdhan":{"failed_condition":{"key":"applicant_ntc","reason":"Failed: false not equal no"},"policy_status":false,"rules":[{"against":["pass","equal"],"key":"age","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["pass","equal"],"key":"borrower_maturity_age","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["18","lessThanEqual"],"key":"co_applicant_age_2","log":[],"reason":"Passed: 18.0 lessThanEqual 28","result":true,"source":28},{"against":["18","lessThanEqual"],"key":"co_applicant_age_1","log":[],"reason":"Passed: 18.0 lessThanEqual 30","result":true,"source":30},{"against":["pass","equal"],"key":"gender","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["pass","equal"],"key":"co_applicant_bureau_score_1","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["1000","greaterThanEqual"],"key":"overdue_amount","log":[],"reason":"Passed: 1000.0 greaterThanEqual 0","result":true,"source":0},{"against":["3","greaterThan"],"key":"dpd_0_6_months","log":[],"reason":"Passed: 3.0 greaterThan 1","result":true,"source":1},{"against":["3","lessThanEqual"],"key":"business_vintage_years","log":[],"reason":"Passed: 3.0 lessThanEqual 5","result":true,"source":5},{"against":["63","equal"],"key":"co_applicant_maturity_age_2","log":[],"reason":"Failed: 63 not equal pass","result":false,"source":"pass"},{"against":["36","greaterThanEqual"],"key":"tenure","log":[],"reason":"Passed: 36.0 greaterThanEqual 24","result":true,"source":24},{"against":["pass","equal"],"key":"bureau_score","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["3","lessThanEqual"],"key":"residence_vintage_years","log":[],"reason":"Passed: 3.0 lessThanEqual 5","result":true,"source":5},{"against":["pass","equal"],"key":"bank_statement_6m","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["63","equal"],"key":"co_applicant_maturity_age_1","log":[],"reason":"Failed: 63 not equal pass","result":false,"source":"pass"},{"against":["pass","equal"],"key":"co_applicant_bureau_score_2","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["3","greaterThanEqual"],"key":"active_credit_lines_count","log":[],"reason":"Passed: 3.0 greaterThanEqual 1","result":true,"source":1},{"against":["60","greaterThan"],"key":"dpd_6_12_months","log":[],"reason":"Passed: 60.0 greaterThan 1","result":true,"source":1},{"against":["false","equal"],"key":"applicant_ntc","log":[],"reason":"Failed: false not equal no","result":false,"source":"no"},{"against":["0","greaterThanEqual"],"key":"cheque_bounce_count_6m","log":[],"reason":"Passed: 0.0 greaterThanEqual 0","result":true,"source":0},{"against":["5","greaterThanEqual"],"key":"enquiries_last_3_months","log":[],"reason":"Passed: 5.0 greaterThanEqual 2","result":true,"source":2},{"against":["30","greaterThanEqual"],"key":"residence_to_branch_distance_km","log":[],"reason":"Passed: 30.0 greaterThanEqual 10","result":true,"source":10},{"against":["400000","greaterThanEqual"],"key":"loan_amount","log":[],"reason":"Passed: 400000.0 greaterThanEqual 250000","result":true,"source":250000},{"against":[["rented","owned","leased","owned w/o regn"],"inList"],"key":"residence_ownership","log":[],"reason":"owned","result":true,"source":"owned"},{"against":[["father","mother","husband","wife","son","daughter","sister","son-in-law","daughter-in-law","mother-in-law","father-in-law","brother-in-law","sister-in-law","niece","uncle","nephew","aunt","grand-father","grand-mother","grand-son","grand-daughter","self","brother"],"inList"],"key":"co_applicant_relationship_1","log":[],"reason":"mother","result":true,"source":"father"},{"against":[["father","mother","husband","wife","son","daughter","sister","son-in-law","daughter-in-law","mother-in-law","father-in-law","brother-in-law","sister-in-law","niece","uncle","nephew","aunt","grand-father","grand-mother","grand-son","grand-daughter","self","brother"],"inList"],"key":"co_applicant_relationship_2","log":[],"reason":"mother","result":true,"source":"mother"},{"against":["50","greaterThanEqual"],"key":"foir","log":[],"reason":"Passed: 50.0 greaterThanEqual 40","result":true,"source":40},{"against":[["expansion of existing business","purchase of additional stock/ raw material/ working capital","purchase of machinery/equipment","refinancing of existing loans in case of an existing navadhan customer"],"inList"],"key":"loan_utilization","log":[],"reason":"purchase of additional stock/ raw material/ working capital","result":true,"source":"purchase of machinery/equipment"},{"against":["0","greaterThanEqual"],"key":"bureau_loss_count","log":[],"reason":"Passed: 0.0 greaterThanEqual 0","result":true,"source":0},{"against":["0","lessThanEqual"],"key":"bureau_dbt_count","log":[],"reason":"Passed: 0.0 lessThanEqual 0","result":true,"source":0},{"against":["0","lessThanEqual"],"key":"bureau_sub_count","log":[],"reason":"Passed: 0.0 lessThanEqual 0","result":true,"source":0},{"against":["1000","greaterThanEqual"],"key":"bureau_write_off_count","log":[],"reason":"Passed: 1000.0 greaterThanEqual 0","result":true,"source":0},{"against":["0","lessThanEqual"],"key":"bureau_settlement_count","log":[],"reason":"Passed: 0.0 lessThanEqual 0","result":true,"source":0}]},"status":false},"error":null} [2026-11-04 15:00:22] INFO: row.bre_decision_saved {"batch_id":"ab7156d9-3608-4113-a25d-6c2c6b5a6803","row":1,"vendor_loan_id":290,"bre_decision_id":823,"status":"success","decision":null} [2026-11-04 15:00:22] INFO: evaluate.completed {"batch_id":"ab7156d9-3608-4113-a25d-6c2c6b5a6803","summary":{"total":1,"succeeded":1,"failed":0,"validation_failed":0,"skipped_duplicate":0}} [2026-11-04 15:10:47] INFO: evaluate.received {"batch_id":"dffae888-7f69-4cfd-9df8-1cc884fda27d","has_file":true,"filename":"temp_2026-11-04_15:09:50_1793785190_co_lending_loan_decision.xlsx","size":14553,"mime":null,"ip":null} [2026-11-04 15:10:47] WARNING: import.date_parse_failed {"batch_id":"dffae888-7f69-4cfd-9df8-1cc884fda27d","key":"co_applicant_bureau_pull_date_1","value":"10-26"} [2026-11-04 15:10:47] WARNING: import.date_parse_failed {"batch_id":"dffae888-7f69-4cfd-9df8-1cc884fda27d","key":"co_applicant_bureau_pull_date_1","value":"09-26"} [2026-11-04 15:10:47] WARNING: import.date_parse_failed {"batch_id":"dffae888-7f69-4cfd-9df8-1cc884fda27d","key":"co_applicant_bureau_pull_date_2","value":"10-26"} [2026-11-04 15:10:47] WARNING: import.date_parse_failed {"batch_id":"dffae888-7f69-4cfd-9df8-1cc884fda27d","key":"co_applicant_bureau_pull_date_1","value":"10-26"} [2026-11-04 15:10:47] INFO: import.sheet_parsed {"batch_id":"dffae888-7f69-4cfd-9df8-1cc884fda27d","rows_seen":3,"rows_kept":3,"rows_skipped":0} [2026-11-04 15:10:47] INFO: evaluate.excel_parsed {"batch_id":"dffae888-7f69-4cfd-9df8-1cc884fda27d","row_count":3} [2026-11-04 15:10:47] INFO: policy.request {"batch_id":"dffae888-7f69-4cfd-9df8-1cc884fda27d","url":"http://localhost:7000/api/live/policy/policy-c678e363"} [2026-11-04 15:10:48] INFO: policy.response {"batch_id":"dffae888-7f69-4cfd-9df8-1cc884fda27d","ok":true,"http_status":200,"duration_ms":322,"response":{"grade":{"rules":{"Blacksoil-Navdhan":{"rule":[{"description":["Blacksoil Age >=21 and <=60 pass else reject"],"key":"age","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Borrower Maturity Age"],"key":"borrower_maturity_age","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Co Applicant Age 2"],"key":"co_applicant_age_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Co Applicant Age 1"],"key":"co_applicant_age_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil gender Male - \"Male - approve, If female then check marital status, If Female then check else ignore this rule Marital Status- Reject single women as primary borrower"],"key":"gender","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - co_applicant_bureau_score_1 (upto 3 lakh loan, >=620 OR -1 to 18 else reject)"],"key":"co_applicant_bureau_score_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Overdue Amount\t<=1000, pass"],"key":"overdue_amount","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - DPD (0-6 Months) if\t<3 pass"],"key":"dpd_0_6_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Business Vintage (Years) - >=3 years else reject"],"key":"business_vintage_years","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Co-applicant 2 Maturity Age (<=63 else reject)"],"key":"co_applicant_maturity_age_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil tenure - <=36 months else reject"],"key":"tenure","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Borrower Bureau Score (upto 3 lakh loan amount, >=650 else reject) or Loan Amount >3 Lakh and If score >700 pass else reject"],"key":"bureau_score","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence Vintage (Years) >=3 years else reject"],"key":"residence_vintage_years","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Bank Statement 6M, Minimum 6 months"],"key":"bank_statement_6m","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Co-applicant 1 Maturity Age (<=63 else reject)"],"key":"co_applicant_maturity_age_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - co_applicant_bureau_score_2 (upto 3 lakh loan, >=620 OR -1 to 18 else reject)"],"key":"co_applicant_bureau_score_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Active Credit Lines Count - Value\t<=3 pass"],"key":"active_credit_lines_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - DPD (6-12 Months) if <2 pass"],"key":"dpd_6_12_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Applicant NTC, pass if false"],"key":"applicant_ntc","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Cheque Bounce Count 6M,No bounce in last 6 months, pass"],"key":"cheque_bounce_count_6m","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Enquiries Last 3 Months\tValue\t<=5 pass"],"key":"enquiries_last_3_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence to Branch Distance (km) - <=30 KM from branch else reject"],"key":"residence_to_branch_distance_km","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Loan Amount - <=4,00,000 else reject"],"key":"loan_amount","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence Ownership - Owned/Ancestral/Rent Free else reject"],"key":"residence_ownership","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Son,Father,mother,Grandfather,Grandmother,Brother, Uncle (immediate paternal and maternal uncle) - pass else reject"],"key":"co_applicant_relationship_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Son,Father,mother,Grandfather,Grandmother,Brother, Uncle (immediate paternal and maternal uncle) - pass else reject"],"key":"co_applicant_relationship_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Foir foir <= 50% pass else fail"],"key":"foir","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - 1. Expansion of existing business. 2. Purchase of additional stock / raw material / working capital 3. Purchase of machinery/equipment 4. Refinancing of existing loans in case of an existing Navadhan customer"],"key":"loan_utilization","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil bureau_loss_count > 0 fail else pass"],"key":"bureau_loss_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_dbt_count > 0 reject else pass"],"key":"bureau_dbt_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_sub_count any value received > 0 reject else pass"],"key":"bureau_sub_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_write_off_count < 1000 pass else reject"],"key":"bureau_write_off_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_settlement_count > 0 reject else pass"],"key":"bureau_settlement_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}}]}}}},"error":null} [2026-11-04 15:10:48] INFO: policy.parsed {"batch_id":"dffae888-7f69-4cfd-9df8-1cc884fda27d","policy_count":1,"policy_names":["Blacksoil-Navdhan"]} [2026-11-04 15:10:48] INFO: row.start {"batch_id":"dffae888-7f69-4cfd-9df8-1cc884fda27d","row":1,"application_id":"UP006LE004608"} [2026-11-04 15:10:48] INFO: row.lead_created {"batch_id":"dffae888-7f69-4cfd-9df8-1cc884fda27d","row":1,"application_id":"UP006LE004608","vendor_loan_id":291} [2026-11-04 15:10:48] INFO: row.co_applicants_saved {"batch_id":"dffae888-7f69-4cfd-9df8-1cc884fda27d","row":1,"vendor_loan_id":291,"count":1} [2026-11-04 15:10:48] INFO: row.decision_data_saved {"batch_id":"dffae888-7f69-4cfd-9df8-1cc884fda27d","row":1,"vendor_loan_id":291,"decision_keys":93} [2026-11-04 15:10:48] INFO: row.api_request {"batch_id":"dffae888-7f69-4cfd-9df8-1cc884fda27d","row":1,"vendor_loan_id":291,"url":"http://localhost:8889/","policies_payload":["Blacksoil-Navdhan"],"decision_keys":["application_id","age","gender","marital_status","applicant_ntc","household_monthly_income","household_annual_income","household_expenses","existing_emi_obligations","business_income","agriculture_income","dairy_income","foir","eligible_emi","eligible_loan_amount","loan_utilization","name_of_bureau","bureau_score","bureau_pull_date","overdue_amount","dpd_0_6_months","bureau_sub_count","bureau_dbt_count","bureau_loss_count","bureau_write_off_count","bureau_settlement_count","bureau_suit_filled_count","bureau_willful_default_count","restructured_count","dpd_6_12_months","enquiries_last_3_months","active_credit_lines_count","bank_statement_6m","cheque_bounce_count_6m","loan_amount","tenure","interest_rate","apr","repayment_frequency","loan_purpose","residence_area","residence_vintage_years","residence_ownership","residence_to_branch_distance_km","business_vintage_years","asset_fridge_value","asset_air_conditioner_value","asset_washing_machine_value","asset_tv_value","asset_smart_phone_value","co_applicant_age_1","co_applicant_relationship_1","co_applicant_years_of_stay_in_current_address_1","co_applicant_ntc_1","co_applicant_financial_status_1","co_applicant_name_of_bureau_1","co_applicant_bureau_score_1","co_applicant_bureau_pull_date_1","co_applicant_overdue_amount_1","co_applicant_dpd_0_6_months_1","co_applicant_dpd_6_12_months_1","co_applicant_bureau_sub_count_1","co_applicant_bureau_dbt_count_1","co_applicant_bureau_loss_count_1","co_applicant_bureau_write_off_count_1","co_applicant_bureau_settlement_count_1","co_applicant_bureau_suit_filed_count_1","co_applicant_bureau_willful_default_count_1","co_applicant_restructured_count_1","co_applicant_enquiries_last_3_months_1","co_applicant_active_credit_lines_count_1","co_applicant_age_2","co_applicant_relationship_2","co_applicant_years_of_stay_in_current_address_2","co_applicant_ntc_2","co_applicant_financial_status_2","co_applicant_name_of_bureau_2","co_applicant_bureau_score_2","co_applicant_bureau_pull_date_2","co_applicant_overdue_amount_2","co_applicant_dpd_0_6_months_2","co_applicant_dpd_6_12_months_2","co_applicant_bureau_sub_count_2","co_applicant_bureau_dbt_count_2","co_applicant_bureau_loss_count_2","co_applicant_bureau_write_off_count_2","co_applicant_bureau_settlement_count_2","co_applicant_bureau_suit_filed_count_2","co_applicant_bureau_willful_default_count_2","co_applicant_restructured_count_2","co_applicant_enquiries_last_3_months_2","co_applicant_active_credit_lines_count_2","borrower_maturity_age"],"payload":{"grade":{"rules":{"Blacksoil-Navdhan":{"rule":[{"description":["Blacksoil Age >=21 and <=60 pass else reject"],"key":"age","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Borrower Maturity Age"],"key":"borrower_maturity_age","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Co Applicant Age 2"],"key":"co_applicant_age_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Co Applicant Age 1"],"key":"co_applicant_age_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil gender Male - \"Male - approve, If female then check marital status, If Female then check else ignore this rule Marital Status- Reject single women as primary borrower"],"key":"gender","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - co_applicant_bureau_score_1 (upto 3 lakh loan, >=620 OR -1 to 18 else reject)"],"key":"co_applicant_bureau_score_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Overdue Amount\t<=1000, pass"],"key":"overdue_amount","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - DPD (0-6 Months) if\t<3 pass"],"key":"dpd_0_6_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Business Vintage (Years) - >=3 years else reject"],"key":"business_vintage_years","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Co-applicant 2 Maturity Age (<=63 else reject)"],"key":"co_applicant_maturity_age_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil tenure - <=36 months else reject"],"key":"tenure","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Borrower Bureau Score (upto 3 lakh loan amount, >=650 else reject) or Loan Amount >3 Lakh and If score >700 pass else reject"],"key":"bureau_score","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence Vintage (Years) >=3 years else reject"],"key":"residence_vintage_years","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Bank Statement 6M, Minimum 6 months"],"key":"bank_statement_6m","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Co-applicant 1 Maturity Age (<=63 else reject)"],"key":"co_applicant_maturity_age_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - co_applicant_bureau_score_2 (upto 3 lakh loan, >=620 OR -1 to 18 else reject)"],"key":"co_applicant_bureau_score_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Active Credit Lines Count - Value\t<=3 pass"],"key":"active_credit_lines_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - DPD (6-12 Months) if <2 pass"],"key":"dpd_6_12_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Applicant NTC, pass if false"],"key":"applicant_ntc","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Cheque Bounce Count 6M,No bounce in last 6 months, pass"],"key":"cheque_bounce_count_6m","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Enquiries Last 3 Months\tValue\t<=5 pass"],"key":"enquiries_last_3_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence to Branch Distance (km) - <=30 KM from branch else reject"],"key":"residence_to_branch_distance_km","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Loan Amount - <=4,00,000 else reject"],"key":"loan_amount","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence Ownership - Owned/Ancestral/Rent Free else reject"],"key":"residence_ownership","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Son,Father,mother,Grandfather,Grandmother,Brother, Uncle (immediate paternal and maternal uncle) - pass else reject"],"key":"co_applicant_relationship_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Son,Father,mother,Grandfather,Grandmother,Brother, Uncle (immediate paternal and maternal uncle) - pass else reject"],"key":"co_applicant_relationship_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Foir foir <= 50% pass else fail"],"key":"foir","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - 1. Expansion of existing business. 2. Purchase of additional stock / raw material / working capital 3. Purchase of machinery/equipment 4. Refinancing of existing loans in case of an existing Navadhan customer"],"key":"loan_utilization","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil bureau_loss_count > 0 fail else pass"],"key":"bureau_loss_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_dbt_count > 0 reject else pass"],"key":"bureau_dbt_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_sub_count any value received > 0 reject else pass"],"key":"bureau_sub_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_write_off_count < 1000 pass else reject"],"key":"bureau_write_off_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_settlement_count > 0 reject else pass"],"key":"bureau_settlement_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}}],"payload":{"application_id":"UP006LE004608","age":42,"gender":"female","marital_status":"married","applicant_ntc":"false","household_monthly_income":60750,"household_annual_income":729000,"household_expenses":32900,"existing_emi_obligations":5065,"business_income":"","agriculture_income":3750,"dairy_income":27000,"foir":8.34,"eligible_emi":8860,"eligible_loan_amount":156999,"loan_utilization":"purchase of cattle","name_of_bureau":"credit bureau","bureau_score":732,"bureau_pull_date":"2026-11-04","overdue_amount":0,"dpd_0_6_months":0,"bureau_sub_count":0,"bureau_dbt_count":0,"bureau_loss_count":0,"bureau_write_off_count":0,"bureau_settlement_count":0,"bureau_suit_filled_count":0,"bureau_willful_default_count":0,"restructured_count":0,"dpd_6_12_months":0,"enquiries_last_3_months":0,"active_credit_lines_count":1,"bank_statement_6m":"","cheque_bounce_count_6m":"","loan_amount":100158,"tenure":23,"interest_rate":29.43,"apr":35.39,"repayment_frequency":"12","loan_purpose":"purchase of cattle","residence_area":"","residence_vintage_years":35,"residence_ownership":"owned","residence_to_branch_distance_km":15,"business_vintage_years":"","asset_fridge_value":10000,"asset_air_conditioner_value":0,"asset_washing_machine_value":0,"asset_tv_value":8000,"asset_smart_phone_value":20000,"co_applicant_age_1":42,"co_applicant_relationship_1":"husband","co_applicant_years_of_stay_in_current_address_1":35,"co_applicant_ntc_1":"false","co_applicant_financial_status_1":"financial","co_applicant_name_of_bureau_1":"credit bureau","co_applicant_bureau_score_1":658,"co_applicant_bureau_pull_date_1":"","co_applicant_overdue_amount_1":85550,"co_applicant_dpd_0_6_months_1":323,"co_applicant_dpd_6_12_months_1":0,"co_applicant_bureau_sub_count_1":0,"co_applicant_bureau_dbt_count_1":0,"co_applicant_bureau_loss_count_1":0,"co_applicant_bureau_write_off_count_1":0,"co_applicant_bureau_settlement_count_1":0,"co_applicant_bureau_suit_filed_count_1":0,"co_applicant_bureau_willful_default_count_1":0,"co_applicant_restructured_count_1":0,"co_applicant_enquiries_last_3_months_1":1,"co_applicant_active_credit_lines_count_1":2,"co_applicant_age_2":"","co_applicant_relationship_2":"","co_applicant_years_of_stay_in_current_address_2":"","co_applicant_ntc_2":"","co_applicant_financial_status_2":"","co_applicant_name_of_bureau_2":"","co_applicant_bureau_score_2":"","co_applicant_bureau_pull_date_2":"","co_applicant_overdue_amount_2":"","co_applicant_dpd_0_6_months_2":"","co_applicant_dpd_6_12_months_2":"","co_applicant_bureau_sub_count_2":"","co_applicant_bureau_dbt_count_2":"","co_applicant_bureau_loss_count_2":"","co_applicant_bureau_write_off_count_2":"","co_applicant_bureau_settlement_count_2":"","co_applicant_bureau_suit_filed_count_2":"","co_applicant_bureau_willful_default_count_2":"","co_applicant_restructured_count_2":"","co_applicant_enquiries_last_3_months_2":"","co_applicant_active_credit_lines_count_2":"","borrower_maturity_age":43}}}}}} [2026-11-04 15:10:48] INFO: row.api_response {"batch_id":"dffae888-7f69-4cfd-9df8-1cc884fda27d","row":1,"vendor_loan_id":291,"http_status":200,"ok":true,"duration_ms":404,"response":{"Blacksoil-Navdhan":{"failed_condition":{"key":"loan_utilization","reason":"purchase of additional stock/ raw material/ working capital"},"policy_status":false,"rules":[{"against":["pass","equal"],"key":"age","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["pass","equal"],"key":"borrower_maturity_age","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["18","lessThanEqual"],"key":"co_applicant_age_2","log":[],"reason":"NTC Case - No tradelines found","result":true,"source":""},{"against":["18","lessThanEqual"],"key":"co_applicant_age_1","log":[],"reason":"Passed: 18.0 lessThanEqual 42","result":true,"source":42},{"against":["pass","equal"],"key":"gender","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["pass","equal"],"key":"co_applicant_bureau_score_1","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["1000","greaterThanEqual"],"key":"overdue_amount","log":[],"reason":"Passed: 1000.0 greaterThanEqual 0","result":true,"source":0},{"against":["3","greaterThan"],"key":"dpd_0_6_months","log":[],"reason":"Passed: 3.0 greaterThan 0","result":true,"source":0},{"against":["3","lessThanEqual"],"key":"business_vintage_years","log":[],"reason":"NTC Case - No tradelines found","result":true,"source":""},{"against":["63","equal"],"key":"co_applicant_maturity_age_2","log":[],"reason":"Failed: 63 not equal pass","result":false,"source":"pass"},{"against":["36","greaterThanEqual"],"key":"tenure","log":[],"reason":"Passed: 36.0 greaterThanEqual 23","result":true,"source":23},{"against":["pass","equal"],"key":"bureau_score","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["3","lessThanEqual"],"key":"residence_vintage_years","log":[],"reason":"Passed: 3.0 lessThanEqual 35","result":true,"source":35},{"against":["pass","equal"],"key":"bank_statement_6m","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["63","equal"],"key":"co_applicant_maturity_age_1","log":[],"reason":"Failed: 63 not equal pass","result":false,"source":"pass"},{"against":["pass","equal"],"key":"co_applicant_bureau_score_2","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["3","greaterThanEqual"],"key":"active_credit_lines_count","log":[],"reason":"Passed: 3.0 greaterThanEqual 1","result":true,"source":1},{"against":["60","greaterThan"],"key":"dpd_6_12_months","log":[],"reason":"Passed: 60.0 greaterThan 0","result":true,"source":0},{"against":["false","equal"],"key":"applicant_ntc","log":[],"reason":"Passed: false equal false","result":true,"source":"false"},{"against":["0","greaterThanEqual"],"key":"cheque_bounce_count_6m","log":[],"reason":"NTC Case - No tradelines found","result":true,"source":""},{"against":["5","greaterThanEqual"],"key":"enquiries_last_3_months","log":[],"reason":"Passed: 5.0 greaterThanEqual 0","result":true,"source":0},{"against":["30","greaterThanEqual"],"key":"residence_to_branch_distance_km","log":[],"reason":"Passed: 30.0 greaterThanEqual 15","result":true,"source":15},{"against":["400000","greaterThanEqual"],"key":"loan_amount","log":[],"reason":"Passed: 400000.0 greaterThanEqual 100158","result":true,"source":100158},{"against":[["rented","owned","leased","owned w/o regn"],"inList"],"key":"residence_ownership","log":[],"reason":"owned","result":true,"source":"owned"},{"against":[["father","mother","husband","wife","son","daughter","sister","son-in-law","daughter-in-law","mother-in-law","father-in-law","brother-in-law","sister-in-law","niece","uncle","nephew","aunt","grand-father","grand-mother","grand-son","grand-daughter","self","brother"],"inList"],"key":"co_applicant_relationship_1","log":[],"reason":"mother","result":true,"source":"husband"},{"against":[["father","mother","husband","wife","son","daughter","sister","son-in-law","daughter-in-law","mother-in-law","father-in-law","brother-in-law","sister-in-law","niece","uncle","nephew","aunt","grand-father","grand-mother","grand-son","grand-daughter","self","brother"],"inList"],"key":"co_applicant_relationship_2","log":[],"reason":"NTC Case - No tradelines found","result":true,"source":""},{"against":["50","greaterThanEqual"],"key":"foir","log":[],"reason":"Passed: 50.0 greaterThanEqual 8.34","result":true,"source":8.34},{"against":[["expansion of existing business","purchase of additional stock/ raw material/ working capital","purchase of machinery/equipment","refinancing of existing loans in case of an existing navadhan customer"],"inList"],"key":"loan_utilization","log":[],"reason":"purchase of additional stock/ raw material/ working capital","result":false,"source":"purchase of cattle"},{"against":["0","greaterThanEqual"],"key":"bureau_loss_count","log":[],"reason":"Passed: 0.0 greaterThanEqual 0","result":true,"source":0},{"against":["0","lessThanEqual"],"key":"bureau_dbt_count","log":[],"reason":"Passed: 0.0 lessThanEqual 0","result":true,"source":0},{"against":["0","lessThanEqual"],"key":"bureau_sub_count","log":[],"reason":"Passed: 0.0 lessThanEqual 0","result":true,"source":0},{"against":["1000","greaterThanEqual"],"key":"bureau_write_off_count","log":[],"reason":"Passed: 1000.0 greaterThanEqual 0","result":true,"source":0},{"against":["0","lessThanEqual"],"key":"bureau_settlement_count","log":[],"reason":"Passed: 0.0 lessThanEqual 0","result":true,"source":0}]},"status":false},"error":null} [2026-11-04 15:10:48] INFO: row.bre_decision_saved {"batch_id":"dffae888-7f69-4cfd-9df8-1cc884fda27d","row":1,"vendor_loan_id":291,"bre_decision_id":824,"status":"success","decision":null} [2026-11-04 15:10:48] INFO: row.start {"batch_id":"dffae888-7f69-4cfd-9df8-1cc884fda27d","row":2,"application_id":"UP006LE004523"} [2026-11-04 15:10:48] INFO: row.lead_created {"batch_id":"dffae888-7f69-4cfd-9df8-1cc884fda27d","row":2,"application_id":"UP006LE004523","vendor_loan_id":292} [2026-11-04 15:10:48] INFO: row.co_applicants_saved {"batch_id":"dffae888-7f69-4cfd-9df8-1cc884fda27d","row":2,"vendor_loan_id":292,"count":2} [2026-11-04 15:10:48] INFO: row.decision_data_saved {"batch_id":"dffae888-7f69-4cfd-9df8-1cc884fda27d","row":2,"vendor_loan_id":292,"decision_keys":93} [2026-11-04 15:10:48] INFO: row.api_request {"batch_id":"dffae888-7f69-4cfd-9df8-1cc884fda27d","row":2,"vendor_loan_id":292,"url":"http://localhost:8889/","policies_payload":["Blacksoil-Navdhan"],"decision_keys":["application_id","age","gender","marital_status","applicant_ntc","household_monthly_income","household_annual_income","household_expenses","existing_emi_obligations","business_income","agriculture_income","dairy_income","foir","eligible_emi","eligible_loan_amount","loan_utilization","name_of_bureau","bureau_score","bureau_pull_date","overdue_amount","dpd_0_6_months","bureau_sub_count","bureau_dbt_count","bureau_loss_count","bureau_write_off_count","bureau_settlement_count","bureau_suit_filled_count","bureau_willful_default_count","restructured_count","dpd_6_12_months","enquiries_last_3_months","active_credit_lines_count","bank_statement_6m","cheque_bounce_count_6m","loan_amount","tenure","interest_rate","apr","repayment_frequency","loan_purpose","residence_area","residence_vintage_years","residence_ownership","residence_to_branch_distance_km","business_vintage_years","asset_fridge_value","asset_air_conditioner_value","asset_washing_machine_value","asset_tv_value","asset_smart_phone_value","co_applicant_age_1","co_applicant_relationship_1","co_applicant_years_of_stay_in_current_address_1","co_applicant_ntc_1","co_applicant_financial_status_1","co_applicant_name_of_bureau_1","co_applicant_bureau_score_1","co_applicant_bureau_pull_date_1","co_applicant_overdue_amount_1","co_applicant_dpd_0_6_months_1","co_applicant_dpd_6_12_months_1","co_applicant_bureau_sub_count_1","co_applicant_bureau_dbt_count_1","co_applicant_bureau_loss_count_1","co_applicant_bureau_write_off_count_1","co_applicant_bureau_settlement_count_1","co_applicant_bureau_suit_filed_count_1","co_applicant_bureau_willful_default_count_1","co_applicant_restructured_count_1","co_applicant_enquiries_last_3_months_1","co_applicant_active_credit_lines_count_1","co_applicant_age_2","co_applicant_relationship_2","co_applicant_years_of_stay_in_current_address_2","co_applicant_ntc_2","co_applicant_financial_status_2","co_applicant_name_of_bureau_2","co_applicant_bureau_score_2","co_applicant_bureau_pull_date_2","co_applicant_overdue_amount_2","co_applicant_dpd_0_6_months_2","co_applicant_dpd_6_12_months_2","co_applicant_bureau_sub_count_2","co_applicant_bureau_dbt_count_2","co_applicant_bureau_loss_count_2","co_applicant_bureau_write_off_count_2","co_applicant_bureau_settlement_count_2","co_applicant_bureau_suit_filed_count_2","co_applicant_bureau_willful_default_count_2","co_applicant_restructured_count_2","co_applicant_enquiries_last_3_months_2","co_applicant_active_credit_lines_count_2","borrower_maturity_age"],"payload":{"grade":{"rules":{"Blacksoil-Navdhan":{"rule":[{"description":["Blacksoil Age >=21 and <=60 pass else reject"],"key":"age","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Borrower Maturity Age"],"key":"borrower_maturity_age","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Co Applicant Age 2"],"key":"co_applicant_age_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Co Applicant Age 1"],"key":"co_applicant_age_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil gender Male - \"Male - approve, If female then check marital status, If Female then check else ignore this rule Marital Status- Reject single women as primary borrower"],"key":"gender","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - co_applicant_bureau_score_1 (upto 3 lakh loan, >=620 OR -1 to 18 else reject)"],"key":"co_applicant_bureau_score_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Overdue Amount\t<=1000, pass"],"key":"overdue_amount","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - DPD (0-6 Months) if\t<3 pass"],"key":"dpd_0_6_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Business Vintage (Years) - >=3 years else reject"],"key":"business_vintage_years","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Co-applicant 2 Maturity Age (<=63 else reject)"],"key":"co_applicant_maturity_age_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil tenure - <=36 months else reject"],"key":"tenure","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Borrower Bureau Score (upto 3 lakh loan amount, >=650 else reject) or Loan Amount >3 Lakh and If score >700 pass else reject"],"key":"bureau_score","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence Vintage (Years) >=3 years else reject"],"key":"residence_vintage_years","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Bank Statement 6M, Minimum 6 months"],"key":"bank_statement_6m","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Co-applicant 1 Maturity Age (<=63 else reject)"],"key":"co_applicant_maturity_age_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - co_applicant_bureau_score_2 (upto 3 lakh loan, >=620 OR -1 to 18 else reject)"],"key":"co_applicant_bureau_score_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Active Credit Lines Count - Value\t<=3 pass"],"key":"active_credit_lines_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - DPD (6-12 Months) if <2 pass"],"key":"dpd_6_12_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Applicant NTC, pass if false"],"key":"applicant_ntc","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Cheque Bounce Count 6M,No bounce in last 6 months, pass"],"key":"cheque_bounce_count_6m","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Enquiries Last 3 Months\tValue\t<=5 pass"],"key":"enquiries_last_3_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence to Branch Distance (km) - <=30 KM from branch else reject"],"key":"residence_to_branch_distance_km","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Loan Amount - <=4,00,000 else reject"],"key":"loan_amount","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence Ownership - Owned/Ancestral/Rent Free else reject"],"key":"residence_ownership","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Son,Father,mother,Grandfather,Grandmother,Brother, Uncle (immediate paternal and maternal uncle) - pass else reject"],"key":"co_applicant_relationship_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Son,Father,mother,Grandfather,Grandmother,Brother, Uncle (immediate paternal and maternal uncle) - pass else reject"],"key":"co_applicant_relationship_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Foir foir <= 50% pass else fail"],"key":"foir","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - 1. Expansion of existing business. 2. Purchase of additional stock / raw material / working capital 3. Purchase of machinery/equipment 4. Refinancing of existing loans in case of an existing Navadhan customer"],"key":"loan_utilization","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil bureau_loss_count > 0 fail else pass"],"key":"bureau_loss_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_dbt_count > 0 reject else pass"],"key":"bureau_dbt_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_sub_count any value received > 0 reject else pass"],"key":"bureau_sub_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_write_off_count < 1000 pass else reject"],"key":"bureau_write_off_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_settlement_count > 0 reject else pass"],"key":"bureau_settlement_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}}],"payload":{"application_id":"UP006LE004523","age":52,"gender":"female","marital_status":"married","applicant_ntc":"false","household_monthly_income":47933,"household_annual_income":575196,"household_expenses":19695,"existing_emi_obligations":0,"business_income":"","agriculture_income":8333,"dairy_income":39600,"foir":0,"eligible_emi":14119,"eligible_loan_amount":250189,"loan_utilization":"purchase of cattle","name_of_bureau":"credit bureau","bureau_score":804,"bureau_pull_date":"2026-11-04","overdue_amount":0,"dpd_0_6_months":0,"bureau_sub_count":0,"bureau_dbt_count":0,"bureau_loss_count":0,"bureau_write_off_count":0,"bureau_settlement_count":0,"bureau_suit_filled_count":0,"bureau_willful_default_count":0,"restructured_count":0,"dpd_6_12_months":0,"enquiries_last_3_months":1,"active_credit_lines_count":2,"bank_statement_6m":"","cheque_bounce_count_6m":"","loan_amount":110000,"tenure":23,"interest_rate":29.4,"apr":35.99,"repayment_frequency":"12","loan_purpose":"purchase of cattle","residence_area":"","residence_vintage_years":50,"residence_ownership":"owned w/o regn.","residence_to_branch_distance_km":2,"business_vintage_years":"","asset_fridge_value":10000,"asset_air_conditioner_value":12000,"asset_washing_machine_value":12000,"asset_tv_value":8000,"asset_smart_phone_value":20000,"co_applicant_age_1":26,"co_applicant_relationship_1":"son","co_applicant_years_of_stay_in_current_address_1":50,"co_applicant_ntc_1":"true","co_applicant_financial_status_1":"financial","co_applicant_name_of_bureau_1":"credit bureau","co_applicant_bureau_score_1":"","co_applicant_bureau_pull_date_1":"","co_applicant_overdue_amount_1":0,"co_applicant_dpd_0_6_months_1":0,"co_applicant_dpd_6_12_months_1":0,"co_applicant_bureau_sub_count_1":0,"co_applicant_bureau_dbt_count_1":0,"co_applicant_bureau_loss_count_1":0,"co_applicant_bureau_write_off_count_1":0,"co_applicant_bureau_settlement_count_1":0,"co_applicant_bureau_suit_filed_count_1":0,"co_applicant_bureau_willful_default_count_1":0,"co_applicant_restructured_count_1":0,"co_applicant_enquiries_last_3_months_1":0,"co_applicant_active_credit_lines_count_1":0,"co_applicant_age_2":48,"co_applicant_relationship_2":"husband","co_applicant_years_of_stay_in_current_address_2":50,"co_applicant_ntc_2":"false","co_applicant_financial_status_2":"financial","co_applicant_name_of_bureau_2":"credit bureau","co_applicant_bureau_score_2":760,"co_applicant_bureau_pull_date_2":"","co_applicant_overdue_amount_2":0,"co_applicant_dpd_0_6_months_2":0,"co_applicant_dpd_6_12_months_2":0,"co_applicant_bureau_sub_count_2":0,"co_applicant_bureau_dbt_count_2":0,"co_applicant_bureau_loss_count_2":0,"co_applicant_bureau_write_off_count_2":0,"co_applicant_bureau_settlement_count_2":0,"co_applicant_bureau_suit_filed_count_2":0,"co_applicant_bureau_willful_default_count_2":0,"co_applicant_restructured_count_2":0,"co_applicant_enquiries_last_3_months_2":0,"co_applicant_active_credit_lines_count_2":3,"borrower_maturity_age":53}}}}}} [2026-11-04 15:10:49] INFO: row.api_response {"batch_id":"dffae888-7f69-4cfd-9df8-1cc884fda27d","row":2,"vendor_loan_id":292,"http_status":200,"ok":true,"duration_ms":418,"response":{"Blacksoil-Navdhan":{"failed_condition":{"key":"loan_utilization","reason":"purchase of additional stock/ raw material/ working capital"},"policy_status":false,"rules":[{"against":["pass","equal"],"key":"age","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["pass","equal"],"key":"borrower_maturity_age","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["18","lessThanEqual"],"key":"co_applicant_age_2","log":[],"reason":"Passed: 18.0 lessThanEqual 48","result":true,"source":48},{"against":["18","lessThanEqual"],"key":"co_applicant_age_1","log":[],"reason":"Passed: 18.0 lessThanEqual 26","result":true,"source":26},{"against":["pass","equal"],"key":"gender","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["pass","equal"],"key":"co_applicant_bureau_score_1","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["1000","greaterThanEqual"],"key":"overdue_amount","log":[],"reason":"Passed: 1000.0 greaterThanEqual 0","result":true,"source":0},{"against":["3","greaterThan"],"key":"dpd_0_6_months","log":[],"reason":"Passed: 3.0 greaterThan 0","result":true,"source":0},{"against":["3","lessThanEqual"],"key":"business_vintage_years","log":[],"reason":"NTC Case - No tradelines found","result":true,"source":""},{"against":["63","equal"],"key":"co_applicant_maturity_age_2","log":[],"reason":"Failed: 63 not equal pass","result":false,"source":"pass"},{"against":["36","greaterThanEqual"],"key":"tenure","log":[],"reason":"Passed: 36.0 greaterThanEqual 23","result":true,"source":23},{"against":["pass","equal"],"key":"bureau_score","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["3","lessThanEqual"],"key":"residence_vintage_years","log":[],"reason":"Passed: 3.0 lessThanEqual 50","result":true,"source":50},{"against":["pass","equal"],"key":"bank_statement_6m","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["63","equal"],"key":"co_applicant_maturity_age_1","log":[],"reason":"Failed: 63 not equal pass","result":false,"source":"pass"},{"against":["pass","equal"],"key":"co_applicant_bureau_score_2","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["3","greaterThanEqual"],"key":"active_credit_lines_count","log":[],"reason":"Passed: 3.0 greaterThanEqual 2","result":true,"source":2},{"against":["60","greaterThan"],"key":"dpd_6_12_months","log":[],"reason":"Passed: 60.0 greaterThan 0","result":true,"source":0},{"against":["false","equal"],"key":"applicant_ntc","log":[],"reason":"Passed: false equal false","result":true,"source":"false"},{"against":["0","greaterThanEqual"],"key":"cheque_bounce_count_6m","log":[],"reason":"NTC Case - No tradelines found","result":true,"source":""},{"against":["5","greaterThanEqual"],"key":"enquiries_last_3_months","log":[],"reason":"Passed: 5.0 greaterThanEqual 1","result":true,"source":1},{"against":["30","greaterThanEqual"],"key":"residence_to_branch_distance_km","log":[],"reason":"Passed: 30.0 greaterThanEqual 2","result":true,"source":2},{"against":["400000","greaterThanEqual"],"key":"loan_amount","log":[],"reason":"Passed: 400000.0 greaterThanEqual 110000","result":true,"source":110000},{"against":[["rented","owned","leased","owned w/o regn"],"inList"],"key":"residence_ownership","log":[],"reason":"owned","result":false,"source":"owned w/o regn."},{"against":[["father","mother","husband","wife","son","daughter","sister","son-in-law","daughter-in-law","mother-in-law","father-in-law","brother-in-law","sister-in-law","niece","uncle","nephew","aunt","grand-father","grand-mother","grand-son","grand-daughter","self","brother"],"inList"],"key":"co_applicant_relationship_1","log":[],"reason":"mother","result":true,"source":"son"},{"against":[["father","mother","husband","wife","son","daughter","sister","son-in-law","daughter-in-law","mother-in-law","father-in-law","brother-in-law","sister-in-law","niece","uncle","nephew","aunt","grand-father","grand-mother","grand-son","grand-daughter","self","brother"],"inList"],"key":"co_applicant_relationship_2","log":[],"reason":"mother","result":true,"source":"husband"},{"against":["50","greaterThanEqual"],"key":"foir","log":[],"reason":"Passed: 50.0 greaterThanEqual 0","result":true,"source":0},{"against":[["expansion of existing business","purchase of additional stock/ raw material/ working capital","purchase of machinery/equipment","refinancing of existing loans in case of an existing navadhan customer"],"inList"],"key":"loan_utilization","log":[],"reason":"purchase of additional stock/ raw material/ working capital","result":false,"source":"purchase of cattle"},{"against":["0","greaterThanEqual"],"key":"bureau_loss_count","log":[],"reason":"Passed: 0.0 greaterThanEqual 0","result":true,"source":0},{"against":["0","lessThanEqual"],"key":"bureau_dbt_count","log":[],"reason":"Passed: 0.0 lessThanEqual 0","result":true,"source":0},{"against":["0","lessThanEqual"],"key":"bureau_sub_count","log":[],"reason":"Passed: 0.0 lessThanEqual 0","result":true,"source":0},{"against":["1000","greaterThanEqual"],"key":"bureau_write_off_count","log":[],"reason":"Passed: 1000.0 greaterThanEqual 0","result":true,"source":0},{"against":["0","lessThanEqual"],"key":"bureau_settlement_count","log":[],"reason":"Passed: 0.0 lessThanEqual 0","result":true,"source":0}]},"status":false},"error":null} [2026-11-04 15:10:49] INFO: row.bre_decision_saved {"batch_id":"dffae888-7f69-4cfd-9df8-1cc884fda27d","row":2,"vendor_loan_id":292,"bre_decision_id":825,"status":"success","decision":null} [2026-11-04 15:10:49] INFO: row.start {"batch_id":"dffae888-7f69-4cfd-9df8-1cc884fda27d","row":3,"application_id":"RJ002LE005114"} [2026-11-04 15:10:49] INFO: row.lead_created {"batch_id":"dffae888-7f69-4cfd-9df8-1cc884fda27d","row":3,"application_id":"RJ002LE005114","vendor_loan_id":293} [2026-11-04 15:10:49] INFO: row.co_applicants_saved {"batch_id":"dffae888-7f69-4cfd-9df8-1cc884fda27d","row":3,"vendor_loan_id":293,"count":1} [2026-11-04 15:10:49] INFO: row.decision_data_saved {"batch_id":"dffae888-7f69-4cfd-9df8-1cc884fda27d","row":3,"vendor_loan_id":293,"decision_keys":93} [2026-11-04 15:10:49] INFO: row.api_request {"batch_id":"dffae888-7f69-4cfd-9df8-1cc884fda27d","row":3,"vendor_loan_id":293,"url":"http://localhost:8889/","policies_payload":["Blacksoil-Navdhan"],"decision_keys":["application_id","age","gender","marital_status","applicant_ntc","household_monthly_income","household_annual_income","household_expenses","existing_emi_obligations","business_income","agriculture_income","dairy_income","foir","eligible_emi","eligible_loan_amount","loan_utilization","name_of_bureau","bureau_score","bureau_pull_date","overdue_amount","dpd_0_6_months","bureau_sub_count","bureau_dbt_count","bureau_loss_count","bureau_write_off_count","bureau_settlement_count","bureau_suit_filled_count","bureau_willful_default_count","restructured_count","dpd_6_12_months","enquiries_last_3_months","active_credit_lines_count","bank_statement_6m","cheque_bounce_count_6m","loan_amount","tenure","interest_rate","apr","repayment_frequency","loan_purpose","residence_area","residence_vintage_years","residence_ownership","residence_to_branch_distance_km","business_vintage_years","asset_fridge_value","asset_air_conditioner_value","asset_washing_machine_value","asset_tv_value","asset_smart_phone_value","co_applicant_age_1","co_applicant_relationship_1","co_applicant_years_of_stay_in_current_address_1","co_applicant_ntc_1","co_applicant_financial_status_1","co_applicant_name_of_bureau_1","co_applicant_bureau_score_1","co_applicant_bureau_pull_date_1","co_applicant_overdue_amount_1","co_applicant_dpd_0_6_months_1","co_applicant_dpd_6_12_months_1","co_applicant_bureau_sub_count_1","co_applicant_bureau_dbt_count_1","co_applicant_bureau_loss_count_1","co_applicant_bureau_write_off_count_1","co_applicant_bureau_settlement_count_1","co_applicant_bureau_suit_filed_count_1","co_applicant_bureau_willful_default_count_1","co_applicant_restructured_count_1","co_applicant_enquiries_last_3_months_1","co_applicant_active_credit_lines_count_1","co_applicant_age_2","co_applicant_relationship_2","co_applicant_years_of_stay_in_current_address_2","co_applicant_ntc_2","co_applicant_financial_status_2","co_applicant_name_of_bureau_2","co_applicant_bureau_score_2","co_applicant_bureau_pull_date_2","co_applicant_overdue_amount_2","co_applicant_dpd_0_6_months_2","co_applicant_dpd_6_12_months_2","co_applicant_bureau_sub_count_2","co_applicant_bureau_dbt_count_2","co_applicant_bureau_loss_count_2","co_applicant_bureau_write_off_count_2","co_applicant_bureau_settlement_count_2","co_applicant_bureau_suit_filed_count_2","co_applicant_bureau_willful_default_count_2","co_applicant_restructured_count_2","co_applicant_enquiries_last_3_months_2","co_applicant_active_credit_lines_count_2","borrower_maturity_age"],"payload":{"grade":{"rules":{"Blacksoil-Navdhan":{"rule":[{"description":["Blacksoil Age >=21 and <=60 pass else reject"],"key":"age","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Borrower Maturity Age"],"key":"borrower_maturity_age","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Co Applicant Age 2"],"key":"co_applicant_age_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Co Applicant Age 1"],"key":"co_applicant_age_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil gender Male - \"Male - approve, If female then check marital status, If Female then check else ignore this rule Marital Status- Reject single women as primary borrower"],"key":"gender","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - co_applicant_bureau_score_1 (upto 3 lakh loan, >=620 OR -1 to 18 else reject)"],"key":"co_applicant_bureau_score_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Overdue Amount\t<=1000, pass"],"key":"overdue_amount","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - DPD (0-6 Months) if\t<3 pass"],"key":"dpd_0_6_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Business Vintage (Years) - >=3 years else reject"],"key":"business_vintage_years","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Co-applicant 2 Maturity Age (<=63 else reject)"],"key":"co_applicant_maturity_age_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil tenure - <=36 months else reject"],"key":"tenure","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Borrower Bureau Score (upto 3 lakh loan amount, >=650 else reject) or Loan Amount >3 Lakh and If score >700 pass else reject"],"key":"bureau_score","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence Vintage (Years) >=3 years else reject"],"key":"residence_vintage_years","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Bank Statement 6M, Minimum 6 months"],"key":"bank_statement_6m","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Co-applicant 1 Maturity Age (<=63 else reject)"],"key":"co_applicant_maturity_age_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - co_applicant_bureau_score_2 (upto 3 lakh loan, >=620 OR -1 to 18 else reject)"],"key":"co_applicant_bureau_score_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Active Credit Lines Count - Value\t<=3 pass"],"key":"active_credit_lines_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - DPD (6-12 Months) if <2 pass"],"key":"dpd_6_12_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Applicant NTC, pass if false"],"key":"applicant_ntc","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Cheque Bounce Count 6M,No bounce in last 6 months, pass"],"key":"cheque_bounce_count_6m","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Enquiries Last 3 Months\tValue\t<=5 pass"],"key":"enquiries_last_3_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence to Branch Distance (km) - <=30 KM from branch else reject"],"key":"residence_to_branch_distance_km","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Loan Amount - <=4,00,000 else reject"],"key":"loan_amount","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence Ownership - Owned/Ancestral/Rent Free else reject"],"key":"residence_ownership","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Son,Father,mother,Grandfather,Grandmother,Brother, Uncle (immediate paternal and maternal uncle) - pass else reject"],"key":"co_applicant_relationship_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Son,Father,mother,Grandfather,Grandmother,Brother, Uncle (immediate paternal and maternal uncle) - pass else reject"],"key":"co_applicant_relationship_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Foir foir <= 50% pass else fail"],"key":"foir","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - 1. Expansion of existing business. 2. Purchase of additional stock / raw material / working capital 3. Purchase of machinery/equipment 4. Refinancing of existing loans in case of an existing Navadhan customer"],"key":"loan_utilization","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil bureau_loss_count > 0 fail else pass"],"key":"bureau_loss_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_dbt_count > 0 reject else pass"],"key":"bureau_dbt_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_sub_count any value received > 0 reject else pass"],"key":"bureau_sub_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_write_off_count < 1000 pass else reject"],"key":"bureau_write_off_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_settlement_count > 0 reject else pass"],"key":"bureau_settlement_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}}],"payload":{"application_id":"RJ002LE005114","age":35,"gender":"male","marital_status":"married","applicant_ntc":"false","household_monthly_income":360000,"household_annual_income":4320000,"household_expenses":235700,"existing_emi_obligations":34949,"business_income":"","agriculture_income":"","dairy_income":"","foir":9.71,"eligible_emi":27201,"eligible_loan_amount":482002,"loan_utilization":"business expansion","name_of_bureau":"credit bureau","bureau_score":744,"bureau_pull_date":"2026-11-04","overdue_amount":0,"dpd_0_6_months":0,"bureau_sub_count":0,"bureau_dbt_count":0,"bureau_loss_count":0,"bureau_write_off_count":0,"bureau_settlement_count":0,"bureau_suit_filled_count":0,"bureau_willful_default_count":0,"restructured_count":0,"dpd_6_12_months":0,"enquiries_last_3_months":4,"active_credit_lines_count":5,"bank_statement_6m":"","cheque_bounce_count_6m":"","loan_amount":300000,"tenure":23,"interest_rate":27,"apr":31.04,"repayment_frequency":"12","loan_purpose":"business expansion","residence_area":"","residence_vintage_years":30,"residence_ownership":"owned","residence_to_branch_distance_km":13,"business_vintage_years":"","asset_fridge_value":0,"asset_air_conditioner_value":0,"asset_washing_machine_value":0,"asset_tv_value":8000,"asset_smart_phone_value":20000,"co_applicant_age_1":33,"co_applicant_relationship_1":"wife","co_applicant_years_of_stay_in_current_address_1":30,"co_applicant_ntc_1":"false","co_applicant_financial_status_1":"financial","co_applicant_name_of_bureau_1":"credit bureau","co_applicant_bureau_score_1":807,"co_applicant_bureau_pull_date_1":"","co_applicant_overdue_amount_1":0,"co_applicant_dpd_0_6_months_1":0,"co_applicant_dpd_6_12_months_1":0,"co_applicant_bureau_sub_count_1":0,"co_applicant_bureau_dbt_count_1":0,"co_applicant_bureau_loss_count_1":0,"co_applicant_bureau_write_off_count_1":0,"co_applicant_bureau_settlement_count_1":0,"co_applicant_bureau_suit_filed_count_1":0,"co_applicant_bureau_willful_default_count_1":0,"co_applicant_restructured_count_1":0,"co_applicant_enquiries_last_3_months_1":1,"co_applicant_active_credit_lines_count_1":0,"co_applicant_age_2":"","co_applicant_relationship_2":"","co_applicant_years_of_stay_in_current_address_2":"","co_applicant_ntc_2":"","co_applicant_financial_status_2":"","co_applicant_name_of_bureau_2":"","co_applicant_bureau_score_2":"","co_applicant_bureau_pull_date_2":"","co_applicant_overdue_amount_2":"","co_applicant_dpd_0_6_months_2":"","co_applicant_dpd_6_12_months_2":"","co_applicant_bureau_sub_count_2":"","co_applicant_bureau_dbt_count_2":"","co_applicant_bureau_loss_count_2":"","co_applicant_bureau_write_off_count_2":"","co_applicant_bureau_settlement_count_2":"","co_applicant_bureau_suit_filed_count_2":"","co_applicant_bureau_willful_default_count_2":"","co_applicant_restructured_count_2":"","co_applicant_enquiries_last_3_months_2":"","co_applicant_active_credit_lines_count_2":"","borrower_maturity_age":36}}}}}} [2026-11-04 15:10:49] INFO: row.api_response {"batch_id":"dffae888-7f69-4cfd-9df8-1cc884fda27d","row":3,"vendor_loan_id":293,"http_status":200,"ok":true,"duration_ms":449,"response":{"Blacksoil-Navdhan":{"failed_condition":{"key":"loan_utilization","reason":"purchase of additional stock/ raw material/ working capital"},"policy_status":false,"rules":[{"against":["pass","equal"],"key":"age","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["pass","equal"],"key":"borrower_maturity_age","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["18","lessThanEqual"],"key":"co_applicant_age_2","log":[],"reason":"NTC Case - No tradelines found","result":true,"source":""},{"against":["18","lessThanEqual"],"key":"co_applicant_age_1","log":[],"reason":"Passed: 18.0 lessThanEqual 33","result":true,"source":33},{"against":["pass","equal"],"key":"gender","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["pass","equal"],"key":"co_applicant_bureau_score_1","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["1000","greaterThanEqual"],"key":"overdue_amount","log":[],"reason":"Passed: 1000.0 greaterThanEqual 0","result":true,"source":0},{"against":["3","greaterThan"],"key":"dpd_0_6_months","log":[],"reason":"Passed: 3.0 greaterThan 0","result":true,"source":0},{"against":["3","lessThanEqual"],"key":"business_vintage_years","log":[],"reason":"NTC Case - No tradelines found","result":true,"source":""},{"against":["63","equal"],"key":"co_applicant_maturity_age_2","log":[],"reason":"Failed: 63 not equal pass","result":false,"source":"pass"},{"against":["36","greaterThanEqual"],"key":"tenure","log":[],"reason":"Passed: 36.0 greaterThanEqual 23","result":true,"source":23},{"against":["pass","equal"],"key":"bureau_score","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["3","lessThanEqual"],"key":"residence_vintage_years","log":[],"reason":"Passed: 3.0 lessThanEqual 30","result":true,"source":30},{"against":["pass","equal"],"key":"bank_statement_6m","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["63","equal"],"key":"co_applicant_maturity_age_1","log":[],"reason":"Failed: 63 not equal pass","result":false,"source":"pass"},{"against":["pass","equal"],"key":"co_applicant_bureau_score_2","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["3","greaterThanEqual"],"key":"active_credit_lines_count","log":[],"reason":"Failed: 3.0 not greaterThanEqual 5","result":false,"source":5},{"against":["60","greaterThan"],"key":"dpd_6_12_months","log":[],"reason":"Passed: 60.0 greaterThan 0","result":true,"source":0},{"against":["false","equal"],"key":"applicant_ntc","log":[],"reason":"Passed: false equal false","result":true,"source":"false"},{"against":["0","greaterThanEqual"],"key":"cheque_bounce_count_6m","log":[],"reason":"NTC Case - No tradelines found","result":true,"source":""},{"against":["5","greaterThanEqual"],"key":"enquiries_last_3_months","log":[],"reason":"Passed: 5.0 greaterThanEqual 4","result":true,"source":4},{"against":["30","greaterThanEqual"],"key":"residence_to_branch_distance_km","log":[],"reason":"Passed: 30.0 greaterThanEqual 13","result":true,"source":13},{"against":["400000","greaterThanEqual"],"key":"loan_amount","log":[],"reason":"Passed: 400000.0 greaterThanEqual 300000","result":true,"source":300000},{"against":[["rented","owned","leased","owned w/o regn"],"inList"],"key":"residence_ownership","log":[],"reason":"owned","result":true,"source":"owned"},{"against":[["father","mother","husband","wife","son","daughter","sister","son-in-law","daughter-in-law","mother-in-law","father-in-law","brother-in-law","sister-in-law","niece","uncle","nephew","aunt","grand-father","grand-mother","grand-son","grand-daughter","self","brother"],"inList"],"key":"co_applicant_relationship_1","log":[],"reason":"mother","result":true,"source":"wife"},{"against":[["father","mother","husband","wife","son","daughter","sister","son-in-law","daughter-in-law","mother-in-law","father-in-law","brother-in-law","sister-in-law","niece","uncle","nephew","aunt","grand-father","grand-mother","grand-son","grand-daughter","self","brother"],"inList"],"key":"co_applicant_relationship_2","log":[],"reason":"NTC Case - No tradelines found","result":true,"source":""},{"against":["50","greaterThanEqual"],"key":"foir","log":[],"reason":"Passed: 50.0 greaterThanEqual 9.71","result":true,"source":9.71},{"against":[["expansion of existing business","purchase of additional stock/ raw material/ working capital","purchase of machinery/equipment","refinancing of existing loans in case of an existing navadhan customer"],"inList"],"key":"loan_utilization","log":[],"reason":"purchase of additional stock/ raw material/ working capital","result":false,"source":"business expansion"},{"against":["0","greaterThanEqual"],"key":"bureau_loss_count","log":[],"reason":"Passed: 0.0 greaterThanEqual 0","result":true,"source":0},{"against":["0","lessThanEqual"],"key":"bureau_dbt_count","log":[],"reason":"Passed: 0.0 lessThanEqual 0","result":true,"source":0},{"against":["0","lessThanEqual"],"key":"bureau_sub_count","log":[],"reason":"Passed: 0.0 lessThanEqual 0","result":true,"source":0},{"against":["1000","greaterThanEqual"],"key":"bureau_write_off_count","log":[],"reason":"Passed: 1000.0 greaterThanEqual 0","result":true,"source":0},{"against":["0","lessThanEqual"],"key":"bureau_settlement_count","log":[],"reason":"Passed: 0.0 lessThanEqual 0","result":true,"source":0}]},"status":false},"error":null} [2026-11-04 15:10:49] INFO: row.bre_decision_saved {"batch_id":"dffae888-7f69-4cfd-9df8-1cc884fda27d","row":3,"vendor_loan_id":293,"bre_decision_id":826,"status":"success","decision":null} [2026-11-04 15:10:49] INFO: evaluate.completed {"batch_id":"dffae888-7f69-4cfd-9df8-1cc884fda27d","summary":{"total":3,"succeeded":3,"failed":0,"validation_failed":0,"skipped_duplicate":0}} [2026-11-04 15:29:14] INFO: evaluate.received {"batch_id":"b3e249c0-b786-4204-922d-bdfbf2e3e8b6","has_file":true,"filename":"temp_2026-11-04_15:25:35_1793786135_co_lending_loan_decision.xlsx","size":12239,"mime":null,"ip":null} [2026-11-04 15:29:15] INFO: import.sheet_parsed {"batch_id":"b3e249c0-b786-4204-922d-bdfbf2e3e8b6","rows_seen":5,"rows_kept":2,"rows_skipped":3} [2026-11-04 15:29:15] INFO: evaluate.excel_parsed {"batch_id":"b3e249c0-b786-4204-922d-bdfbf2e3e8b6","row_count":2} [2026-11-04 15:29:15] INFO: policy.request {"batch_id":"b3e249c0-b786-4204-922d-bdfbf2e3e8b6","url":"http://localhost:7000/api/live/policy/policy-c678e363"} [2026-11-04 15:29:15] INFO: policy.response {"batch_id":"b3e249c0-b786-4204-922d-bdfbf2e3e8b6","ok":true,"http_status":200,"duration_ms":296,"response":{"grade":{"rules":{"Blacksoil-Navdhan":{"rule":[{"description":["Blacksoil Age >=21 and <=60 pass else reject"],"key":"age","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Borrower Maturity Age"],"key":"borrower_maturity_age","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Co Applicant Age 2"],"key":"co_applicant_age_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Co Applicant Age 1"],"key":"co_applicant_age_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil gender Male - \"Male - approve, If female then check marital status, If Female then check else ignore this rule Marital Status- Reject single women as primary borrower"],"key":"gender","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - co_applicant_bureau_score_1 (upto 3 lakh loan, >=620 OR -1 to 18 else reject)"],"key":"co_applicant_bureau_score_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Overdue Amount\t<=1000, pass"],"key":"overdue_amount","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - DPD (0-6 Months) if\t<3 pass"],"key":"dpd_0_6_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Business Vintage (Years) - >=3 years else reject"],"key":"business_vintage_years","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Co-applicant 2 Maturity Age (<=63 else reject)"],"key":"co_applicant_maturity_age_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil tenure - <=36 months else reject"],"key":"tenure","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Borrower Bureau Score (upto 3 lakh loan amount, >=650 else reject) or Loan Amount >3 Lakh and If score >700 pass else reject"],"key":"bureau_score","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence Vintage (Years) >=3 years else reject"],"key":"residence_vintage_years","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Bank Statement 6M, Minimum 6 months"],"key":"bank_statement_6m","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Co-applicant 1 Maturity Age (<=63 else reject)"],"key":"co_applicant_maturity_age_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - co_applicant_bureau_score_2 (upto 3 lakh loan, >=620 OR -1 to 18 else reject)"],"key":"co_applicant_bureau_score_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Active Credit Lines Count - Value\t<=3 pass"],"key":"active_credit_lines_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - DPD (6-12 Months) if <2 pass"],"key":"dpd_6_12_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Applicant NTC, pass if false"],"key":"applicant_ntc","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Cheque Bounce Count 6M,No bounce in last 6 months, pass"],"key":"cheque_bounce_count_6m","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Enquiries Last 3 Months\tValue\t<=5 pass"],"key":"enquiries_last_3_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence to Branch Distance (km) - <=30 KM from branch else reject"],"key":"residence_to_branch_distance_km","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Loan Amount - <=4,00,000 else reject"],"key":"loan_amount","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence Ownership - Owned/Ancestral/Rent Free else reject"],"key":"residence_ownership","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Son,Father,mother,Grandfather,Grandmother,Brother, Uncle (immediate paternal and maternal uncle) - pass else reject"],"key":"co_applicant_relationship_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Son,Father,mother,Grandfather,Grandmother,Brother, Uncle (immediate paternal and maternal uncle) - pass else reject"],"key":"co_applicant_relationship_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Foir foir <= 50% pass else fail"],"key":"foir","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - 1. Expansion of existing business. 2. Purchase of additional stock / raw material / working capital 3. Purchase of machinery/equipment 4. Refinancing of existing loans in case of an existing Navadhan customer"],"key":"loan_utilization","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil bureau_loss_count > 0 fail else pass"],"key":"bureau_loss_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_dbt_count > 0 reject else pass"],"key":"bureau_dbt_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_sub_count any value received > 0 reject else pass"],"key":"bureau_sub_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_write_off_count < 1000 pass else reject"],"key":"bureau_write_off_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_settlement_count > 0 reject else pass"],"key":"bureau_settlement_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}}]}}}},"error":null} [2026-11-04 15:29:15] INFO: policy.parsed {"batch_id":"b3e249c0-b786-4204-922d-bdfbf2e3e8b6","policy_count":1,"policy_names":["Blacksoil-Navdhan"]} [2026-11-04 15:29:15] INFO: row.start {"batch_id":"b3e249c0-b786-4204-922d-bdfbf2e3e8b6","row":1,"application_id":"AP006LE004610"} [2026-11-04 15:29:15] INFO: row.lead_created {"batch_id":"b3e249c0-b786-4204-922d-bdfbf2e3e8b6","row":1,"application_id":"AP006LE004610","vendor_loan_id":294} [2026-11-04 15:29:15] INFO: row.co_applicants_saved {"batch_id":"b3e249c0-b786-4204-922d-bdfbf2e3e8b6","row":1,"vendor_loan_id":294,"count":1} [2026-11-04 15:29:15] INFO: row.decision_data_saved {"batch_id":"b3e249c0-b786-4204-922d-bdfbf2e3e8b6","row":1,"vendor_loan_id":294,"decision_keys":93} [2026-11-04 15:29:15] INFO: row.api_request {"batch_id":"b3e249c0-b786-4204-922d-bdfbf2e3e8b6","row":1,"vendor_loan_id":294,"url":"http://localhost:8889/","policies_payload":["Blacksoil-Navdhan"],"decision_keys":["application_id","age","gender","marital_status","applicant_ntc","household_monthly_income","household_annual_income","household_expenses","existing_emi_obligations","business_income","agriculture_income","dairy_income","foir","eligible_emi","eligible_loan_amount","loan_utilization","name_of_bureau","bureau_score","bureau_pull_date","overdue_amount","dpd_0_6_months","bureau_sub_count","bureau_dbt_count","bureau_loss_count","bureau_write_off_count","bureau_settlement_count","bureau_suit_filled_count","bureau_willful_default_count","restructured_count","dpd_6_12_months","enquiries_last_3_months","active_credit_lines_count","bank_statement_6m","cheque_bounce_count_6m","loan_amount","tenure","interest_rate","apr","repayment_frequency","loan_purpose","residence_area","residence_vintage_years","residence_ownership","residence_to_branch_distance_km","business_vintage_years","asset_fridge_value","asset_air_conditioner_value","asset_washing_machine_value","asset_tv_value","asset_smart_phone_value","co_applicant_age_1","co_applicant_relationship_1","co_applicant_years_of_stay_in_current_address_1","co_applicant_ntc_1","co_applicant_financial_status_1","co_applicant_name_of_bureau_1","co_applicant_bureau_score_1","co_applicant_bureau_pull_date_1","co_applicant_overdue_amount_1","co_applicant_dpd_0_6_months_1","co_applicant_dpd_6_12_months_1","co_applicant_bureau_sub_count_1","co_applicant_bureau_dbt_count_1","co_applicant_bureau_loss_count_1","co_applicant_bureau_write_off_count_1","co_applicant_bureau_settlement_count_1","co_applicant_bureau_suit_filed_count_1","co_applicant_bureau_willful_default_count_1","co_applicant_restructured_count_1","co_applicant_enquiries_last_3_months_1","co_applicant_active_credit_lines_count_1","co_applicant_age_2","co_applicant_relationship_2","co_applicant_years_of_stay_in_current_address_2","co_applicant_ntc_2","co_applicant_financial_status_2","co_applicant_name_of_bureau_2","co_applicant_bureau_score_2","co_applicant_bureau_pull_date_2","co_applicant_overdue_amount_2","co_applicant_dpd_0_6_months_2","co_applicant_dpd_6_12_months_2","co_applicant_bureau_sub_count_2","co_applicant_bureau_dbt_count_2","co_applicant_bureau_loss_count_2","co_applicant_bureau_write_off_count_2","co_applicant_bureau_settlement_count_2","co_applicant_bureau_suit_filed_count_2","co_applicant_bureau_willful_default_count_2","co_applicant_restructured_count_2","co_applicant_enquiries_last_3_months_2","co_applicant_active_credit_lines_count_2","borrower_maturity_age"],"payload":{"grade":{"rules":{"Blacksoil-Navdhan":{"rule":[{"description":["Blacksoil Age >=21 and <=60 pass else reject"],"key":"age","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Borrower Maturity Age"],"key":"borrower_maturity_age","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Co Applicant Age 2"],"key":"co_applicant_age_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Co Applicant Age 1"],"key":"co_applicant_age_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil gender Male - \"Male - approve, If female then check marital status, If Female then check else ignore this rule Marital Status- Reject single women as primary borrower"],"key":"gender","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - co_applicant_bureau_score_1 (upto 3 lakh loan, >=620 OR -1 to 18 else reject)"],"key":"co_applicant_bureau_score_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Overdue Amount\t<=1000, pass"],"key":"overdue_amount","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - DPD (0-6 Months) if\t<3 pass"],"key":"dpd_0_6_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Business Vintage (Years) - >=3 years else reject"],"key":"business_vintage_years","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Co-applicant 2 Maturity Age (<=63 else reject)"],"key":"co_applicant_maturity_age_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil tenure - <=36 months else reject"],"key":"tenure","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Borrower Bureau Score (upto 3 lakh loan amount, >=650 else reject) or Loan Amount >3 Lakh and If score >700 pass else reject"],"key":"bureau_score","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence Vintage (Years) >=3 years else reject"],"key":"residence_vintage_years","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Bank Statement 6M, Minimum 6 months"],"key":"bank_statement_6m","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Co-applicant 1 Maturity Age (<=63 else reject)"],"key":"co_applicant_maturity_age_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - co_applicant_bureau_score_2 (upto 3 lakh loan, >=620 OR -1 to 18 else reject)"],"key":"co_applicant_bureau_score_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Active Credit Lines Count - Value\t<=3 pass"],"key":"active_credit_lines_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - DPD (6-12 Months) if <2 pass"],"key":"dpd_6_12_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Applicant NTC, pass if false"],"key":"applicant_ntc","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Cheque Bounce Count 6M,No bounce in last 6 months, pass"],"key":"cheque_bounce_count_6m","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Enquiries Last 3 Months\tValue\t<=5 pass"],"key":"enquiries_last_3_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence to Branch Distance (km) - <=30 KM from branch else reject"],"key":"residence_to_branch_distance_km","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Loan Amount - <=4,00,000 else reject"],"key":"loan_amount","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence Ownership - Owned/Ancestral/Rent Free else reject"],"key":"residence_ownership","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Son,Father,mother,Grandfather,Grandmother,Brother, Uncle (immediate paternal and maternal uncle) - pass else reject"],"key":"co_applicant_relationship_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Son,Father,mother,Grandfather,Grandmother,Brother, Uncle (immediate paternal and maternal uncle) - pass else reject"],"key":"co_applicant_relationship_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Foir foir <= 50% pass else fail"],"key":"foir","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - 1. Expansion of existing business. 2. Purchase of additional stock / raw material / working capital 3. Purchase of machinery/equipment 4. Refinancing of existing loans in case of an existing Navadhan customer"],"key":"loan_utilization","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil bureau_loss_count > 0 fail else pass"],"key":"bureau_loss_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_dbt_count > 0 reject else pass"],"key":"bureau_dbt_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_sub_count any value received > 0 reject else pass"],"key":"bureau_sub_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_write_off_count < 1000 pass else reject"],"key":"bureau_write_off_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_settlement_count > 0 reject else pass"],"key":"bureau_settlement_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}}],"payload":{"application_id":"AP006LE004610","age":72,"gender":"female","marital_status":"unmarried","applicant_ntc":"1","household_monthly_income":60750,"household_annual_income":729000,"household_expenses":32900,"existing_emi_obligations":5065,"business_income":"","agriculture_income":3750,"dairy_income":27000,"foir":61.5,"eligible_emi":8860,"eligible_loan_amount":42000,"loan_utilization":"purchase of cattle","name_of_bureau":"credit bureau","bureau_score":600,"bureau_pull_date":"2026-11-04","overdue_amount":2000,"dpd_0_6_months":3,"bureau_sub_count":2,"bureau_dbt_count":2,"bureau_loss_count":2,"bureau_write_off_count":2,"bureau_settlement_count":2,"bureau_suit_filled_count":2,"bureau_willful_default_count":2,"restructured_count":2,"dpd_6_12_months":4,"enquiries_last_3_months":12,"active_credit_lines_count":5,"bank_statement_6m":"","cheque_bounce_count_6m":"","loan_amount":500158,"tenure":60,"interest_rate":32.43,"apr":61.39,"repayment_frequency":"12","loan_purpose":"purchase of cattle","residence_area":"","residence_vintage_years":1,"residence_ownership":"owned","residence_to_branch_distance_km":50,"business_vintage_years":"","asset_fridge_value":10000,"asset_air_conditioner_value":0,"asset_washing_machine_value":0,"asset_tv_value":8000,"asset_smart_phone_value":20000,"co_applicant_age_1":72,"co_applicant_relationship_1":"husband","co_applicant_years_of_stay_in_current_address_1":35,"co_applicant_ntc_1":"1","co_applicant_financial_status_1":"financial","co_applicant_name_of_bureau_1":"credit bureau","co_applicant_bureau_score_1":658,"co_applicant_bureau_pull_date_1":"2026-11-04","co_applicant_overdue_amount_1":85550,"co_applicant_dpd_0_6_months_1":323,"co_applicant_dpd_6_12_months_1":4,"co_applicant_bureau_sub_count_1":3,"co_applicant_bureau_dbt_count_1":3,"co_applicant_bureau_loss_count_1":3,"co_applicant_bureau_write_off_count_1":3,"co_applicant_bureau_settlement_count_1":3,"co_applicant_bureau_suit_filed_count_1":3,"co_applicant_bureau_willful_default_count_1":3,"co_applicant_restructured_count_1":3,"co_applicant_enquiries_last_3_months_1":3,"co_applicant_active_credit_lines_count_1":6,"co_applicant_age_2":"","co_applicant_relationship_2":"","co_applicant_years_of_stay_in_current_address_2":"","co_applicant_ntc_2":"","co_applicant_financial_status_2":"","co_applicant_name_of_bureau_2":"","co_applicant_bureau_score_2":"","co_applicant_bureau_pull_date_2":"","co_applicant_overdue_amount_2":"","co_applicant_dpd_0_6_months_2":"","co_applicant_dpd_6_12_months_2":"","co_applicant_bureau_sub_count_2":"","co_applicant_bureau_dbt_count_2":"","co_applicant_bureau_loss_count_2":"","co_applicant_bureau_write_off_count_2":"","co_applicant_bureau_settlement_count_2":"","co_applicant_bureau_suit_filed_count_2":"","co_applicant_bureau_willful_default_count_2":"","co_applicant_restructured_count_2":"","co_applicant_enquiries_last_3_months_2":"","co_applicant_active_credit_lines_count_2":"","borrower_maturity_age":77}}}}}} [2026-11-04 15:29:15] INFO: row.api_response {"batch_id":"b3e249c0-b786-4204-922d-bdfbf2e3e8b6","row":1,"vendor_loan_id":294,"http_status":200,"ok":true,"duration_ms":390,"response":{"Blacksoil-Navdhan":{"failed_condition":{"key":"bureau_loss_count","reason":"Failed: 0.0 not greaterThanEqual 2"},"policy_status":false,"rules":[{"against":["pass","equal"],"key":"age","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["pass","equal"],"key":"borrower_maturity_age","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["18","lessThanEqual"],"key":"co_applicant_age_2","log":[],"reason":"NTC Case - No tradelines found","result":true,"source":""},{"against":["18","lessThanEqual"],"key":"co_applicant_age_1","log":[],"reason":"Passed: 18.0 lessThanEqual 72","result":true,"source":72},{"against":["pass","equal"],"key":"gender","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["pass","equal"],"key":"co_applicant_bureau_score_1","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["1000","greaterThanEqual"],"key":"overdue_amount","log":[],"reason":"Failed: 1000.0 not greaterThanEqual 2000","result":false,"source":2000},{"against":["3","greaterThan"],"key":"dpd_0_6_months","log":[],"reason":"Failed: 3.0 not greaterThan 3","result":false,"source":3},{"against":["3","lessThanEqual"],"key":"business_vintage_years","log":[],"reason":"NTC Case - No tradelines found","result":true,"source":""},{"against":[],"key":"co_applicant_maturity_age_2","log":["Execution halted: '>=' not supported between instances of 'float' and 'str'"],"reason":"'>=' not supported between instances of 'float' and 'str'","result":false,"source":[]},{"against":["36","greaterThanEqual"],"key":"tenure","log":[],"reason":"Failed: 36.0 not greaterThanEqual 60","result":false,"source":60},{"against":["pass","equal"],"key":"bureau_score","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["3","lessThanEqual"],"key":"residence_vintage_years","log":[],"reason":"Failed: 3.0 not lessThanEqual 1","result":false,"source":1},{"against":["pass","equal"],"key":"bank_statement_6m","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["63","equal"],"key":"co_applicant_maturity_age_1","log":[],"reason":"Failed: 63 not equal pass","result":false,"source":"pass"},{"against":["pass","equal"],"key":"co_applicant_bureau_score_2","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["3","greaterThanEqual"],"key":"active_credit_lines_count","log":[],"reason":"Failed: 3.0 not greaterThanEqual 5","result":false,"source":5},{"against":["60","greaterThan"],"key":"dpd_6_12_months","log":[],"reason":"Passed: 60.0 greaterThan 4","result":true,"source":4},{"against":["false","equal"],"key":"applicant_ntc","log":[],"reason":"Failed: false not equal 1","result":false,"source":"1"},{"against":["0","greaterThanEqual"],"key":"cheque_bounce_count_6m","log":[],"reason":"NTC Case - No tradelines found","result":true,"source":""},{"against":["5","greaterThanEqual"],"key":"enquiries_last_3_months","log":[],"reason":"Failed: 5.0 not greaterThanEqual 12","result":false,"source":12},{"against":["30","greaterThanEqual"],"key":"residence_to_branch_distance_km","log":[],"reason":"Failed: 30.0 not greaterThanEqual 50","result":false,"source":50},{"against":["400000","greaterThanEqual"],"key":"loan_amount","log":[],"reason":"Failed: 400000.0 not greaterThanEqual 500158","result":false,"source":500158},{"against":[["rented","owned","leased","owned w/o regn"],"inList"],"key":"residence_ownership","log":[],"reason":"owned","result":true,"source":"owned"},{"against":[["father","mother","husband","wife","son","daughter","sister","son-in-law","daughter-in-law","mother-in-law","father-in-law","brother-in-law","sister-in-law","niece","uncle","nephew","aunt","grand-father","grand-mother","grand-son","grand-daughter","self","brother"],"inList"],"key":"co_applicant_relationship_1","log":[],"reason":"mother","result":true,"source":"husband"},{"against":[["father","mother","husband","wife","son","daughter","sister","son-in-law","daughter-in-law","mother-in-law","father-in-law","brother-in-law","sister-in-law","niece","uncle","nephew","aunt","grand-father","grand-mother","grand-son","grand-daughter","self","brother"],"inList"],"key":"co_applicant_relationship_2","log":[],"reason":"NTC Case - No tradelines found","result":true,"source":""},{"against":["50","greaterThanEqual"],"key":"foir","log":[],"reason":"Failed: 50.0 not greaterThanEqual 61.5","result":false,"source":61.5},{"against":[["expansion of existing business","purchase of additional stock/ raw material/ working capital","purchase of machinery/equipment","refinancing of existing loans in case of an existing navadhan customer"],"inList"],"key":"loan_utilization","log":[],"reason":"purchase of additional stock/ raw material/ working capital","result":false,"source":"purchase of cattle"},{"against":["0","greaterThanEqual"],"key":"bureau_loss_count","log":[],"reason":"Failed: 0.0 not greaterThanEqual 2","result":false,"source":2},{"against":["0","lessThanEqual"],"key":"bureau_dbt_count","log":[],"reason":"Passed: 0.0 lessThanEqual 2","result":true,"source":2},{"against":["0","lessThanEqual"],"key":"bureau_sub_count","log":[],"reason":"Passed: 0.0 lessThanEqual 2","result":true,"source":2},{"against":["1000","greaterThanEqual"],"key":"bureau_write_off_count","log":[],"reason":"Passed: 1000.0 greaterThanEqual 2","result":true,"source":2},{"against":["0","lessThanEqual"],"key":"bureau_settlement_count","log":[],"reason":"Passed: 0.0 lessThanEqual 2","result":true,"source":2}]},"status":false},"error":null} [2026-11-04 15:29:15] INFO: row.bre_decision_saved {"batch_id":"b3e249c0-b786-4204-922d-bdfbf2e3e8b6","row":1,"vendor_loan_id":294,"bre_decision_id":827,"status":"success","decision":null} [2026-11-04 15:29:15] INFO: row.start {"batch_id":"b3e249c0-b786-4204-922d-bdfbf2e3e8b6","row":2,"application_id":null} [2026-11-04 15:29:15] WARNING: row.validation_failed {"batch_id":"b3e249c0-b786-4204-922d-bdfbf2e3e8b6","row":2,"application_id":null,"errors":{"application_id":["The application id field is required."],"customer_name":["The customer name field is required."]},"pan_number":null,"pan_bytes":null,"mobile_number":null} [2026-11-04 15:29:15] INFO: evaluate.completed {"batch_id":"b3e249c0-b786-4204-922d-bdfbf2e3e8b6","summary":{"total":2,"succeeded":1,"failed":1,"validation_failed":1,"skipped_duplicate":0}} [2026-11-04 15:46:02] INFO: evaluate.received {"batch_id":"ba0ee522-4d00-4c69-aca9-dcdeb91a273b","has_file":true,"filename":"temp_2026-11-04_15:45:46_1793787346_co_lending_loan_decision.xlsx","size":12238,"mime":null,"ip":null} [2026-11-04 15:46:02] INFO: import.sheet_parsed {"batch_id":"ba0ee522-4d00-4c69-aca9-dcdeb91a273b","rows_seen":5,"rows_kept":2,"rows_skipped":3} [2026-11-04 15:46:02] INFO: evaluate.excel_parsed {"batch_id":"ba0ee522-4d00-4c69-aca9-dcdeb91a273b","row_count":2} [2026-11-04 15:46:02] INFO: policy.request {"batch_id":"ba0ee522-4d00-4c69-aca9-dcdeb91a273b","url":"http://localhost:7000/api/live/policy/policy-c678e363"} [2026-11-04 15:46:02] INFO: policy.response {"batch_id":"ba0ee522-4d00-4c69-aca9-dcdeb91a273b","ok":true,"http_status":200,"duration_ms":228,"response":{"grade":{"rules":{"Blacksoil-Navdhan":{"rule":[{"description":["Blacksoil Age >=21 and <=60 pass else reject"],"key":"age","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Borrower Maturity Age"],"key":"borrower_maturity_age","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Co Applicant Age 2"],"key":"co_applicant_age_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Co Applicant Age 1"],"key":"co_applicant_age_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil gender Male - \"Male - approve, If female then check marital status, If Female then check else ignore this rule Marital Status- Reject single women as primary borrower"],"key":"gender","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - co_applicant_bureau_score_1 (upto 3 lakh loan, >=620 OR -1 to 18 else reject)"],"key":"co_applicant_bureau_score_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Overdue Amount\t<=1000, pass"],"key":"overdue_amount","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - DPD (0-6 Months) if\t<3 pass"],"key":"dpd_0_6_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Business Vintage (Years) - >=3 years else reject"],"key":"business_vintage_years","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Co-applicant 2 Maturity Age (<=63 else reject)"],"key":"co_applicant_maturity_age_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil tenure - <=36 months else reject"],"key":"tenure","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Borrower Bureau Score (upto 3 lakh loan amount, >=650 else reject) or Loan Amount >3 Lakh and If score >700 pass else reject"],"key":"bureau_score","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence Vintage (Years) >=3 years else reject"],"key":"residence_vintage_years","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Bank Statement 6M, Minimum 6 months"],"key":"bank_statement_6m","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Co-applicant 1 Maturity Age (<=63 else reject)"],"key":"co_applicant_maturity_age_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - co_applicant_bureau_score_2 (upto 3 lakh loan, >=620 OR -1 to 18 else reject)"],"key":"co_applicant_bureau_score_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Active Credit Lines Count - Value\t<=3 pass"],"key":"active_credit_lines_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - DPD (6-12 Months) if <2 pass"],"key":"dpd_6_12_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Applicant NTC, pass if false"],"key":"applicant_ntc","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Cheque Bounce Count 6M,No bounce in last 6 months, pass"],"key":"cheque_bounce_count_6m","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Enquiries Last 3 Months\tValue\t<=5 pass"],"key":"enquiries_last_3_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence to Branch Distance (km) - <=30 KM from branch else reject"],"key":"residence_to_branch_distance_km","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Loan Amount - <=4,00,000 else reject"],"key":"loan_amount","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence Ownership - Owned/Ancestral/Rent Free else reject"],"key":"residence_ownership","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Son,Father,mother,Grandfather,Grandmother,Brother, Uncle (immediate paternal and maternal uncle) - pass else reject"],"key":"co_applicant_relationship_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Son,Father,mother,Grandfather,Grandmother,Brother, Uncle (immediate paternal and maternal uncle) - pass else reject"],"key":"co_applicant_relationship_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Foir foir <= 50% pass else fail"],"key":"foir","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - 1. Expansion of existing business. 2. Purchase of additional stock / raw material / working capital 3. Purchase of machinery/equipment 4. Refinancing of existing loans in case of an existing Navadhan customer"],"key":"loan_utilization","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil bureau_loss_count > 0 fail else pass"],"key":"bureau_loss_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_dbt_count > 0 reject else pass"],"key":"bureau_dbt_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_sub_count any value received > 0 reject else pass"],"key":"bureau_sub_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_write_off_count < 1000 pass else reject"],"key":"bureau_write_off_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_settlement_count > 0 reject else pass"],"key":"bureau_settlement_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}}]}}}},"error":null} [2026-11-04 15:46:02] INFO: policy.parsed {"batch_id":"ba0ee522-4d00-4c69-aca9-dcdeb91a273b","policy_count":1,"policy_names":["Blacksoil-Navdhan"]} [2026-11-04 15:46:02] INFO: row.start {"batch_id":"ba0ee522-4d00-4c69-aca9-dcdeb91a273b","row":1,"application_id":"GP006LE004650"} [2026-11-04 15:46:02] INFO: row.lead_created {"batch_id":"ba0ee522-4d00-4c69-aca9-dcdeb91a273b","row":1,"application_id":"GP006LE004650","vendor_loan_id":295} [2026-11-04 15:46:02] INFO: row.co_applicants_saved {"batch_id":"ba0ee522-4d00-4c69-aca9-dcdeb91a273b","row":1,"vendor_loan_id":295,"count":1} [2026-11-04 15:46:02] INFO: row.decision_data_saved {"batch_id":"ba0ee522-4d00-4c69-aca9-dcdeb91a273b","row":1,"vendor_loan_id":295,"decision_keys":93} [2026-11-04 15:46:02] INFO: row.api_request {"batch_id":"ba0ee522-4d00-4c69-aca9-dcdeb91a273b","row":1,"vendor_loan_id":295,"url":"http://localhost:8889/","policies_payload":["Blacksoil-Navdhan"],"decision_keys":["application_id","age","gender","marital_status","applicant_ntc","household_monthly_income","household_annual_income","household_expenses","existing_emi_obligations","business_income","agriculture_income","dairy_income","foir","eligible_emi","eligible_loan_amount","loan_utilization","name_of_bureau","bureau_score","bureau_pull_date","overdue_amount","dpd_0_6_months","bureau_sub_count","bureau_dbt_count","bureau_loss_count","bureau_write_off_count","bureau_settlement_count","bureau_suit_filled_count","bureau_willful_default_count","restructured_count","dpd_6_12_months","enquiries_last_3_months","active_credit_lines_count","bank_statement_6m","cheque_bounce_count_6m","loan_amount","tenure","interest_rate","apr","repayment_frequency","loan_purpose","residence_area","residence_vintage_years","residence_ownership","residence_to_branch_distance_km","business_vintage_years","asset_fridge_value","asset_air_conditioner_value","asset_washing_machine_value","asset_tv_value","asset_smart_phone_value","co_applicant_age_1","co_applicant_relationship_1","co_applicant_years_of_stay_in_current_address_1","co_applicant_ntc_1","co_applicant_financial_status_1","co_applicant_name_of_bureau_1","co_applicant_bureau_score_1","co_applicant_bureau_pull_date_1","co_applicant_overdue_amount_1","co_applicant_dpd_0_6_months_1","co_applicant_dpd_6_12_months_1","co_applicant_bureau_sub_count_1","co_applicant_bureau_dbt_count_1","co_applicant_bureau_loss_count_1","co_applicant_bureau_write_off_count_1","co_applicant_bureau_settlement_count_1","co_applicant_bureau_suit_filed_count_1","co_applicant_bureau_willful_default_count_1","co_applicant_restructured_count_1","co_applicant_enquiries_last_3_months_1","co_applicant_active_credit_lines_count_1","co_applicant_age_2","co_applicant_relationship_2","co_applicant_years_of_stay_in_current_address_2","co_applicant_ntc_2","co_applicant_financial_status_2","co_applicant_name_of_bureau_2","co_applicant_bureau_score_2","co_applicant_bureau_pull_date_2","co_applicant_overdue_amount_2","co_applicant_dpd_0_6_months_2","co_applicant_dpd_6_12_months_2","co_applicant_bureau_sub_count_2","co_applicant_bureau_dbt_count_2","co_applicant_bureau_loss_count_2","co_applicant_bureau_write_off_count_2","co_applicant_bureau_settlement_count_2","co_applicant_bureau_suit_filed_count_2","co_applicant_bureau_willful_default_count_2","co_applicant_restructured_count_2","co_applicant_enquiries_last_3_months_2","co_applicant_active_credit_lines_count_2","borrower_maturity_age"],"payload":{"grade":{"rules":{"Blacksoil-Navdhan":{"rule":[{"description":["Blacksoil Age >=21 and <=60 pass else reject"],"key":"age","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Borrower Maturity Age"],"key":"borrower_maturity_age","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Co Applicant Age 2"],"key":"co_applicant_age_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Co Applicant Age 1"],"key":"co_applicant_age_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil gender Male - \"Male - approve, If female then check marital status, If Female then check else ignore this rule Marital Status- Reject single women as primary borrower"],"key":"gender","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - co_applicant_bureau_score_1 (upto 3 lakh loan, >=620 OR -1 to 18 else reject)"],"key":"co_applicant_bureau_score_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Overdue Amount\t<=1000, pass"],"key":"overdue_amount","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - DPD (0-6 Months) if\t<3 pass"],"key":"dpd_0_6_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Business Vintage (Years) - >=3 years else reject"],"key":"business_vintage_years","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Co-applicant 2 Maturity Age (<=63 else reject)"],"key":"co_applicant_maturity_age_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil tenure - <=36 months else reject"],"key":"tenure","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Borrower Bureau Score (upto 3 lakh loan amount, >=650 else reject) or Loan Amount >3 Lakh and If score >700 pass else reject"],"key":"bureau_score","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence Vintage (Years) >=3 years else reject"],"key":"residence_vintage_years","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Bank Statement 6M, Minimum 6 months"],"key":"bank_statement_6m","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Co-applicant 1 Maturity Age (<=63 else reject)"],"key":"co_applicant_maturity_age_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - co_applicant_bureau_score_2 (upto 3 lakh loan, >=620 OR -1 to 18 else reject)"],"key":"co_applicant_bureau_score_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Active Credit Lines Count - Value\t<=3 pass"],"key":"active_credit_lines_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - DPD (6-12 Months) if <2 pass"],"key":"dpd_6_12_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Applicant NTC, pass if false"],"key":"applicant_ntc","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Cheque Bounce Count 6M,No bounce in last 6 months, pass"],"key":"cheque_bounce_count_6m","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Enquiries Last 3 Months\tValue\t<=5 pass"],"key":"enquiries_last_3_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence to Branch Distance (km) - <=30 KM from branch else reject"],"key":"residence_to_branch_distance_km","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Loan Amount - <=4,00,000 else reject"],"key":"loan_amount","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence Ownership - Owned/Ancestral/Rent Free else reject"],"key":"residence_ownership","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Son,Father,mother,Grandfather,Grandmother,Brother, Uncle (immediate paternal and maternal uncle) - pass else reject"],"key":"co_applicant_relationship_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Son,Father,mother,Grandfather,Grandmother,Brother, Uncle (immediate paternal and maternal uncle) - pass else reject"],"key":"co_applicant_relationship_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Foir foir <= 50% pass else fail"],"key":"foir","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - 1. Expansion of existing business. 2. Purchase of additional stock / raw material / working capital 3. Purchase of machinery/equipment 4. Refinancing of existing loans in case of an existing Navadhan customer"],"key":"loan_utilization","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil bureau_loss_count > 0 fail else pass"],"key":"bureau_loss_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_dbt_count > 0 reject else pass"],"key":"bureau_dbt_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_sub_count any value received > 0 reject else pass"],"key":"bureau_sub_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_write_off_count < 1000 pass else reject"],"key":"bureau_write_off_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_settlement_count > 0 reject else pass"],"key":"bureau_settlement_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}}],"payload":{"application_id":"GP006LE004650","age":72,"gender":"female","marital_status":"unmarried","applicant_ntc":"1","household_monthly_income":60750,"household_annual_income":729000,"household_expenses":32900,"existing_emi_obligations":5065,"business_income":"","agriculture_income":3750,"dairy_income":27000,"foir":61.5,"eligible_emi":8860,"eligible_loan_amount":42000,"loan_utilization":"purchase of cattle","name_of_bureau":"credit bureau","bureau_score":600,"bureau_pull_date":"2026-11-04","overdue_amount":2000,"dpd_0_6_months":3,"bureau_sub_count":2,"bureau_dbt_count":2,"bureau_loss_count":2,"bureau_write_off_count":2,"bureau_settlement_count":2,"bureau_suit_filled_count":2,"bureau_willful_default_count":2,"restructured_count":2,"dpd_6_12_months":4,"enquiries_last_3_months":12,"active_credit_lines_count":5,"bank_statement_6m":"","cheque_bounce_count_6m":"","loan_amount":500158,"tenure":60,"interest_rate":32.43,"apr":61.39,"repayment_frequency":"12","loan_purpose":"purchase of cattle","residence_area":"","residence_vintage_years":1,"residence_ownership":"owned","residence_to_branch_distance_km":50,"business_vintage_years":"","asset_fridge_value":10000,"asset_air_conditioner_value":0,"asset_washing_machine_value":0,"asset_tv_value":8000,"asset_smart_phone_value":20000,"co_applicant_age_1":72,"co_applicant_relationship_1":"husband","co_applicant_years_of_stay_in_current_address_1":35,"co_applicant_ntc_1":"1","co_applicant_financial_status_1":"financial","co_applicant_name_of_bureau_1":"credit bureau","co_applicant_bureau_score_1":658,"co_applicant_bureau_pull_date_1":"2026-11-04","co_applicant_overdue_amount_1":85550,"co_applicant_dpd_0_6_months_1":323,"co_applicant_dpd_6_12_months_1":4,"co_applicant_bureau_sub_count_1":3,"co_applicant_bureau_dbt_count_1":3,"co_applicant_bureau_loss_count_1":3,"co_applicant_bureau_write_off_count_1":3,"co_applicant_bureau_settlement_count_1":3,"co_applicant_bureau_suit_filed_count_1":3,"co_applicant_bureau_willful_default_count_1":3,"co_applicant_restructured_count_1":3,"co_applicant_enquiries_last_3_months_1":3,"co_applicant_active_credit_lines_count_1":6,"co_applicant_age_2":"","co_applicant_relationship_2":"","co_applicant_years_of_stay_in_current_address_2":"","co_applicant_ntc_2":"","co_applicant_financial_status_2":"","co_applicant_name_of_bureau_2":"","co_applicant_bureau_score_2":"","co_applicant_bureau_pull_date_2":"","co_applicant_overdue_amount_2":"","co_applicant_dpd_0_6_months_2":"","co_applicant_dpd_6_12_months_2":"","co_applicant_bureau_sub_count_2":"","co_applicant_bureau_dbt_count_2":"","co_applicant_bureau_loss_count_2":"","co_applicant_bureau_write_off_count_2":"","co_applicant_bureau_settlement_count_2":"","co_applicant_bureau_suit_filed_count_2":"","co_applicant_bureau_willful_default_count_2":"","co_applicant_restructured_count_2":"","co_applicant_enquiries_last_3_months_2":"","co_applicant_active_credit_lines_count_2":"","borrower_maturity_age":77}}}}}} [2026-11-04 15:46:03] INFO: row.api_response {"batch_id":"ba0ee522-4d00-4c69-aca9-dcdeb91a273b","row":1,"vendor_loan_id":295,"http_status":200,"ok":true,"duration_ms":366,"response":{"Blacksoil-Navdhan":{"failed_condition":{"key":"bureau_loss_count","reason":"Failed: 0.0 not greaterThanEqual 2"},"policy_status":false,"rules":[{"against":["pass","equal"],"key":"age","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["pass","equal"],"key":"borrower_maturity_age","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["18","lessThanEqual"],"key":"co_applicant_age_2","log":[],"reason":"NTC Case - No tradelines found","result":true,"source":""},{"against":["18","lessThanEqual"],"key":"co_applicant_age_1","log":[],"reason":"Passed: 18.0 lessThanEqual 72","result":true,"source":72},{"against":["pass","equal"],"key":"gender","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["pass","equal"],"key":"co_applicant_bureau_score_1","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["1000","greaterThanEqual"],"key":"overdue_amount","log":[],"reason":"Failed: 1000.0 not greaterThanEqual 2000","result":false,"source":2000},{"against":["3","greaterThan"],"key":"dpd_0_6_months","log":[],"reason":"Failed: 3.0 not greaterThan 3","result":false,"source":3},{"against":["3","lessThanEqual"],"key":"business_vintage_years","log":[],"reason":"NTC Case - No tradelines found","result":true,"source":""},{"against":[],"key":"co_applicant_maturity_age_2","log":["Execution halted: '>' not supported between instances of 'float' and 'str'"],"reason":"'>' not supported between instances of 'float' and 'str'","result":false,"source":[]},{"against":["36","greaterThanEqual"],"key":"tenure","log":[],"reason":"Failed: 36.0 not greaterThanEqual 60","result":false,"source":60},{"against":["pass","equal"],"key":"bureau_score","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["3","lessThanEqual"],"key":"residence_vintage_years","log":[],"reason":"Failed: 3.0 not lessThanEqual 1","result":false,"source":1},{"against":["pass","equal"],"key":"bank_statement_6m","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["63","equal"],"key":"co_applicant_maturity_age_1","log":[],"reason":"Failed: 63 not equal pass","result":false,"source":"pass"},{"against":["pass","equal"],"key":"co_applicant_bureau_score_2","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["3","greaterThanEqual"],"key":"active_credit_lines_count","log":[],"reason":"Failed: 3.0 not greaterThanEqual 5","result":false,"source":5},{"against":["60","greaterThan"],"key":"dpd_6_12_months","log":[],"reason":"Passed: 60.0 greaterThan 4","result":true,"source":4},{"against":["false","equal"],"key":"applicant_ntc","log":[],"reason":"Failed: false not equal 1","result":false,"source":"1"},{"against":["0","greaterThanEqual"],"key":"cheque_bounce_count_6m","log":[],"reason":"NTC Case - No tradelines found","result":true,"source":""},{"against":["5","greaterThanEqual"],"key":"enquiries_last_3_months","log":[],"reason":"Failed: 5.0 not greaterThanEqual 12","result":false,"source":12},{"against":["30","greaterThanEqual"],"key":"residence_to_branch_distance_km","log":[],"reason":"Failed: 30.0 not greaterThanEqual 50","result":false,"source":50},{"against":["400000","greaterThanEqual"],"key":"loan_amount","log":[],"reason":"Failed: 400000.0 not greaterThanEqual 500158","result":false,"source":500158},{"against":[["rented","owned","leased","owned w/o regn"],"inList"],"key":"residence_ownership","log":[],"reason":"owned","result":true,"source":"owned"},{"against":[["father","mother","husband","wife","son","daughter","sister","son-in-law","daughter-in-law","mother-in-law","father-in-law","brother-in-law","sister-in-law","niece","uncle","nephew","aunt","grand-father","grand-mother","grand-son","grand-daughter","self","brother"],"inList"],"key":"co_applicant_relationship_1","log":[],"reason":"mother","result":true,"source":"husband"},{"against":[["father","mother","husband","wife","son","daughter","sister","son-in-law","daughter-in-law","mother-in-law","father-in-law","brother-in-law","sister-in-law","niece","uncle","nephew","aunt","grand-father","grand-mother","grand-son","grand-daughter","self","brother"],"inList"],"key":"co_applicant_relationship_2","log":[],"reason":"NTC Case - No tradelines found","result":true,"source":""},{"against":["50","greaterThanEqual"],"key":"foir","log":[],"reason":"Failed: 50.0 not greaterThanEqual 61.5","result":false,"source":61.5},{"against":[["expansion of existing business","purchase of additional stock/ raw material/ working capital","purchase of machinery/equipment","refinancing of existing loans in case of an existing navadhan customer"],"inList"],"key":"loan_utilization","log":[],"reason":"purchase of additional stock/ raw material/ working capital","result":false,"source":"purchase of cattle"},{"against":["0","greaterThanEqual"],"key":"bureau_loss_count","log":[],"reason":"Failed: 0.0 not greaterThanEqual 2","result":false,"source":2},{"against":["0","lessThanEqual"],"key":"bureau_dbt_count","log":[],"reason":"Passed: 0.0 lessThanEqual 2","result":true,"source":2},{"against":["0","lessThanEqual"],"key":"bureau_sub_count","log":[],"reason":"Passed: 0.0 lessThanEqual 2","result":true,"source":2},{"against":["1000","greaterThanEqual"],"key":"bureau_write_off_count","log":[],"reason":"Passed: 1000.0 greaterThanEqual 2","result":true,"source":2},{"against":["0","lessThanEqual"],"key":"bureau_settlement_count","log":[],"reason":"Passed: 0.0 lessThanEqual 2","result":true,"source":2}]},"status":false},"error":null} [2026-11-04 15:46:03] INFO: row.bre_decision_saved {"batch_id":"ba0ee522-4d00-4c69-aca9-dcdeb91a273b","row":1,"vendor_loan_id":295,"bre_decision_id":828,"status":"success","decision":null} [2026-11-04 15:46:03] INFO: row.start {"batch_id":"ba0ee522-4d00-4c69-aca9-dcdeb91a273b","row":2,"application_id":null} [2026-11-04 15:46:03] WARNING: row.validation_failed {"batch_id":"ba0ee522-4d00-4c69-aca9-dcdeb91a273b","row":2,"application_id":null,"errors":{"application_id":["The application id field is required."],"customer_name":["The customer name field is required."]},"pan_number":null,"pan_bytes":null,"mobile_number":null} [2026-11-04 15:46:03] INFO: evaluate.completed {"batch_id":"ba0ee522-4d00-4c69-aca9-dcdeb91a273b","summary":{"total":2,"succeeded":1,"failed":1,"validation_failed":1,"skipped_duplicate":0}} [2026-11-04 16:17:27] INFO: evaluate.received {"batch_id":"e037e052-e1e0-4902-979b-0059b25f826e","has_file":true,"filename":"temp_2026-11-04_16:07:10_1793788630_co_lending_loan_decision.xlsx","size":12238,"mime":null,"ip":null} [2026-11-04 16:17:27] INFO: import.sheet_parsed {"batch_id":"e037e052-e1e0-4902-979b-0059b25f826e","rows_seen":5,"rows_kept":2,"rows_skipped":3} [2026-11-04 16:17:27] INFO: evaluate.excel_parsed {"batch_id":"e037e052-e1e0-4902-979b-0059b25f826e","row_count":2} [2026-11-04 16:17:27] INFO: policy.request {"batch_id":"e037e052-e1e0-4902-979b-0059b25f826e","url":"http://localhost:7000/api/live/policy/policy-c678e363"} [2026-11-04 16:17:27] INFO: policy.response {"batch_id":"e037e052-e1e0-4902-979b-0059b25f826e","ok":false,"http_status":500,"duration_ms":19,"response":" sqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (2013, 'Lost connection to MySQL server during query') [SQL: SELECT live_config.id, live_config.api_key, live_config.api_secret_hash, live_config.ip_whitelist, live_config.enabled, live_config.updated_at FROM live_config WHERE live_config.id = %(pk_1)s] [parameters: {'pk_1': 1}] (Background on this error at: https://sqlalche.me/e/21/e3q8) // Werkzeug Debugger

OperationalError

sqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (2013, 'Lost connection to MySQL server during query') [SQL: SELECT live_config.id, live_config.api_key, live_config.api_secret_hash, live_config.ip_whitelist, live_config.enabled, live_config.updated_at FROM live_config WHERE live_config.id = %(pk_1)s] [parameters: {'pk_1': 1}] (Background on this error at: https://sqlalche.me/e/21/e3q8)

Traceback (most recent call last)

sqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (2013, 'Lost connection to MySQL server during query') [SQL: SELECT live_config.id, live_config.api_key, live_config.api_secret_hash, live_config.ip_whitelist, live_config.enabled, live_config.updated_at FROM live_config WHERE live_config.id = %(pk_1)s] [parameters: {'pk_1': 1}] (Background on this error at: https://sqlalche.me/e/21/e3q8)

This is the Copy/Paste friendly version of the traceback.

The debugger caught an exception in your WSGI application. You can now look at the traceback which led to the error. If you enable JavaScript you can also use additional features such as code execution (if the evalex feature is enabled), automatic pasting of the exceptions and much more.
Brought to you by DON'T PANIC, your friendly Werkzeug powered traceback interpreter.

Console Locked

The console is locked and needs to be unlocked by entering the PIN. You can find the PIN printed out on the standard output of your shell that runs the server.

PIN:

","error":"Non-2xx response from policy API"} [2026-11-04 16:17:27] ERROR: evaluate.aborted_policy_unavailable {"batch_id":"e037e052-e1e0-4902-979b-0059b25f826e","http_status":500,"error":"Non-2xx response from policy API"} [2026-11-04 16:20:47] INFO: evaluate.received {"batch_id":"ec62fbf5-fba8-4f91-ae4e-2cbd2c7d51e4","has_file":true,"filename":"temp_2026-11-04_16:07:10_1793788630_co_lending_loan_decision.xlsx","size":12238,"mime":null,"ip":null} [2026-11-04 16:20:47] INFO: import.sheet_parsed {"batch_id":"ec62fbf5-fba8-4f91-ae4e-2cbd2c7d51e4","rows_seen":5,"rows_kept":2,"rows_skipped":3} [2026-11-04 16:20:47] INFO: evaluate.excel_parsed {"batch_id":"ec62fbf5-fba8-4f91-ae4e-2cbd2c7d51e4","row_count":2} [2026-11-04 16:20:47] INFO: policy.request {"batch_id":"ec62fbf5-fba8-4f91-ae4e-2cbd2c7d51e4","url":"http://localhost:7000/api/live/policy/policy-c678e363"} [2026-11-04 16:20:48] INFO: policy.response {"batch_id":"ec62fbf5-fba8-4f91-ae4e-2cbd2c7d51e4","ok":true,"http_status":200,"duration_ms":437,"response":{"grade":{"rules":{"Blacksoil-Navdhan":{"rule":[{"description":["Blacksoil Age >=21 and <=60 pass else reject"],"key":"age","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Borrower Maturity Age"],"key":"borrower_maturity_age","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Co Applicant Age 2"],"key":"co_applicant_age_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Min Co Applicant Age 1 "],"key":"co_applicant_age_1_min","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil gender Male - \"Male - approve, If female then check marital status, If Female then check else ignore this rule Marital Status- Reject single women as primary borrower"],"key":"gender","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - co_applicant_bureau_score_1 (upto 3 lakh loan, >=620 OR -1 to 18 else reject)"],"key":"co_applicant_bureau_score_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Overdue Amount\t<=1000, pass"],"key":"overdue_amount","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - DPD (0-6 Months) if\t<3 pass"],"key":"dpd_0_6_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Business Vintage (Years) - >=3 years else reject"],"key":"business_vintage_years","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Co-applicant 2 Maturity Age (<=63 else reject)"],"key":"co_applicant_maturity_age_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil tenure - <=36 months else reject"],"key":"tenure","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Borrower Bureau Score (upto 3 lakh loan amount, >=650 else reject) or Loan Amount >3 Lakh and If score >700 pass else reject"],"key":"bureau_score","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence Vintage (Years) >=3 years else reject"],"key":"residence_vintage_years","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Bank Statement 6M, Minimum 6 months"],"key":"bank_statement_6m","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Co-applicant 1 Maturity Age (<=63 else reject)"],"key":"co_applicant_maturity_age_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - co_applicant_bureau_score_2 (upto 3 lakh loan, >=620 OR -1 to 18 else reject)"],"key":"co_applicant_bureau_score_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Active Credit Lines Count - Value\t<=3 pass"],"key":"active_credit_lines_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - DPD (6-12 Months) if <2 pass"],"key":"dpd_6_12_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Applicant NTC, pass if false"],"key":"applicant_ntc","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Cheque Bounce Count 6M,No bounce in last 6 months, pass"],"key":"cheque_bounce_count_6m","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Enquiries Last 3 Months\tValue\t<=5 pass"],"key":"enquiries_last_3_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence to Branch Distance (km) - <=30 KM from branch else reject"],"key":"residence_to_branch_distance_km","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Loan Amount - <=4,00,000 else reject"],"key":"loan_amount","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence Ownership - Owned/Ancestral/Rent Free else reject"],"key":"residence_ownership","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Son,Father,mother,Grandfather,Grandmother,Brother, Uncle (immediate paternal and maternal uncle) - pass else reject"],"key":"co_applicant_relationship_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Son,Father,mother,Grandfather,Grandmother,Brother, Uncle (immediate paternal and maternal uncle) - pass else reject"],"key":"co_applicant_relationship_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Foir foir <= 50% pass else fail"],"key":"foir","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - 1. Expansion of existing business. 2. Purchase of additional stock / raw material / working capital 3. Purchase of machinery/equipment 4. Refinancing of existing loans in case of an existing Navadhan customer"],"key":"loan_utilization","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil bureau_loss_count > 0 fail else pass"],"key":"bureau_loss_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_dbt_count > 0 reject else pass"],"key":"bureau_dbt_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_sub_count any value received > 0 reject else pass"],"key":"bureau_sub_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_write_off_count < 1000 pass else reject"],"key":"bureau_write_off_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_settlement_count > 0 reject else pass"],"key":"bureau_settlement_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}}]}}}},"error":null} [2026-11-04 16:20:48] INFO: policy.parsed {"batch_id":"ec62fbf5-fba8-4f91-ae4e-2cbd2c7d51e4","policy_count":1,"policy_names":["Blacksoil-Navdhan"]} [2026-11-04 16:20:48] INFO: row.start {"batch_id":"ec62fbf5-fba8-4f91-ae4e-2cbd2c7d51e4","row":1,"application_id":"LP006LE004660"} [2026-11-04 16:20:48] INFO: row.lead_created {"batch_id":"ec62fbf5-fba8-4f91-ae4e-2cbd2c7d51e4","row":1,"application_id":"LP006LE004660","vendor_loan_id":296} [2026-11-04 16:20:48] INFO: row.co_applicants_saved {"batch_id":"ec62fbf5-fba8-4f91-ae4e-2cbd2c7d51e4","row":1,"vendor_loan_id":296,"count":1} [2026-11-04 16:20:48] INFO: row.decision_data_saved {"batch_id":"ec62fbf5-fba8-4f91-ae4e-2cbd2c7d51e4","row":1,"vendor_loan_id":296,"decision_keys":93} [2026-11-04 16:20:48] INFO: row.api_request {"batch_id":"ec62fbf5-fba8-4f91-ae4e-2cbd2c7d51e4","row":1,"vendor_loan_id":296,"url":"http://localhost:8889/","policies_payload":["Blacksoil-Navdhan"],"decision_keys":["application_id","age","gender","marital_status","applicant_ntc","household_monthly_income","household_annual_income","household_expenses","existing_emi_obligations","business_income","agriculture_income","dairy_income","foir","eligible_emi","eligible_loan_amount","loan_utilization","name_of_bureau","bureau_score","bureau_pull_date","overdue_amount","dpd_0_6_months","bureau_sub_count","bureau_dbt_count","bureau_loss_count","bureau_write_off_count","bureau_settlement_count","bureau_suit_filled_count","bureau_willful_default_count","restructured_count","dpd_6_12_months","enquiries_last_3_months","active_credit_lines_count","bank_statement_6m","cheque_bounce_count_6m","loan_amount","tenure","interest_rate","apr","repayment_frequency","loan_purpose","residence_area","residence_vintage_years","residence_ownership","residence_to_branch_distance_km","business_vintage_years","asset_fridge_value","asset_air_conditioner_value","asset_washing_machine_value","asset_tv_value","asset_smart_phone_value","co_applicant_age_1","co_applicant_relationship_1","co_applicant_years_of_stay_in_current_address_1","co_applicant_ntc_1","co_applicant_financial_status_1","co_applicant_name_of_bureau_1","co_applicant_bureau_score_1","co_applicant_bureau_pull_date_1","co_applicant_overdue_amount_1","co_applicant_dpd_0_6_months_1","co_applicant_dpd_6_12_months_1","co_applicant_bureau_sub_count_1","co_applicant_bureau_dbt_count_1","co_applicant_bureau_loss_count_1","co_applicant_bureau_write_off_count_1","co_applicant_bureau_settlement_count_1","co_applicant_bureau_suit_filed_count_1","co_applicant_bureau_willful_default_count_1","co_applicant_restructured_count_1","co_applicant_enquiries_last_3_months_1","co_applicant_active_credit_lines_count_1","co_applicant_age_2","co_applicant_relationship_2","co_applicant_years_of_stay_in_current_address_2","co_applicant_ntc_2","co_applicant_financial_status_2","co_applicant_name_of_bureau_2","co_applicant_bureau_score_2","co_applicant_bureau_pull_date_2","co_applicant_overdue_amount_2","co_applicant_dpd_0_6_months_2","co_applicant_dpd_6_12_months_2","co_applicant_bureau_sub_count_2","co_applicant_bureau_dbt_count_2","co_applicant_bureau_loss_count_2","co_applicant_bureau_write_off_count_2","co_applicant_bureau_settlement_count_2","co_applicant_bureau_suit_filed_count_2","co_applicant_bureau_willful_default_count_2","co_applicant_restructured_count_2","co_applicant_enquiries_last_3_months_2","co_applicant_active_credit_lines_count_2","borrower_maturity_age"],"payload":{"grade":{"rules":{"Blacksoil-Navdhan":{"rule":[{"description":["Blacksoil Age >=21 and <=60 pass else reject"],"key":"age","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Borrower Maturity Age"],"key":"borrower_maturity_age","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Co Applicant Age 2"],"key":"co_applicant_age_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Min Co Applicant Age 1 "],"key":"co_applicant_age_1_min","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil gender Male - \"Male - approve, If female then check marital status, If Female then check else ignore this rule Marital Status- Reject single women as primary borrower"],"key":"gender","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - co_applicant_bureau_score_1 (upto 3 lakh loan, >=620 OR -1 to 18 else reject)"],"key":"co_applicant_bureau_score_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Overdue Amount\t<=1000, pass"],"key":"overdue_amount","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - DPD (0-6 Months) if\t<3 pass"],"key":"dpd_0_6_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Business Vintage (Years) - >=3 years else reject"],"key":"business_vintage_years","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Co-applicant 2 Maturity Age (<=63 else reject)"],"key":"co_applicant_maturity_age_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil tenure - <=36 months else reject"],"key":"tenure","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Borrower Bureau Score (upto 3 lakh loan amount, >=650 else reject) or Loan Amount >3 Lakh and If score >700 pass else reject"],"key":"bureau_score","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence Vintage (Years) >=3 years else reject"],"key":"residence_vintage_years","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Bank Statement 6M, Minimum 6 months"],"key":"bank_statement_6m","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Co-applicant 1 Maturity Age (<=63 else reject)"],"key":"co_applicant_maturity_age_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - co_applicant_bureau_score_2 (upto 3 lakh loan, >=620 OR -1 to 18 else reject)"],"key":"co_applicant_bureau_score_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Active Credit Lines Count - Value\t<=3 pass"],"key":"active_credit_lines_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - DPD (6-12 Months) if <2 pass"],"key":"dpd_6_12_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Applicant NTC, pass if false"],"key":"applicant_ntc","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Cheque Bounce Count 6M,No bounce in last 6 months, pass"],"key":"cheque_bounce_count_6m","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Enquiries Last 3 Months\tValue\t<=5 pass"],"key":"enquiries_last_3_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence to Branch Distance (km) - <=30 KM from branch else reject"],"key":"residence_to_branch_distance_km","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Loan Amount - <=4,00,000 else reject"],"key":"loan_amount","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence Ownership - Owned/Ancestral/Rent Free else reject"],"key":"residence_ownership","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Son,Father,mother,Grandfather,Grandmother,Brother, Uncle (immediate paternal and maternal uncle) - pass else reject"],"key":"co_applicant_relationship_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Son,Father,mother,Grandfather,Grandmother,Brother, Uncle (immediate paternal and maternal uncle) - pass else reject"],"key":"co_applicant_relationship_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Foir foir <= 50% pass else fail"],"key":"foir","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - 1. Expansion of existing business. 2. Purchase of additional stock / raw material / working capital 3. Purchase of machinery/equipment 4. Refinancing of existing loans in case of an existing Navadhan customer"],"key":"loan_utilization","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil bureau_loss_count > 0 fail else pass"],"key":"bureau_loss_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_dbt_count > 0 reject else pass"],"key":"bureau_dbt_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_sub_count any value received > 0 reject else pass"],"key":"bureau_sub_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_write_off_count < 1000 pass else reject"],"key":"bureau_write_off_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_settlement_count > 0 reject else pass"],"key":"bureau_settlement_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}}],"payload":{"application_id":"LP006LE004660","age":72,"gender":"female","marital_status":"unmarried","applicant_ntc":"1","household_monthly_income":60750,"household_annual_income":729000,"household_expenses":32900,"existing_emi_obligations":5065,"business_income":"","agriculture_income":3750,"dairy_income":27000,"foir":61.5,"eligible_emi":8860,"eligible_loan_amount":42000,"loan_utilization":"purchase of cattle","name_of_bureau":"credit bureau","bureau_score":600,"bureau_pull_date":"2026-11-04","overdue_amount":2000,"dpd_0_6_months":3,"bureau_sub_count":2,"bureau_dbt_count":2,"bureau_loss_count":2,"bureau_write_off_count":2,"bureau_settlement_count":2,"bureau_suit_filled_count":2,"bureau_willful_default_count":2,"restructured_count":2,"dpd_6_12_months":4,"enquiries_last_3_months":12,"active_credit_lines_count":5,"bank_statement_6m":"","cheque_bounce_count_6m":"","loan_amount":500158,"tenure":60,"interest_rate":32.43,"apr":61.39,"repayment_frequency":"12","loan_purpose":"purchase of cattle","residence_area":"","residence_vintage_years":1,"residence_ownership":"owned","residence_to_branch_distance_km":50,"business_vintage_years":"","asset_fridge_value":10000,"asset_air_conditioner_value":0,"asset_washing_machine_value":0,"asset_tv_value":8000,"asset_smart_phone_value":20000,"co_applicant_age_1":72,"co_applicant_relationship_1":"husband","co_applicant_years_of_stay_in_current_address_1":35,"co_applicant_ntc_1":"1","co_applicant_financial_status_1":"financial","co_applicant_name_of_bureau_1":"credit bureau","co_applicant_bureau_score_1":658,"co_applicant_bureau_pull_date_1":"2026-11-04","co_applicant_overdue_amount_1":85550,"co_applicant_dpd_0_6_months_1":323,"co_applicant_dpd_6_12_months_1":4,"co_applicant_bureau_sub_count_1":3,"co_applicant_bureau_dbt_count_1":3,"co_applicant_bureau_loss_count_1":3,"co_applicant_bureau_write_off_count_1":3,"co_applicant_bureau_settlement_count_1":3,"co_applicant_bureau_suit_filed_count_1":3,"co_applicant_bureau_willful_default_count_1":3,"co_applicant_restructured_count_1":3,"co_applicant_enquiries_last_3_months_1":3,"co_applicant_active_credit_lines_count_1":6,"co_applicant_age_2":"","co_applicant_relationship_2":"","co_applicant_years_of_stay_in_current_address_2":"","co_applicant_ntc_2":"","co_applicant_financial_status_2":"","co_applicant_name_of_bureau_2":"","co_applicant_bureau_score_2":"","co_applicant_bureau_pull_date_2":"","co_applicant_overdue_amount_2":"","co_applicant_dpd_0_6_months_2":"","co_applicant_dpd_6_12_months_2":"","co_applicant_bureau_sub_count_2":"","co_applicant_bureau_dbt_count_2":"","co_applicant_bureau_loss_count_2":"","co_applicant_bureau_write_off_count_2":"","co_applicant_bureau_settlement_count_2":"","co_applicant_bureau_suit_filed_count_2":"","co_applicant_bureau_willful_default_count_2":"","co_applicant_restructured_count_2":"","co_applicant_enquiries_last_3_months_2":"","co_applicant_active_credit_lines_count_2":"","borrower_maturity_age":77}}}}}} [2026-11-04 16:20:48] INFO: row.api_response {"batch_id":"ec62fbf5-fba8-4f91-ae4e-2cbd2c7d51e4","row":1,"vendor_loan_id":296,"http_status":200,"ok":true,"duration_ms":342,"response":{"Blacksoil-Navdhan":{"failed_condition":{"key":"bureau_loss_count","reason":"Failed: 0.0 not greaterThanEqual 2"},"policy_status":false,"rules":[{"against":["pass","equal"],"key":"age","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["pass","equal"],"key":"borrower_maturity_age","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["18","lessThanEqual"],"key":"co_applicant_age_2","log":[],"reason":"NTC Case - No tradelines found","result":true,"source":""},{"against":[],"key":"co_applicant_age_1_min","log":["Execution halted: Data not found: 'co_applicant_age_1_min' is missing from the JSON payload."],"reason":"Data not found: 'co_applicant_age_1_min' is missing from the JSON payload.","result":false,"source":[]},{"against":["pass","equal"],"key":"gender","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["pass","equal"],"key":"co_applicant_bureau_score_1","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["1000","greaterThanEqual"],"key":"overdue_amount","log":[],"reason":"Failed: 1000.0 not greaterThanEqual 2000","result":false,"source":2000},{"against":["3","greaterThan"],"key":"dpd_0_6_months","log":[],"reason":"Failed: 3.0 not greaterThan 3","result":false,"source":3},{"against":["3","lessThanEqual"],"key":"business_vintage_years","log":[],"reason":"NTC Case - No tradelines found","result":true,"source":""},{"against":[],"key":"co_applicant_maturity_age_2","log":["Execution halted: '>' not supported between instances of 'float' and 'str'"],"reason":"'>' not supported between instances of 'float' and 'str'","result":false,"source":[]},{"against":["36","greaterThanEqual"],"key":"tenure","log":[],"reason":"Failed: 36.0 not greaterThanEqual 60","result":false,"source":60},{"against":["pass","equal"],"key":"bureau_score","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["3","lessThanEqual"],"key":"residence_vintage_years","log":[],"reason":"Failed: 3.0 not lessThanEqual 1","result":false,"source":1},{"against":["pass","equal"],"key":"bank_statement_6m","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["63","equal"],"key":"co_applicant_maturity_age_1","log":[],"reason":"Failed: 63 not equal pass","result":false,"source":"pass"},{"against":["pass","equal"],"key":"co_applicant_bureau_score_2","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["3","greaterThanEqual"],"key":"active_credit_lines_count","log":[],"reason":"Failed: 3.0 not greaterThanEqual 5","result":false,"source":5},{"against":["60","greaterThan"],"key":"dpd_6_12_months","log":[],"reason":"Passed: 60.0 greaterThan 4","result":true,"source":4},{"against":["false","equal"],"key":"applicant_ntc","log":[],"reason":"Failed: false not equal 1","result":false,"source":"1"},{"against":["0","greaterThanEqual"],"key":"cheque_bounce_count_6m","log":[],"reason":"NTC Case - No tradelines found","result":true,"source":""},{"against":["5","greaterThanEqual"],"key":"enquiries_last_3_months","log":[],"reason":"Failed: 5.0 not greaterThanEqual 12","result":false,"source":12},{"against":["30","greaterThanEqual"],"key":"residence_to_branch_distance_km","log":[],"reason":"Failed: 30.0 not greaterThanEqual 50","result":false,"source":50},{"against":["400000","greaterThanEqual"],"key":"loan_amount","log":[],"reason":"Failed: 400000.0 not greaterThanEqual 500158","result":false,"source":500158},{"against":[["rented","owned","leased","owned w/o regn"],"inList"],"key":"residence_ownership","log":[],"reason":"owned","result":true,"source":"owned"},{"against":[["father","mother","husband","wife","son","daughter","sister","son-in-law","daughter-in-law","mother-in-law","father-in-law","brother-in-law","sister-in-law","niece","uncle","nephew","aunt","grand-father","grand-mother","grand-son","grand-daughter","self","brother"],"inList"],"key":"co_applicant_relationship_1","log":[],"reason":"mother","result":true,"source":"husband"},{"against":[["father","mother","husband","wife","son","daughter","sister","son-in-law","daughter-in-law","mother-in-law","father-in-law","brother-in-law","sister-in-law","niece","uncle","nephew","aunt","grand-father","grand-mother","grand-son","grand-daughter","self","brother"],"inList"],"key":"co_applicant_relationship_2","log":[],"reason":"NTC Case - No tradelines found","result":true,"source":""},{"against":["50","greaterThanEqual"],"key":"foir","log":[],"reason":"Failed: 50.0 not greaterThanEqual 61.5","result":false,"source":61.5},{"against":[["expansion of existing business","purchase of additional stock/ raw material/ working capital","purchase of machinery/equipment","refinancing of existing loans in case of an existing navadhan customer"],"inList"],"key":"loan_utilization","log":[],"reason":"purchase of additional stock/ raw material/ working capital","result":false,"source":"purchase of cattle"},{"against":["0","greaterThanEqual"],"key":"bureau_loss_count","log":[],"reason":"Failed: 0.0 not greaterThanEqual 2","result":false,"source":2},{"against":["0","lessThanEqual"],"key":"bureau_dbt_count","log":[],"reason":"Passed: 0.0 lessThanEqual 2","result":true,"source":2},{"against":["0","lessThanEqual"],"key":"bureau_sub_count","log":[],"reason":"Passed: 0.0 lessThanEqual 2","result":true,"source":2},{"against":["1000","greaterThanEqual"],"key":"bureau_write_off_count","log":[],"reason":"Passed: 1000.0 greaterThanEqual 2","result":true,"source":2},{"against":["0","lessThanEqual"],"key":"bureau_settlement_count","log":[],"reason":"Passed: 0.0 lessThanEqual 2","result":true,"source":2}]},"status":false},"error":null} [2026-11-04 16:20:48] INFO: row.bre_decision_saved {"batch_id":"ec62fbf5-fba8-4f91-ae4e-2cbd2c7d51e4","row":1,"vendor_loan_id":296,"bre_decision_id":829,"status":"success","decision":null} [2026-11-04 16:20:48] INFO: row.start {"batch_id":"ec62fbf5-fba8-4f91-ae4e-2cbd2c7d51e4","row":2,"application_id":null} [2026-11-04 16:20:48] WARNING: row.validation_failed {"batch_id":"ec62fbf5-fba8-4f91-ae4e-2cbd2c7d51e4","row":2,"application_id":null,"errors":{"application_id":["The application id field is required."],"customer_name":["The customer name field is required."]},"pan_number":null,"pan_bytes":null,"mobile_number":null} [2026-11-04 16:20:48] INFO: evaluate.completed {"batch_id":"ec62fbf5-fba8-4f91-ae4e-2cbd2c7d51e4","summary":{"total":2,"succeeded":1,"failed":1,"validation_failed":1,"skipped_duplicate":0}} [2026-11-04 16:23:58] INFO: evaluate.received {"batch_id":"89013330-68df-49e4-a6f4-26754e16ef17","has_file":true,"filename":"temp_2026-11-04_16:23:14_1793789594_co_lending_loan_decision.xlsx","size":12220,"mime":null,"ip":null} [2026-11-04 16:23:58] INFO: import.sheet_parsed {"batch_id":"89013330-68df-49e4-a6f4-26754e16ef17","rows_seen":1,"rows_kept":1,"rows_skipped":0} [2026-11-04 16:23:58] INFO: evaluate.excel_parsed {"batch_id":"89013330-68df-49e4-a6f4-26754e16ef17","row_count":1} [2026-11-04 16:23:58] INFO: policy.request {"batch_id":"89013330-68df-49e4-a6f4-26754e16ef17","url":"http://localhost:7000/api/live/policy/policy-c678e363"} [2026-11-04 16:23:58] INFO: policy.response {"batch_id":"89013330-68df-49e4-a6f4-26754e16ef17","ok":true,"http_status":200,"duration_ms":336,"response":{"grade":{"rules":{"Blacksoil-Navdhan":{"rule":[{"description":["Blacksoil Age >=21 and <=60 pass else reject"],"key":"age","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Borrower Maturity Age"],"key":"borrower_maturity_age","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Co Applicant Age 2"],"key":"co_applicant_age_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Min Co Applicant Age 1 "],"key":"co_applicant_age_1_min","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil gender Male - \"Male - approve, If female then check marital status, If Female then check else ignore this rule Marital Status- Reject single women as primary borrower"],"key":"gender","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - co_applicant_bureau_score_1 (upto 3 lakh loan, >=620 OR -1 to 18 else reject)"],"key":"co_applicant_bureau_score_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Overdue Amount\t<=1000, pass"],"key":"overdue_amount","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - DPD (0-6 Months) if\t<3 pass"],"key":"dpd_0_6_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Business Vintage (Years) - >=3 years else reject"],"key":"business_vintage_years","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Co-applicant 2 Maturity Age (<=63 else reject)"],"key":"co_applicant_maturity_age_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil tenure - <=36 months else reject"],"key":"tenure","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Borrower Bureau Score (upto 3 lakh loan amount, >=650 else reject) or Loan Amount >3 Lakh and If score >700 pass else reject"],"key":"bureau_score","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence Vintage (Years) >=3 years else reject"],"key":"residence_vintage_years","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Bank Statement 6M, Minimum 6 months"],"key":"bank_statement_6m","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Co-applicant 1 Maturity Age (<=63 else reject)"],"key":"co_applicant_maturity_age_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - co_applicant_bureau_score_2 (upto 3 lakh loan, >=620 OR -1 to 18 else reject)"],"key":"co_applicant_bureau_score_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Active Credit Lines Count - Value\t<=3 pass"],"key":"active_credit_lines_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - DPD (6-12 Months) if <2 pass"],"key":"dpd_6_12_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Applicant NTC, pass if false"],"key":"applicant_ntc","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Cheque Bounce Count 6M,No bounce in last 6 months, pass"],"key":"cheque_bounce_count_6m","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Enquiries Last 3 Months\tValue\t<=5 pass"],"key":"enquiries_last_3_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence to Branch Distance (km) - <=30 KM from branch else reject"],"key":"residence_to_branch_distance_km","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Loan Amount - <=4,00,000 else reject"],"key":"loan_amount","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence Ownership - Owned/Ancestral/Rent Free else reject"],"key":"residence_ownership","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Son,Father,mother,Grandfather,Grandmother,Brother, Uncle (immediate paternal and maternal uncle) - pass else reject"],"key":"co_applicant_relationship_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Son,Father,mother,Grandfather,Grandmother,Brother, Uncle (immediate paternal and maternal uncle) - pass else reject"],"key":"co_applicant_relationship_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Foir foir <= 50% pass else fail"],"key":"foir","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - 1. Expansion of existing business. 2. Purchase of additional stock / raw material / working capital 3. Purchase of machinery/equipment 4. Refinancing of existing loans in case of an existing Navadhan customer"],"key":"loan_utilization","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil bureau_loss_count > 0 fail else pass"],"key":"bureau_loss_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_dbt_count > 0 reject else pass"],"key":"bureau_dbt_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_sub_count any value received > 0 reject else pass"],"key":"bureau_sub_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_write_off_count < 1000 pass else reject"],"key":"bureau_write_off_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_settlement_count > 0 reject else pass"],"key":"bureau_settlement_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["co_applicant_age_1"],"key":"co_applicant_age_1_max","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}}]}}}},"error":null} [2026-11-04 16:23:58] INFO: policy.parsed {"batch_id":"89013330-68df-49e4-a6f4-26754e16ef17","policy_count":1,"policy_names":["Blacksoil-Navdhan"]} [2026-11-04 16:23:58] INFO: row.start {"batch_id":"89013330-68df-49e4-a6f4-26754e16ef17","row":1,"application_id":"KP006LE004690"} [2026-11-04 16:23:58] INFO: row.lead_created {"batch_id":"89013330-68df-49e4-a6f4-26754e16ef17","row":1,"application_id":"KP006LE004690","vendor_loan_id":297} [2026-11-04 16:23:58] INFO: row.co_applicants_saved {"batch_id":"89013330-68df-49e4-a6f4-26754e16ef17","row":1,"vendor_loan_id":297,"count":1} [2026-11-04 16:23:58] INFO: row.decision_data_saved {"batch_id":"89013330-68df-49e4-a6f4-26754e16ef17","row":1,"vendor_loan_id":297,"decision_keys":93} [2026-11-04 16:23:58] INFO: row.api_request {"batch_id":"89013330-68df-49e4-a6f4-26754e16ef17","row":1,"vendor_loan_id":297,"url":"http://localhost:8889/","policies_payload":["Blacksoil-Navdhan"],"decision_keys":["application_id","age","gender","marital_status","applicant_ntc","household_monthly_income","household_annual_income","household_expenses","existing_emi_obligations","business_income","agriculture_income","dairy_income","foir","eligible_emi","eligible_loan_amount","loan_utilization","name_of_bureau","bureau_score","bureau_pull_date","overdue_amount","dpd_0_6_months","bureau_sub_count","bureau_dbt_count","bureau_loss_count","bureau_write_off_count","bureau_settlement_count","bureau_suit_filled_count","bureau_willful_default_count","restructured_count","dpd_6_12_months","enquiries_last_3_months","active_credit_lines_count","bank_statement_6m","cheque_bounce_count_6m","loan_amount","tenure","interest_rate","apr","repayment_frequency","loan_purpose","residence_area","residence_vintage_years","residence_ownership","residence_to_branch_distance_km","business_vintage_years","asset_fridge_value","asset_air_conditioner_value","asset_washing_machine_value","asset_tv_value","asset_smart_phone_value","co_applicant_age_1","co_applicant_relationship_1","co_applicant_years_of_stay_in_current_address_1","co_applicant_ntc_1","co_applicant_financial_status_1","co_applicant_name_of_bureau_1","co_applicant_bureau_score_1","co_applicant_bureau_pull_date_1","co_applicant_overdue_amount_1","co_applicant_dpd_0_6_months_1","co_applicant_dpd_6_12_months_1","co_applicant_bureau_sub_count_1","co_applicant_bureau_dbt_count_1","co_applicant_bureau_loss_count_1","co_applicant_bureau_write_off_count_1","co_applicant_bureau_settlement_count_1","co_applicant_bureau_suit_filed_count_1","co_applicant_bureau_willful_default_count_1","co_applicant_restructured_count_1","co_applicant_enquiries_last_3_months_1","co_applicant_active_credit_lines_count_1","co_applicant_age_2","co_applicant_relationship_2","co_applicant_years_of_stay_in_current_address_2","co_applicant_ntc_2","co_applicant_financial_status_2","co_applicant_name_of_bureau_2","co_applicant_bureau_score_2","co_applicant_bureau_pull_date_2","co_applicant_overdue_amount_2","co_applicant_dpd_0_6_months_2","co_applicant_dpd_6_12_months_2","co_applicant_bureau_sub_count_2","co_applicant_bureau_dbt_count_2","co_applicant_bureau_loss_count_2","co_applicant_bureau_write_off_count_2","co_applicant_bureau_settlement_count_2","co_applicant_bureau_suit_filed_count_2","co_applicant_bureau_willful_default_count_2","co_applicant_restructured_count_2","co_applicant_enquiries_last_3_months_2","co_applicant_active_credit_lines_count_2","borrower_maturity_age"],"payload":{"grade":{"rules":{"Blacksoil-Navdhan":{"rule":[{"description":["Blacksoil Age >=21 and <=60 pass else reject"],"key":"age","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Borrower Maturity Age"],"key":"borrower_maturity_age","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Co Applicant Age 2"],"key":"co_applicant_age_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Min Co Applicant Age 1 "],"key":"co_applicant_age_1_min","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil gender Male - \"Male - approve, If female then check marital status, If Female then check else ignore this rule Marital Status- Reject single women as primary borrower"],"key":"gender","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - co_applicant_bureau_score_1 (upto 3 lakh loan, >=620 OR -1 to 18 else reject)"],"key":"co_applicant_bureau_score_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Overdue Amount\t<=1000, pass"],"key":"overdue_amount","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - DPD (0-6 Months) if\t<3 pass"],"key":"dpd_0_6_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Business Vintage (Years) - >=3 years else reject"],"key":"business_vintage_years","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Co-applicant 2 Maturity Age (<=63 else reject)"],"key":"co_applicant_maturity_age_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil tenure - <=36 months else reject"],"key":"tenure","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Borrower Bureau Score (upto 3 lakh loan amount, >=650 else reject) or Loan Amount >3 Lakh and If score >700 pass else reject"],"key":"bureau_score","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence Vintage (Years) >=3 years else reject"],"key":"residence_vintage_years","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Bank Statement 6M, Minimum 6 months"],"key":"bank_statement_6m","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Co-applicant 1 Maturity Age (<=63 else reject)"],"key":"co_applicant_maturity_age_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - co_applicant_bureau_score_2 (upto 3 lakh loan, >=620 OR -1 to 18 else reject)"],"key":"co_applicant_bureau_score_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Active Credit Lines Count - Value\t<=3 pass"],"key":"active_credit_lines_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - DPD (6-12 Months) if <2 pass"],"key":"dpd_6_12_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Applicant NTC, pass if false"],"key":"applicant_ntc","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Cheque Bounce Count 6M,No bounce in last 6 months, pass"],"key":"cheque_bounce_count_6m","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Enquiries Last 3 Months\tValue\t<=5 pass"],"key":"enquiries_last_3_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence to Branch Distance (km) - <=30 KM from branch else reject"],"key":"residence_to_branch_distance_km","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Loan Amount - <=4,00,000 else reject"],"key":"loan_amount","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence Ownership - Owned/Ancestral/Rent Free else reject"],"key":"residence_ownership","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Son,Father,mother,Grandfather,Grandmother,Brother, Uncle (immediate paternal and maternal uncle) - pass else reject"],"key":"co_applicant_relationship_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Son,Father,mother,Grandfather,Grandmother,Brother, Uncle (immediate paternal and maternal uncle) - pass else reject"],"key":"co_applicant_relationship_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Foir foir <= 50% pass else fail"],"key":"foir","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - 1. Expansion of existing business. 2. Purchase of additional stock / raw material / working capital 3. Purchase of machinery/equipment 4. Refinancing of existing loans in case of an existing Navadhan customer"],"key":"loan_utilization","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil bureau_loss_count > 0 fail else pass"],"key":"bureau_loss_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_dbt_count > 0 reject else pass"],"key":"bureau_dbt_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_sub_count any value received > 0 reject else pass"],"key":"bureau_sub_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_write_off_count < 1000 pass else reject"],"key":"bureau_write_off_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_settlement_count > 0 reject else pass"],"key":"bureau_settlement_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["co_applicant_age_1"],"key":"co_applicant_age_1_max","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}}],"payload":{"application_id":"KP006LE004690","age":72,"gender":"female","marital_status":"unmarried","applicant_ntc":"1","household_monthly_income":60750,"household_annual_income":729000,"household_expenses":32900,"existing_emi_obligations":5065,"business_income":"","agriculture_income":3750,"dairy_income":27000,"foir":61.5,"eligible_emi":8860,"eligible_loan_amount":42000,"loan_utilization":"purchase of cattle","name_of_bureau":"credit bureau","bureau_score":600,"bureau_pull_date":"2026-11-04","overdue_amount":2000,"dpd_0_6_months":3,"bureau_sub_count":2,"bureau_dbt_count":2,"bureau_loss_count":2,"bureau_write_off_count":2,"bureau_settlement_count":2,"bureau_suit_filled_count":2,"bureau_willful_default_count":2,"restructured_count":2,"dpd_6_12_months":4,"enquiries_last_3_months":12,"active_credit_lines_count":5,"bank_statement_6m":"","cheque_bounce_count_6m":"","loan_amount":500158,"tenure":60,"interest_rate":32.43,"apr":61.39,"repayment_frequency":"12","loan_purpose":"purchase of cattle","residence_area":"","residence_vintage_years":1,"residence_ownership":"owned","residence_to_branch_distance_km":50,"business_vintage_years":"","asset_fridge_value":10000,"asset_air_conditioner_value":0,"asset_washing_machine_value":0,"asset_tv_value":8000,"asset_smart_phone_value":20000,"co_applicant_age_1":72,"co_applicant_relationship_1":"husband","co_applicant_years_of_stay_in_current_address_1":35,"co_applicant_ntc_1":"1","co_applicant_financial_status_1":"financial","co_applicant_name_of_bureau_1":"credit bureau","co_applicant_bureau_score_1":658,"co_applicant_bureau_pull_date_1":"2026-11-04","co_applicant_overdue_amount_1":85550,"co_applicant_dpd_0_6_months_1":323,"co_applicant_dpd_6_12_months_1":4,"co_applicant_bureau_sub_count_1":3,"co_applicant_bureau_dbt_count_1":3,"co_applicant_bureau_loss_count_1":3,"co_applicant_bureau_write_off_count_1":3,"co_applicant_bureau_settlement_count_1":3,"co_applicant_bureau_suit_filed_count_1":3,"co_applicant_bureau_willful_default_count_1":3,"co_applicant_restructured_count_1":3,"co_applicant_enquiries_last_3_months_1":3,"co_applicant_active_credit_lines_count_1":6,"co_applicant_age_2":"","co_applicant_relationship_2":"","co_applicant_years_of_stay_in_current_address_2":"","co_applicant_ntc_2":"","co_applicant_financial_status_2":"","co_applicant_name_of_bureau_2":"","co_applicant_bureau_score_2":"","co_applicant_bureau_pull_date_2":"","co_applicant_overdue_amount_2":"","co_applicant_dpd_0_6_months_2":"","co_applicant_dpd_6_12_months_2":"","co_applicant_bureau_sub_count_2":"","co_applicant_bureau_dbt_count_2":"","co_applicant_bureau_loss_count_2":"","co_applicant_bureau_write_off_count_2":"","co_applicant_bureau_settlement_count_2":"","co_applicant_bureau_suit_filed_count_2":"","co_applicant_bureau_willful_default_count_2":"","co_applicant_restructured_count_2":"","co_applicant_enquiries_last_3_months_2":"","co_applicant_active_credit_lines_count_2":"","borrower_maturity_age":77}}}}}} [2026-11-04 16:23:58] INFO: row.api_response {"batch_id":"89013330-68df-49e4-a6f4-26754e16ef17","row":1,"vendor_loan_id":297,"http_status":200,"ok":true,"duration_ms":389,"response":{"Blacksoil-Navdhan":{"failed_condition":{"key":"co_applicant_age_1_max","reason":"Data not found: 'co_applicant_age_1_max' is missing from the JSON payload."},"policy_status":false,"rules":[{"against":["pass","equal"],"key":"age","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["pass","equal"],"key":"borrower_maturity_age","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["18","lessThanEqual"],"key":"co_applicant_age_2","log":[],"reason":"NTC Case - No tradelines found","result":true,"source":""},{"against":[],"key":"co_applicant_age_1_min","log":["Execution halted: Data not found: 'co_applicant_age_1_min' is missing from the JSON payload."],"reason":"Data not found: 'co_applicant_age_1_min' is missing from the JSON payload.","result":false,"source":[]},{"against":["pass","equal"],"key":"gender","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["pass","equal"],"key":"co_applicant_bureau_score_1","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["1000","greaterThanEqual"],"key":"overdue_amount","log":[],"reason":"Failed: 1000.0 not greaterThanEqual 2000","result":false,"source":2000},{"against":["3","greaterThan"],"key":"dpd_0_6_months","log":[],"reason":"Failed: 3.0 not greaterThan 3","result":false,"source":3},{"against":["3","lessThanEqual"],"key":"business_vintage_years","log":[],"reason":"NTC Case - No tradelines found","result":true,"source":""},{"against":[],"key":"co_applicant_maturity_age_2","log":["Execution halted: '>' not supported between instances of 'float' and 'str'"],"reason":"'>' not supported between instances of 'float' and 'str'","result":false,"source":[]},{"against":["36","greaterThanEqual"],"key":"tenure","log":[],"reason":"Failed: 36.0 not greaterThanEqual 60","result":false,"source":60},{"against":["pass","equal"],"key":"bureau_score","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["3","lessThanEqual"],"key":"residence_vintage_years","log":[],"reason":"Failed: 3.0 not lessThanEqual 1","result":false,"source":1},{"against":["pass","equal"],"key":"bank_statement_6m","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["63","equal"],"key":"co_applicant_maturity_age_1","log":[],"reason":"Failed: 63 not equal pass","result":false,"source":"pass"},{"against":["pass","equal"],"key":"co_applicant_bureau_score_2","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["3","greaterThanEqual"],"key":"active_credit_lines_count","log":[],"reason":"Failed: 3.0 not greaterThanEqual 5","result":false,"source":5},{"against":["60","greaterThan"],"key":"dpd_6_12_months","log":[],"reason":"Passed: 60.0 greaterThan 4","result":true,"source":4},{"against":["false","equal"],"key":"applicant_ntc","log":[],"reason":"Failed: false not equal 1","result":false,"source":"1"},{"against":["0","greaterThanEqual"],"key":"cheque_bounce_count_6m","log":[],"reason":"NTC Case - No tradelines found","result":true,"source":""},{"against":["5","greaterThanEqual"],"key":"enquiries_last_3_months","log":[],"reason":"Failed: 5.0 not greaterThanEqual 12","result":false,"source":12},{"against":["30","greaterThanEqual"],"key":"residence_to_branch_distance_km","log":[],"reason":"Failed: 30.0 not greaterThanEqual 50","result":false,"source":50},{"against":["400000","greaterThanEqual"],"key":"loan_amount","log":[],"reason":"Failed: 400000.0 not greaterThanEqual 500158","result":false,"source":500158},{"against":[["rented","owned","leased","owned w/o regn"],"inList"],"key":"residence_ownership","log":[],"reason":"owned","result":true,"source":"owned"},{"against":[["father","mother","husband","wife","son","daughter","sister","son-in-law","daughter-in-law","mother-in-law","father-in-law","brother-in-law","sister-in-law","niece","uncle","nephew","aunt","grand-father","grand-mother","grand-son","grand-daughter","self","brother"],"inList"],"key":"co_applicant_relationship_1","log":[],"reason":"mother","result":true,"source":"husband"},{"against":[["father","mother","husband","wife","son","daughter","sister","son-in-law","daughter-in-law","mother-in-law","father-in-law","brother-in-law","sister-in-law","niece","uncle","nephew","aunt","grand-father","grand-mother","grand-son","grand-daughter","self","brother"],"inList"],"key":"co_applicant_relationship_2","log":[],"reason":"NTC Case - No tradelines found","result":true,"source":""},{"against":["50","greaterThanEqual"],"key":"foir","log":[],"reason":"Failed: 50.0 not greaterThanEqual 61.5","result":false,"source":61.5},{"against":[["expansion of existing business","purchase of additional stock/ raw material/ working capital","purchase of machinery/equipment","refinancing of existing loans in case of an existing navadhan customer"],"inList"],"key":"loan_utilization","log":[],"reason":"purchase of additional stock/ raw material/ working capital","result":false,"source":"purchase of cattle"},{"against":["0","greaterThanEqual"],"key":"bureau_loss_count","log":[],"reason":"Failed: 0.0 not greaterThanEqual 2","result":false,"source":2},{"against":["0","lessThanEqual"],"key":"bureau_dbt_count","log":[],"reason":"Passed: 0.0 lessThanEqual 2","result":true,"source":2},{"against":["0","lessThanEqual"],"key":"bureau_sub_count","log":[],"reason":"Passed: 0.0 lessThanEqual 2","result":true,"source":2},{"against":["1000","greaterThanEqual"],"key":"bureau_write_off_count","log":[],"reason":"Passed: 1000.0 greaterThanEqual 2","result":true,"source":2},{"against":["0","lessThanEqual"],"key":"bureau_settlement_count","log":[],"reason":"Passed: 0.0 lessThanEqual 2","result":true,"source":2},{"against":[],"key":"co_applicant_age_1_max","log":["Execution halted: Data not found: 'co_applicant_age_1_max' is missing from the JSON payload."],"reason":"Data not found: 'co_applicant_age_1_max' is missing from the JSON payload.","result":false,"source":[]}]},"status":false},"error":null} [2026-11-04 16:23:59] INFO: row.bre_decision_saved {"batch_id":"89013330-68df-49e4-a6f4-26754e16ef17","row":1,"vendor_loan_id":297,"bre_decision_id":830,"status":"success","decision":null} [2026-11-04 16:23:59] INFO: evaluate.completed {"batch_id":"89013330-68df-49e4-a6f4-26754e16ef17","summary":{"total":1,"succeeded":1,"failed":0,"validation_failed":0,"skipped_duplicate":0}} [2026-11-04 16:29:56] INFO: evaluate.received {"batch_id":"c90e0e46-3fa4-4cb6-989d-f33878275266","has_file":true,"filename":"temp_2026-11-04_16:29:49_1793789989_co_lending_loan_decision.xlsx","size":15047,"mime":null,"ip":null} [2026-11-04 16:29:56] INFO: import.sheet_parsed {"batch_id":"c90e0e46-3fa4-4cb6-989d-f33878275266","rows_seen":1,"rows_kept":1,"rows_skipped":0} [2026-11-04 16:29:56] INFO: evaluate.excel_parsed {"batch_id":"c90e0e46-3fa4-4cb6-989d-f33878275266","row_count":1} [2026-11-04 16:29:56] INFO: policy.request {"batch_id":"c90e0e46-3fa4-4cb6-989d-f33878275266","url":"http://localhost:7000/api/live/policy/policy-c678e363"} [2026-11-04 16:29:56] INFO: policy.response {"batch_id":"c90e0e46-3fa4-4cb6-989d-f33878275266","ok":true,"http_status":200,"duration_ms":259,"response":{"grade":{"rules":{"Blacksoil-Navdhan":{"rule":[{"description":["Blacksoil Age >=21 and <=60 pass else reject"],"key":"age","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Borrower Maturity Age"],"key":"borrower_maturity_age","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Co Applicant Age 2"],"key":"co_applicant_age_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Min Co Applicant Age 1 "],"key":"co_applicant_age_1_min","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil gender Male - \"Male - approve, If female then check marital status, If Female then check else ignore this rule Marital Status- Reject single women as primary borrower"],"key":"gender","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - co_applicant_bureau_score_1 (upto 3 lakh loan, >=620 OR -1 to 18 else reject)"],"key":"co_applicant_bureau_score_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Overdue Amount\t<=1000, pass"],"key":"overdue_amount","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - DPD (0-6 Months) if\t<3 pass"],"key":"dpd_0_6_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Business Vintage (Years) - >=3 years else reject"],"key":"business_vintage_years","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Co-applicant 2 Maturity Age (<=63 else reject)"],"key":"co_applicant_maturity_age_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil tenure - <=36 months else reject"],"key":"tenure","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Borrower Bureau Score (upto 3 lakh loan amount, >=650 else reject) or Loan Amount >3 Lakh and If score >700 pass else reject"],"key":"bureau_score","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence Vintage (Years) >=3 years else reject"],"key":"residence_vintage_years","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Bank Statement 6M, Minimum 6 months"],"key":"bank_statement_6m","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Co-applicant 1 Maturity Age (<=63 else reject)"],"key":"co_applicant_maturity_age_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - co_applicant_bureau_score_2 (upto 3 lakh loan, >=620 OR -1 to 18 else reject)"],"key":"co_applicant_bureau_score_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Active Credit Lines Count - Value\t<=3 pass"],"key":"active_credit_lines_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - DPD (6-12 Months) if <2 pass"],"key":"dpd_6_12_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Applicant NTC, pass if false"],"key":"applicant_ntc","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Cheque Bounce Count 6M,No bounce in last 6 months, pass"],"key":"cheque_bounce_count_6m","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Enquiries Last 3 Months\tValue\t<=5 pass"],"key":"enquiries_last_3_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence to Branch Distance (km) - <=30 KM from branch else reject"],"key":"residence_to_branch_distance_km","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Loan Amount - <=4,00,000 else reject"],"key":"loan_amount","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence Ownership - Owned/Ancestral/Rent Free else reject"],"key":"residence_ownership","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Son,Father,mother,Grandfather,Grandmother,Brother, Uncle (immediate paternal and maternal uncle) - pass else reject"],"key":"co_applicant_relationship_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Son,Father,mother,Grandfather,Grandmother,Brother, Uncle (immediate paternal and maternal uncle) - pass else reject"],"key":"co_applicant_relationship_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Foir foir <= 50% pass else fail"],"key":"foir","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - 1. Expansion of existing business. 2. Purchase of additional stock / raw material / working capital 3. Purchase of machinery/equipment 4. Refinancing of existing loans in case of an existing Navadhan customer"],"key":"loan_utilization","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil bureau_loss_count > 0 fail else pass"],"key":"bureau_loss_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_dbt_count > 0 reject else pass"],"key":"bureau_dbt_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_sub_count any value received > 0 reject else pass"],"key":"bureau_sub_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_write_off_count < 1000 pass else reject"],"key":"bureau_write_off_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_settlement_count > 0 reject else pass"],"key":"bureau_settlement_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["co_applicant_age_1_max"],"key":"co_applicant_age_1_max","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}}]}}}},"error":null} [2026-11-04 16:29:56] INFO: policy.parsed {"batch_id":"c90e0e46-3fa4-4cb6-989d-f33878275266","policy_count":1,"policy_names":["Blacksoil-Navdhan"]} [2026-11-04 16:29:56] INFO: row.start {"batch_id":"c90e0e46-3fa4-4cb6-989d-f33878275266","row":1,"application_id":"VDHA040LE002867"} [2026-11-04 16:29:56] INFO: row.lead_created {"batch_id":"c90e0e46-3fa4-4cb6-989d-f33878275266","row":1,"application_id":"VDHA040LE002867","vendor_loan_id":298} [2026-11-04 16:29:56] INFO: row.co_applicants_saved {"batch_id":"c90e0e46-3fa4-4cb6-989d-f33878275266","row":1,"vendor_loan_id":298,"count":2} [2026-11-04 16:29:57] INFO: row.decision_data_saved {"batch_id":"c90e0e46-3fa4-4cb6-989d-f33878275266","row":1,"vendor_loan_id":298,"decision_keys":93} [2026-11-04 16:29:57] INFO: row.api_request {"batch_id":"c90e0e46-3fa4-4cb6-989d-f33878275266","row":1,"vendor_loan_id":298,"url":"http://localhost:8889/","policies_payload":["Blacksoil-Navdhan"],"decision_keys":["application_id","age","gender","marital_status","applicant_ntc","household_monthly_income","household_annual_income","household_expenses","existing_emi_obligations","business_income","agriculture_income","dairy_income","foir","eligible_emi","eligible_loan_amount","loan_utilization","name_of_bureau","bureau_score","bureau_pull_date","overdue_amount","dpd_0_6_months","bureau_sub_count","bureau_dbt_count","bureau_loss_count","bureau_write_off_count","bureau_settlement_count","bureau_suit_filled_count","bureau_willful_default_count","restructured_count","dpd_6_12_months","enquiries_last_3_months","active_credit_lines_count","bank_statement_6m","cheque_bounce_count_6m","loan_amount","tenure","interest_rate","apr","repayment_frequency","loan_purpose","residence_area","residence_vintage_years","residence_ownership","residence_to_branch_distance_km","business_vintage_years","asset_fridge_value","asset_air_conditioner_value","asset_washing_machine_value","asset_tv_value","asset_smart_phone_value","co_applicant_age_1","co_applicant_relationship_1","co_applicant_years_of_stay_in_current_address_1","co_applicant_ntc_1","co_applicant_financial_status_1","co_applicant_name_of_bureau_1","co_applicant_bureau_score_1","co_applicant_bureau_pull_date_1","co_applicant_overdue_amount_1","co_applicant_dpd_0_6_months_1","co_applicant_dpd_6_12_months_1","co_applicant_bureau_sub_count_1","co_applicant_bureau_dbt_count_1","co_applicant_bureau_loss_count_1","co_applicant_bureau_write_off_count_1","co_applicant_bureau_settlement_count_1","co_applicant_bureau_suit_filed_count_1","co_applicant_bureau_willful_default_count_1","co_applicant_restructured_count_1","co_applicant_enquiries_last_3_months_1","co_applicant_active_credit_lines_count_1","co_applicant_age_2","co_applicant_relationship_2","co_applicant_years_of_stay_in_current_address_2","co_applicant_ntc_2","co_applicant_financial_status_2","co_applicant_name_of_bureau_2","co_applicant_bureau_score_2","co_applicant_bureau_pull_date_2","co_applicant_overdue_amount_2","co_applicant_dpd_0_6_months_2","co_applicant_dpd_6_12_months_2","co_applicant_bureau_sub_count_2","co_applicant_bureau_dbt_count_2","co_applicant_bureau_loss_count_2","co_applicant_bureau_write_off_count_2","co_applicant_bureau_settlement_count_2","co_applicant_bureau_suit_filed_count_2","co_applicant_bureau_willful_default_count_2","co_applicant_restructured_count_2","co_applicant_enquiries_last_3_months_2","co_applicant_active_credit_lines_count_2","borrower_maturity_age"],"payload":{"grade":{"rules":{"Blacksoil-Navdhan":{"rule":[{"description":["Blacksoil Age >=21 and <=60 pass else reject"],"key":"age","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Borrower Maturity Age"],"key":"borrower_maturity_age","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Co Applicant Age 2"],"key":"co_applicant_age_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Min Co Applicant Age 1 "],"key":"co_applicant_age_1_min","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil gender Male - \"Male - approve, If female then check marital status, If Female then check else ignore this rule Marital Status- Reject single women as primary borrower"],"key":"gender","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - co_applicant_bureau_score_1 (upto 3 lakh loan, >=620 OR -1 to 18 else reject)"],"key":"co_applicant_bureau_score_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Overdue Amount\t<=1000, pass"],"key":"overdue_amount","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - DPD (0-6 Months) if\t<3 pass"],"key":"dpd_0_6_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Business Vintage (Years) - >=3 years else reject"],"key":"business_vintage_years","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Co-applicant 2 Maturity Age (<=63 else reject)"],"key":"co_applicant_maturity_age_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil tenure - <=36 months else reject"],"key":"tenure","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Borrower Bureau Score (upto 3 lakh loan amount, >=650 else reject) or Loan Amount >3 Lakh and If score >700 pass else reject"],"key":"bureau_score","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence Vintage (Years) >=3 years else reject"],"key":"residence_vintage_years","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Bank Statement 6M, Minimum 6 months"],"key":"bank_statement_6m","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Co-applicant 1 Maturity Age (<=63 else reject)"],"key":"co_applicant_maturity_age_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - co_applicant_bureau_score_2 (upto 3 lakh loan, >=620 OR -1 to 18 else reject)"],"key":"co_applicant_bureau_score_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Active Credit Lines Count - Value\t<=3 pass"],"key":"active_credit_lines_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - DPD (6-12 Months) if <2 pass"],"key":"dpd_6_12_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Applicant NTC, pass if false"],"key":"applicant_ntc","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Cheque Bounce Count 6M,No bounce in last 6 months, pass"],"key":"cheque_bounce_count_6m","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Enquiries Last 3 Months\tValue\t<=5 pass"],"key":"enquiries_last_3_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence to Branch Distance (km) - <=30 KM from branch else reject"],"key":"residence_to_branch_distance_km","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Loan Amount - <=4,00,000 else reject"],"key":"loan_amount","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence Ownership - Owned/Ancestral/Rent Free else reject"],"key":"residence_ownership","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Son,Father,mother,Grandfather,Grandmother,Brother, Uncle (immediate paternal and maternal uncle) - pass else reject"],"key":"co_applicant_relationship_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Son,Father,mother,Grandfather,Grandmother,Brother, Uncle (immediate paternal and maternal uncle) - pass else reject"],"key":"co_applicant_relationship_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Foir foir <= 50% pass else fail"],"key":"foir","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - 1. Expansion of existing business. 2. Purchase of additional stock / raw material / working capital 3. Purchase of machinery/equipment 4. Refinancing of existing loans in case of an existing Navadhan customer"],"key":"loan_utilization","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil bureau_loss_count > 0 fail else pass"],"key":"bureau_loss_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_dbt_count > 0 reject else pass"],"key":"bureau_dbt_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_sub_count any value received > 0 reject else pass"],"key":"bureau_sub_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_write_off_count < 1000 pass else reject"],"key":"bureau_write_off_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_settlement_count > 0 reject else pass"],"key":"bureau_settlement_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["co_applicant_age_1_max"],"key":"co_applicant_age_1_max","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}}],"payload":{"application_id":"VDHA040LE002867","age":35,"gender":"male","marital_status":"married","applicant_ntc":"no","household_monthly_income":50000,"household_annual_income":600000,"household_expenses":85700,"existing_emi_obligations":9041,"business_income":28300,"agriculture_income":0,"dairy_income":0,"foir":40,"eligible_emi":90531,"eligible_loan_amount":250000,"loan_utilization":"purchase of machinery/equipment","name_of_bureau":"crif","bureau_score":700,"bureau_pull_date":"1983-01-01","overdue_amount":0,"dpd_0_6_months":1,"bureau_sub_count":0,"bureau_dbt_count":0,"bureau_loss_count":0,"bureau_write_off_count":0,"bureau_settlement_count":0,"bureau_suit_filled_count":0,"bureau_willful_default_count":0,"restructured_count":0,"dpd_6_12_months":1,"enquiries_last_3_months":2,"active_credit_lines_count":1,"bank_statement_6m":1,"cheque_bounce_count_6m":0,"loan_amount":250000,"tenure":24,"interest_rate":31,"apr":34.14,"repayment_frequency":"monthly","loan_purpose":"business expansion","residence_area":"rural","residence_vintage_years":5,"residence_ownership":"owned","residence_to_branch_distance_km":10,"business_vintage_years":5,"asset_fridge_value":10000,"asset_air_conditioner_value":0,"asset_washing_machine_value":12000,"asset_tv_value":8000,"asset_smart_phone_value":20000,"co_applicant_age_1":30,"co_applicant_relationship_1":"father","co_applicant_years_of_stay_in_current_address_1":"","co_applicant_ntc_1":"no","co_applicant_financial_status_1":"financial","co_applicant_name_of_bureau_1":"crif","co_applicant_bureau_score_1":650,"co_applicant_bureau_pull_date_1":"2025-03-26","co_applicant_overdue_amount_1":0,"co_applicant_dpd_0_6_months_1":0,"co_applicant_dpd_6_12_months_1":0,"co_applicant_bureau_sub_count_1":0,"co_applicant_bureau_dbt_count_1":0,"co_applicant_bureau_loss_count_1":0,"co_applicant_bureau_write_off_count_1":0,"co_applicant_bureau_settlement_count_1":0,"co_applicant_bureau_suit_filed_count_1":0,"co_applicant_bureau_willful_default_count_1":0,"co_applicant_restructured_count_1":0,"co_applicant_enquiries_last_3_months_1":0,"co_applicant_active_credit_lines_count_1":3,"co_applicant_age_2":28,"co_applicant_relationship_2":"mother","co_applicant_years_of_stay_in_current_address_2":30,"co_applicant_ntc_2":"yes","co_applicant_financial_status_2":"financial","co_applicant_name_of_bureau_2":"crif","co_applicant_bureau_score_2":650,"co_applicant_bureau_pull_date_2":"2026-04-15","co_applicant_overdue_amount_2":0,"co_applicant_dpd_0_6_months_2":0,"co_applicant_dpd_6_12_months_2":0,"co_applicant_bureau_sub_count_2":0,"co_applicant_bureau_dbt_count_2":0,"co_applicant_bureau_loss_count_2":0,"co_applicant_bureau_write_off_count_2":0,"co_applicant_bureau_settlement_count_2":0,"co_applicant_bureau_suit_filed_count_2":0,"co_applicant_bureau_willful_default_count_2":0,"co_applicant_restructured_count_2":0,"co_applicant_enquiries_last_3_months_2":0,"co_applicant_active_credit_lines_count_2":0,"borrower_maturity_age":37}}}}}} [2026-11-04 16:29:57] INFO: row.api_response {"batch_id":"c90e0e46-3fa4-4cb6-989d-f33878275266","row":1,"vendor_loan_id":298,"http_status":200,"ok":true,"duration_ms":351,"response":{"Blacksoil-Navdhan":{"failed_condition":{"key":"co_applicant_age_1_max","reason":"Data not found: 'co_applicant_age_1_max' is missing from the JSON payload."},"policy_status":false,"rules":[{"against":["pass","equal"],"key":"age","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["pass","equal"],"key":"borrower_maturity_age","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["18","lessThanEqual"],"key":"co_applicant_age_2","log":[],"reason":"Passed: 18.0 lessThanEqual 28","result":true,"source":28},{"against":[],"key":"co_applicant_age_1_min","log":["Execution halted: Data not found: 'co_applicant_age_1_min' is missing from the JSON payload."],"reason":"Data not found: 'co_applicant_age_1_min' is missing from the JSON payload.","result":false,"source":[]},{"against":["pass","equal"],"key":"gender","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["pass","equal"],"key":"co_applicant_bureau_score_1","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["1000","greaterThanEqual"],"key":"overdue_amount","log":[],"reason":"Passed: 1000.0 greaterThanEqual 0","result":true,"source":0},{"against":["3","greaterThan"],"key":"dpd_0_6_months","log":[],"reason":"Passed: 3.0 greaterThan 1","result":true,"source":1},{"against":["3","lessThanEqual"],"key":"business_vintage_years","log":[],"reason":"Passed: 3.0 lessThanEqual 5","result":true,"source":5},{"against":[],"key":"co_applicant_maturity_age_2","log":["Execution halted: '>' not supported between instances of 'float' and 'str'"],"reason":"'>' not supported between instances of 'float' and 'str'","result":false,"source":[]},{"against":["36","greaterThanEqual"],"key":"tenure","log":[],"reason":"Passed: 36.0 greaterThanEqual 24","result":true,"source":24},{"against":["pass","equal"],"key":"bureau_score","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["3","lessThanEqual"],"key":"residence_vintage_years","log":[],"reason":"Passed: 3.0 lessThanEqual 5","result":true,"source":5},{"against":["pass","equal"],"key":"bank_statement_6m","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["63","equal"],"key":"co_applicant_maturity_age_1","log":[],"reason":"Failed: 63 not equal pass","result":false,"source":"pass"},{"against":["pass","equal"],"key":"co_applicant_bureau_score_2","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["3","greaterThanEqual"],"key":"active_credit_lines_count","log":[],"reason":"Passed: 3.0 greaterThanEqual 1","result":true,"source":1},{"against":["60","greaterThan"],"key":"dpd_6_12_months","log":[],"reason":"Passed: 60.0 greaterThan 1","result":true,"source":1},{"against":["false","equal"],"key":"applicant_ntc","log":[],"reason":"Failed: false not equal no","result":false,"source":"no"},{"against":["0","greaterThanEqual"],"key":"cheque_bounce_count_6m","log":[],"reason":"Passed: 0.0 greaterThanEqual 0","result":true,"source":0},{"against":["5","greaterThanEqual"],"key":"enquiries_last_3_months","log":[],"reason":"Passed: 5.0 greaterThanEqual 2","result":true,"source":2},{"against":["30","greaterThanEqual"],"key":"residence_to_branch_distance_km","log":[],"reason":"Passed: 30.0 greaterThanEqual 10","result":true,"source":10},{"against":["400000","greaterThanEqual"],"key":"loan_amount","log":[],"reason":"Passed: 400000.0 greaterThanEqual 250000","result":true,"source":250000},{"against":[["rented","owned","leased","owned w/o regn"],"inList"],"key":"residence_ownership","log":[],"reason":"owned","result":true,"source":"owned"},{"against":[["father","mother","husband","wife","son","daughter","sister","son-in-law","daughter-in-law","mother-in-law","father-in-law","brother-in-law","sister-in-law","niece","uncle","nephew","aunt","grand-father","grand-mother","grand-son","grand-daughter","self","brother"],"inList"],"key":"co_applicant_relationship_1","log":[],"reason":"mother","result":true,"source":"father"},{"against":[["father","mother","husband","wife","son","daughter","sister","son-in-law","daughter-in-law","mother-in-law","father-in-law","brother-in-law","sister-in-law","niece","uncle","nephew","aunt","grand-father","grand-mother","grand-son","grand-daughter","self","brother"],"inList"],"key":"co_applicant_relationship_2","log":[],"reason":"mother","result":true,"source":"mother"},{"against":["50","greaterThanEqual"],"key":"foir","log":[],"reason":"Passed: 50.0 greaterThanEqual 40","result":true,"source":40},{"against":[["expansion of existing business","purchase of additional stock/ raw material/ working capital","purchase of machinery/equipment","refinancing of existing loans in case of an existing navadhan customer"],"inList"],"key":"loan_utilization","log":[],"reason":"purchase of additional stock/ raw material/ working capital","result":true,"source":"purchase of machinery/equipment"},{"against":["0","greaterThanEqual"],"key":"bureau_loss_count","log":[],"reason":"Passed: 0.0 greaterThanEqual 0","result":true,"source":0},{"against":["0","lessThanEqual"],"key":"bureau_dbt_count","log":[],"reason":"Passed: 0.0 lessThanEqual 0","result":true,"source":0},{"against":["0","lessThanEqual"],"key":"bureau_sub_count","log":[],"reason":"Passed: 0.0 lessThanEqual 0","result":true,"source":0},{"against":["1000","greaterThanEqual"],"key":"bureau_write_off_count","log":[],"reason":"Passed: 1000.0 greaterThanEqual 0","result":true,"source":0},{"against":["0","lessThanEqual"],"key":"bureau_settlement_count","log":[],"reason":"Passed: 0.0 lessThanEqual 0","result":true,"source":0},{"against":[],"key":"co_applicant_age_1_max","log":["Execution halted: Data not found: 'co_applicant_age_1_max' is missing from the JSON payload."],"reason":"Data not found: 'co_applicant_age_1_max' is missing from the JSON payload.","result":false,"source":[]}]},"status":false},"error":null} [2026-11-04 16:29:57] INFO: row.bre_decision_saved {"batch_id":"c90e0e46-3fa4-4cb6-989d-f33878275266","row":1,"vendor_loan_id":298,"bre_decision_id":831,"status":"success","decision":null} [2026-11-04 16:29:57] INFO: evaluate.completed {"batch_id":"c90e0e46-3fa4-4cb6-989d-f33878275266","summary":{"total":1,"succeeded":1,"failed":0,"validation_failed":0,"skipped_duplicate":0}} [2026-11-04 16:31:19] INFO: evaluate.received {"batch_id":"c7b3e96f-7a32-42c1-9f5c-15ffe99dc8b8","has_file":true,"filename":"temp_2026-11-04_16:31:17_1793790077_co_lending_loan_decision.xlsx","size":15045,"mime":null,"ip":null} [2026-11-04 16:31:19] INFO: import.sheet_parsed {"batch_id":"c7b3e96f-7a32-42c1-9f5c-15ffe99dc8b8","rows_seen":1,"rows_kept":1,"rows_skipped":0} [2026-11-04 16:31:19] INFO: evaluate.excel_parsed {"batch_id":"c7b3e96f-7a32-42c1-9f5c-15ffe99dc8b8","row_count":1} [2026-11-04 16:31:19] INFO: policy.request {"batch_id":"c7b3e96f-7a32-42c1-9f5c-15ffe99dc8b8","url":"http://localhost:7000/api/live/policy/policy-c678e363"} [2026-11-04 16:31:19] INFO: policy.response {"batch_id":"c7b3e96f-7a32-42c1-9f5c-15ffe99dc8b8","ok":true,"http_status":200,"duration_ms":226,"response":{"grade":{"rules":{"Blacksoil-Navdhan":{"rule":[{"description":["Blacksoil Age >=21 and <=60 pass else reject"],"key":"age","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Borrower Maturity Age"],"key":"borrower_maturity_age","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Co Applicant Age 2"],"key":"co_applicant_age_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Min Co Applicant Age 1 "],"key":"co_applicant_age_1_min","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil gender Male - \"Male - approve, If female then check marital status, If Female then check else ignore this rule Marital Status- Reject single women as primary borrower"],"key":"gender","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - co_applicant_bureau_score_1 (upto 3 lakh loan, >=620 OR -1 to 18 else reject)"],"key":"co_applicant_bureau_score_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Overdue Amount\t<=1000, pass"],"key":"overdue_amount","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - DPD (0-6 Months) if\t<3 pass"],"key":"dpd_0_6_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Business Vintage (Years) - >=3 years else reject"],"key":"business_vintage_years","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Co-applicant 2 Maturity Age (<=63 else reject)"],"key":"co_applicant_maturity_age_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil tenure - <=36 months else reject"],"key":"tenure","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Borrower Bureau Score (upto 3 lakh loan amount, >=650 else reject) or Loan Amount >3 Lakh and If score >700 pass else reject"],"key":"bureau_score","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence Vintage (Years) >=3 years else reject"],"key":"residence_vintage_years","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Bank Statement 6M, Minimum 6 months"],"key":"bank_statement_6m","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Co-applicant 1 Maturity Age (<=63 else reject)"],"key":"co_applicant_maturity_age_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - co_applicant_bureau_score_2 (upto 3 lakh loan, >=620 OR -1 to 18 else reject)"],"key":"co_applicant_bureau_score_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Active Credit Lines Count - Value\t<=3 pass"],"key":"active_credit_lines_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - DPD (6-12 Months) if <2 pass"],"key":"dpd_6_12_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Applicant NTC, pass if false"],"key":"applicant_ntc","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Cheque Bounce Count 6M,No bounce in last 6 months, pass"],"key":"cheque_bounce_count_6m","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Enquiries Last 3 Months\tValue\t<=5 pass"],"key":"enquiries_last_3_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence to Branch Distance (km) - <=30 KM from branch else reject"],"key":"residence_to_branch_distance_km","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Loan Amount - <=4,00,000 else reject"],"key":"loan_amount","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence Ownership - Owned/Ancestral/Rent Free else reject"],"key":"residence_ownership","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Son,Father,mother,Grandfather,Grandmother,Brother, Uncle (immediate paternal and maternal uncle) - pass else reject"],"key":"co_applicant_relationship_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Son,Father,mother,Grandfather,Grandmother,Brother, Uncle (immediate paternal and maternal uncle) - pass else reject"],"key":"co_applicant_relationship_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Foir foir <= 50% pass else fail"],"key":"foir","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - 1. Expansion of existing business. 2. Purchase of additional stock / raw material / working capital 3. Purchase of machinery/equipment 4. Refinancing of existing loans in case of an existing Navadhan customer"],"key":"loan_utilization","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil bureau_loss_count > 0 fail else pass"],"key":"bureau_loss_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_dbt_count > 0 reject else pass"],"key":"bureau_dbt_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_sub_count any value received > 0 reject else pass"],"key":"bureau_sub_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_write_off_count < 1000 pass else reject"],"key":"bureau_write_off_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_settlement_count > 0 reject else pass"],"key":"bureau_settlement_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["co_applicant_age_1_max"],"key":"co_applicant_age_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}}]}}}},"error":null} [2026-11-04 16:31:19] INFO: policy.parsed {"batch_id":"c7b3e96f-7a32-42c1-9f5c-15ffe99dc8b8","policy_count":1,"policy_names":["Blacksoil-Navdhan"]} [2026-11-04 16:31:19] INFO: row.start {"batch_id":"c7b3e96f-7a32-42c1-9f5c-15ffe99dc8b8","row":1,"application_id":"DHA040LE002867"} [2026-11-04 16:31:19] INFO: row.lead_created {"batch_id":"c7b3e96f-7a32-42c1-9f5c-15ffe99dc8b8","row":1,"application_id":"DHA040LE002867","vendor_loan_id":299} [2026-11-04 16:31:20] INFO: row.co_applicants_saved {"batch_id":"c7b3e96f-7a32-42c1-9f5c-15ffe99dc8b8","row":1,"vendor_loan_id":299,"count":2} [2026-11-04 16:31:20] INFO: row.decision_data_saved {"batch_id":"c7b3e96f-7a32-42c1-9f5c-15ffe99dc8b8","row":1,"vendor_loan_id":299,"decision_keys":93} [2026-11-04 16:31:20] INFO: row.api_request {"batch_id":"c7b3e96f-7a32-42c1-9f5c-15ffe99dc8b8","row":1,"vendor_loan_id":299,"url":"http://localhost:8889/","policies_payload":["Blacksoil-Navdhan"],"decision_keys":["application_id","age","gender","marital_status","applicant_ntc","household_monthly_income","household_annual_income","household_expenses","existing_emi_obligations","business_income","agriculture_income","dairy_income","foir","eligible_emi","eligible_loan_amount","loan_utilization","name_of_bureau","bureau_score","bureau_pull_date","overdue_amount","dpd_0_6_months","bureau_sub_count","bureau_dbt_count","bureau_loss_count","bureau_write_off_count","bureau_settlement_count","bureau_suit_filled_count","bureau_willful_default_count","restructured_count","dpd_6_12_months","enquiries_last_3_months","active_credit_lines_count","bank_statement_6m","cheque_bounce_count_6m","loan_amount","tenure","interest_rate","apr","repayment_frequency","loan_purpose","residence_area","residence_vintage_years","residence_ownership","residence_to_branch_distance_km","business_vintage_years","asset_fridge_value","asset_air_conditioner_value","asset_washing_machine_value","asset_tv_value","asset_smart_phone_value","co_applicant_age_1","co_applicant_relationship_1","co_applicant_years_of_stay_in_current_address_1","co_applicant_ntc_1","co_applicant_financial_status_1","co_applicant_name_of_bureau_1","co_applicant_bureau_score_1","co_applicant_bureau_pull_date_1","co_applicant_overdue_amount_1","co_applicant_dpd_0_6_months_1","co_applicant_dpd_6_12_months_1","co_applicant_bureau_sub_count_1","co_applicant_bureau_dbt_count_1","co_applicant_bureau_loss_count_1","co_applicant_bureau_write_off_count_1","co_applicant_bureau_settlement_count_1","co_applicant_bureau_suit_filed_count_1","co_applicant_bureau_willful_default_count_1","co_applicant_restructured_count_1","co_applicant_enquiries_last_3_months_1","co_applicant_active_credit_lines_count_1","co_applicant_age_2","co_applicant_relationship_2","co_applicant_years_of_stay_in_current_address_2","co_applicant_ntc_2","co_applicant_financial_status_2","co_applicant_name_of_bureau_2","co_applicant_bureau_score_2","co_applicant_bureau_pull_date_2","co_applicant_overdue_amount_2","co_applicant_dpd_0_6_months_2","co_applicant_dpd_6_12_months_2","co_applicant_bureau_sub_count_2","co_applicant_bureau_dbt_count_2","co_applicant_bureau_loss_count_2","co_applicant_bureau_write_off_count_2","co_applicant_bureau_settlement_count_2","co_applicant_bureau_suit_filed_count_2","co_applicant_bureau_willful_default_count_2","co_applicant_restructured_count_2","co_applicant_enquiries_last_3_months_2","co_applicant_active_credit_lines_count_2","borrower_maturity_age"],"payload":{"grade":{"rules":{"Blacksoil-Navdhan":{"rule":[{"description":["Blacksoil Age >=21 and <=60 pass else reject"],"key":"age","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Borrower Maturity Age"],"key":"borrower_maturity_age","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Co Applicant Age 2"],"key":"co_applicant_age_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Min Co Applicant Age 1 "],"key":"co_applicant_age_1_min","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil gender Male - \"Male - approve, If female then check marital status, If Female then check else ignore this rule Marital Status- Reject single women as primary borrower"],"key":"gender","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - co_applicant_bureau_score_1 (upto 3 lakh loan, >=620 OR -1 to 18 else reject)"],"key":"co_applicant_bureau_score_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Overdue Amount\t<=1000, pass"],"key":"overdue_amount","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - DPD (0-6 Months) if\t<3 pass"],"key":"dpd_0_6_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Business Vintage (Years) - >=3 years else reject"],"key":"business_vintage_years","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Co-applicant 2 Maturity Age (<=63 else reject)"],"key":"co_applicant_maturity_age_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil tenure - <=36 months else reject"],"key":"tenure","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Borrower Bureau Score (upto 3 lakh loan amount, >=650 else reject) or Loan Amount >3 Lakh and If score >700 pass else reject"],"key":"bureau_score","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence Vintage (Years) >=3 years else reject"],"key":"residence_vintage_years","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Bank Statement 6M, Minimum 6 months"],"key":"bank_statement_6m","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Co-applicant 1 Maturity Age (<=63 else reject)"],"key":"co_applicant_maturity_age_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - co_applicant_bureau_score_2 (upto 3 lakh loan, >=620 OR -1 to 18 else reject)"],"key":"co_applicant_bureau_score_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Active Credit Lines Count - Value\t<=3 pass"],"key":"active_credit_lines_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - DPD (6-12 Months) if <2 pass"],"key":"dpd_6_12_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Applicant NTC, pass if false"],"key":"applicant_ntc","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Cheque Bounce Count 6M,No bounce in last 6 months, pass"],"key":"cheque_bounce_count_6m","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Enquiries Last 3 Months\tValue\t<=5 pass"],"key":"enquiries_last_3_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence to Branch Distance (km) - <=30 KM from branch else reject"],"key":"residence_to_branch_distance_km","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Loan Amount - <=4,00,000 else reject"],"key":"loan_amount","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence Ownership - Owned/Ancestral/Rent Free else reject"],"key":"residence_ownership","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Son,Father,mother,Grandfather,Grandmother,Brother, Uncle (immediate paternal and maternal uncle) - pass else reject"],"key":"co_applicant_relationship_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Son,Father,mother,Grandfather,Grandmother,Brother, Uncle (immediate paternal and maternal uncle) - pass else reject"],"key":"co_applicant_relationship_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Foir foir <= 50% pass else fail"],"key":"foir","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - 1. Expansion of existing business. 2. Purchase of additional stock / raw material / working capital 3. Purchase of machinery/equipment 4. Refinancing of existing loans in case of an existing Navadhan customer"],"key":"loan_utilization","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil bureau_loss_count > 0 fail else pass"],"key":"bureau_loss_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_dbt_count > 0 reject else pass"],"key":"bureau_dbt_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_sub_count any value received > 0 reject else pass"],"key":"bureau_sub_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_write_off_count < 1000 pass else reject"],"key":"bureau_write_off_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_settlement_count > 0 reject else pass"],"key":"bureau_settlement_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["co_applicant_age_1_max"],"key":"co_applicant_age_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}}],"payload":{"application_id":"DHA040LE002867","age":35,"gender":"male","marital_status":"married","applicant_ntc":"no","household_monthly_income":50000,"household_annual_income":600000,"household_expenses":85700,"existing_emi_obligations":9041,"business_income":28300,"agriculture_income":0,"dairy_income":0,"foir":40,"eligible_emi":90531,"eligible_loan_amount":250000,"loan_utilization":"purchase of machinery/equipment","name_of_bureau":"crif","bureau_score":700,"bureau_pull_date":"1983-01-01","overdue_amount":0,"dpd_0_6_months":1,"bureau_sub_count":0,"bureau_dbt_count":0,"bureau_loss_count":0,"bureau_write_off_count":0,"bureau_settlement_count":0,"bureau_suit_filled_count":0,"bureau_willful_default_count":0,"restructured_count":0,"dpd_6_12_months":1,"enquiries_last_3_months":2,"active_credit_lines_count":1,"bank_statement_6m":1,"cheque_bounce_count_6m":0,"loan_amount":250000,"tenure":24,"interest_rate":31,"apr":34.14,"repayment_frequency":"monthly","loan_purpose":"business expansion","residence_area":"rural","residence_vintage_years":5,"residence_ownership":"owned","residence_to_branch_distance_km":10,"business_vintage_years":5,"asset_fridge_value":10000,"asset_air_conditioner_value":0,"asset_washing_machine_value":12000,"asset_tv_value":8000,"asset_smart_phone_value":20000,"co_applicant_age_1":30,"co_applicant_relationship_1":"father","co_applicant_years_of_stay_in_current_address_1":"","co_applicant_ntc_1":"no","co_applicant_financial_status_1":"financial","co_applicant_name_of_bureau_1":"crif","co_applicant_bureau_score_1":650,"co_applicant_bureau_pull_date_1":"2025-03-26","co_applicant_overdue_amount_1":0,"co_applicant_dpd_0_6_months_1":0,"co_applicant_dpd_6_12_months_1":0,"co_applicant_bureau_sub_count_1":0,"co_applicant_bureau_dbt_count_1":0,"co_applicant_bureau_loss_count_1":0,"co_applicant_bureau_write_off_count_1":0,"co_applicant_bureau_settlement_count_1":0,"co_applicant_bureau_suit_filed_count_1":0,"co_applicant_bureau_willful_default_count_1":0,"co_applicant_restructured_count_1":0,"co_applicant_enquiries_last_3_months_1":0,"co_applicant_active_credit_lines_count_1":3,"co_applicant_age_2":28,"co_applicant_relationship_2":"mother","co_applicant_years_of_stay_in_current_address_2":30,"co_applicant_ntc_2":"yes","co_applicant_financial_status_2":"financial","co_applicant_name_of_bureau_2":"crif","co_applicant_bureau_score_2":650,"co_applicant_bureau_pull_date_2":"2026-04-15","co_applicant_overdue_amount_2":0,"co_applicant_dpd_0_6_months_2":0,"co_applicant_dpd_6_12_months_2":0,"co_applicant_bureau_sub_count_2":0,"co_applicant_bureau_dbt_count_2":0,"co_applicant_bureau_loss_count_2":0,"co_applicant_bureau_write_off_count_2":0,"co_applicant_bureau_settlement_count_2":0,"co_applicant_bureau_suit_filed_count_2":0,"co_applicant_bureau_willful_default_count_2":0,"co_applicant_restructured_count_2":0,"co_applicant_enquiries_last_3_months_2":0,"co_applicant_active_credit_lines_count_2":0,"borrower_maturity_age":37}}}}}} [2026-11-04 16:31:20] INFO: row.api_response {"batch_id":"c7b3e96f-7a32-42c1-9f5c-15ffe99dc8b8","row":1,"vendor_loan_id":299,"http_status":200,"ok":true,"duration_ms":348,"response":{"Blacksoil-Navdhan":{"failed_condition":{"key":"applicant_ntc","reason":"Failed: false not equal no"},"policy_status":false,"rules":[{"against":["pass","equal"],"key":"age","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["pass","equal"],"key":"borrower_maturity_age","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["18","lessThanEqual"],"key":"co_applicant_age_2","log":[],"reason":"Passed: 18.0 lessThanEqual 28","result":true,"source":28},{"against":[],"key":"co_applicant_age_1_min","log":["Execution halted: Data not found: 'co_applicant_age_1_min' is missing from the JSON payload."],"reason":"Data not found: 'co_applicant_age_1_min' is missing from the JSON payload.","result":false,"source":[]},{"against":["pass","equal"],"key":"gender","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["pass","equal"],"key":"co_applicant_bureau_score_1","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["1000","greaterThanEqual"],"key":"overdue_amount","log":[],"reason":"Passed: 1000.0 greaterThanEqual 0","result":true,"source":0},{"against":["3","greaterThan"],"key":"dpd_0_6_months","log":[],"reason":"Passed: 3.0 greaterThan 1","result":true,"source":1},{"against":["3","lessThanEqual"],"key":"business_vintage_years","log":[],"reason":"Passed: 3.0 lessThanEqual 5","result":true,"source":5},{"against":[],"key":"co_applicant_maturity_age_2","log":["Execution halted: '>' not supported between instances of 'float' and 'str'"],"reason":"'>' not supported between instances of 'float' and 'str'","result":false,"source":[]},{"against":["36","greaterThanEqual"],"key":"tenure","log":[],"reason":"Passed: 36.0 greaterThanEqual 24","result":true,"source":24},{"against":["pass","equal"],"key":"bureau_score","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["3","lessThanEqual"],"key":"residence_vintage_years","log":[],"reason":"Passed: 3.0 lessThanEqual 5","result":true,"source":5},{"against":["pass","equal"],"key":"bank_statement_6m","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["63","equal"],"key":"co_applicant_maturity_age_1","log":[],"reason":"Failed: 63 not equal pass","result":false,"source":"pass"},{"against":["pass","equal"],"key":"co_applicant_bureau_score_2","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["3","greaterThanEqual"],"key":"active_credit_lines_count","log":[],"reason":"Passed: 3.0 greaterThanEqual 1","result":true,"source":1},{"against":["60","greaterThan"],"key":"dpd_6_12_months","log":[],"reason":"Passed: 60.0 greaterThan 1","result":true,"source":1},{"against":["false","equal"],"key":"applicant_ntc","log":[],"reason":"Failed: false not equal no","result":false,"source":"no"},{"against":["0","greaterThanEqual"],"key":"cheque_bounce_count_6m","log":[],"reason":"Passed: 0.0 greaterThanEqual 0","result":true,"source":0},{"against":["5","greaterThanEqual"],"key":"enquiries_last_3_months","log":[],"reason":"Passed: 5.0 greaterThanEqual 2","result":true,"source":2},{"against":["30","greaterThanEqual"],"key":"residence_to_branch_distance_km","log":[],"reason":"Passed: 30.0 greaterThanEqual 10","result":true,"source":10},{"against":["400000","greaterThanEqual"],"key":"loan_amount","log":[],"reason":"Passed: 400000.0 greaterThanEqual 250000","result":true,"source":250000},{"against":[["rented","owned","leased","owned w/o regn"],"inList"],"key":"residence_ownership","log":[],"reason":"owned","result":true,"source":"owned"},{"against":[["father","mother","husband","wife","son","daughter","sister","son-in-law","daughter-in-law","mother-in-law","father-in-law","brother-in-law","sister-in-law","niece","uncle","nephew","aunt","grand-father","grand-mother","grand-son","grand-daughter","self","brother"],"inList"],"key":"co_applicant_relationship_1","log":[],"reason":"mother","result":true,"source":"father"},{"against":[["father","mother","husband","wife","son","daughter","sister","son-in-law","daughter-in-law","mother-in-law","father-in-law","brother-in-law","sister-in-law","niece","uncle","nephew","aunt","grand-father","grand-mother","grand-son","grand-daughter","self","brother"],"inList"],"key":"co_applicant_relationship_2","log":[],"reason":"mother","result":true,"source":"mother"},{"against":["50","greaterThanEqual"],"key":"foir","log":[],"reason":"Passed: 50.0 greaterThanEqual 40","result":true,"source":40},{"against":[["expansion of existing business","purchase of additional stock/ raw material/ working capital","purchase of machinery/equipment","refinancing of existing loans in case of an existing navadhan customer"],"inList"],"key":"loan_utilization","log":[],"reason":"purchase of additional stock/ raw material/ working capital","result":true,"source":"purchase of machinery/equipment"},{"against":["0","greaterThanEqual"],"key":"bureau_loss_count","log":[],"reason":"Passed: 0.0 greaterThanEqual 0","result":true,"source":0},{"against":["0","lessThanEqual"],"key":"bureau_dbt_count","log":[],"reason":"Passed: 0.0 lessThanEqual 0","result":true,"source":0},{"against":["0","lessThanEqual"],"key":"bureau_sub_count","log":[],"reason":"Passed: 0.0 lessThanEqual 0","result":true,"source":0},{"against":["1000","greaterThanEqual"],"key":"bureau_write_off_count","log":[],"reason":"Passed: 1000.0 greaterThanEqual 0","result":true,"source":0},{"against":["0","lessThanEqual"],"key":"bureau_settlement_count","log":[],"reason":"Passed: 0.0 lessThanEqual 0","result":true,"source":0},{"against":["63","greaterThanEqual"],"key":"co_applicant_age_1","log":[],"reason":"Passed: 63.0 greaterThanEqual 30","result":true,"source":30}]},"status":false},"error":null} [2026-11-04 16:31:20] INFO: row.bre_decision_saved {"batch_id":"c7b3e96f-7a32-42c1-9f5c-15ffe99dc8b8","row":1,"vendor_loan_id":299,"bre_decision_id":832,"status":"success","decision":null} [2026-11-04 16:31:20] INFO: evaluate.completed {"batch_id":"c7b3e96f-7a32-42c1-9f5c-15ffe99dc8b8","summary":{"total":1,"succeeded":1,"failed":0,"validation_failed":0,"skipped_duplicate":0}} [2026-11-04 16:33:33] INFO: evaluate.received {"batch_id":"154c9a82-7a3e-4c66-b1dc-e57b8fc12240","has_file":true,"filename":"temp_2026-11-04_16:33:30_1793790210_co_lending_loan_decision.xlsx","size":15044,"mime":null,"ip":null} [2026-11-04 16:33:33] INFO: import.sheet_parsed {"batch_id":"154c9a82-7a3e-4c66-b1dc-e57b8fc12240","rows_seen":1,"rows_kept":1,"rows_skipped":0} [2026-11-04 16:33:33] INFO: evaluate.excel_parsed {"batch_id":"154c9a82-7a3e-4c66-b1dc-e57b8fc12240","row_count":1} [2026-11-04 16:33:33] INFO: policy.request {"batch_id":"154c9a82-7a3e-4c66-b1dc-e57b8fc12240","url":"http://localhost:7000/api/live/policy/policy-c678e363"} [2026-11-04 16:33:33] INFO: policy.response {"batch_id":"154c9a82-7a3e-4c66-b1dc-e57b8fc12240","ok":true,"http_status":200,"duration_ms":230,"response":{"grade":{"rules":{"Blacksoil-Navdhan":{"rule":[{"description":["Blacksoil Age >=21 and <=60 pass else reject"],"key":"age","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Borrower Maturity Age"],"key":"borrower_maturity_age","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Co Applicant Age 2"],"key":"co_applicant_age_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["co_applicant_age_1_min"],"key":"co_applicant_age_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil gender Male - \"Male - approve, If female then check marital status, If Female then check else ignore this rule Marital Status- Reject single women as primary borrower"],"key":"gender","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - co_applicant_bureau_score_1 (upto 3 lakh loan, >=620 OR -1 to 18 else reject)"],"key":"co_applicant_bureau_score_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Overdue Amount\t<=1000, pass"],"key":"overdue_amount","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - DPD (0-6 Months) if\t<3 pass"],"key":"dpd_0_6_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Business Vintage (Years) - >=3 years else reject"],"key":"business_vintage_years","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Co-applicant 2 Maturity Age (<=63 else reject)"],"key":"co_applicant_maturity_age_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil tenure - <=36 months else reject"],"key":"tenure","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Borrower Bureau Score (upto 3 lakh loan amount, >=650 else reject) or Loan Amount >3 Lakh and If score >700 pass else reject"],"key":"bureau_score","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence Vintage (Years) >=3 years else reject"],"key":"residence_vintage_years","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Bank Statement 6M, Minimum 6 months"],"key":"bank_statement_6m","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Co-applicant 1 Maturity Age (<=63 else reject)"],"key":"co_applicant_maturity_age_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - co_applicant_bureau_score_2 (upto 3 lakh loan, >=620 OR -1 to 18 else reject)"],"key":"co_applicant_bureau_score_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Active Credit Lines Count - Value\t<=3 pass"],"key":"active_credit_lines_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - DPD (6-12 Months) if <2 pass"],"key":"dpd_6_12_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Applicant NTC, pass if false"],"key":"applicant_ntc","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Cheque Bounce Count 6M,No bounce in last 6 months, pass"],"key":"cheque_bounce_count_6m","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Enquiries Last 3 Months\tValue\t<=5 pass"],"key":"enquiries_last_3_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence to Branch Distance (km) - <=30 KM from branch else reject"],"key":"residence_to_branch_distance_km","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Loan Amount - <=4,00,000 else reject"],"key":"loan_amount","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence Ownership - Owned/Ancestral/Rent Free else reject"],"key":"residence_ownership","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Son,Father,mother,Grandfather,Grandmother,Brother, Uncle (immediate paternal and maternal uncle) - pass else reject"],"key":"co_applicant_relationship_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Son,Father,mother,Grandfather,Grandmother,Brother, Uncle (immediate paternal and maternal uncle) - pass else reject"],"key":"co_applicant_relationship_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Foir foir <= 50% pass else fail"],"key":"foir","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - 1. Expansion of existing business. 2. Purchase of additional stock / raw material / working capital 3. Purchase of machinery/equipment 4. Refinancing of existing loans in case of an existing Navadhan customer"],"key":"loan_utilization","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil bureau_loss_count > 0 fail else pass"],"key":"bureau_loss_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_dbt_count > 0 reject else pass"],"key":"bureau_dbt_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_sub_count any value received > 0 reject else pass"],"key":"bureau_sub_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_write_off_count < 1000 pass else reject"],"key":"bureau_write_off_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_settlement_count > 0 reject else pass"],"key":"bureau_settlement_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["co_applicant_age_1_max"],"key":"co_applicant_age_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}}]}}}},"error":null} [2026-11-04 16:33:33] INFO: policy.parsed {"batch_id":"154c9a82-7a3e-4c66-b1dc-e57b8fc12240","policy_count":1,"policy_names":["Blacksoil-Navdhan"]} [2026-11-04 16:33:33] INFO: row.start {"batch_id":"154c9a82-7a3e-4c66-b1dc-e57b8fc12240","row":1,"application_id":"WDHA040LE002867"} [2026-11-04 16:33:33] INFO: row.lead_created {"batch_id":"154c9a82-7a3e-4c66-b1dc-e57b8fc12240","row":1,"application_id":"WDHA040LE002867","vendor_loan_id":300} [2026-11-04 16:33:33] INFO: row.co_applicants_saved {"batch_id":"154c9a82-7a3e-4c66-b1dc-e57b8fc12240","row":1,"vendor_loan_id":300,"count":2} [2026-11-04 16:33:33] INFO: row.decision_data_saved {"batch_id":"154c9a82-7a3e-4c66-b1dc-e57b8fc12240","row":1,"vendor_loan_id":300,"decision_keys":93} [2026-11-04 16:33:33] INFO: row.api_request {"batch_id":"154c9a82-7a3e-4c66-b1dc-e57b8fc12240","row":1,"vendor_loan_id":300,"url":"http://localhost:8889/","policies_payload":["Blacksoil-Navdhan"],"decision_keys":["application_id","age","gender","marital_status","applicant_ntc","household_monthly_income","household_annual_income","household_expenses","existing_emi_obligations","business_income","agriculture_income","dairy_income","foir","eligible_emi","eligible_loan_amount","loan_utilization","name_of_bureau","bureau_score","bureau_pull_date","overdue_amount","dpd_0_6_months","bureau_sub_count","bureau_dbt_count","bureau_loss_count","bureau_write_off_count","bureau_settlement_count","bureau_suit_filled_count","bureau_willful_default_count","restructured_count","dpd_6_12_months","enquiries_last_3_months","active_credit_lines_count","bank_statement_6m","cheque_bounce_count_6m","loan_amount","tenure","interest_rate","apr","repayment_frequency","loan_purpose","residence_area","residence_vintage_years","residence_ownership","residence_to_branch_distance_km","business_vintage_years","asset_fridge_value","asset_air_conditioner_value","asset_washing_machine_value","asset_tv_value","asset_smart_phone_value","co_applicant_age_1","co_applicant_relationship_1","co_applicant_years_of_stay_in_current_address_1","co_applicant_ntc_1","co_applicant_financial_status_1","co_applicant_name_of_bureau_1","co_applicant_bureau_score_1","co_applicant_bureau_pull_date_1","co_applicant_overdue_amount_1","co_applicant_dpd_0_6_months_1","co_applicant_dpd_6_12_months_1","co_applicant_bureau_sub_count_1","co_applicant_bureau_dbt_count_1","co_applicant_bureau_loss_count_1","co_applicant_bureau_write_off_count_1","co_applicant_bureau_settlement_count_1","co_applicant_bureau_suit_filed_count_1","co_applicant_bureau_willful_default_count_1","co_applicant_restructured_count_1","co_applicant_enquiries_last_3_months_1","co_applicant_active_credit_lines_count_1","co_applicant_age_2","co_applicant_relationship_2","co_applicant_years_of_stay_in_current_address_2","co_applicant_ntc_2","co_applicant_financial_status_2","co_applicant_name_of_bureau_2","co_applicant_bureau_score_2","co_applicant_bureau_pull_date_2","co_applicant_overdue_amount_2","co_applicant_dpd_0_6_months_2","co_applicant_dpd_6_12_months_2","co_applicant_bureau_sub_count_2","co_applicant_bureau_dbt_count_2","co_applicant_bureau_loss_count_2","co_applicant_bureau_write_off_count_2","co_applicant_bureau_settlement_count_2","co_applicant_bureau_suit_filed_count_2","co_applicant_bureau_willful_default_count_2","co_applicant_restructured_count_2","co_applicant_enquiries_last_3_months_2","co_applicant_active_credit_lines_count_2","borrower_maturity_age"],"payload":{"grade":{"rules":{"Blacksoil-Navdhan":{"rule":[{"description":["Blacksoil Age >=21 and <=60 pass else reject"],"key":"age","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Borrower Maturity Age"],"key":"borrower_maturity_age","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Co Applicant Age 2"],"key":"co_applicant_age_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["co_applicant_age_1_min"],"key":"co_applicant_age_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil gender Male - \"Male - approve, If female then check marital status, If Female then check else ignore this rule Marital Status- Reject single women as primary borrower"],"key":"gender","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - co_applicant_bureau_score_1 (upto 3 lakh loan, >=620 OR -1 to 18 else reject)"],"key":"co_applicant_bureau_score_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Overdue Amount\t<=1000, pass"],"key":"overdue_amount","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - DPD (0-6 Months) if\t<3 pass"],"key":"dpd_0_6_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Business Vintage (Years) - >=3 years else reject"],"key":"business_vintage_years","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Co-applicant 2 Maturity Age (<=63 else reject)"],"key":"co_applicant_maturity_age_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil tenure - <=36 months else reject"],"key":"tenure","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Borrower Bureau Score (upto 3 lakh loan amount, >=650 else reject) or Loan Amount >3 Lakh and If score >700 pass else reject"],"key":"bureau_score","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence Vintage (Years) >=3 years else reject"],"key":"residence_vintage_years","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Bank Statement 6M, Minimum 6 months"],"key":"bank_statement_6m","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Co-applicant 1 Maturity Age (<=63 else reject)"],"key":"co_applicant_maturity_age_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - co_applicant_bureau_score_2 (upto 3 lakh loan, >=620 OR -1 to 18 else reject)"],"key":"co_applicant_bureau_score_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Active Credit Lines Count - Value\t<=3 pass"],"key":"active_credit_lines_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - DPD (6-12 Months) if <2 pass"],"key":"dpd_6_12_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Applicant NTC, pass if false"],"key":"applicant_ntc","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Cheque Bounce Count 6M,No bounce in last 6 months, pass"],"key":"cheque_bounce_count_6m","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Enquiries Last 3 Months\tValue\t<=5 pass"],"key":"enquiries_last_3_months","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence to Branch Distance (km) - <=30 KM from branch else reject"],"key":"residence_to_branch_distance_km","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Loan Amount - <=4,00,000 else reject"],"key":"loan_amount","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - Residence Ownership - Owned/Ancestral/Rent Free else reject"],"key":"residence_ownership","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Son,Father,mother,Grandfather,Grandmother,Brother, Uncle (immediate paternal and maternal uncle) - pass else reject"],"key":"co_applicant_relationship_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Son,Father,mother,Grandfather,Grandmother,Brother, Uncle (immediate paternal and maternal uncle) - pass else reject"],"key":"co_applicant_relationship_2","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil Foir foir <= 50% pass else fail"],"key":"foir","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil - 1. Expansion of existing business. 2. Purchase of additional stock / raw material / working capital 3. Purchase of machinery/equipment 4. Refinancing of existing loans in case of an existing Navadhan customer"],"key":"loan_utilization","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["Blacksoil bureau_loss_count > 0 fail else pass"],"key":"bureau_loss_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_dbt_count > 0 reject else pass"],"key":"bureau_dbt_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_sub_count any value received > 0 reject else pass"],"key":"bureau_sub_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_write_off_count < 1000 pass else reject"],"key":"bureau_write_off_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["bureau_settlement_count > 0 reject else pass"],"key":"bureau_settlement_count","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}},{"description":["co_applicant_age_1_max"],"key":"co_applicant_age_1","priority":1,"value":{"against":["Over 9 levels deep, aborting normalization"],"source":["Over 9 levels deep, aborting normalization"]}}],"payload":{"application_id":"WDHA040LE002867","age":35,"gender":"male","marital_status":"married","applicant_ntc":"no","household_monthly_income":50000,"household_annual_income":600000,"household_expenses":85700,"existing_emi_obligations":9041,"business_income":28300,"agriculture_income":0,"dairy_income":0,"foir":40,"eligible_emi":90531,"eligible_loan_amount":250000,"loan_utilization":"purchase of machinery/equipment","name_of_bureau":"crif","bureau_score":700,"bureau_pull_date":"1983-01-01","overdue_amount":0,"dpd_0_6_months":1,"bureau_sub_count":0,"bureau_dbt_count":0,"bureau_loss_count":0,"bureau_write_off_count":0,"bureau_settlement_count":0,"bureau_suit_filled_count":0,"bureau_willful_default_count":0,"restructured_count":0,"dpd_6_12_months":1,"enquiries_last_3_months":2,"active_credit_lines_count":1,"bank_statement_6m":1,"cheque_bounce_count_6m":0,"loan_amount":250000,"tenure":24,"interest_rate":31,"apr":34.14,"repayment_frequency":"monthly","loan_purpose":"business expansion","residence_area":"rural","residence_vintage_years":5,"residence_ownership":"owned","residence_to_branch_distance_km":10,"business_vintage_years":5,"asset_fridge_value":10000,"asset_air_conditioner_value":0,"asset_washing_machine_value":12000,"asset_tv_value":8000,"asset_smart_phone_value":20000,"co_applicant_age_1":30,"co_applicant_relationship_1":"father","co_applicant_years_of_stay_in_current_address_1":"","co_applicant_ntc_1":"no","co_applicant_financial_status_1":"financial","co_applicant_name_of_bureau_1":"crif","co_applicant_bureau_score_1":650,"co_applicant_bureau_pull_date_1":"2025-03-26","co_applicant_overdue_amount_1":0,"co_applicant_dpd_0_6_months_1":0,"co_applicant_dpd_6_12_months_1":0,"co_applicant_bureau_sub_count_1":0,"co_applicant_bureau_dbt_count_1":0,"co_applicant_bureau_loss_count_1":0,"co_applicant_bureau_write_off_count_1":0,"co_applicant_bureau_settlement_count_1":0,"co_applicant_bureau_suit_filed_count_1":0,"co_applicant_bureau_willful_default_count_1":0,"co_applicant_restructured_count_1":0,"co_applicant_enquiries_last_3_months_1":0,"co_applicant_active_credit_lines_count_1":3,"co_applicant_age_2":28,"co_applicant_relationship_2":"mother","co_applicant_years_of_stay_in_current_address_2":30,"co_applicant_ntc_2":"yes","co_applicant_financial_status_2":"financial","co_applicant_name_of_bureau_2":"crif","co_applicant_bureau_score_2":650,"co_applicant_bureau_pull_date_2":"2026-04-15","co_applicant_overdue_amount_2":0,"co_applicant_dpd_0_6_months_2":0,"co_applicant_dpd_6_12_months_2":0,"co_applicant_bureau_sub_count_2":0,"co_applicant_bureau_dbt_count_2":0,"co_applicant_bureau_loss_count_2":0,"co_applicant_bureau_write_off_count_2":0,"co_applicant_bureau_settlement_count_2":0,"co_applicant_bureau_suit_filed_count_2":0,"co_applicant_bureau_willful_default_count_2":0,"co_applicant_restructured_count_2":0,"co_applicant_enquiries_last_3_months_2":0,"co_applicant_active_credit_lines_count_2":0,"borrower_maturity_age":37}}}}}} [2026-11-04 16:33:34] INFO: row.api_response {"batch_id":"154c9a82-7a3e-4c66-b1dc-e57b8fc12240","row":1,"vendor_loan_id":300,"http_status":200,"ok":true,"duration_ms":332,"response":{"Blacksoil-Navdhan":{"failed_condition":{"key":"applicant_ntc","reason":"Failed: false not equal no"},"policy_status":false,"rules":[{"against":["pass","equal"],"key":"age","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["pass","equal"],"key":"borrower_maturity_age","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["18","lessThanEqual"],"key":"co_applicant_age_2","log":[],"reason":"Passed: 18.0 lessThanEqual 28","result":true,"source":28},{"against":["18","lessThanEqual"],"key":"co_applicant_age_1","log":[],"reason":"Passed: 18.0 lessThanEqual 30","result":true,"source":30},{"against":["pass","equal"],"key":"gender","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["pass","equal"],"key":"co_applicant_bureau_score_1","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["1000","greaterThanEqual"],"key":"overdue_amount","log":[],"reason":"Passed: 1000.0 greaterThanEqual 0","result":true,"source":0},{"against":["3","greaterThan"],"key":"dpd_0_6_months","log":[],"reason":"Passed: 3.0 greaterThan 1","result":true,"source":1},{"against":["3","lessThanEqual"],"key":"business_vintage_years","log":[],"reason":"Passed: 3.0 lessThanEqual 5","result":true,"source":5},{"against":[],"key":"co_applicant_maturity_age_2","log":["Execution halted: '>' not supported between instances of 'float' and 'str'"],"reason":"'>' not supported between instances of 'float' and 'str'","result":false,"source":[]},{"against":["36","greaterThanEqual"],"key":"tenure","log":[],"reason":"Passed: 36.0 greaterThanEqual 24","result":true,"source":24},{"against":["pass","equal"],"key":"bureau_score","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["3","lessThanEqual"],"key":"residence_vintage_years","log":[],"reason":"Passed: 3.0 lessThanEqual 5","result":true,"source":5},{"against":["pass","equal"],"key":"bank_statement_6m","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["63","equal"],"key":"co_applicant_maturity_age_1","log":[],"reason":"Failed: 63 not equal pass","result":false,"source":"pass"},{"against":["pass","equal"],"key":"co_applicant_bureau_score_2","log":[],"reason":"Passed: pass equal pass","result":true,"source":"pass"},{"against":["3","greaterThanEqual"],"key":"active_credit_lines_count","log":[],"reason":"Passed: 3.0 greaterThanEqual 1","result":true,"source":1},{"against":["60","greaterThan"],"key":"dpd_6_12_months","log":[],"reason":"Passed: 60.0 greaterThan 1","result":true,"source":1},{"against":["false","equal"],"key":"applicant_ntc","log":[],"reason":"Failed: false not equal no","result":false,"source":"no"},{"against":["0","greaterThanEqual"],"key":"cheque_bounce_count_6m","log":[],"reason":"Passed: 0.0 greaterThanEqual 0","result":true,"source":0},{"against":["5","greaterThanEqual"],"key":"enquiries_last_3_months","log":[],"reason":"Passed: 5.0 greaterThanEqual 2","result":true,"source":2},{"against":["30","greaterThanEqual"],"key":"residence_to_branch_distance_km","log":[],"reason":"Passed: 30.0 greaterThanEqual 10","result":true,"source":10},{"against":["400000","greaterThanEqual"],"key":"loan_amount","log":[],"reason":"Passed: 400000.0 greaterThanEqual 250000","result":true,"source":250000},{"against":[["rented","owned","leased","owned w/o regn"],"inList"],"key":"residence_ownership","log":[],"reason":"owned","result":true,"source":"owned"},{"against":[["father","mother","husband","wife","son","daughter","sister","son-in-law","daughter-in-law","mother-in-law","father-in-law","brother-in-law","sister-in-law","niece","uncle","nephew","aunt","grand-father","grand-mother","grand-son","grand-daughter","self","brother"],"inList"],"key":"co_applicant_relationship_1","log":[],"reason":"mother","result":true,"source":"father"},{"against":[["father","mother","husband","wife","son","daughter","sister","son-in-law","daughter-in-law","mother-in-law","father-in-law","brother-in-law","sister-in-law","niece","uncle","nephew","aunt","grand-father","grand-mother","grand-son","grand-daughter","self","brother"],"inList"],"key":"co_applicant_relationship_2","log":[],"reason":"mother","result":true,"source":"mother"},{"against":["50","greaterThanEqual"],"key":"foir","log":[],"reason":"Passed: 50.0 greaterThanEqual 40","result":true,"source":40},{"against":[["expansion of existing business","purchase of additional stock/ raw material/ working capital","purchase of machinery/equipment","refinancing of existing loans in case of an existing navadhan customer"],"inList"],"key":"loan_utilization","log":[],"reason":"purchase of additional stock/ raw material/ working capital","result":true,"source":"purchase of machinery/equipment"},{"against":["0","greaterThanEqual"],"key":"bureau_loss_count","log":[],"reason":"Passed: 0.0 greaterThanEqual 0","result":true,"source":0},{"against":["0","lessThanEqual"],"key":"bureau_dbt_count","log":[],"reason":"Passed: 0.0 lessThanEqual 0","result":true,"source":0},{"against":["0","lessThanEqual"],"key":"bureau_sub_count","log":[],"reason":"Passed: 0.0 lessThanEqual 0","result":true,"source":0},{"against":["1000","greaterThanEqual"],"key":"bureau_write_off_count","log":[],"reason":"Passed: 1000.0 greaterThanEqual 0","result":true,"source":0},{"against":["0","lessThanEqual"],"key":"bureau_settlement_count","log":[],"reason":"Passed: 0.0 lessThanEqual 0","result":true,"source":0},{"against":["63","greaterThanEqual"],"key":"co_applicant_age_1","log":[],"reason":"Passed: 63.0 greaterThanEqual 30","result":true,"source":30}]},"status":false},"error":null} [2026-11-04 16:33:34] INFO: row.bre_decision_saved {"batch_id":"154c9a82-7a3e-4c66-b1dc-e57b8fc12240","row":1,"vendor_loan_id":300,"bre_decision_id":833,"status":"success","decision":null} [2026-11-04 16:33:34] INFO: evaluate.completed {"batch_id":"154c9a82-7a3e-4c66-b1dc-e57b8fc12240","summary":{"total":1,"succeeded":1,"failed":0,"validation_failed":0,"skipped_duplicate":0}}