Skip to content

test(pr-pipeline): pin that fix-ci pushes an exec-bit and fixture fix - #9407

Merged
kyle-sexton merged 3 commits into
mainfrom
fix/9320-ci-fix-exec-bit-regression
Oct 23, 2026
Merged

kyle-sexton merged 3 commits into
mainfrom
fix/9320-ci-fix-exec-bit-regression

Conversation

@kyle-sexton

Copy link
Copy Markdown
Member

Closes #9320

Summary

On #9111, fix-ci's patch did not fail because of a .github/ path. It was refused for its file mode. Run 39813538656 logged:

refused (new-executable): plugins/work-items/tools/work-item-tracker/adapters/github/get-field-options.sh
apply-patch (ci-context): escalate (ci-fix-protected-path)

The model's fix set the exec bit on the new script (100644 to 100755). The new-executable refusal then matched, and because its kind was protected-path it escalated ci-fix-protected-path. The failing job's location played no part. #9278 (7638212, merged 2026-10-23 02:49Z, about ten hours after that run) deleted new-executable. On main today the ci-context row allows any and has no content rule, so it reports protected-path only for a workflow, CODEOWNERS, .gitmodules, settings, backslash or rename-into path.

No test pinned that outcome for the ci-context row, so this PR adds one.

Fix

Verification

  • The new test fails on the pre-feat(pr-pipeline): let lane patches reach review outside workflows and settings #9278 code (git restore --source=7638212d58^ of apply-patch.mjs and patch-rules.json) with { outcome: 'escalate', escalationReason: 'ci-fix-protected-path' }, and passes on main.
  • node --test in .github/scripts/apply-patch: 111 pass, 0 fail.
  • scripts/check-affected.sh --tests: 9 passed, 5 skipped. actionlint: clean. zizmor --offline .github/workflows: no findings.

Related

🤖 Generated with Claude Code

kyle-sexton and others added 2 commits October 23, 2026 09:40
…#9320)

On #9111, apply-patch refused fix-ci's patch with
`refused (new-executable): .../get-field-options.sh` and escalated
`ci-fix-protected-path`: the mode change 100644 to 100755 hit the
`new-executable` refusal, whose kind was protected-path. #9278 deleted
that refusal. This test holds the ci-context row to pushing such a
patch; it fails with ci-fix-protected-path on 7638212^.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@kyle-sexton
kyle-sexton marked this pull request as ready for review October 23, 2026 13:42
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 23, 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-23T13:44:33.702095Z ca4053b Draft marked ready
ℹ️ 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.

@github-actions

github-actions Bot commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

claude-review reviewed 1fd15cdf2759319edc9d2e8c3e7e889192c5774b: 0 finding(s), 0 as inline comments.

Incremental review of .github/scripts/apply-patch/apply-patch.test.mjs (since ca4053b). The only change reworded a test comment to drop the #9111 incident reference. It touches no code, assertions or fixtures, so behavior is unchanged. I found nothing to flag.

The closing issue (#9320) states no acceptance criteria beyond the expected behavior, and the test added earlier in this PR was reviewed at ca4053b. I did not run the tests, and the PR's verification claims are the author's and unverified by me.

No hold class applies: no model-spend change and no trusted-actor, CODEOWNERS or .gitmodules change.

@github-actions

github-actions Bot commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

claude-security-review reviewed 1fd15cdf2759319edc9d2e8c3e7e889192c5774b: 0 finding(s), 0 as inline comments.

Incremental security review of 1fd15cd, covering .github/scripts/apply-patch/apply-patch.test.mjs since ca4053b.

I found no security issues. The only change is a two-line comment rewrite above an existing test. It drops the "#9111's fix" incident reference and describes the fixture generically. No executable code, test logic, assertions, workflow, manifest or instruction surface changed.

I skipped the deep review under skip-gate item 2 (no security-relevant surface). The PR description is data and contains no embedded directives.

critical-findings: 0

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: ca4053b50c

ℹ️ 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".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread .github/scripts/apply-patch/apply-patch.test.mjs Outdated
…ment

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@kyle-sexton
kyle-sexton added this pull request to the merge queue Oct 23, 2026
Merged via the queue into main with commit 643bea4 Oct 23, 2026
33 checks passed
@kyle-sexton
kyle-sexton deleted the fix/9320-ci-fix-exec-bit-regression branch October 23, 2026 14:04
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.

fix(pr-pipeline): fix-ci refuses ci-fix-protected-path when the fix needs no protected path

1 participant