Repository navigation
ci: cut CI and review-bot cost; one PR per change - #133
Conversation
- Checks and CodeQL run on PRs (and weekly), not again on main after merge; Core integrity no longer runs on every branch push. - Concurrency cancels superseded PR runs. - Documentation-only PRs (docs/, openspec/, *.md) skip CodeQL, dependency audit and container steps; tests still run; required checks still report. Scope detection fails open. - PR release labels no longer re-trigger on its own label writes. - Pullfrog skips documentation-only PRs. - AGENTS.md: steps and review fixes are commits in the change's PR. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EQXdcx49Pi5uQErd6kDEKs
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the
|
There was a problem hiding this comment.
Important
Docs-only skipping makes scripts/check_pr_merge.py reject documentation-only PRs. Details are inline.
Reviewed changes
Reviewed the full diff of the single commit, plus the merge preflight and workflow consumers it interacts with.
- Post-merge re-runs removed —
checks.yml,codeql.ymlandcore-integrity.ymldrop theirpushtriggers and gain per-PR concurrency with cancel-in-progress. - Docs-only scope gate — a
scopejob skipsdependency-audit, CodeQLanalyzeand thecontainer-checksteps for documentation-only PRs, and fails open. - Label workflow —
pr-release-labels.ymlno longer triggers onlabeled. - Pullfrog docs gate —
pullfrog.ymlskips checkout and the agent for documentation-only PRs, and fails open. - Contributor rule —
AGENTS.mdadds the one-branch-one-PR rule.
claude-sonnet-5-5 | 𝕏
…infra-mx3xa) scripts/merge_pr.py and scripts/check_pr_merge.py duplicated the shared pr-ship/pr-gate merge gate (head-pinned merge commit, CI + Pullfrog head review, docs-only rule) and rejected SKIPPED check runs, which documentation- only PRs now produce. Remove both scripts and their tests; AGENTS.md, CONTRIBUTING.md, BUILD.md and the PR template point to the shared gate. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EQXdcx49Pi5uQErd6kDEKs
There was a problem hiding this comment.
✅ No new issues found.
Reviewed changes
Reviewed the delta since the prior Pullfrog review (cce9552 → 7fae6fa), plus the full PR diff and a repository grep for dangling references.
- Local merge scripts removed —
scripts/merge_pr.py,scripts/check_pr_merge.pyand their three test modules are deleted. This retires the earlier concern thatSKIPPEDcheck runs from docs-only skipping would be rejected bypassing_checks(). - Docs point to the shared gate —
AGENTS.md,CONTRIBUTING.md,.github/BUILD.mdand the PR template now reference merging throughpr-shipinstead of the removed scripts. No references to the deleted scripts remain in the repo. - Convention test sentinel updated —
tests/test_python_conventions.pynow assertsscripts/check_core.py(which exists) instead of the deletedscripts/merge_pr.py.
claude-sonnet-5-5 | 𝕏

Summary
Same pattern as flowcool/ghostfolio-ibkr-sync#324 (merged): no post-merge re-runs, concurrency, documentation-only scope, title-only label trigger, Pullfrog docs gate, explicit one-PR-per-change rule.
Behavior
October 2026: 89 PRs, 1,214 runs, 3,303 billed minutes. Core integrity ran on every branch push and again on the PR (204 + 129 runs); Build and checks and CodeQL re-ran on
mainafter each merge; superseded PR runs were not cancelled;PR release labelsre-triggered on its own label writes; Pullfrog ran a full review on documentation-only PRs although its prompt asks to skip them.checks.yml,codeql.yml: PR, dispatch and weekly schedule only; PR concurrency with cancel-in-progress.core-integrity.yml: nopushtrigger (PR, dispatch, weekly schedule); concurrency.docs/,openspec/,*.md, same rule asmerge_pr.py) skip CodeQL, dependency audit and the container-check steps.testandcore-integritystill run. Required checks still report (skipped job = success; the matrix job runs with skipped steps so its names expand). Scope detection fails open (gherror → run everything).pr-release-labels.yml:opened, edited, reopened.pullfrog.yml: local step skips the agent for documentation-only PRs (PR number from the run name). Fails open.AGENTS.md: steps and review fixes are commits in the change's PR.pr-shipgate:scripts/merge_pr.py,scripts/check_pr_merge.pyand their tests are removed (they duplicated the shared gate and rejected SKIPPED check runs); AGENTS.md, CONTRIBUTING.md, BUILD.md and the PR template updated. Full suite 1523 passed.Release impact
None. CI and contributor tooling only; no shipped code or image change.
Evidence
main.Verification
actionlint 1.7.12on all workflows; docs-only detection snippet on synthetic file lists.Use synthetic inputs and isolated state. Do not attach secrets or private data.
Merge Danger
AI assistance
Prepared by Claude Code (Opus 5.5) from GitHub API measurements for October 2026; skip behavior on a real documentation-only PR is verified after merge.
Pullfrog review
Review evidence:
CodeRabbit is not used. A sticky
pullfrog-approvalstatus alone does not blockmerge. Every other CI check must pass. Docs-only changes (
openspec/,docs/or
*.md) need CI and resolved conversations only.🤖 Generated with Claude Code
https://claude.ai/code/session_01EQXdcx49Pi5uQErd6kDEKs