# Contract — F6-conf-02 **Question:** How did the GoC 5-year benchmark yield move after the BoC's 2020-03-04 emergency 50 bp cut? **Estimand:** mean of the one-day changes 100·(y_t − y_{t−1}) (bp) on rows with post_cut=1, minus the mean over the 120 trading days just before the first flagged row. 95% Welch (unequal-variance) interval. This only means something if both windows exist and are filled. It is a descriptive before/after contrast, not a causal effect: other COVID shocks happened in the same window. **Outputs:** results.json (sample_start, sample_end, n_treated, baseline_metric, model_metric, effect_estimate, effect_ci_low/high, conclusion, task_id, feasibility, feasibility_reason, data_issues, n_input_rows, n_analysed, random_seed); figure1.png; table1.csv (year,n_days,mean_yield,mean_change_bp); report.md (6 sections); analysis.py; claims.json. **Info rules:** use only data/gc5y_daily.csv; changes between consecutive rows; post_cut used exactly as given; audit first. **Invalidating conditions:** no post_cut=1 rows or no pre-window → premise_invalid / infeasible, inestimable keys set to null, no proxy.