Repository navigation
refactor(source-control): babysit scripts read the tracker binding from the convention home - #11963
Conversation
Lane-Activity: work-resolve-issue/resolve-issue
…11934-babysit-convention-home
babysit_merge_policy and babysit_postmerge now import the tracker binding reader, so it joins the Python that decides the holds. Add it to babysit_risk.FLOOR_CLASSES as enforcement and regenerate the copies with scripts/sync-hold-floor.py (merge-holds.mjs, the review callers' hold-paths, ci-status's hold_patterns). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
claude-security-review reviewed Security review: PR #11963 (babysit scripts read the tracker binding from the convention home)No security issues found. critical-findings: 0 I read every hunk of all 21 changed files. The trusted-path files got a full read of their change and of what they gate: What I checked
Spend: the extra floor row asks for a bound security review on future changes to |
|
claude-review reviewed Code review: PR #11963. No blocking findings.I read every hunk of all 21 changed files. The change adds What I checked
Closing issue #11881, "Done when"
Notes (not findings)
|
Closes #11881
Supersedes #11934: it carries that lanes App PR's head unchanged (merged, not rewritten) plus the CI fix the pr-unblock fix-ci lane could not push, because it touches
.github/workflows/(run, stop reasonci-fix-protected-path).Summary
The babysit scripts read the tracker binding from
docs/conventions/work-items.yaml(falling back to the legacy.work-item-tracker.json) through a new reader,babysit_tracker_binding.py. #11934's body has the full design; this PR keeps all of it.babysit_merge_policy.pyandbabysit_postmerge.pynow import that reader, so it is part of the Python that decides the merge holds and must sit on the hold floor. #11934 did not add it, which failedtest_merge_holds_sync.py(test-python,test-bashviaengine.test.sh, andcheck-skills' script test for babysit-prs).Fix
plugins/source-control/skills/babysit-prs/scripts/babysit_risk.py:babysit_tracker_binding.pyjoinsFLOOR_CLASSESasenforcement, the class every other non-gate babysit helper carries (a clean bound security review clears it).scripts/sync-hold-floor.pyregenerated the four copies:.github/scripts/pr-merge/merge-holds.mjsHOLD_PATH_CLASSES, thehold-pathsof.github/workflows/pr-review-hosted.ymlandpr-review-security-hosted.yml, and ci-status'shold_patternsin.github/workflows/pr-require-checks.yml.tests/test_floor_paths.pyandtests/test_babysit_risk.py: the floor pins move by one enforcement row (classes 119 to 120, review 50 to 51, built-in rows 28 to 29). Thehighandauthor_reviewdigests are unchanged, so no hold or trusted-author lift moved.8324668651b9720d61adbcc549517c8eeb72135b), merged.Verification
python3 -m unittestovertests/test_merge_holds_sync.py: 21 tests OK.plugins/source-control/skills/babysit-prs/scripts/engine.test.sh: 3836 tests OK (17 skipped), ruff clean, guarded-wrapper checks PASS. Before the pin update it failed only on the five floor-count pins.check-affectedpassed.Related
🤖 Generated with Claude Code