Contract — F2-dev-01
Question: within-firm, within-year association of y with x in a firm–year panel. Estimand: β in y_it = a_i + g_t + β x_it + u_it (firm and year effects unrestricted, may correlate with x). Meaningful as a within association under strict exogeneity of x conditional on a_i, g_t (E[u_it | x_i1..x_iT, a_i, g_t] = 0); no causal claim implied. Uncertainty: firm-clustered SE (arbitrary within-firm serial dependence/heteroskedasticity, independence across firms); also conventional SE. 95% CI from clustered SE. Outputs: out/results.json (task_id, beta_pooled, beta_fe, se_conventional, se_cluster, beta_ci_low, beta_ci_high, n_firms, n_years, n_analysed, feasibility, feasibility_reason, data_issues, n_input_rows, random_seed); out/report.md (Question; Data and exclusions; Method; Results; Uncertainty; Limitations and open issues); out/analysis.py; out/claims.json. Information rules: use only data/firm_panel.csv. Invalidating conditions: no within variation in x after FE; too few clusters for cluster asymptotics; duplicate keys / corrupted panel; missing file.