fix(meta): preserve prior quarantine when critical check errors on full run (#680) - #686
Merged
kstonekuan merged 3 commits intoOct 4, 2026
Conversation
Contributor
|
kstonekuan
approved these changes
Oct 4, 2026
kstonekuan
left a comment
Contributor
There was a problem hiding this comment.
LGTM, thanks for covering the retired, non-critical, and superseded cases. Merging.
Contributor
Author
|
Thanks for merging this one , looking forward to contribute more and more |
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.
Resolves #680
Summary
On a full
metastage run, when a critical check encounters an infrastructure crash or error (run.result is None), the previous quarantine tags were inadvertently dropped fromepisodes_latest. This occurred because the quarantine carry-over block insrc/hflow/app.pywas only executed ifStage.META not in enabled_stagesor if running a step subset (SelectedRegisteredSteps).Per maintainer guidance in #680:
metarun, carry over only thequarantined:<name>tags whose check ran in this invocation and errored (run.result is None).verdict=True), the quarantine is cleared as expected.Changes
src/hflow/app.py:errored_check_names = {run.check.name for run in report.checks if run.result is None}.metaruns where checks errored, inspectQuarantineHistoryand retain onlyquarantined:<name>tags wherename in errored_check_names.tests/test_run_profiles.py:test_full_meta_run_preserves_quarantine_when_critical_check_crashes: verifies thequarantined -> crashed -> still quarantinedcycle, ensures downstream stages are skipped withSkippedByQuarantine, and tests quarantine clearing upon a passing verdict.test_full_meta_run_drops_quarantine_for_unregistered_checks: verifies that unregistered check quarantine tags are not retained indefinitely on full runs.Verification
uv run ruff check&uv run ruff format --checkpassed cleanly.