You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Codex CI R11 P3: gate MPD wild-bootstrap fallback warning on non-Conley path + harmonize doc restriction bullets
Two P3 doc-and-UX items from R11 (✅ Looks good overall).
P3 #1 (Code Quality) — contradictory warning + error on MPD+Conley
+wild_bootstrap
`MultiPeriodDiD.fit()` had an unconditional UserWarning at the top
of fit() saying wild_bootstrap "is not yet supported, using
analytical instead" — but the Conley validator below raises
NotImplementedError on `vcov_type="conley", inference="wild_bootstrap"`.
Users hitting that combination got "warn we're falling back" followed
immediately by "actually we're raising," which is contradictory
guidance on the same call.
Fix: gate the warning on `self.vcov_type != "conley"`. The Conley
validator's raise takes precedence. Adds regression
`test_mpd_conley_wild_bootstrap_raises_without_warning` asserting
the NotImplementedError fires with no analytical-fallback warning.
P3 #2 (Documentation/Tests) — restriction bullets understated MPD's
reject surface
- `llms-full.txt:L2026` only named DiD/TWFE for the
`inference="wild_bootstrap"` reject; MPD also rejects this combo
via the shared validator. Updated to enumerate all three.
- `llms-full.txt:L2027` only named DiD for the estimator-level
`survey_design=` reject; MPD and TWFE both raise the same on this
combo. Updated to enumerate all three.
- `docs/methodology/REGISTRY.md:L3188` had the same drift; updated
in parallel and added a parenthetical noting the MPD warning
suppression.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: diff_diff/guides/llms-full.txt
+2-2Lines changed: 2 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -2023,8 +2023,8 @@ SE range.
2023
2023
- `DifferenceInDifferences` / `MultiPeriodDiD` / `TwoWayFixedEffects` `+ vcov_type="conley"` without `conley_lag_cutoff` → `ValueError` (no defensible default; explicit user choice required).
2024
2024
- `DifferenceInDifferences` / `MultiPeriodDiD` `+ vcov_type="conley"` without `unit=` at fit-time → `ValueError`.
2025
2025
- Combining `vcov_type="conley"` with explicit `cluster=<col>` applies the combined spatial + cluster product kernel (Wave A #119). On the panel path the cluster must be constant within each unit across periods (validator raises `ValueError` otherwise). TWFE's default auto-cluster on the Conley path is silently dropped; users opt into the combined kernel explicitly.
2026
-
- `TwoWayFixedEffects` / `DifferenceInDifferences` `(vcov_type="conley", inference="wild_bootstrap")` → `NotImplementedError` (wild bootstrap does not consume the analytical sandwich).
- `SyntheticDiD(vcov_type="conley")` → `TypeError` (uses bootstrap, not analytical sandwich).
2029
2029
- Any-mode `vcov_type="conley"` `+ weights=` / `survey_design=` on `LinearRegression` / `compute_robust_vcov` → `NotImplementedError` (Bertanha-Imbens 2014 weighted-Conley deferred to follow-up PR).
2030
2030
- A sparse k-d-tree fast path auto-activates for `n > 5_000` with `conley_kernel="bartlett"` AND `conley_metric` in `{"haversine", "euclidean"}` (Wave A #120); callable metrics and uniform kernel fall back to the dense path. `n > 20_000` with the dense fallback still emits a memory-OOM `UserWarning`.
Copy file name to clipboardExpand all lines: docs/methodology/REGISTRY.md
+2-1Lines changed: 2 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3185,7 +3185,8 @@ metrics (`"haversine"`, `"euclidean"`) satisfy this by construction.
3185
3185
-`MultiPeriodDiD` / `DifferenceInDifferences``(vcov_type="conley")` without `unit=` at fit-time → `ValueError`.
3186
3186
-`TwoWayFixedEffects(vcov_type="conley", cluster=<col>)` is supported (Wave A #119): combined spatial + cluster product kernel applies. The cluster must be time-invariant within each unit on the panel path (validator-enforced). TWFE's default auto-cluster is silently dropped on the Conley path; explicit cluster is required to opt in.
3187
3187
-`DifferenceInDifferences(vcov_type="conley", cluster=<col>)`: combined kernel applies; same time-invariance contract on the panel path. DiD has no auto-cluster, so the cluster choice is fully explicit.
-`DifferenceInDifferences` / `MultiPeriodDiD` / `TwoWayFixedEffects``(vcov_type="conley", inference="wild_bootstrap")` → `NotImplementedError`. (MPD's pre-Conley analytical-fallback `UserWarning` is suppressed when `vcov_type="conley"` so the user gets one consistent error message.)
3189
+
-`DifferenceInDifferences` / `MultiPeriodDiD` / `TwoWayFixedEffects``(vcov_type="conley")` + `survey_design=` → `NotImplementedError` at the estimator level (deferred to Bertanha-Imbens 2014 weighted-Conley follow-up).
3189
3190
-`SyntheticDiD(vcov_type="conley")` → `TypeError` (SyntheticDiD uses bootstrap/jackknife/placebo variance, not the analytical sandwich; tracked in TODO.md).
0 commit comments