# Contract (P0) **Question**: causal effect of one extra training hour per employee on next-year productivity growth (pp/hour), simulated firm data. **Estimand**: coefficient beta on training_hours in E[y | hours, skill] = a + beta*hours + g(skill), under selection on observables (skill_index, measured pre-programme, is the only confounder), linear homogeneous effect. **Baseline**: OLS y ~ 1 + training_hours (naive slope, 95% CI, residual RMSE). **Main model**: OLS y ~ 1 + training_hours + skill_index (skill is pre-treatment, so it is a valid control and not a mediator/collider). Robust HC1 SE. **Outputs**: out/results.json (keys naive_estimate, naive_ci_low/high, baseline_metric, model_metric, effect_estimate, effect_se, effect_ci_low/high, skill_index_coefficient, conclusion, task_id, feasibility, feasibility_reason, data_issues, n_input_rows, n_analysed, random_seed), out/figure1.png, out/table1.csv, out/report.md (6 sections), out/analysis.py, out/claims.json. **Info rules**: only data/firms.csv; unadjusted model = intercept + training_hours. **Invalidating conditions**: missing confounder data (not the case: skill_index present); unobserved confounding; nonlinearity in skill; data errors.