docs(cs): keep cluster= (not deprecate) + close TODO row#614
Merged
Conversation
…O row Resolves the backlog item "decide whether to formally deprecate CallawaySantAnna.cluster=X in favor of survey_design=SurveyDesign(psu=X)" with a decision to KEEP cluster= as the canonical ergonomic single-level clustering kwarg, and removes the TODO row. Rationale (recorded in REGISTRY.md's CallawaySantAnna cluster-wiring section): cluster= matches the field's universal convention (R fixest cluster=~unit, Stata vce(cluster id), statsmodels cov_type="cluster") and is retained across all IF-based estimators (CS / EfficientDiD / ImputationDiD / TwoStageDiD). The cluster= -> SurveyDesign(psu=cluster) synthesis is an internal implementation detail, not user-facing redundancy; survey_design= is the advanced entry point (strata / FPC / replicate weights) while bare cluster= is the shorthand for the common single-level case. This mirrors the HAD survey-API consolidation, which deprecated only the redundant survey= / weights= entry points and deliberately kept cluster=. Docs-only: no source or behavior change. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LHDijzf8zHXk5T8ahS2mKi
Overall Assessment: ✅ Looks GoodExecutive Summary
MethodologyFinding: P3 informational — API decision documented, no action required
Code QualityNo findings. The PR only edits PerformanceNo findings. No runtime path changed. MaintainabilityNo findings. Removing the actionable backlog row is consistent with adding the registry decision note that closes it: Tech DebtNo findings. The previously deferred decision is now documented as resolved rather than left untracked. SecurityNo findings. The diff contains only methodology/TODO prose and no secrets or sensitive data. Documentation/TestsNo findings. Documentation was updated in the methodology registry, and tests are not necessary for this docs-only API-decision record. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
CallawaySantAnna.cluster=Xin favor ofsurvey_design=SurveyDesign(psu=X)" with a decision to keepcluster=(do not deprecate), and removes theTODO.mdrow.REGISTRY.md's CallawaySantAnna cluster-wiring section:cluster=is the canonical ergonomic single-level clustering kwarg (matches Rfixest::feols(cluster=~unit), Statavce(cluster id), statsmodelscov_type="cluster"), retained across all IF-based estimators (CS / EfficientDiD / ImputationDiD / TwoStageDiD). Thecluster=→SurveyDesign(psu=cluster)synthesis is an internal implementation detail, not user-facing redundancy;survey_design=is the advanced entry point (strata / FPC / replicate weights) while barecluster=is the common-case shorthand. Mirrors the HAD survey-API consolidation, which deprecated only the redundantsurvey=/weights=entry points and deliberately keptcluster=.Methodology references
CallawaySantAnnacluster-robust inference (API-surface decision, not a math change)cluster=is intentionally retained as the ergonomic kwarg (verified: nocluster=DeprecationWarningexists anywhere;cluster=is present on all four IF-based estimators).Validation
REGISTRY.mdnote +TODO.mdrow removal); no source or behavior change.Security / privacy
🤖 Generated with Claude Code