Skip to content

merge: auto merges a cleared head while its author is still at work - #601

Merged
renmengye merged 3 commits into
mainfrom
fix/merge-without-parking
Nov 1, 2026
Merged

renmengye merged 3 commits into
mainfrom
fix/merge-without-parking

Conversation

@renmengye

Copy link
Copy Markdown
Member

Need

Under merge: auto, the kernel merged a blessed head only once the run was parked with no jobs in flight and no unread messages. Every review round produces advisory findings, and each one arrives as a message. An author that answers them with another experiment never goes quiet. On one live target, a PR cleared the gate and the panel with no blocking findings, then stayed open for nine days. Its author kept revising, which also improved the score, but main never received any of it.

Change

  • _merge_blessed_pr no longer waits on the author's jobs or on the loop's own messages (verdicts, launch results, CI). It still waits on an unread human comment (human_pending, source human). Every other check is unchanged: the run must be parked, the head must be the blessed head, the head must contain the base tip, CI must be clean, and the contract must say auto.
  • When a PR merges, the run ends and its jobs are cancelled, as before (finish_run). Further work comes back as a new PR.
  • The author brief now says that under auto merge, a credited head with no blocking finding merges without waiting for the author, that advisory findings never hold it, and that later work belongs in a later PR.
  • docs/contract.md and the CHANGELOG are updated.

Compatibility: no persisted state changes. Runs in flight pick up the new rule at the next tick, so a cleared PR whose author is still running jobs merges on that tick, and those jobs are cancelled.

Tests: the self-merge parametrizations now cover a busy author (merges) and a human comment (waits). The rebless and lease-race cases use a human comment where they previously used a kernel note.

Built by Claude Opus 5.5; review by the PR review bot.

The self-merge waited until the run had no jobs in flight and no unread
messages. An author that answered each panel round's advisory findings with
another experiment never went quiet, so its cleared PR stayed open for days
while main fell behind. Only an unread human comment holds the merge now; the
author's brief says a cleared PR merges without waiting for it.
@renmengye renmengye added the outerloop:review re-request the advisory review label Nov 1, 2026

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Round 1 — reviewed head 5dc93cf4 — reviewer hermes/gpt-5.6-terra.

terra
Advisory findings from outerloop — the code owner decides. Reply to disagree; the outerloop:no-review label opts this PR out.

Verdict: no defects found.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Round 2 (re-run on the same head) — reviewed head 5dc93cf4 — reviewer summarizer:hermes/gpt-5.6-terra over coverage+credentials+deployment+general+lifecycle+prose.

terra
Advisory findings from outerloop — the code owner decides. Reply to disagree; the outerloop:no-review label opts this PR out.

Verdict: 1 blocking, 0 advisory.

1 finding attached to the lines below.

Merged verdict: one blocking lifecycle finding. Rejected findings: none.

Comment thread src/outerloop/tick.py Resolved
@renmengye renmengye added outerloop:review re-request the advisory review and removed outerloop:review re-request the advisory review labels Nov 1, 2026

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Round 3 — reviewed head 6e68d2d7 — reviewer hermes/gpt-5.6-terra.

terra
Advisory findings from outerloop — the code owner decides. Reply to disagree; the outerloop:no-review label opts this PR out.

Verdict: no defects found.

@renmengye
renmengye merged commit 87f218d into main Nov 1, 2026
5 checks passed
@renmengye
renmengye deleted the fix/merge-without-parking branch November 1, 2026 17:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

outerloop:review re-request the advisory review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant