docs(dml): Chang (2020) published-version + replication-code cross-check - #810
Conversation
Checked the Econometrics Journal version of record (doi:10.1093/ectj/ utaa001, pp. 177-191 + printed Appendix A) against the review's suspected-typo list and the two DEFERRED items: - Every typo checkable from the printed text persists unchanged (the p_hat_k/lambda_hat_k normalizer in Definition 3.1(b), the Sigma_20 psi_1 term, the multilevel D_i/lambda_0, both Lasso-penalty-recipe issues); Theorem proofs and the RCS/multilevel simulations are online-supplement-only, so items 3/4/9 stay uncheckable from print. - The p_hat_k algorithm-vs-proof contradiction survives peer review, so the library's DoubleML-anchored global treated-share convention stands with nothing in the published text to contradict it. REGISTRY Note updated; the DEFERRED "published-version cross-check" row is retired. - Case 3 blocker CONFIRMED in the version of record: printed Appendix A carries the same score/algorithm with no regularity assumptions and no variance theorem. DEFERRED row amended, kept. - New facts recorded: the article ships a replication package (OUP Supporting Information) + the author's R code link (footnote 1), superseding the review's "no companion software" statement; the published empirical Table 2 numbers DIFFER from the arXiv Table 1 (results re-run for publication; published set is the future replication target). Docs-only; no library behavior change (no changelog fragment).
Overall Assessment✅ Looks good — no P0/P1 findings. The PR is documentation-only; P2 wording inconsistencies do not affect estimator behavior. Executive Summary
MethodologyFinding M1 — Published proof verification is overstated
Finding M2 — K=2 qualification contradicts the preceding description
Documented deviation
Code QualityNo findings; executable code is unchanged. PerformanceNo findings; the PR introduces no runtime path. MaintainabilityNo findings beyond the methodology wording corrections above. Tech Debt
SecurityNo findings; no secrets, credentials, or executable dependencies were added. Documentation/TestsFinding D1 — Recorded percentage conflicts with Table 2 values
No tests are needed for this documentation-only change. The changelog-fragment check passes, and no fragment is owed. |
…n, Table 2 60%-vs-78% source note (CI review P2s)
|
🔁 AI review rerun (requested by @igerber) Head SHA: Overall Assessment✅ Looks good — no unmitigated P0/P1 findings. Executive Summary
MethodologyDocumented global-share deviation
The prior proof-scope and K=2 findings are resolved at Code QualityNo findings; executable code is unchanged. PerformanceNo findings; no runtime path changed. MaintainabilityNo findings. Tech DebtDeferred Case 3 derivation
SecurityNo findings; no executable dependencies, credentials, or secrets were added. Documentation/TestsThe prior Table 2 percentage finding is resolved at No tests or changelog fragment are required for this documentation-only change. |
Summary
p̂_k/λ̂_knormalizer in Definition 3.1(b), theΣ_20ψ_1term, the multilevelD_i/λ_0, both Lasso-penalty-recipe issues); Theorem proofs and the RCS/multilevel simulations are online-supplement-only, so three items remain uncheckable from print. New K=2 qualification: the printed normalizer is invalid only for K > 2 (at K = 2 it is exactly the auxiliary-sample mean).e93773d1c5ed, linked from published footnote 1) was inspected: it hard-codes k = 2 and uses MIXED conventions —p̂_k= propensity-trimmed evaluation-fold mean,λ̂_k= auxiliary-sample mean — plus fixed-threshold row-dropping and an RCS realized-score-dependent deletion, so it is recorded as an equation-level reference only, never a numerical oracle. The library's DoubleML-anchored global-share convention stands (documented deviation, now from the author's code as well as the printed algorithm).p̂convention Note updated; both "R: none" reference-inventory lines replaced with the pinned author code; DEFERRED cross-check row retired, Case 3 row amended (blocker confirmed, kept).Methodology references (required if estimator / math changes)
e93773d1c5edp̂ = mean(D)global-share deviation is re-affirmed with the published text and author code as additional evidenceValidation
changelog_compile.py checkgreen; CHANGELOG Unreleased stays pointer-only.Security / privacy
Changelog