Skip to content

Fork test: PR #1317 - FEATURE: Added profile build for "has_no_outliers" check#1363

Open
mwojtyczka wants to merge 31 commits into
mainfrom
fork-test/pr-1317
Open

Fork test: PR #1317 - FEATURE: Added profile build for "has_no_outliers" check#1363
mwojtyczka wants to merge 31 commits into
mainfrom
fork-test/pr-1317

Conversation

@mwojtyczka

Copy link
Copy Markdown
Contributor

Automated sync from fork PR for CI testing.

Original PR: #1317

All tests, including unit and integration tests run on this PR (they are skipped for fork PRs).

IvannKurchenko and others added 26 commits July 10, 2026 07:02
Co-authored-by: Greg Hansen <163584195+ghanse@users.noreply.github.com>
Co-authored-by: Greg Hansen <163584195+ghanse@users.noreply.github.com>
Co-authored-by: Greg Hansen <163584195+ghanse@users.noreply.github.com>
Co-authored-by: Greg Hansen <163584195+ghanse@users.noreply.github.com>
- Emit gate: use inclusive `<=` for outliers_ratio to match the sibling
  max_null_ratio / max_empty_ratio gates; update docstring + docs to "at or below".
- Validate mutually-exclusive has_no_outliers_allow_columns / _deny_columns once
  up front (validate_profile_options in DQProfiler.profile) instead of raising
  per-column mid-profiling; keep the per-column check as defense-in-depth.
- Degenerate MAD guard: skip when the band width is non-positive or near-zero
  relative to the column scale, not only when bounds are exactly equal.
- Fix stale _build_profiles_for_column docstring (min_max is no longer last;
  order is null_or_empty -> is_in -> min_max -> has_no_outliers).
- Docs: note that ratio thresholds are evaluated on the sampled data.
- Add unit tests: at-threshold emission, near-degenerate MAD skip, and
  validate_profile_options raise/pass paths.

Co-authored-by: Isaac
@mwojtyczka
mwojtyczka requested a review from a team as a code owner July 22, 2026 22:50
@mwojtyczka mwojtyczka added do-not-merge The PR is blocked, e.g. being worked on and not ready. Not using draft to be able to test changes. fork-test labels Jul 22, 2026
@mwojtyczka
mwojtyczka removed the request for review from a team July 22, 2026 22:50
The has_no_outliers profiler feature is opt-in (PROFILE_OPTION_HAS_NO_OUTLIERS
defaults to False), but the integration tests were written assuming it was
enabled by default. They expected has_no_outliers entries in the profile
output (or asserted exactly one profile) without setting the flag, so the
builder short-circuited and emitted nothing -> DQProfile list mismatches and
assert 0 == 1.

Pass "has_no_outliers": True in the options of every profiler test that
expects the profile, so they exercise the feature explicitly. Also enable it
in the negative threshold test so it actually verifies suppression instead of
passing coincidentally while the feature is disabled.

Co-authored-by: Isaac
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

do-not-merge The PR is blocked, e.g. being worked on and not ready. Not using draft to be able to test changes. fork-test

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants