Skip to content

feat: reduce public surface and roadmap cleanup (roadmap 2.4, priority 5) - #48

Merged
rxavier merged 2 commits into
mainfrom
roadmap/2.4-priority5-surface-cleanup
Jul 31, 2026
Merged

feat: reduce public surface and roadmap cleanup (roadmap 2.4, priority 5)#48
rxavier merged 2 commits into
mainfrom
roadmap/2.4-priority5-surface-cleanup

Conversation

@rxavier

@rxavier rxavier commented Jul 31, 2026

Copy link
Copy Markdown
Owner

Summary

Roadmap sequencing step 8 (final) — 2.4 (reduce the public method surface) and Priority 5 (cleanup).

Changes

2.4 — cut the operator overloads

  • Removed predict_all (never used), __add__, __sub__, __getitem__ from PoniardBaseEstimator.
  • ErrorAnalyzer now calls get_estimator(...) instead of __getitem__.
  • Tests updated to use add_estimators / remove_estimators; the dedicated operator tests were removed (the named methods are already covered).

Priority 5 — cleanup

  • get_results(wrt_dummy=True): now requires exactly one dummy estimator — raises a clear ValueError otherwise (fixes the silent multiple-Dummy .squeeze() case). Standard deviations are returned as NaN, since a std ratio is not meaningful; the docstring documents this as "mean ratios only."
  • get_predictions_similarity: dummies are excluded by class (isinstance(..., (DummyClassifier, DummyRegressor))) instead of name substring match, so a user-named dummy (e.g. "baseline") is correctly excluded.
  • README: documented the PONIARD_TQDM_LEAVE env var.

Already satisfied by earlier PRs

  • XGBoost grid references (2.3), _fitted_pipeline_ids rebuild invalidation (1.3); poniard_task deferred import left as-is per roadmap.

Tests

  • New: wrt_dummy with std=True returns NaN stds; wrt_dummy raises with two dummies; a user-named dummy is excluded from get_predictions_similarity.
  • Full suite: 162 passed; ruff clean.

rxavier added 2 commits July 31, 2026 14:31
…y 5)

- 2.4: drop predict_all and the operator overloads __add__ / __sub__ /
  __getitem__; ErrorAnalyzer now uses get_estimator. The named methods
  already covered the same behavior.
- get_results(wrt_dummy=True) now requires exactly one dummy estimator
  (raises otherwise) and returns NaN stds, since a std ratio is not
  meaningful; documented as 'mean ratios only'.
- get_predictions_similarity excludes dummies by class (isinstance) rather
  than name substring, so a user-named dummy is still excluded.
- document the PONIARD_TQDM_LEAVE env var in the README.
@rxavier
rxavier merged commit fe2cdb0 into main Jul 31, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant