Commit 71ee0b9
Address residual P1 + P2s from re-audit of PR #412
The restored CI reviewer surfaced findings the degraded reviewer
missed across all 5 prior rounds on PR #412:
P1 (REGISTRY + code comment): the claim that "R does not ship per-path
predict_het on placebos either, so parity is preserved by deferral"
contradicts what R's `did_multiplegt_dyn(..., by_path, predict_het)`
dispatcher actually does - it forwards `predict_het` into each
per-path `did_multiplegt_main` call along with `placebo`, so R may
emit per-path placebo heterogeneity rows we do not yet mirror. Rewrite
both surfaces (chaisemartin_dhaultfoeuille_results.py code comment and
REGISTRY.md DataFrame-integration paragraph) as an explicit Python-
side deferral rather than a verified R-parity. Add a TODO row to
track validating R's actual placebo predict_het output and either
implementing parity or documenting the deviation explicitly.
P2 (REGISTRY rtol claim): the per-path heterogeneity R-parity
paragraph claimed "rtol ~1e-6 on point estimates AND SE", but the
parity tests use BETA_RTOL=1e-6 and SE_RTOL=1e-5 (one decade looser
on SE). Split the claim into the two separate tolerances and note
the WLS-denominator/cohort-recentering numerical drift that motivates
the looser SE bound.
P2 (replicate-weight df_survey refresh): the existing test only
checked finite SE; it would have passed if the new dedicated
heterogeneity refresh loop failed to recompute t_stat / p_value /
conf_int at the final df_survey. Strengthen the test to call
`safe_inference(beta, se, df=df_survey)` on the first finite entry
and assert the stored inference fields match - this anti-regression
covers the dedicated post-call refresh added for path_heterogeneity_
effects.
P2 (paths_of_interest survey gap): the documented composability of
`paths_of_interest + heterogeneity + survey_design` was not regression-
locked - all existing survey-specific tests used `by_path=k`. Add
test_paths_of_interest_heterogeneity_survey_design_analytical (verify
analytical Binder TSL fits, selector ordering preserved, finite SE
per populated (path, l)) and test_paths_of_interest_heterogeneity_
survey_n_bootstrap_gate (verify the multiplier-bootstrap gate applies
under paths_of_interest too).
No estimator behavior, weighting, variance/SE, identification, or
default statistical surface changed in source - documentation
accuracy plus expanded regression coverage only.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>1 parent d8b0f67 commit 71ee0b9
4 files changed
Lines changed: 137 additions & 4 deletions
File tree
- diff_diff
- docs/methodology
- tests
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
60 | 60 | | |
61 | 61 | | |
62 | 62 | | |
| 63 | + | |
63 | 64 | | |
64 | 65 | | |
65 | 66 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1887 | 1887 | | |
1888 | 1888 | | |
1889 | 1889 | | |
1890 | | - | |
1891 | | - | |
1892 | | - | |
| 1890 | + | |
| 1891 | + | |
| 1892 | + | |
| 1893 | + | |
| 1894 | + | |
| 1895 | + | |
| 1896 | + | |
1893 | 1897 | | |
1894 | 1898 | | |
1895 | 1899 | | |
| |||
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
10574 | 10574 | | |
10575 | 10575 | | |
10576 | 10576 | | |
| 10577 | + | |
| 10578 | + | |
| 10579 | + | |
| 10580 | + | |
| 10581 | + | |
| 10582 | + | |
| 10583 | + | |
| 10584 | + | |
| 10585 | + | |
| 10586 | + | |
| 10587 | + | |
| 10588 | + | |
| 10589 | + | |
| 10590 | + | |
| 10591 | + | |
| 10592 | + | |
| 10593 | + | |
| 10594 | + | |
| 10595 | + | |
| 10596 | + | |
| 10597 | + | |
| 10598 | + | |
| 10599 | + | |
| 10600 | + | |
| 10601 | + | |
| 10602 | + | |
| 10603 | + | |
| 10604 | + | |
| 10605 | + | |
| 10606 | + | |
| 10607 | + | |
| 10608 | + | |
| 10609 | + | |
| 10610 | + | |
| 10611 | + | |
| 10612 | + | |
| 10613 | + | |
| 10614 | + | |
| 10615 | + | |
| 10616 | + | |
| 10617 | + | |
| 10618 | + | |
| 10619 | + | |
| 10620 | + | |
| 10621 | + | |
| 10622 | + | |
| 10623 | + | |
| 10624 | + | |
| 10625 | + | |
| 10626 | + | |
| 10627 | + | |
| 10628 | + | |
| 10629 | + | |
| 10630 | + | |
| 10631 | + | |
| 10632 | + | |
| 10633 | + | |
| 10634 | + | |
| 10635 | + | |
| 10636 | + | |
| 10637 | + | |
| 10638 | + | |
| 10639 | + | |
| 10640 | + | |
| 10641 | + | |
| 10642 | + | |
| 10643 | + | |
| 10644 | + | |
| 10645 | + | |
| 10646 | + | |
| 10647 | + | |
| 10648 | + | |
| 10649 | + | |
| 10650 | + | |
| 10651 | + | |
| 10652 | + | |
| 10653 | + | |
| 10654 | + | |
| 10655 | + | |
| 10656 | + | |
| 10657 | + | |
| 10658 | + | |
| 10659 | + | |
| 10660 | + | |
| 10661 | + | |
| 10662 | + | |
| 10663 | + | |
| 10664 | + | |
| 10665 | + | |
| 10666 | + | |
| 10667 | + | |
| 10668 | + | |
| 10669 | + | |
| 10670 | + | |
| 10671 | + | |
| 10672 | + | |
| 10673 | + | |
| 10674 | + | |
| 10675 | + | |
| 10676 | + | |
| 10677 | + | |
| 10678 | + | |
| 10679 | + | |
| 10680 | + | |
| 10681 | + | |
| 10682 | + | |
| 10683 | + | |
| 10684 | + | |
| 10685 | + | |
| 10686 | + | |
| 10687 | + | |
| 10688 | + | |
| 10689 | + | |
| 10690 | + | |
| 10691 | + | |
| 10692 | + | |
| 10693 | + | |
| 10694 | + | |
| 10695 | + | |
| 10696 | + | |
| 10697 | + | |
| 10698 | + | |
| 10699 | + | |
| 10700 | + | |
| 10701 | + | |
| 10702 | + | |
| 10703 | + | |
| 10704 | + | |
10577 | 10705 | | |
10578 | 10706 | | |
10579 | 10707 | | |
| |||
0 commit comments