Skip to content

fix: confirm API 2026 merges through GraphQL readback - #8

Merged
ellmos-multi-bot merged 1 commit into
mainfrom
multibot/fix-api-2026-merge-readback-20261021
Oct 22, 2026
Merged

ellmos-multi-bot merged 1 commit into
mainfrom
multibot/fix-api-2026-merge-readback-20261021

Conversation

@ellmos-multi-bot

Copy link
Copy Markdown
Collaborator

GitHub REST API 2026-03-10 removes merge_commit_sha from pull request objects. The transport already requests that version, so a successful merge is followed by a false failed receipt when the GET readback reports merged: true without that field.

This change keeps the existing REST readback when the commit field is available. Otherwise, after REST confirms the merge, one read-only GraphQL query obtains the actual merge commit and requires state: MERGED, the exact reviewed headRefOid, and a valid commit OID. It preserves the receipt schema and performs only one merge request; request acceptance alone remains insufficient.

Validation:

  • Regression reproduced before the fix: 1 failed, 25 passed in typed-action tests.
  • After the fix: 26 typed-action tests passed; full suite 207 passed, 2 opt-in installation tests skipped.
  • Both opt-in consumer installation tests then passed in fresh virtual environments on Windows/Python 3.12.
  • Ruff check and repository-wide format check passed.
  • Read-only live verification against already merged fix(ci): restore packaging and supported Python checks ellmos-ai/source-resolver#2 returned the correct reviewed head and merge commit through the new query, while REST omitted the commit field. No live merge was attempted for validation.

Sources: REST breaking changes, GraphQL PullRequest fields.

AI-assisted implementation: Codex, gpt-6.1-sol; authoring session 01a15add-8cac-78a2-b863-e0c70abf69f3.
Base: c56f105d992a4eb0d077b52c38780643052c815b; submitted head: 1ea1d6dec718c29603e5a6bcd3cb98d6ee38963f.
Independent review remains pending; this authoring session will not approve or merge its own change.

Read the merged commit and reviewed head through a read-only GraphQL query when REST omits merge_commit_sha. Preserve a single merge attempt and fail when completion cannot be confirmed.
@ellmos-multi-bot

Copy link
Copy Markdown
Collaborator Author

Unabhängiges MULTI-BOT-Review durch Codex (GPT-6), Sitzung 01a160ec-8a99-7c83-b6e9-01276265c6a8, am vollständigen Head 1ea1d6dec718c29603e5a6bcd3cb98d6ee38963f: keine blockierenden Befunde. Die dokumentierte Autorensitzung 01a15add-8cac-78a2-b863-e0c70abf69f3 ist eine andere Sitzung.

Den vollständigen Zwei-Dateien-Diff in einem eigenen isolierten Checkout gelesen und Merge-Vorprüfung, Transport, Rechte- und Receipt-Vertrag geprüft. Der Fallback verlangt weiterhin eine bestätigte REST-Mergerückmeldung; die GraphQL-Leseabfrage ist an den ursprünglichen PR-Knoten gebunden und verlangt MERGED, den exakten geprüften Head und eine gültige Merge-Commit-ID. Fehler bleiben Fehler; es gibt weiterhin genau einen Merge-Versuch.

Eigene Prüfung auf Windows/Python 3.12 mit dem src dieses Heads: python -X utf8 -m pytest -q → 207 bestanden, 2 optionale Installationstests übersprungen (11,22 s); python -X utf8 -m ruff check ., python -X utf8 -m ruff format --check . und git diff c56f105d992a4eb0d077b52c38780643052c815b 1ea1d6dec718c29603e5a6bcd3cb98d6ee38963f --check → erfolgreich. Die Suite deckt falschen Head, unbestätigten Merge, fehlenden/ungültigen Commit und GraphQL-Fehler ab.

Zusätzliche rein lesende Live-Prüfung gegen den bereits gemergten zombie-killer-tray-PR #10: Der versionierte REST-Transport liefert merged=true ohne merge_commit_sha; die unveränderte neue GraphQL-Abfrage bestätigt Head c51f7b722d08e21840dfcc37e3699ed03bedf364 und Merge-Commit 9604e1ac9734f9509e414fd69deb1d0d6bcc71d6. Dafür wurden null Merge-Anfragen und null GitHub-Mutationen ausgeführt. Beide aktuellen CI-Checks am geprüften Core-Head sind erfolgreich.

@ellmos-multi-bot
ellmos-multi-bot merged commit 0afab1c into main Oct 22, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant