Summary
In the loop-safe verify step added in #2847, the resolver completes the merge with git commit --no-edit, then escalates (posts the conflict-attempted marker + conflict:needs-human label) if no new commit exists. If git commit --no-edit itself exits non-zero (e.g. a pre-commit hook rejects it), set -euo pipefail aborts the step before the escalation block runs — so no marker is posted and the freshen sweep can re-dispatch the resolver.
Likelihood
Very low: CI checkouts have no executable git hooks, and timeout-minutes: 60 is a backstop. Flagged by Reviewer A on #2847 as a non-blocking, theoretical edge. Tracking so it isn't lost.
Where
The Verify resolution, push, or escalate (loop-safe) step in .github/workflows/bot-resolve-conflicts.yml.
Acceptance criteria
- Any failure on the resolve path (including a failed commit) leaves a
conflict-attempted marker so freshen never re-dispatches indefinitely.
- A
trap-on-exit that posts the marker, or restructuring so the commit failure falls through to the escalation path, would both satisfy this.
Priority: low. Surfaced during the #2847 review cycle.
Summary
In the loop-safe verify step added in #2847, the resolver completes the merge with
git commit --no-edit, then escalates (posts theconflict-attemptedmarker +conflict:needs-humanlabel) if no new commit exists. Ifgit commit --no-edititself exits non-zero (e.g. a pre-commit hook rejects it),set -euo pipefailaborts the step before the escalation block runs — so no marker is posted and the freshen sweep can re-dispatch the resolver.Likelihood
Very low: CI checkouts have no executable git hooks, and
timeout-minutes: 60is a backstop. Flagged by Reviewer A on #2847 as a non-blocking, theoretical edge. Tracking so it isn't lost.Where
The
Verify resolution, push, or escalate (loop-safe)step in.github/workflows/bot-resolve-conflicts.yml.Acceptance criteria
conflict-attemptedmarker so freshen never re-dispatches indefinitely.trap-on-exit that posts the marker, or restructuring so the commit failure falls through to the escalation path, would both satisfy this.Priority: low. Surfaced during the #2847 review cycle.