# Contract — T3-synthesis (restated) **Question.** Does access to a generative-AI assistant shorten the time workers need to complete their tasks? Synthesise five primary studies (extracts under data/sources) onto one effect scale. **Target / estimands.** θ = ln(T_AI / T_noAI): log ratio of mean completion time with vs without AI on the same tasks, from a randomised comparison (negative = faster with AI). 1. The five printed values exactly as printed (estimate, uncertainty, sample, definition, locator). 2. Harmonised θ and SE(θ) per study, using only the TASK conventions: log-time coefficient → θ=b, SE=SE(b) (or CI width/3.92); % change c or ratio → θ=ln(1+c); p-value only → SE≈|θ|/z_{1-p/2} (approximate, poolable); stars / figure-only CI → harmonisable, not poolable; non-time or non-AI-vs-no-AI outcomes → not harmonisable. 3. Inverse-variance FE and DerSimonian–Laird RE pooled θ over poolable studies, 95% CIs with 1.96, Q (df=k-1), I², τ², heterogeneity label (<25 low, 25–50 moderate, ≥50 substantial), significance from RE CI, pooled % change = 100(exp(RE)-1). 4. A limited synthesis conclusion. Assumptions: coefficient on log time approximates log ratio of means (exact under the log-normal/homoscedastic argument, e.g. Becker D.3); covariate-adjusted estimates are treated as estimates of the same θ; approximate p-value SEs assume a normal test statistic. **Outputs.** out/table1.csv (5 rows; columns study, estimate_as_printed, uncertainty_as_printed, sample_as_printed, definition, locator, harmonised_estimate, harmonised_se, harmonisable, poolable, transformation, reason_if_not); out/figure1.png (forest plot, harmonisable studies, no-SE as bare points, RE pooled); out/results.json (task_id, target_definition, items{S1..S5 with 11 fields}, k_extracted, k_harmonised, k_pooled, fe_*, re_*, q_stat, i2, tau2, heterogeneity_interpretation, pooled_significant_5pct, pooled_pct_change_re, 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 (regenerates results/table/figure from data/ only, prints relied-upon source lines); out/claims.json. **Information rules.** Only the extracts are admissible; anything not printed in them (figures, full paper, memory) is unavailable. Printed numbers reported verbatim. **Invalidating conditions.** Using non-extract values; pooling a study without a legitimate SE; harmonising an output-count or non-AI-vs-no-AI effect; fewer than 1 poolable study (pooling impossible). With k_pooled small, conclusions must be heavily caveated.