1{2 "critical_violations": [],3 "evaluated_utc": "2026-10-30T04:49:43.126170+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": "5af63da783d4682308318f4bf1b1fe2888350405982ed3572e4aad46ad26f28a",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.26378446 },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.04075762 },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.03490678 },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": "Final-vintage field assigned in 2025 using realised default history through 2022 and sample-average leverage; not known at end of origin year t (look-ahead / outcome leakage).",106 "variable": "rating_2025"107 },108 {109 "reason": "Outcome variable (known only at end of year t+1); used as dependent variable, not as a predictor.",110 "variable": "default_next"111 },112 {113 "reason": "Identifier; used only for clustering standard errors, not as a predictor.",114 "variable": "firm_id"115 },116 {117 "reason": "Origin-year index; kept in analytic.csv for identification but not entered as a regressor (task model specifies leverage, cash_ratio, log_sales only).",118 "variable": "year"119 }120 ]121 },122 "passed": true,123 "tolerance": null124 },125 {126 "description": "out/analytic.csv has exactly n_analysed rows with unique (firm_id, year), years 2016-2021 only, and no rating column",127 "expected": {128 "rows": 1800129 },130 "id": "analytic_rows",131 "observed": {132 "columns": [133 "firm_id",134 "year",135 "leverage",136 "cash_ratio",137 "log_sales",138 "default_next"139 ],140 "rows": 1800,141 "unique_pairs": 1800,142 "years_2016_2021_only": true143 },144 "passed": true,145 "tolerance": {146 "abs": 0147 }148 },149 {150 "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",151 "expected": {152 "first_before": 2140,153 "last_after": 1800,154 "steps_removing": [155 40,156 300157 ]158 },159 "id": "ledger",160 "observed": {161 "exists": true,162 "first_before": 2140,163 "last_after": 1800,164 "n_removed_list": [165 0,166 0,167 40,168 300,169 0170 ],171 "n_rows": 5,172 "total_removed": 340173 },174 "passed": true,175 "tolerance": null176 },177 {178 "description": "data_issues documents the duplicated rows and the unobserved 2022 outcome / final-vintage variable",179 "expected": [180 "duplic|repeated",181 "2022|censor|unobserved|not observed|missing outcome|empty|rating|final|vintage|look-ahead|lookahead|hindsight|future"182 ],183 "id": "issues_detected",184 "observed": {185 "n_issues": 4,186 "text": "40 exact duplicate rows (80 rows involved in duplicated firm_id-year keys); all duplicates identical across all columns kept first occurrence, dropped the copies (ledger step 3) default_next missing for 300 unique firm-years (origin years [2022]), because year t+1 is after the data cut excluded from"187 },188 "passed": true,189 "tolerance": null190 }191 ],192 "run_id": "RC0166",193 "schema_error": "",194 "schema_valid": true,195 "scientific_success": true,196 "task_id": "F1-conf-03"197}