feat: repair limits, snapshot control, deterministic outliers, CI quality lanes - #37
Merged
Merged
Conversation
…val, and CI quality lanes - Add max_patches / max_cells_scanned guards to plan() and repair() to prevent runaway diffs on large DataFrames; truncation emits a report warning - Add retain_snapshots=False option to skip storing before/after frames when apply()/rollback() are not needed (memory optimisation) - Fix outlier removal determinism: detect against a stable snapshot so results are independent of column processing order - Validate unknown patch IDs in RepairPlan.apply() with a clear ValueError - Split CI into a fast required lane (lint + typecheck + non-online/large tests) and a scheduled nightly lane for slow/online tests; add concurrency cancel - Add QUALITY_OPS.md runbook for weekly cadence and release-gate scorecard - Extend test suite to cover patch limits, snapshot retention, and unknown IDs Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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
max_patchesandmax_cells_scannedguards toplan()andrepair()to prevent runaway diffs on large DataFrames; truncation emits a report warning instead of silently hangingretain_snapshots=Falseoption to skip storing before/after frames whenapply()/rollback()are not needed (memory optimisation for large frames)auto_outliers()to detect against a stable snapshot so row-removal results are independent of column processing orderRepairPlan.apply()now raises a clearValueErrorlisting unknown IDs instead of silently ignoring themTest plan
pytest -m "not online and not large"passes locallyretain_snapshots=Falseblocking apply/rollback, unknown patch ID raising ValueErrortest_engine_outliers.py