Skip to content

ci: preserve required checks after pull request edits - #1944

Merged
mldangelo-oai merged 3 commits into
mainfrom
mdangelo/codex/ci-metadata-check-result
Oct 25, 2026
Merged

mldangelo-oai merged 3 commits into
mainfrom
mdangelo/codex/ci-metadata-check-result

Conversation

@mldangelo-oai

@mldangelo-oai mldangelo-oai commented Oct 24, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Updating a pull request body can block an approved change after its required checks passed. In the first experiment on this PR, the source run passed and GitHub reported a clean merge state. A body edit made GitHub report it blocked, even though a separately named metadata job and the title check both succeeded on the same head. Original source run · Original metadata run

Changes

  • An ordinary PR edit verifies the original source classifier, CI gate and three required OS checks against the same PR, head, base and tested merge. GitHub assigns source and edit runs separate names based on the event, PR number and target.
  • A completed green source followed by an uninterrupted sequence of green edits qualifies for reuse. An edit waits for an active source and preserves a genuine failure. A cancelled run, a rerun, a changed target, inconsistent results or missing evidence requires full qualification on the current tree.
  • The existing CI gate rechecks the current target and selected source. A partial rerun cannot refresh older required checks. Use Re-run all jobs to requalify an edit. The new checks use read-only Actions, pull request and repository access.

This eight-file change is stacked on the forwarding PR, which itself depends on the routing PR. Routing prerequisite · Forwarding prerequisite

Testing

  • The body edit and subsequent title edit each ran the classifier, gate and three fresh required OS checks. Their elapsed times were 32s and 33s, using 28 and 29 runner-seconds. Both recorded source run 40119734318. GitHub reported the approved PR clean before and after each edit. The independent title check passed each time. Body edit · Title edit
  • The protected source on 2dc84b6e passed all 69 jobs in 18m19s. The classifier selected real checks and the three required OS checks passed. Protected source run
  • The full SDK and MCP typechecks and repository formatting passed. A first hosted candidate exposed a test annotation that treated a YAML timeout expression as a number. That annotation is corrected and the same compiler now passes locally. First source typecheck
  • All 23 focused Node tests passed, covering source selection, merge provenance, current and inherited attempts, missing or inconsistent API evidence, pending and failed sources, the final gate and Action events. The 18 Bun workflow-quality cases passed with 195 assertions, and the release workflow contract passed its 39 assertions. Actionlint 1.7.12 with ShellCheck 0.11.0 and the Git whitespace check passed.
  • Source 92074d06 completed with two fixture failures. The macOS archive check reached 30.422597 seconds on its second child invocation. The Windows Python report fixture returned no exit status on its first invocation after 10.123105 seconds. Both original jobs and their red required checks remain recorded. Four matching Windows controls completed all seven assertions in 0.32–1.18 seconds. Both fixtures have independent repairs. macOS failure · Windows failure · Archive fixture repair · Native report fixture repair
  • The empty commit 2dc84b6e started the new first-attempt qualification. Its source tree is byte-identical to 92074d06 (2881f98d). A rerun of a failed attempt cannot authorize the fast edit path.
  • The diagnostic PR exercised a genuine source failure with an edit in progress. Its next edit reported failure in 28 seconds. Both edits emitted all three required OS failures. Waiting edit · Edit after the failure

Risk and rollout

The conservative policy can re-run the full matrices for subsequent edits on an ambiguous head. A fresh source commit starts a new history. Land the stale-retarget guard before relying on retarget qualification. Removing the obsolete PR release-progress listener also avoids a housekeeping job when Actions displays a custom PR run name. Retarget guard · Release-progress cleanup

The closed diagnostic PR also exercised a fresh head with no completed source. After its source was cancelled, the edit selected full qualification and ran all 69 jobs. The deliberate static error and all three required OS checks failed. Full qualification after cancellation

Public disclosure review

  • No customer, partner, prospect, or user identities, data, or identifying details are included.
  • No credentials, personal data, private source, scan findings, or nonpublic links or tickets are included.
  • I reviewed the branch name, title, description, commits, changes, comments, logs, screenshots, attachments, and links for public disclosure.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 24, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-25T01:16:17.434216Z 4d8ddc7 New commits
