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)
File \"/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py\",
line 1958,
in _exec_single_context
File \"/usr/local/lib/python3.11/site-packages/pymysql/connections.py\",
line 788,
in _read_packet
bytes_to_read = btrl + (btrh << 16)
if packet_number != self._next_seq_id:
self._force_close()
if packet_number == 0:
# MariaDB sends error packet with seqno==0 when shutdown
raise err.OperationalError(
^
CR.CR_SERVER_LOST,
"Lost connection to MySQL server during query",
)
raise err.InternalError(
"Packet sequence number wrong - got %d expected %d"
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.
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.
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)
File \"/usr/local/lib/python3.11/site-packages/sqlalchemy/engine/base.py\",
line 1958,
in _exec_single_context
File \"/usr/local/lib/python3.11/site-packages/pymysql/connections.py\",
line 788,
in _read_packet
bytes_to_read = btrl + (btrh << 16)
if packet_number != self._next_seq_id:
self._force_close()
if packet_number == 0:
# MariaDB sends error packet with seqno==0 when shutdown
raise err.OperationalError(
^
CR.CR_SERVER_LOST,
"Lost connection to MySQL server during query",
)
raise err.InternalError(
"Packet sequence number wrong - got %d expected %d"
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.
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.
","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}}