fix(source-control): exclude self-logins from automation human-stop gate - #2469
Conversation
|
Bugbot is not enabled for your account, so this pull request was not reviewed. Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs. |
|
Claude finished @kyle-sexton's task in 3m 44s —— View job Security Review
Scope: Core mechanism reviewed: No CRITICAL or IMPORTANT security issues found in this diff. SUGGESTION / Confidence: High (not a vulnerability — fail-closed, informational) The
Neither passes No exploitable authorization gaps, injection surfaces, or credential/token handling issues were found in this PR's diff. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 80f5b8ab36
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
82167dc to
1d74f3b
Compare
|
Claude finished @kyle-sexton's task in 1m 59s —— View job Security Review
Scope: Core mechanism reviewed: No CRITICAL or IMPORTANT security issues found in this diff. SUGGESTION / Confidence: High (not a vulnerability — fail-closed, informational) The
Neither passes This is strictly more restrictive than intended (fail-closed), not a security bypass, so it's not exploitable. The added test ( No exploitable authorization gaps, injection surfaces, or credential/token handling issues were found in this PR's diff. |
1d74f3b to
a9b3d4b
Compare
|
Claude finished @kyle-sexton's task in 1m 4s —— View job Security Review
Scope: Core mechanism reviewed: No CRITICAL or IMPORTANT security issues found in this diff. SUGGESTION / Confidence: High (not a vulnerability — fail-closed, informational) This commit adds the
Neither passes Neither script even has a This is strictly more restrictive than intended (fail-closed), not a security bypass, so it is not exploitable. The added test ( No exploitable authorization gaps, injection surfaces, or credential/token handling issues were found in this PR's diff. |
a9b3d4b to
a325099
Compare
Co-authored-by: Kyle Sexton <kyle-sexton@users.noreply.github.com>
Fixes #902 Add human_stop.external_required for freshness refresh and review triggers while human_stop.required still blocks merge for solo maintainer stops. Co-authored-by: Kyle Sexton <kyle-sexton@users.noreply.github.com>
Co-authored-by: Kyle Sexton <kyle-sexton@users.noreply.github.com>
d88c648 to
c65169a
Compare
|
Claude finished @cursor[bot]'s task in 2m 51s —— View job Security Review
Scope: Core mechanism reviewed: No CRITICAL or IMPORTANT security issues found in this diff. SUGGESTION / Confidence: High (not a vulnerability — fail-closed, informational) — posted inline on both call sites: The
Neither passes This is strictly more restrictive than intended (fail-closed), not a security bypass, so it's not exploitable. The added test ( This exact gap was flagged by this lane and by Codex on all three prior commits in this PR ( No exploitable authorization gaps, injection surfaces, or credential/token handling issues were found in this PR's diff. |
|
Last security-reviewed head: |
|
Claude finished @cursor[bot]'s task in 2m 50s —— View job Code Review
Scope: Two inline findings posted: 1. 🔴 2. 🔴 The added test ( No other correctness, design, or test-coverage issues found in this diff. |
|
Claude has reviewed this PR 3 times. The lane skips further automatic reviews after 5; deleting this comment resets the count. |
|
Claude finished @kyle-sexton's task in 1m 22s —— View job Security Review
Scope: HEAD is now No CRITICAL or IMPORTANT security issues found in this diff. (Unchanged conclusion from the prior review at this head's content: the Still open (informational, not a security finding, fail-closed): No exploitable authorization gaps, injection surfaces, or credential/token handling issues were found in this PR's diff. |
…ckRollup running-check pitfall (#2513) ## Summary Lands the two PR-lifecycle facts #1436 recorded from driving #1393/#1316/#1318/#1322 to merge, in the document that was prescribing the expensive path: - **Stale-branch recovery now defaults to merge-forward.** `monitor.md`'s mergeable pre-check (§3.1 step 1) and stale-branch recovery rule (§3.2) both prescribed "force-push with lease" — but auto-mode permission classifiers commonly deny force-push, and the recorded consequence was a fresh branch + fresh PR + closing the old one per rebase (the #1315 → #1377 → #1393 churn, with every review thread re-opened on the successor). Merging the default branch *into* the PR branch resolves staleness and pushes **fast-forward** — no force-push — and under a squash-only default branch the merge commits collapse to one commit on merge, so linear-history requirements stay satisfied. Verified in the issue's own record: #1393 landed that way and #1318 was merge-forwarded five times without needing a new branch. Rebase stays available as the exception for projects requiring a linear PR branch where force-push is actually permitted. - **`statusCheckRollup` reports a running check as `conclusion: ""` (empty string), not `null`.** The complement-shaped filter (`conclusion != null and != "SUCCESS"`) therefore counts every in-progress check as a failure — the exact misreport in the issue (two "failing" checks that were simply still running). The multi-PR scan section (§3.0.6, the one place this skill reads `statusCheckRollup`) now documents the pitfall with value-positive jq selectors for "failed" and "still running". Version `0.53.11` → `0.53.14` (patch; `0.53.12`/`0.53.13` are claimed by in-flight PRs #2450/#2453/#2483/#2510 and #2469 — skipping past them per the #1746 collision pattern). ## Test plan - `npx markdownlint-cli2@0.23.2` on both edited markdown files — 0 issues. - Docs-only change to skill reference text; no scripts or hooks touched. The jq forms added are the ones from the issue, verified against `gh pr view --json statusCheckRollup` semantics. ## Related Fixes #1436 Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: Kyle Sexton <kyle-sexton@users.noreply.github.com>
…ckRollup running-check pitfall (#2513) ## Summary Lands the two PR-lifecycle facts #1436 recorded from driving #1393/#1316/#1318/#1322 to merge, in the document that was prescribing the expensive path: - **Stale-branch recovery now defaults to merge-forward.** `monitor.md`'s mergeable pre-check (§3.1 step 1) and stale-branch recovery rule (§3.2) both prescribed "force-push with lease" — but auto-mode permission classifiers commonly deny force-push, and the recorded consequence was a fresh branch + fresh PR + closing the old one per rebase (the #1315 → #1377 → #1393 churn, with every review thread re-opened on the successor). Merging the default branch *into* the PR branch resolves staleness and pushes **fast-forward** — no force-push — and under a squash-only default branch the merge commits collapse to one commit on merge, so linear-history requirements stay satisfied. Verified in the issue's own record: #1393 landed that way and #1318 was merge-forwarded five times without needing a new branch. Rebase stays available as the exception for projects requiring a linear PR branch where force-push is actually permitted. - **`statusCheckRollup` reports a running check as `conclusion: ""` (empty string), not `null`.** The complement-shaped filter (`conclusion != null and != "SUCCESS"`) therefore counts every in-progress check as a failure — the exact misreport in the issue (two "failing" checks that were simply still running). The multi-PR scan section (§3.0.6, the one place this skill reads `statusCheckRollup`) now documents the pitfall with value-positive jq selectors for "failed" and "still running". Version `0.53.11` → `0.53.14` (patch; `0.53.12`/`0.53.13` are claimed by in-flight PRs #2450/#2453/#2483/#2510 and #2469 — skipping past them per the #1746 collision pattern). ## Test plan - `npx markdownlint-cli2@0.23.2` on both edited markdown files — 0 issues. - Docs-only change to skill reference text; no scripts or hooks touched. The jq forms added are the ones from the issue, verified against `gh pr view --json statusCheckRollup` semantics. ## Related Fixes #1436 Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: Kyle Sexton <kyle-sexton@users.noreply.github.com>
|
Claude finished @kyle-sexton's task in 1m 16s —— View job Code Review
Skip gate triggered: For reference, both prior findings remain unresolved at this HEAD:
Both were already flagged multiple times (Codex, and this lane's security/code-review reviews on |
Co-authored-by: Kyle Sexton <kyle-sexton@users.noreply.github.com>
|
Claude finished @cursor[bot]'s task in 1m 10s —— View job Security Review
Skip gate triggered — this head already has a successful security review that still applies. HEAD is now
Neither of those touches security-relevant logic, so this lane's prior conclusion at Still open (informational, not a security finding, fail-closed): No exploitable authorization gaps, injection surfaces, or credential/token handling issues were found in this PR's diff. |
|
Claude finished @cursor[bot]'s task in 2m 38s —— View job Code Review
Skip gate (partial): Resolved since the last review: the Still open, unresolved: self-logins still aren't threaded into the live human-stop re-check:
Since the script content is byte-identical to No other correctness, design, or test-coverage issues found in the delta since the last review. |
Fixes #902
Self-authored classification replies no longer block branch refresh or review triggers. Merge/triage still consult
human_stop.required; automation gates use newhuman_stop.external_required.Test plan
python3 -m pytest plugins/source-control/skills/babysit-prs/scripts/tests/test_babysit_delta.py -k self_login(7 passed)Related
N/A