🔒 Security Review ✅ Completed 2026-10-25T01:17:03.966457Z 4d8ddc7 New commits
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@alandelong-oai alandelong-oai left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Thanks! Owner-level merge-safety review found no blocking issues. The metadata job with a fixed command and empty token permissions preserves source-check routing, names and cancellation isolation. All 325 focused workflow/release tests, 10 selector/gate tests, types, formatting and workflow lint passed. The planned same-head hosted acceptance check is still needed to establish the merge-eligibility effect; local routing tests cannot establish that, and the linked historical ruleset evaluation returned 404.

@mldangelo-oai
mldangelo-oai marked this pull request as draft October 24, 2026 16:30
@mldangelo-oai mldangelo-oai changed the title ci: record metadata-only pull request edits ci: qualify pull request edits against their source checks Oct 24, 2026

@alandelong-oai alandelong-oai left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Thanks — the shared timeout assertion fails the required TypeScript check locally and in this head’s hosted check; see the inline finding on #1945. Please apply the same type fix here. All 17 changed files and the prerequisite routing and forwarding changes were reviewed. The 442 focused Bun tests, 22 direct Node tests, SDK formatting and workflow lint passed; no additional substantive findings. Successful hosted source reuse remains unverified at this failing head.

@mldangelo-oai
mldangelo-oai marked this pull request as ready for review October 24, 2026 17:57

@alandelong-oai alandelong-oai left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Thanks — the timeout-type issue is fixed. Reviewed all 17 changed files and the prerequisite context; 442 focused SDK tests, 21 Node tests, SDK/MCP types and formatting pass. No new confirmed source defect.

The remaining material gap is the planned hosted acceptance of the main behavior: a green source run followed by an ordinary edit that reuses it and preserves the required checks and merge eligibility. This head’s source run failed, so that path remains unverified. The new Windows report fixture returned a null exit status after about 10 seconds, while the identical fixture passed on the diagnostic’s Windows run; a macOS archive test also timed out. Those results do not establish a deterministic code bug. Please obtain clean current-head source qualification and complete the planned same-head edit check to finish the owner-level merge-safety pass.

@alandelong-oai alandelong-oai left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Thanks — confirmed that this empty commit has the same source tree as the previous review. Rechecked all 17 changed files and the prerequisite context; the fresh 21 selector/source-verification tests pass. The prior 442 focused SDK tests, SDK/MCP typechecks and formatting results apply to this identical tree. No new confirmed source defect.

The owner-level merge-safety pass still needs the planned positive hosted acceptance: a green source followed by an ordinary same-head edit that reuses it and preserves the required checks and merge eligibility. The fresh source run is still in progress, with no edit run on this head yet. Please complete that acceptance sequence before merge.

@mldangelo-oai mldangelo-oai changed the title ci: qualify pull request edits against their source checks ci: preserve required checks after pull request edits Oct 24, 2026
@mldangelo-oai
mldangelo-oai changed the base branch from main to mdangelo/codex/ci-consolidate-required-checks October 24, 2026 18:36
@mldangelo-oai
mldangelo-oai force-pushed the mdangelo/codex/ci-consolidate-required-checks branch from 982d1a7 to 0faaa3d Compare October 25, 2026 00:53
Base automatically changed from mdangelo/codex/ci-consolidate-required-checks to main October 25, 2026 01:13
@mldangelo-oai
mldangelo-oai force-pushed the mdangelo/codex/ci-metadata-check-result branch from 2dc84b6 to 4d8ddc7 Compare October 25, 2026 01:14

@alandelong-oai alandelong-oai left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Thanks for preserving the required checks through PR edits. No blocking findings. Source reuse verifies the PR, head, base, tested merge and first-attempt history, then rechecks the evidence at the final gate; partial retries are guarded separately. Locally, 21 Node tests, 38 focused Bun tests (468 assertions), 14 CLI/gate probes, SDK/MCP types, formatting and workflow lint passed. The earlier-head hosted body and title edits successfully reused the source and reported every required check; the verifier and relevant workflow settings match this head. Current-head CI is still running, and current-head edit acceptance was not exercised.

@mldangelo-oai
mldangelo-oai merged commit e3ba882 into main Oct 25, 2026
145 of 150 checks passed
@mldangelo-oai
mldangelo-oai deleted the mdangelo/codex/ci-metadata-check-result branch October 25, 2026 01:48
@github-actions github-actions Bot mentioned this pull request Oct 25, 2026
3 tasks done
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.

2 participants