Contract — F1-conf-03
Question: association between firm leverage at end of year t and default in year t+1, using only info known at end of t. Estimand: b1 in OLS LPM default_next ~ 1 + leverage + cash_ratio + log_sales on firm-years with observed outcome; SE clustered by firm_id. Meaningful as a descriptive conditional association (not causal); LPM; cluster SE valid with many (300) clusters. Outputs: out/results.json (task_id, n_analysed, n_firms, predictors_used, variables_excluded, beta_leverage, se_leverage_cluster, r2, default_rate, feasibility, feasibility_reason, data_issues, n_input_rows, random_seed); out/analytic.csv; out/exclusions.csv; out/report.md (6 sections); out/analysis.py; out/claims.json. Information rules: only predictors known at end of t (rating_2025 is known 2025 and built from realised defaults => excluded). Rows with missing default_next excluded and ledgered, never imputed. Only data/firm_panel.csv. Invalidity: using rating_2025 (leakage); imputing outcomes; keeping duplicated rows (double-counting); no observed outcomes / missing predictors would make it infeasible.