Contract (P0)
Question. Decide truth of two propositions on sums of normal r.v.s:
A: X, Y each normal (no joint assumption) => X+Y normal (constants count as degenerate normal).
B: X, Y independent and each normal => X+Y normal.
Estimands. Boolean truth values of A (statement_true) and B (statement_b_true); for a false proposition, an explicit joint construction of (X,Y) plus a simulated sample (seed, n from data/design.csv) showing normal marginals and non-normal sum.
Assumptions. "Normal" = N(mu, sigma^2), sigma^2 >= 0 (degenerate allowed). Verdicts rest on proof, not simulation.
Outputs. out/results.json (task_id, statement_true, counterexample_provided, counterexample_values{construction,n,seed,mean_x,sd_x,mean_y,sd_y,mean_sum,sd_sum,ks_sum_vs_normal}, statement_b_true, feasibility, feasibility_reason, data_issues, n_input_rows, n_analysed, random_seed); out/counterexample.csv (x,y); out/argument.md; out/report.md (6 sections); out/analysis.py; out/claims.json.
Information rules. Only data/; use the design seed and n with numpy default_rng.
Invalidity. Missing/unparseable seed or n; a "counterexample" whose marginals are not exactly normal or whose sum is actually normal; using simulation as proof.