# Contract (P0) — F3-dev-01 **Question:** Over 36 rolling expanding-window origins (2023-07-01 … 2026-06-01), does a simple autoregressive-type model forecast US UNRATE better than the naive no-change forecast at h=1 and h=3 months? **Estimands:** out-of-sample RMSE and MAE (percentage points) of naive and model per horizon over origins with non-missing actuals; relative improvement 1 − RMSE_model/RMSE_naive per horizon. Meaningful assuming the final-vintage series is the evaluation truth (not real-time) and that the 36-origin sample is a fair (small) sample of recent forecasting conditions. **Outputs:** out/forecasts.csv (144 rows: origin_date,target_date,horizon,forecast,actual,model), out/results.json (task_id, model_name, model_description, n_origins, first_origin, last_origin, n_evaluated_h1/h3, rmse/mae naive & model h1/h3, rel_improvement_rmse_h1/h3, feasibility, feasibility_reason, data_issues, n_input_rows, n_analysed, random_seed), out/report.md (Question; Data and exclusions; Method; Results; Uncertainty; Limitations and open issues), out/analysis.py, out/claims.json, out/exclusions.csv. **Information rules:** forecast at origin t uses only obs dated ≤ t (estimation, model choice, transforms). Naive = latest available obs ≤ t. Missing actual → ledger row with empty actual, excluded from stats. No real-time claims. **Invalidity conditions:** use of data after t in fitting; model chosen by looking at evaluation-period errors; fewer origins than specified; fabricated values.