Skip to content

feat(lib): lower the minimum number_of_cases threshold from 25 to 10 - #141

Merged
SkyeAv merged 1 commit into
mainfrom
feat/number-of-cases-min-10
Sep 4, 2026
Merged

feat(lib): lower the minimum number_of_cases threshold from 25 to 10#141
SkyeAv merged 1 commit into
mainfrom
feat/number-of-cases-min-10

Conversation

@SkyeAv

@SkyeAv SkyeAv commented Sep 4, 2026

Copy link
Copy Markdown
Owner

The release-mode case-count gate for applied_to_treat edges now requires 10 cases instead of 25, so release builds retain small-cohort treatment evidence that earlier releases dropped.

Change

  • Threshold: the drop_low_number_of_cases default in src/tablassert/lib.py moves from 25.0 to 10.0; edges with number_of_cases >= 10 (and nulls, as before) are kept, < 10 dropped.
  • Scope unchanged: gating (--release and applied_to_treat), null handling, non-numeric tolerance, and significance-phase placement are untouched — only the boundary moves.
  • Tests: the boundary test now exercises 9/10/11, and test_drop_low_number_of_cases_keeps_non_numeric_cells uses 9 for its below-threshold row (10 is now kept).
  • Changelog: adds an Unreleased / Changed entry to CHANGELOG.md.

Testing

  • uv run pytest tests/test_lib.py -k number_of_cases -q --no-cov8 passed.
  • make test1253 passed, 3 skipped.
  • make lint and uv run ruff format --check . → all clean.

The release-mode case-count gate for `applied_to_treat` edges now requires 10 cases instead of 25, so release builds retain small-cohort treatment evidence that earlier releases dropped.

### Change
- **Threshold:** the `drop_low_number_of_cases` default in `src/tablassert/lib.py` moves from `25.0` to `10.0`; edges with `number_of_cases >= 10` (and nulls, as before) are kept, `< 10` dropped.
- **Scope unchanged:** gating (`--release` *and* `applied_to_treat`), null handling, non-numeric tolerance, and `significance`-phase placement are untouched — only the boundary moves.
- **Tests:** the boundary test now exercises 9/10/11, and `test_drop_low_number_of_cases_keeps_non_numeric_cells` uses `9` for its below-threshold row (`10` is now kept).
- **Changelog:** adds an `Unreleased` / `Changed` entry to `CHANGELOG.md`.

### Testing
- `uv run pytest tests/test_lib.py -k number_of_cases -q --no-cov` → `8 passed`.
- `make test` → `1253 passed, 3 skipped`.
- `make lint` and `uv run ruff format --check .` → all clean.
@coderabbitai

coderabbitai Bot commented Sep 4, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Team

Run ID: 7dce2e00-48e3-4b8a-bb1d-2e3665e2e5b1


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@SkyeAv
SkyeAv merged commit 8ce2f5c into main Sep 4, 2026
5 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