Spring cleanup: bootstrap NaN-gating, mypy fixes, doc snippet hardening#219
Merged
Spring cleanup: bootstrap NaN-gating, mypy fixes, doc snippet hardening#219
Conversation
- Migrate imputation_bootstrap.py and two_stage_bootstrap.py to shared compute_effect_bootstrap_stats() for NaN filtering and SE<=0 guards - Add @overload to solve_ols/_solve_ols_numpy to resolve 15 mypy unpacking errors; add assert guards for Optional indexing (81→9 errors) - Replace blanket NameError catch in test_doc_snippets.py with explicit allow-list of 12 context-dependent snippets - Update TODO.md to reflect resolved tech debt items Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
Overall Assessment Looks good. I did not find any unmitigated P0/P1 issues in the diff-scoped estimator/bootstrap changes; the highest finding is P2 in the new doc-snippet test harness. Executive Summary
Methodology
Code Quality
Performance
Maintainability
Tech Debt
Security
Documentation/Tests
|
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
imputation_bootstrap.pyandtwo_stage_bootstrap.pyto sharedcompute_effect_bootstrap_stats()frombootstrap_utils.py, gaining NaN filtering, SE<=0 guards, and warning messages that were previously missing@overloadtosolve_ols/_solve_ols_numpyto resolve all 15 mypy tuple-unpacking errors without touching call sites; addassert X is not Noneguards for Optional indexing across 10 files (81→9 mypy errors, remaining 9 are mixin method attr-defined)except NameError: passintest_doc_snippets.pywith explicit allow-list of 12 context-dependent snippets — unexpected NameErrors now fail the testMethodology references (required if estimator / math changes)
Validation
tests/test_doc_snippets.py(allow-list replaces blanket catch)attr-defined)Security / privacy
Generated with Claude Code