Commit 573200c
Address PR #440 R4 review (1 P2 + 2 P3)
P2 — T22 §3 said "Both fits use the same weighted local-linear
estimator at d_lower". `_fit_continuous` only switches to weighted
moments when `weights_arr is not None` (`had.py:3747-3760`,
`:3803-3808`); the naive fit uses unweighted moments. Rewrote §3
to say "same local-linear estimator family" with explicit per-fit
moment-form distinction (naive: unweighted; survey: weighted via
`bias_corrected_local_linear(..., weights=weights_arr)` plus
weighted `np.average` for `dy_mean` and the denominator).
P3 #1 — CHANGELOG/REGISTRY/test docstring/comments said the
bootstrap p-value pins use ">= 0.25 abs tolerance bands", but the
R3 tightened bands are width 0.30 total (± 0.15 around seeded
centers). The "abs tolerance >= 0.25" wording is ambiguous between
half-width and total-width interpretations. Updated all three
surfaces to "anchored windows of total width 0.30 (± 0.15 around
seeded centers)" so the prose is unambiguous and matches the
actual assertions.
P3 #2 — T22 §3 quotes "around 1.10x" SE inflation but the drift
suite only checked direction (`survey.se > naive.se`). The seeded
ratio could drift to 1.05 or 1.20 silently. Added
`test_survey_se_inflation_ratio_in_band` asserting
`1.00 <= ratio <= 1.20` — locks the seed=87 captured ratio
(~1.0985) tightly enough to flag drift but loosely enough to not
flake on RNG-path differences. Bumped CHANGELOG/REGISTRY test
count from 30 → 31 to match.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>1 parent 9e2b147 commit 573200c
4 files changed
Lines changed: 27 additions & 10 deletions
File tree
- docs
- methodology
- tutorials
- tests
0 commit comments