Skip to content

Commit 340b88f

Browse files
AGENTS: note sweep doesn't trigger while a PR has merge conflicts (#1495)
A stale claude/* or update-* branch with a perf-changelog.yaml conflict (most common case) sits in NO_SWEEP / NO_SUCCESS even when sweep-enabled or full-sweep-enabled is applied — the run-sweep.yml workflow needs the PR to cleanly merge into main first. Adds a paragraph under "Pull Request Sweep Labels" pointing at the existing canonical resolution recipe in KLAUD_DEBUG.md §1.1. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent ec15908 commit 340b88f

1 file changed

Lines changed: 2 additions & 0 deletions

File tree

AGENTS.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,8 @@ PRs do not run the sweep automatically - `run-sweep.yml` is gated on a label. Pi
6464
- `sweep-enabled` - runs the sweep with `--trim-conc` (each parallelism config reduced to its single highest concurrency). Default for most PRs.
6565
- `full-sweep-enabled` - runs the full intermediate concurrency sweep, identical to push-to-main. Use when intermediate points matter (e.g. a recipe change shifts the throughput/latency curve, not just its endpoints).
6666

67+
**The sweep does not trigger while the PR has merge conflicts.** Even with `sweep-enabled` / `full-sweep-enabled` applied, the `run-sweep.yml` workflow will not start until the PR cleanly merges into main — a stale claude/* or update-* branch with a `perf-changelog.yaml` conflict (the common case) will sit in NO_SWEEP / NO_SUCCESS until rebased. Resolution recipe is documented in `KLAUD_DEBUG.md §1.1`: `git merge origin/main`, then `git checkout origin/main -- perf-changelog.yaml`, then re-append the PR's own changelog entry at the tail. Don't 3-way merge `perf-changelog.yaml`; whitespace edits silently re-trigger the deletion check.
68+
6769
Push-to-main always runs the full untrimmed sweep unless `[skip-sweep]` is in the commit message. Trim logic lives in `trim_conc()` in `utils/process_changelog.py`: single-node entries are grouped by every non-`conc` field and only the highest-`conc` entry per group is kept; multi-node entries have their `conc` list collapsed to `[max(conc)]`.
6870

6971
## Common Tasks

0 commit comments

Comments
 (0)