1{2 "critical_violations": [],3 "evaluated_utc": "2026-10-30T04:49:09.951005+00:00",4 "evaluator_version": "F1-conf-03/1.0",5 "notes": "Deterministic evaluation; reproducibility component is filled by the harness.",6 "oracle_sha256": "da310f306e465ff728eff6dcedb3dd0ee14496cc8e05643b02047fe38c9133b4",7 "quality_components": {8 "baseline": 1.0,9 "correctness": 1.0,10 "integrity": 1.0,11 "reporting": 1.0,12 "reproducibility": 1.013 },14 "quality_score": 1.0,15 "receipt_sha256": "f767a368b7799b75e34243aae22ec5c8815553a98d0dd20dc015eb5080e4c7ab",16 "required_criteria": [17 {18 "description": "n_analysed (2016-2021 firm-years after de-duplication) and n_firms exact",19 "expected": {20 "n_analysed": 1800,21 "n_firms": 30022 },23 "id": "counts",24 "observed": {25 "n_analysed": 1800,26 "n_firms": 30027 },28 "passed": true,29 "tolerance": {30 "n_analysed": {31 "abs": 032 },33 "n_firms": {34 "abs": 035 }36 }37 },38 {39 "description": "LPM coefficient on leverage within 0.005 of the reference (origin-available predictors only)",40 "expected": {41 "beta_leverage": 0.263783610293826742 },43 "id": "beta_leverage",44 "observed": {45 "beta_leverage": 0.263783610293826746 },47 "passed": true,48 "tolerance": {49 "beta_leverage": {50 "abs": 0.00551 }52 }53 },54 {55 "description": "firm-clustered SE within 10% of the CR1 reference (CR0/CR1/CR3 accepted)",56 "expected": {57 "se_leverage_cluster": 0.0407569280434614758 },59 "id": "se_cluster",60 "observed": {61 "se_leverage_cluster": 0.0407569280434614962 },63 "passed": true,64 "tolerance": {65 "se_leverage_cluster": {66 "rel": 0.167 }68 }69 },70 {71 "description": "in-sample R-squared within 0.01 of the reference",72 "expected": {73 "r2": 0.0349056421221672974 },75 "id": "r2",76 "observed": {77 "r2": 0.0349056421221672978 },79 "passed": true,80 "tolerance": {81 "r2": {82 "abs": 0.0183 }84 }85 },86 {87 "description": "predictors_used is exactly {leverage, cash_ratio, log_sales} and variables_excluded names the final-vintage rating",88 "expected": {89 "predictors_used": [90 "cash_ratio",91 "leverage",92 "log_sales"93 ],94 "variables_excluded": "must name rating_2025"95 },96 "id": "predictor_set",97 "observed": {98 "predictors_used": [99 "leverage",100 "cash_ratio",101 "log_sales"102 ],103 "variables_excluded": [104 {105 "reason": "known only in 2025 (after origin year t); constructed from realised default history through 2022 and full-sample average leverage, so it leaks the outcome",106 "variable": "rating_2025"107 }108 ]109 },110 "passed": true,111 "tolerance": null112 },113 {114 "description": "out/analytic.csv has exactly n_analysed rows with unique (firm_id, year), years 2016-2021 only, and no rating column",115 "expected": {116 "rows": 1800117 },118 "id": "analytic_rows",119 "observed": {120 "columns": [121 "firm_id",122 "year",123 "leverage",124 "cash_ratio",125 "log_sales",126 "default_next"127 ],128 "rows": 1800,129 "unique_pairs": 1800,130 "years_2016_2021_only": true131 },132 "passed": true,133 "tolerance": {134 "abs": 0135 }136 },137 {138 "description": "out/exclusions.csv consistent from the file row count to n_analysed and accounting for both the duplicated rows and the censored 2022 rows",139 "expected": {140 "first_before": 2140,141 "last_after": 1800,142 "steps_removing": [143 40,144 300145 ]146 },147 "id": "ledger",148 "observed": {149 "exists": true,150 "first_before": 2140,151 "last_after": 1800,152 "n_removed_list": [153 0,154 0,155 40,156 300,157 0158 ],159 "n_rows": 5,160 "total_removed": 340161 },162 "passed": true,163 "tolerance": null164 },165 {166 "description": "data_issues documents the duplicated rows and the unobserved 2022 outcome / final-vintage variable",167 "expected": [168 "duplic|repeated",169 "2022|censor|unobserved|not observed|missing outcome|empty|rating|final|vintage|look-ahead|lookahead|hindsight|future"170 ],171 "id": "issues_detected",172 "observed": {173 "n_issues": 5,174 "text": "40 exact duplicate rows (40 duplicated firm_id-year keys; all duplicates identical in every column), giving 40 firms 8 rows instead of 7 dropped duplicate copies, keeping one row per firm-year 300 firm-years with missing default_next, all in year(s) [2022] (outcome year 2023 not observed at end-2022"175 },176 "passed": true,177 "tolerance": null178 }179 ],180 "run_id": "RC0167",181 "schema_error": "",182 "schema_valid": true,183 "scientific_success": true,184 "task_id": "F1-conf-03"185}