Data audit (P1, 2026-10-30)
| file | SHA-256 | lines (wc -l) | matches README hash |
|---|---|---|---|
| data/studies.json | 124d1f3e3671e9770b91963bc6b26d63281086ef9112fd711cc4607c89babbe1 | 5 items (JSON list; fields id, source, short, extract) | n/a |
| data/README.md | c7d07d4bd3e0afd9da948c0b74fd76657084044df7d28c08e4399dc27f3b0128 | 17 | n/a |
| sources/arxiv-2410.12944v3.txt (S1) | d5270b44…cbfb803b | 112 | yes |
| sources/arxiv-2507.09089v2.txt (S2) | b6af8a2b…0aed2d | 132 | yes |
| sources/arxiv-2411.01067v2.txt (S3) | 46a1ee4e…053a | 109 | yes |
| sources/arxiv-2511.13860v1.txt (S4) | 8fb2520f…1621dfa5 | 162 | yes |
| sources/arxiv-2304.09339v1.txt (S5) | 1db48b1c…0ec06e | 108 | yes |
Full hashes (computed with shasum -a 256): S1 d5270b4435cfbdd516b7268d29c03670509eac7c93604a4466bdb192cbfb803b; S2 b6af8a2bc41012ce64c75e7764fa3a999546df95986adb8860f3442ecd0aed2d; S3 46a1ee4e200abb52e3d5148ca0e7ee5c1b8cded80363c0cdceb66c249913053a; S4 8fb2520f4e9343e47eb39d551c9da49c0d56a7c58ce455fa9073642e1621dfa5; S5 1db48b1c1908b00cab3cc1bfe0ec8ef28bc7d85387aea2477ca709c40a0ec06e. All five equal the hashes listed in data/README.md. analysis.py re-verifies them at run time.
The inputs are text extracts, not tabular data: "rows/columns/missing/duplicates" apply to the extracted tables only. No duplicate study items; each of the 5 studies.json items points to a distinct source.
Per-source findings
- S1 (Paradis et al.) Table III Model 2 ExpCon: -0.24. (SE 0.14); Sec VI-C: 95% CI [-0.51, 0.03], p=0.086. Units: log minutes. Anomalies: (a) Sec VI-B prints Mean LogToT 4.6 for the AI group and 4.3 for no-AI, while the means in minutes (96 vs 114) and the text say AI was faster — internally inconsistent (labels apparently swapped); not used. (b) Table caption n = 96 but VI-B gives N=47 + N=46 = 93. (c) CI-implied SE 0.54/3.92 = 0.1378 vs printed SE 0.14 (rounding; consistent). (d) Table III columns collapsed (editorial note) — order Models 1–4 left to right; ExpCon line "-0.25. -0.24. -0.30* -0.14" → Model 2 = -0.24 with '.' marker (p<.1), consistent with p=0.086. (e) stray "p<", "p=" lines are footnote artefacts (README).
- S2 (Becker et al.) Headline: "+19%" more time (S = exp(β)−1 from log-linear regression, D.1–D.3). 136 AI-allowed + 110 AI-disallowed issues = 246 tasks, 16 developers. Uncertainty: 95% CI exists only in Figure 1 / Figure 15, not reproduced → no SE available. Raw ratio 34% (footnote 12) is a different (unadjusted) estimator; not used.
- S3 (Bono & Xu) Table 3 Aggregate/All Content: Overall 53.84, Treatment 44.29, Control 63.10, Improvement -29.79%*** (minutes, holding accuracy constant). Only stars. Anomalies: (a) 44.29/63.10 − 1 = −29.81%, vs printed −29.79% (small rounding/estimation difference; printed % used). (b) Star definitions unusual ("** 0.01<p<=0.05", "* 0.05<p<=0.1"). (c) 25% of control subjects used other AI tools (contamination; estimate is incremental to other AI). (d) Times are regression-adjusted to hold accuracy constant (App. B), not raw means.
- S4 (Bono 2025) Table 3 Full Corpus: Aware 50.5, Control 56.9, % Time Savings 11.1, p-value 0.471. Anomalies: (a) unit labels "(s)" are implausible: per-email Malicious/Non-Malicious values (2.8/1.8; 1.9/2.4) cannot average to 50.5/56.9; the numbers are consistent with per-email minutes and a full-corpus total of ~25 emails in minutes (0.2·2.8+0.8·1.8 = 2.0 min ×25 ≈ 50; 0.2·1.9+0.8·2.4=2.3×25≈57.5). θ is a log ratio, so unit-free; flagged. (b) 1 − 50.5/56.9 = 11.25% vs printed 11.1% (printed % used). (c) Three arms; Aware vs Control is the AI-vs-no-AI contrast; Aware treatment also reorders the queue. (d) p-value sidedness not stated; assumed two-sided. (e) Group N after filtering: Control 52, Aware 56.
- S5 (Kreitmeir & Raschky) Table 1 panel A col (3) Output: Treat×Post -0.278 (0.295), N 18332. Outcome is (log) count of GitHub events — output, not task time; contrast is a ban (loss of access) DiD, not randomised AI-vs-no-AI on same tasks → not harmonisable. Anomalies: stars note "** p<0.5" (typo for 0.05); rendered date "August 24, 2026" is a render-time artefact; "(log of)" applies ambiguously to the Output measure; the text says April 11th was excluded while panel B header lists 11.04.
Availability-rule handling
No input violates the availability rules as such; the risk is substituting non-printed values (e.g., S2's CI from Figure 1, S3 bootstrap SEs). None will be used: such SEs are set to null.