Repository navigation
Set up Mergepatrol - #97
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Verdict on the verify-command gapCan this config let a broken commit reach Evidence, from Mergepatrol's source (
What I changed (commit 2e7c9e7, signed and Verified, fast-forward on top of 5d2a25e, no history rewritten)verify:
- pnpm install --frozen-lockfile
- pnpm check --error-on-warnings
- pnpm knip
- pnpm typecheck
- pnpm --filter @bugpatrol/site typecheckThese mirror CI's
Note: the Nebula push path rebuilt this commit on the current The gap that does let a broken commit through (needs a repo admin, not this PR)Main's ruleset requires only Ask: add Current CI on this PR
Recommendation: safe to merge once the ruleset change above is made. It's also safe to merge before then, if you accept that Determinism stays advisory for queued PRs. |
Follow-up: the Determinism gap is closed in this PRThe gap: Why verify can't close it: verify commands run only after an agent resolution or fix ( The fix, needing no Mergepatrol or ruleset change (commit 60d4880, signed and Verified, fast-forward on 2e7c9e7):
Checks:
Still red, unrelated: the four This replaces the ruleset change I asked for in my earlier comment; no admin action is needed for the queue to be safe. Safe to merge. |
Co-authored-by: Nebula AI Agent <277912164+nebula-ai-agent[bot]@users.noreply.github.com>
The queue's agent can commit a conflict resolution or a CI fix to a PR branch. With `verify: []` it pushed that commit unchecked and relied on the required `build` check alone to catch a bad one. Required `build` still gates every merge, so this was not a path to main, but it let the agent push a broken resolution and gave it nothing to check its own work with. These mirror CI's `build` job except `pnpm test`, which needs Chromium and ffmpeg that Mergepatrol's job image does not have. Each was run locally from a clean install with browsers hidden: install 2s, check 2s, knip 2s, typecheck 8s, site typecheck 2s, all well under the 600s per-command limit. Co-Authored-By: Claude Opus 5.5 <[email protected]> Co-authored-by: Nebula AI Agent <277912164+nebula-ai-agent[bot]@users.noreply.github.com>
Main's ruleset requires one check, `build`. Mergepatrol merges once the trunk's required checks pass and ignores the rest (Checks::verdict in crates/github/src/checks.rs), so a PR whose Determinism run was red would merge from the queue. Until now only a person reading the red X stopped that. The old `build` job is now `checks`. Determinism becomes a reusable workflow that CI calls. A new `build` job needs both and fails unless each succeeded. It runs on always(), because a job skipped after a failed need counts as passed, to GitHub and to Mergepatrol (checks.rs maps skipped to Passed) alike. The check name is unchanged, so the ruleset needs no edit. Co-Authored-By: Claude Opus 5.5 <[email protected]> Co-authored-by: Nebula AI Agent <277912164+nebula-ai-agent[bot]@users.noreply.github.com>
60d4880 to
9b6537e
Compare
|
Branch cleanup: Review smoke 401: this does not block this PR any more. Review smoke only runs when a PR touches
Needs a repo/org admin: replace the |
This PR adds
.mergepatrol/mergepatrol.ymlwith the settings below. Once it merges intomain, Mergepatrol runs a merge queue on this repo: add themergepatrollabel to a PR to queue it.mergepatrolclaude-opus-5-5, effortmediumpnpm install --frozen-lockfile,pnpm check --error-on-warnings,pnpm knip,pnpm typecheck,pnpm --filter @bugpatrol/site typecheck(all of CI'sbuildexceptpnpm test, which needs a browser the job sandbox lacks)It also adds the
mergepatrolagent skill, at.agents/skills/mergepatrol/SKILL.mdand.claude/skills/mergepatrol/SKILL.md, so coding agents in this repo queue their PRs instead of merging them.To change the settings later, edit the file, or use the Mergepatrol dashboard, which opens a PR like this one.
Need help on this PR? Tag
@codesmith-botwith what you need.