Skip to content

feat: repair limits, snapshot control, deterministic outliers, CI quality lanes - #37

Merged
kevincostner17 merged 2 commits into
mainfrom
repo-quality-work
Jun 18, 2026
Merged

kevincostner17 merged 2 commits into
mainfrom
repo-quality-work

Conversation

@kevincostner17

@kevincostner17 kevincostner17 commented Jun 18, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • Repair limits: Add max_patches and max_cells_scanned guards to plan() and repair() to prevent runaway diffs on large DataFrames; truncation emits a report warning instead of silently hanging
  • Snapshot control: Add retain_snapshots=False option to skip storing before/after frames when apply()/rollback() are not needed (memory optimisation for large frames)
  • Deterministic outlier removal: Fix auto_outliers() to detect against a stable snapshot so row-removal results are independent of column processing order
  • Unknown patch ID validation: RepairPlan.apply() now raises a clear ValueError listing unknown IDs instead of silently ignoring them
  • CI quality lanes: Split CI into a fast required lane (lint + typecheck + non-online/large tests on every PR) and a scheduled nightly lane for slow/online tests; add concurrency cancel to avoid stale runs
  • QUALITY_OPS.md: Runbook for weekly quality cadence and release-gate scorecard

Test plan

  • pytest -m "not online and not large" passes locally
  • New tests cover: patch limit truncation with warning, retain_snapshots=False blocking apply/rollback, unknown patch ID raising ValueError
  • CI required lane (quality-fast) passes on this PR
  • Outlier determinism verified via test_engine_outliers.py

kevincostner17 and others added 2 commits June 18, 2026 20:06
…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>
@kevincostner17
kevincostner17 merged commit 6a294ec into main Jun 18, 2026
9 checks passed
@kevincostner17
kevincostner17 deleted the repo-quality-work branch September 14, 2026 20:25
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