Report actionable merge refusals and preserve recovery certainty - #2519
Conversation
…52c5b32c2fb45c9: merge PR #2519
|
Launchplane completed the merge-train step for this pull request.
Launchplane finished the merge-train step for this pull request. Launchplane manages this comment and will update it as the train moves. |
|
The attempted train landing was refused: Merge Train Runner 36280044430, trace GitHub's merge panel identifies CodeQL alert 45 as a blocking rule despite passing workflow checks. Commit Inspection correction: the prior clean-worktree |
|
Inspection triage for
No inspection suppression, profile change, or baseline change was made. The detailed cached findings read later reported project snapshot churn, so that follow-up read is diagnostic evidence rather than a new current verdict; the completed native inspection's RED result is retained. The previous blanket GREEN statement is superseded by this bounded report. All 100 HTTP merge-train tests passed on the CodeQL fix, and hosted checks remain pending. |
…cfabaf52cb0ac6e: merge PR #2519
|
Delivered through the normal LP train, with the CodeQL fix included:
This prerequisite's delivery does not close #2494. The protected batch implementation is #2524; #2516/#2517 remain unqueued for its genuine two-entry proof. |
GitHub's conclusive 405 merge refusal was reported as an upstream outage with a retry instruction. The adapter now preserves that rejection, reads the same PR once for bounded diagnosis, and returns HTTP 409
github_merge_rejectedwith the attempt trace, PR number, provider status, and either an observed behind head or an explicitly unconfirmed cause. Raw provider bodies are excluded.On a resumed partial batch, LP first reconciles an unresolved earlier attempt from the unchanged open-head/base evidence, then blocks an observed behind head before new admission or another merge. The first landed entry remains recorded. This is the refusal/recovery slice of #2494; the separately approved protected batch PR implementation follows under #2518.
Validation:
claude-opus-5-5review found two issues: blocking before unresolved-attempt reconciliation, and anIncompleteReaddiagnostic failure masking the 405. Both reproduced and were fixed. The full local suite passed afterward.No live merge or provider mutation was used to test refusal handling. Real batch landing and service-posted feedback remain required by #2494. The qualification pair #2516/#2517 stays unqueued until the batch landing repair is deployed.
Refs #2494. Design decision: #2518.
Commit
8fda3439also returns fixed public error text to address CodeQL alert 45; 100 HTTP merge-train tests pass. The attempted train landing was rejected before effect, as recorded in the controller diagnostic and linked workflow comment.