Skip to content

fix(ci): check_ci_draft_skip.sh self-test exits 128 in clean-room (dubious ownership) — cancels every MG run - #6480

Merged
noahgift merged 1 commit into
mainfrom
fix/draft-skip-selftest-safe-dir
Oct 27, 2026
Merged

noahgift merged 1 commit into
mainfrom
fix/draft-skip-selftest-safe-dir

Conversation

@noahgift

Copy link
Copy Markdown
Member

Closes #6479

scripts/check_ci_draft_skip.sh ran git rev-parse --show-toplevel unconditionally, including under --self-test. In the clean-room merge-group container /workspace is owned by another uid, git refuses it ("detected dubious ownership"), the script exits 128, and ci.yml's fail-fast step cancels the whole merge-group run.

Evidence: MG runs 40514962131 (job 122226783260, 14:28:18Z) and 40523513222 (job 122257141354, log l.3959/3964 at 15:26:30Z): FAIL [32/33] exit 128: bash scripts/check_ci_draft_skip.sh --self-test, then gh run cancel. This deterministically blocks every queued PR, including #6438.

Fix: derive the repo root from the script's own path. An explicit workflow path argument is still honoured, and no check is skipped.

Verified: in an ubuntu:22.04 container running as nobody, on a repo owned by root, the old script gives rc=128 with the dubious-ownership error. The new script gives rc=0 with every self-test mutant red as expected. bashrs lint reports 0 errors and cargo fmt --all -- --check is clean.

Not covered: the other 32 Sections scripts were not audited for the same pattern.

🤖 Generated with Claude Code

…, not a repo query (Refs #6479)

The --self-test exited 128 (dubious ownership) in the clean-room container
where /workspace is owned by another uid, failing workspace-test-shard (3,4)
on merge-group runs 40514962131 and 40523513222. The root is now taken from
the script's own path, so no repo query runs.

PMAT-Ticket: PMAT-6479
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

§13.11 rung 1 — quorum shadow verdict

S13-SHADOW pr=6480 head=1a72714b2769b1007ef75fd6ffdb0545650aacfb verdict=REFUSE class=Q1 arm_rc=1

Shadow mode: this records a verdict and merges nothing. A refusal
to arm is not a block (§13 adds zero rows to §7) — the pull request is
exactly as green as it was.

@noahgift noahgift left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

seat 1 (non-author, claude-opus-5-5): APPROVE @1a72714b. --self-test green + 7/7 mutants red from root, abs path and other cwd; ci.yml mutation -> rc=1 (not vacuous); no remaining git calls; cd failure -> rc=1. Nit: CDPATH can corrupt root but fails closed.

@noahgift noahgift left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

seat 2 (non-author, claude-haiku-5-5): APPROVE @1a72714b. Root resolves from script path regardless of cwd; no other git calls; self-test green, 7 mutants red; guard-removed workflow -> FAIL rc=1.

@noahgift noahgift left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

sign-off (non-author, claude-opus-5-5): SIGN @1a72714b. Quorum AGREED 3/3 at head (author sonnet; lanes opus/haiku/argon), 2 non-author seats APPROVE at head, base main, same inputs give the same verdicts, CI green.

@noahgift
noahgift added this pull request to the merge queue Oct 27, 2026
Merged via the queue into main with commit e53ed9c Oct 27, 2026
14 checks passed
@noahgift
noahgift deleted the fix/draft-skip-selftest-safe-dir branch October 27, 2026 16:59
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.

check_ci_draft_skip.sh --self-test exits 128 on dubious ownership (0.72.1 blocker)

1 participant