fix(c6): remove_required_check handles checks array + fix tracking issue refs - #5931
Conversation
Previously remove_required_check only read from the `contexts` array when checking for a deprecated check, so a check configured via the GitHub Settings UI (which writes to the `checks` array, not `contexts`) would be silently skipped as "not present (clean)" and never removed. Now reads both arrays for the presence check and includes the `checks` key in the PATCH body when the context is found there, so Settings-UI- configured deprecated checks are removed correctly. Also updates two #4552 tracking references to the canonical #5266. No-PRD: correctness fix in a script, not a product feature Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01233ManZ6XTkXMc3QpfdVrV
✅ Drift Bot (ClawMetry): no drift detectedDrift Bot analyzed the changed files against this project's blueprints and requirements and found no drift. |
|
CI failures here are not from this PR's changes. This diff only modifies The last CI run on main (commit CI run is still in progress (some jobs queued). Will re-run failed jobs once the run completes. Generated by Claude Code |
|
blocked on author decision — skipping (auto-mergeability sweep) CI failures in the latest run (pip install, API Tests, MOAT, E2E) cannot be caused by the 1-file script change here ( Generated by Claude Code |
Problem
remove_required_checkinscripts/apply_required_status_checks.pyonly reads from thecontextsarray when checking whether a deprecated check is present. GitHub's Settings UI writes required checks to thechecksarray instead, so deprecated checks configured that way are permanently invisible to the removal path and never cleaned up.If a deprecated check (e.g.
OSS golden path (wheel + OpenClaw + 9 tabs)) was previously set via the Settings UI and is now inDEPRECATED_CHECKS, every run of the apply script would silently print "not present (clean), nothing to remove" and leave it in place.This is a correctness bug in the C6 apply path, not a blocker for C6 itself (branch protection not yet configured), but it must be fixed before any admin run to ensure deprecated individual checks are actually cleaned up.
Changes
scripts/apply_required_status_checks.pyremove_required_check: now reads bothcontextsandchecksarrays for the presence check, and includes thecheckskey in the PATCH body when the context is found there, so Settings-UI-configured deprecated checks are removed correctly#4552tracking references to the canonical#5266Acceptance test
Run
python3 -c "import importlib.util; ..."to verify the function signature is unchanged and the newbody["checks"]path only activates whenin_checks=True.No-PRD: correctness fix in a script, not a product feature
🤖 Generated with Claude Code
https://claude.ai/code/session_01233ManZ6XTkXMc3QpfdVrV
Generated by Claude Code